diff options
Diffstat (limited to 'dev-libs/pcc-libs/files/pcc-libs-1.0.0-check-builtin.patch')
-rw-r--r-- | dev-libs/pcc-libs/files/pcc-libs-1.0.0-check-builtin.patch | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/dev-libs/pcc-libs/files/pcc-libs-1.0.0-check-builtin.patch b/dev-libs/pcc-libs/files/pcc-libs-1.0.0-check-builtin.patch new file mode 100644 index 000000000000..335f2d774b8c --- /dev/null +++ b/dev-libs/pcc-libs/files/pcc-libs-1.0.0-check-builtin.patch @@ -0,0 +1,62 @@ +diff --git a/libpcc/bitcnt.c b/libpcc/bitcnt.c +index 26ecc01..c3bd54e 100644 +--- a/libpcc/bitcnt.c ++++ b/libpcc/bitcnt.c +@@ -1,9 +1,22 @@ ++// Only use __has_builtin in compilers that support it. ++#ifndef __has_builtin ++ #define __has_builtin(x) 0 ++#endif + ++#if !__has_builtin(__builtin_clz) + int __builtin_clz(unsigned int); ++#endif ++#if !__has_builtin(__builtin_ctz) + int __builtin_ctz(unsigned int); ++#endif ++#if !__has_builtin(__builtin_clzl) + int __builtin_clzl(unsigned long); ++#endif ++#if !__has_builtin(__builtin_ctzl) + int __builtin_ctzl(unsigned long); ++#endif + ++#if !__has_builtin(__builtin_clz) + int + __builtin_clz(unsigned int v) + { +@@ -14,7 +27,9 @@ __builtin_clz(unsigned int v) + break; + return i; + } ++#endif + ++#if !__has_builtin(__builtin_ctz) + int + __builtin_ctz(unsigned int v) + { +@@ -25,7 +40,9 @@ __builtin_ctz(unsigned int v) + break; + return i; + } ++#endif + ++#if !__has_builtin(__builtin_clzl) + int + __builtin_clzl(unsigned long v) + { +@@ -37,7 +54,9 @@ __builtin_clzl(unsigned long v) + break; + return i; + } ++#endif + ++#if !__has_builtin(__builtin_ctzl) + int + __builtin_ctzl(unsigned long v) + { +@@ -48,3 +67,4 @@ __builtin_ctzl(unsigned long v) + break; + return i; + } ++#endif |