summaryrefslogtreecommitdiff
path: root/misc/sys/cdefs.h
diff options
context:
space:
mode:
Diffstat (limited to 'misc/sys/cdefs.h')
-rw-r--r--misc/sys/cdefs.h28
1 files changed, 24 insertions, 4 deletions
diff --git a/misc/sys/cdefs.h b/misc/sys/cdefs.h
index a18eb2d87e..585ecedd2c 100644
--- a/misc/sys/cdefs.h
+++ b/misc/sys/cdefs.h
@@ -132,7 +132,10 @@
#define __bos(ptr) __builtin_object_size (ptr, __USE_FORTIFY_LEVEL > 1)
#define __bos0(ptr) __builtin_object_size (ptr, 0)
-#if __GNUC_PREREQ (4,3)
+#if __GNUC_PREREQ (4,3) \
+ || (defined __GNUC_RH_RELEASE__ && __GNUC__ == 4 \
+ && __GNUC_MINOR__ == 1 && __GNUC_PATCHLEVEL__ == 2 \
+ && __GNUC_RH_RELEASE__ >= 31)
# define __warndecl(name, msg) \
extern void name (void) __attribute__((__warning__ (msg)))
# define __warnattr(msg) __attribute__((__warning__ (msg)))
@@ -294,11 +297,19 @@
#if !defined __cplusplus || __GNUC_PREREQ (4,3) \
|| (defined __GNUC_RH_RELEASE__ && __GNUC__ == 4 \
&& __GNUC_MINOR__ == 1 && __GNUC_PATCHLEVEL__ == 2 \
- && __GNUC_RH_RELEASE__ >= 24)
+ && __GNUC_RH_RELEASE__ >= 31)
# if defined __GNUC_STDC_INLINE__ || defined __cplusplus
# define __extern_inline extern __inline __attribute__ ((__gnu_inline__))
-# define __extern_always_inline \
+# if __GNUC_PREREQ (4,3) \
+ || (defined __GNUC_RH_RELEASE__ && __GNUC__ == 4 \
+ && __GNUC_MINOR__ == 1 && __GNUC_PATCHLEVEL__ == 2 \
+ && __GNUC_RH_RELEASE__ >= 31)
+# define __extern_always_inline \
+ extern __always_inline __attribute__ ((__gnu_inline__, __artificial__))
+# else
+# define __extern_always_inline \
extern __always_inline __attribute__ ((__gnu_inline__))
+# endif
# else
# define __extern_inline extern __inline
# define __extern_always_inline extern __always_inline
@@ -310,7 +321,7 @@
#if __GNUC_PREREQ (4,3) \
|| (defined __GNUC_RH_RELEASE__ && __GNUC__ == 4 \
&& __GNUC_MINOR__ == 1 && __GNUC_PATCHLEVEL__ == 2 \
- && __GNUC_RH_RELEASE__ >= 24)
+ && __GNUC_RH_RELEASE__ >= 31)
# define __va_arg_pack() __builtin_va_arg_pack ()
# define __va_arg_pack_len() __builtin_va_arg_pack_len ()
#endif
@@ -361,6 +372,10 @@
extern __typeof (name) name __asm (__ASMNAME (#alias));
# define __LDBL_REDIR_DECL(name) \
extern __typeof (name) name __asm (__ASMNAME ("__nldbl_" #name));
+# define __REDIRECT_LDBL(name, proto, alias) \
+ __LDBL_REDIR1 (name, proto, __nldbl_##alias)
+# define __REDIRECT_NTH_LDBL(name, proto, alias) \
+ __LDBL_REDIR1_NTH (name, proto, __nldbl_##alias)
# endif
#endif
#if !defined __LDBL_COMPAT || !defined __REDIRECT
@@ -369,6 +384,11 @@
# define __LDBL_REDIR1_NTH(name, proto, alias) name proto __THROW
# define __LDBL_REDIR_NTH(name, proto) name proto __THROW
# define __LDBL_REDIR_DECL(name)
+# ifdef __REDIRECT
+# define __REDIRECT_LDBL(name, proto, alias) __REDIRECT (name, proto, alias)
+# define __REDIRECT_NTH_LDBL(name, proto, alias) \
+ __REDIRECT_NTH (name, proto, alias)
+# endif
#endif
#endif /* sys/cdefs.h */