]> Savannah Git Hosting - gnulib.git/commitdiff
stdbool: Drop old BeOS support that gets in the way of ISO C 23 support.
authorBruno Haible <bruno@clisp.org>
Mon, 15 Aug 2022 21:38:12 +0000 (23:38 +0200)
committerBruno Haible <bruno@clisp.org>
Mon, 15 Aug 2022 21:38:12 +0000 (23:38 +0200)
* lib/stdbool.in.h: Don't include <OS.h>.

ChangeLog
lib/stdbool.in.h

index 6029c731a23b5c5b52f155bf0efcd60c3a10c386..8736a82d1e1b000353dc9bfe5718972814732d43 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2022-08-15  Bruno Haible  <bruno@clisp.org>
+
+       stdbool: Drop old BeOS support that gets in the way of ISO C 23 support.
+       * lib/stdbool.in.h: Don't include <OS.h>.
+
 2022-08-15  Bruno Haible  <bruno@clisp.org>
 
        tempname: Fix a comment.
index 03840f10fc95c80ade6d322c45fedf0950d3692e..2fa46724b2a09948ef910a0482112f2c0faa5e09 100644 (file)
 
 /* 7.16. Boolean type and values */
 
-/* BeOS <sys/socket.h> already #defines false 0, true 1.  We use the same
-   definitions below, but temporarily we have to #undef them.  */
-#if defined __BEOS__ && !defined __HAIKU__
-# include <OS.h> /* defines bool but not _Bool */
-# undef false
-# undef true
-#endif
-
 #ifdef __cplusplus
 # define _Bool bool
 # define bool bool
 #else
-# if defined __BEOS__ && !defined __HAIKU__
-  /* A compiler known to have 'bool'.  */
-  /* If the compiler already has both 'bool' and '_Bool', we can assume they
-     are the same types.  */
-#  if !@HAVE__BOOL@
-typedef bool _Bool;
-#  endif
-# else
-#  if !defined __GNUC__
+# if !defined __GNUC__
    /* If @HAVE__BOOL@:
         Some HP-UX cc and AIX IBM C compiler versions have compiler bugs when
         the built-in _Bool type is used.  See
@@ -98,10 +82,10 @@ typedef bool _Bool;
           "Invalid enumerator. (badenum)" with HP-UX cc on Tru64.
         The only benefit of the enum, debuggability, is not important
         with these compilers.  So use 'signed char' and no enum.  */
-#   define _Bool signed char
-#  else
+#  define _Bool signed char
+# else
    /* With this compiler, trust the _Bool type if the compiler has it.  */
-#   if !@HAVE__BOOL@
+#  if !@HAVE__BOOL@
    /* For the sake of symbolic names in gdb, define true and false as
       enum constants, not only as macros.
       It is tempting to write
@@ -112,7 +96,6 @@ typedef bool _Bool;
       (see ISO C 99 6.3.1.1.(2)).  So add a negative value to the
       enum; this ensures that '_Bool' promotes to 'int'.  */
 typedef enum { _Bool_must_promote_to_int = -1, false = 0, true = 1 } _Bool;
-#   endif
 #  endif
 # endif
 # define bool _Bool