40 lines
1.7 KiB
Diff
40 lines
1.7 KiB
Diff
|
diff -Nrup a/misc/sys/cdefs.h b/misc/sys/cdefs.h
|
||
|
--- a/misc/sys/cdefs.h 2012-06-05 07:42:49.000000000 -0600
|
||
|
+++ b/misc/sys/cdefs.h 2012-06-07 12:15:21.808318708 -0600
|
||
|
@@ -142,7 +142,10 @@
|
||
|
#define __bos0(ptr) __builtin_object_size (ptr, 0)
|
||
|
#define __fortify_function __extern_always_inline __attribute_artificial__
|
||
|
|
||
|
-#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)))
|
||
|
@@ -320,7 +323,10 @@
|
||
|
|
||
|
/* GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99
|
||
|
inline semantics, unless -fgnu89-inline is used. */
|
||
|
-#if !defined __cplusplus || __GNUC_PREREQ (4,3)
|
||
|
+#if !defined __cplusplus || __GNUC_PREREQ (4,3) \
|
||
|
+ || (defined __GNUC_RH_RELEASE__ && __GNUC__ == 4 \
|
||
|
+ && __GNUC_MINOR__ == 1 && __GNUC_PATCHLEVEL__ == 2 \
|
||
|
+ && __GNUC_RH_RELEASE__ >= 31)
|
||
|
# if defined __GNUC_STDC_INLINE__ || defined __cplusplus
|
||
|
# define __extern_inline extern __inline __attribute__ ((__gnu_inline__))
|
||
|
# define __extern_always_inline \
|
||
|
@@ -333,7 +339,10 @@
|
||
|
|
||
|
/* GCC 4.3 and above allow passing all anonymous arguments of an
|
||
|
__extern_always_inline function to some other vararg function. */
|
||
|
-#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 __va_arg_pack() __builtin_va_arg_pack ()
|
||
|
# define __va_arg_pack_len() __builtin_va_arg_pack_len ()
|
||
|
#endif
|