diff options
Diffstat (limited to 'include')
| -rw-r--r-- | include/fortify-headers.h | 7 |
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__)) |
