Use __GNUC_PREREQ.
authordrepper <drepper>
Sat, 19 Jun 1999 09:57:12 +0000 (09:57 +0000)
committerdrepper <drepper>
Sat, 19 Jun 1999 09:57:12 +0000 (09:57 +0000)
assert/assert.h
intl/libintl.h
math/complex.h
math/tgmath.h
misc/sys/cdefs.h
posix/sys/types.h
socket/sys/socket.h
string/bits/string2.h
sysdeps/alpha/fpu/bits/mathinline.h
sysdeps/i386/fpu/bits/mathinline.h

index bbff941..386e80c 100644 (file)
@@ -87,17 +87,11 @@ __END_DECLS
 
 /* Version 2.4 and later of GCC define a magical variable `__PRETTY_FUNCTION__'
    which contains the name of the function currently being defined.
-#  define __ASSERT_FUNCTION    __PRETTY_FUNCTION__
    This is broken in G++ before version 2.6.
    C9x has a similar variable called __func__, but prefer the GCC one since
    it demangles C++ function names.  */
-# ifdef __GNUC__
-#  if __GNUC__ > 2 || (__GNUC__ == 2 \
-                      && __GNUC_MINOR__ >= (defined __cplusplus ? 6 : 4))
+# if __GNUC_PREREQ (2, (defined __cplusplus ? 6 : 4))
 #   define __ASSERT_FUNCTION   __PRETTY_FUNCTION__
-#  else
-#   define __ASSERT_FUNCTION   ((__const char *) 0)
-#  endif
 # else
 #  if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L
 #   define __ASSERT_FUNCTION   __func__
index 0a0f898..1d35518 100644 (file)
@@ -82,7 +82,7 @@ extern char *bindtextdomain __P ((__const char *__domainname,
 # define dgettext(domainname, msgid)                                         \
   dcgettext (domainname, msgid, LC_MESSAGES)
 
-# if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7)
+# if __GNUC_PREREQ (2,7)
 /* Variable defined in loadmsgcat.c which gets incremented every time a
    new catalog is loaded.  */
 extern int _nl_msg_cat_cntr;
index 7ed9890..82fae63 100644 (file)
@@ -33,7 +33,7 @@ __BEGIN_DECLS
 /* We might need to add support for more compilers here.  But once ISO
    C 9X is out hopefully all maintained compilers will provide the data
    types `float complex' and `double complex'.  */
-#if (__GNUC__ == 2 && __GNUC_MINOR__ >= 7) || __GNUC__ > 2
+#if __GNUC_PREREQ (2, 7)
 # define _Complex __complex__
 #endif
 
index 1a6591e..449b498 100644 (file)
@@ -34,7 +34,7 @@
    do not try this for now and instead concentrate only on GNU CC.  Once
    we have more information support for other compilers might follow.  */
 
-#if defined __GNUC__ && (__GNUC__ > 2 || __GNUC__ == 2 && __GNUC_MINOR__ >= 7)
+#if __GNUC_PREREQ (2, 7)
 
 /* We have two kinds of generic macros: to support functions which are
    only defined on real valued parameters and those which are defined
index 6d4bc62..6a8b870 100644 (file)
@@ -33,7 +33,7 @@
 /* GCC can always grok prototypes.  For C++ programs we add throw()
    to help it optimize the function calls.  But this works only with
    gcc 2.8.x and egcs.  */
-# if defined __cplusplus && (__GNUC__ >= 3 || __GNUC_MINOR__ >= 8)
+# if defined __cplusplus && __GNUC_PREREQ (2,8)
 #  define __THROW      throw ()
 # else
 #  define __THROW
@@ -42,6 +42,7 @@
 /* This macro will be used for functions which might take C++ callback
    functions.  */
 # define __PMT(args)   args
+
 # define __DOTS                , ...
 
 #else  /* Not GCC.  */
 /*
 #elif __SOME_OTHER_COMPILER__
 
-# define __attribute__(xyz)
 # define __REDIRECT(name, proto, alias) name proto; \
        _Pragma("let " #name " = " #alias)
 */
    run in pedantic mode if the uses are carefully marked using the
    `__extension__' keyword.  But this is not generally available before
    version 2.8.  */
-#if !defined __GNUC__ || __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
-
+#if !__GNUC_PREREQ (2,8)
 # define __extension__         /* Ignore */
-
 #endif
 
 /* __restrict is known in EGCS 1.2 and above. */
-#if !defined __GNUC__ || __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 92)
-
+#if !__GNUC_PREREQ (2,92)
 # define __restrict    /* Ignore */
-
 #endif
 
 #endif  /* sys/cdefs.h */
index 8ba3200..362d547 100644 (file)
@@ -132,7 +132,7 @@ typedef unsigned int uint;
 
 /* These size-specific names are used by some of the inet code.  */
 
-#if !defined __GNUC__ || __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 7)
+#if !__GNUC_PREREQ (2, 7)
 
 /* These types are defined by the ISO C 9x header <inttypes.h>. */
 # ifndef __int8_t_defined
index 7642e75..0a5dc01 100644 (file)
@@ -61,8 +61,7 @@ enum
    uses with any of the listed types to be allowed without complaint.
    G++ 2.7 does not support transparent unions so there we want the
    old-style declaration, too.  */
-#if    (!defined __GNUC__ || __GNUC__ < 2 || defined __cplusplus || \
-        (__GNUC__ == 2 && __GNUC_MINOR__ < 7))
+#if defined __cplusplus || !__GNUC_PREREQ (2, 7)
 # define __SOCKADDR_ARG                struct sockaddr *
 # define __CONST_SOCKADDR_ARG  __const struct sockaddr *
 #else
index fdfa32d..48903b3 100644 (file)
@@ -167,9 +167,9 @@ __STRING2_COPY_TYPE (8);
                  : memset (s, c, n)))
 # endif
 
-/* GCC optimizes memset(s, 0, n) but not bzero(s, n).  */
-#if defined __GNUC__ \
-    && (__GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ > 90))
+/* GCC optimizes memset(s, 0, n) but not bzero(s, n).
+   The optimization is broken before EGCS 1.1.  */
+#if __GNUC_PREREQ (2, 91)
 #  define __bzero(s, n) __builtin_memset (s, '\0', n)
 # endif
 
index 681ea70..9207d52 100644 (file)
@@ -75,7 +75,7 @@ __inline_copysign(copysign, double)
 #undef __MATH_INLINE_copysign
 
 
-#if defined __GNUC__ && (__GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 8))
+#if __GNUC_PREREQ (2, 8)
 __MATH_INLINE float __fabsf (float __x) { return __builtin_fabsf (__x); }
 __MATH_INLINE float fabsf (float __x) { return __builtin_fabsf (__x); }
 __MATH_INLINE double __fabs (double __x) { return __builtin_fabs (__x); }
index 8fb22d4..00fe3c0 100644 (file)
@@ -138,7 +138,7 @@ __signbitl (long double __x)
 
 /* The gcc, version 2.7 or below, has problems with all this inlining
    code.  So disable it for this version of the compiler.  */
-#if defined __GNUC__ && (__GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ > 7))
+#if __GNUC_PREREQ (2, 8)
 
 #if ((!defined __NO_MATH_INLINES || defined __LIBC_INTERNAL_MATH_INLINES) \
      && defined __OPTIMIZE__)
@@ -426,7 +426,7 @@ __inline_mathcode2 (pow, __x, __y, \
 __inline_mathop (sqrt, "fsqrt")
 __inline_mathop_ (long double, __sqrtl, "fsqrt")
 
-#if defined __GNUC__ && (__GNUC__ > 2 || __GNUC__ == 2 && __GNUC_MINOR__ >= 8)
+#if __GNUC_PREREQ (2, 8)
 __inline_mathcode_ (double, fabs, __x, return __builtin_fabs (__x))
 __inline_mathcode_ (float, fabsf, __x, return __builtin_fabsf (__x))
 __inline_mathcode_ (long double, fabsl, __x, return __builtin_fabsl (__x))