summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/fortify-headers.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/include/fortify-headers.h b/include/fortify-headers.h
index a918b10..6f00454 100644
--- a/include/fortify-headers.h
+++ b/include/fortify-headers.h
@@ -24,12 +24,13 @@
24 24
25#ifdef __clang__ 25#ifdef __clang__
26 26
27/* clang uses overloads; see https://github.com/llvm/llvm-project/issues/53516 */ 27#if _FORTIFY_SOURCE > 2 && __has_builtin (__builtin_dynamic_object_size) && __has_attribute(pass_dynamic_object_size)
28#if __has_attribute(pass_dynamic_object_size)
29#define _FORTIFY_POSN(n) const __attribute__((pass_dynamic_object_size(n))) 28#define _FORTIFY_POSN(n) const __attribute__((pass_dynamic_object_size(n)))
30#else 29#else
31#define _FORTIFY_POSN(n) const __attribute__((pass_object_size(n))) 30#define _FORTIFY_POSN(n) const __attribute__((pass_object_size(n)))
32#endif /* pass_dynamic_object_size) */ 31#endif /* __builtin_dynamic_object_size && pass_dynamic_object_size */
32
33/* clang uses overloads; see https://github.com/llvm/llvm-project/issues/53516 */
33/* we can't use extern inline with overloads without making them external */ 34/* we can't use extern inline with overloads without making them external */
34#define _FORTIFY_INLINE static __inline__ \ 35#define _FORTIFY_INLINE static __inline__ \
35 __attribute__((__always_inline__,__artificial__,__overloadable__)) 36 __attribute__((__always_inline__,__artificial__,__overloadable__))