changeset 4821:d18a19eb848a

Improved support for BeOS: Avoid compilation error if <sys/socket.h> is included after <stdbool.h>.
author Bruno Haible <bruno@clisp.org>
date Mon, 27 Oct 2003 13:58:34 +0000
parents 559c5f9c9e45
children 63f70a262d4e
files lib/ChangeLog lib/stdbool_.h
diffstat 2 files changed, 6 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/lib/ChangeLog
+++ b/lib/ChangeLog
@@ -1,3 +1,7 @@
+2003-10-27  Bruno Haible  <bruno@clisp.org>
+
+	* stdbool_.h: Better support for BeOS.
+
 2003-10-27  Paul Eggert  <eggert@twinsun.com>
 
 	* exclude.c (new_exclude): Use xzalloc rather than xmalloc
--- a/lib/stdbool_.h
+++ b/lib/stdbool_.h
@@ -56,6 +56,7 @@
 /* BeOS <sys/socket.h> already #defines false 0, true 1.  We use the same
    definitions below, but temporarily we have to #undef them.  */
 #ifdef __BEOS__
+# include <OS.h> /* defines bool but not _Bool */
 # undef false
 # undef true
 #endif
@@ -69,7 +70,7 @@
    (see ISO C 99 6.7.2.2.(4)); however, '_Bool' must promote to 'int'
    (see ISO C 99 6.3.1.1.(2)).  So we add a negative value to the
    enum; this ensures that '_Bool' promotes to 'int'.  */
-#ifndef __cplusplus
+#if !(defined __cplusplus || defined __BEOS__)
 # if !@HAVE__BOOL@
 #  if defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1)
     /* Avoid stupid "warning: _Bool is a keyword in ISO C99".  */