stdbool-tests: accomodate Haiku
authorEric Blake <eblake@redhat.com>
Wed, 19 Jan 2011 15:20:56 +0000 (08:20 -0700)
committerEric Blake <eblake@redhat.com>
Wed, 19 Jan 2011 15:31:04 +0000 (08:31 -0700)
* tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.

Signed-off-by: Eric Blake <eblake@redhat.com>
ChangeLog
tests/test-stdbool.c

index 6cf52b7..a9f6fb1 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2011-01-19  Eric Blake  <eblake@redhat.com>
 
+       stdbool-tests: accomodate Haiku
+       * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
+
        binary-io: fix O_TEXT on Haiku
        * modules/binary-io (Depends-on): Add fcntl-h.
        * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
index 12b4fe8..e115ba2 100644 (file)
 
 /* Several tests cannot be guaranteed with gnulib's <stdbool.h>, at
    least, not for all compilers and compiler options.  */
-#if HAVE_STDBOOL_H || defined __GNUC__
+#if HAVE_STDBOOL_H || 3 <= __GNUC__
 struct s { _Bool s: 1; _Bool t; } s;
 #endif
 
 char a[true == 1 ? 1 : -1];
 char b[false == 0 ? 1 : -1];
 char c[__bool_true_false_are_defined == 1 ? 1 : -1];
-#if HAVE_STDBOOL_H || defined __GNUC__ /* See above.  */
+#if HAVE_STDBOOL_H || 3 <= __GNUC__ /* See above.  */
 char d[(bool) 0.5 == true ? 1 : -1];
 # ifdef ADDRESS_CHECK_OKAY /* Avoid gcc warning.  */
 /* C99 may plausibly be interpreted as not requiring support for a cast from
@@ -73,7 +73,7 @@ char f[(_Bool) 0.0 == false ? 1 : -1];
 #endif
 char g[true];
 char h[sizeof (_Bool)];
-#if HAVE_STDBOOL_H || defined __GNUC__ /* See above.  */
+#if HAVE_STDBOOL_H || 3 <= __GNUC__ /* See above.  */
 char i[sizeof s.t];
 #endif
 enum { j = false, k = true, l = false * true, m = true * 256 };
@@ -92,7 +92,7 @@ main ()
 {
   int error = 0;
 
-#if HAVE_STDBOOL_H || defined __GNUC__ /* See above.  */
+#if HAVE_STDBOOL_H || 3 <= __GNUC__ /* See above.  */
 # ifdef ADDRESS_CHECK_OKAY /* Avoid gcc warning.  */
   /* A cast from a variable's address to bool is valid in expressions.  */
   {