summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2024-07-09 14:02:11 +0200
committerWaldemar Brodkorb <wbx@openadk.org>2024-07-09 14:04:57 +0200
commit0f7c0f87bc60c47d3326583a6678eb74db92586a (patch)
treeab37550a856de329b23cd3926d589bb5f8933374
parent36eb3c655acab4207249c7c09e92a96b74e8cdd7 (diff)
Clang support for gnu_inline attribute
Clang also supports the gnu_inline attribute and the __GNUC_STDC_INLINE__ macro (C99 semantics). However, it reports as GCC 4.2 compatible (__GNUC_MINOR__ / __GNUC__) and thus the current defines do not think it can support this. Add clang as an alternative for this support. Documentation shows that this attribute is supported since at least Clang 8. Signed-off-by: Marcus Haehnel <marcus.haehnel@kernkonzept.com>
-rw-r--r--include/sys/cdefs.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/include/sys/cdefs.h b/include/sys/cdefs.h
index 9b3a02177..656548c52 100644
--- a/include/sys/cdefs.h
+++ b/include/sys/cdefs.h
@@ -320,7 +320,7 @@
inline semantics, unless -fgnu89-inline is used.
For -std=gnu99, forcing gnu_inline attribute does not change behavior,
but may silence spurious warnings (such as in GCC 4.2). */
-#if !defined __cplusplus || __GNUC_PREREQ (4,3)
+#if !defined __cplusplus || __GNUC_PREREQ (4,3) || __CLANG_PREREQ(8,0)
# if defined __GNUC_STDC_INLINE__ || defined __GNUC_GNU_INLINE__ || defined __cplusplus
# define __extern_inline extern __inline __attribute__ ((__gnu_inline__))
# if __GNUC_PREREQ (4,3)