Make __typeof__-using code depend on HAVE_TYPEOF, not __GNUC__,
authorJim Meyering <jim@meyering.net>
Thu, 17 Mar 2005 19:00:52 +0000 (19:00 +0000)
committerJim Meyering <jim@meyering.net>
Thu, 17 Mar 2005 19:00:52 +0000 (19:00 +0000)
since so many other C compilers also honor __typeof__.

src/system.h

index ce14aae..acd8a52 100644 (file)
@@ -818,10 +818,10 @@ ptr_align (void *ptr, size_t alignment)
 #define VERIFY_EXPR(assertion) \
   (void)((struct {char a[(assertion) ? 1 : -1]; } *) 0)
 
-#ifdef __GNUC__
-# define VERIFY_GCC_EXPR(assertion) VERIFY_EXPR (assertion)
+#if HAVE_TYPEOF
+# define VERIFY_W_TYPEOF(assertion) VERIFY_EXPR (assertion)
 #else
-# define VERIFY_GCC_EXPR(assertion) (void) 0
+# define VERIFY_W_TYPEOF(assertion) (void) 0
 #endif
 
 /* If 10*Accum+Digit_val is larger than Type_max, then don't update Accum
@@ -832,7 +832,7 @@ ptr_align (void *ptr, size_t alignment)
 #define DECIMAL_DIGIT_ACCUMULATE(Accum, Digit_val, Type_max)           \
   (                                                                    \
    /* Ensure that Type_max is the maximum value of Accum.  */          \
-   VERIFY_GCC_EXPR (TYPE_MAXIMUM (__typeof__ (Accum)) == (Type_max)),  \
+   VERIFY_W_TYPEOF (TYPE_MAXIMUM (__typeof__ (Accum)) == (Type_max)),  \
    /* If the result would overflow, return 1.                          \
       Otherwise update Accum and return 0.  */                         \
    ((Type_max) / 10 < Accum || Accum * 10 + (Digit_val) < Accum                \