summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBruno Haible <bruno@clisp.org>2022-08-15 23:38:12 +0200
committerBruno Haible <bruno@clisp.org>2022-08-15 23:38:12 +0200
commita333fce3237ccf88065ecdea1e8cb22465bba598 (patch)
tree246a4088cdd50912f2a4549d8f7419431a975fe8
parentbb0e79e200e76b9181c1a80f64cff88aa01c5797 (diff)
downloadgnulib-a333fce3237ccf88065ecdea1e8cb22465bba598.tar.gz
stdbool: Drop old BeOS support that gets in the way of ISO C 23 support.
* lib/stdbool.in.h: Don't include <OS.h>.
-rw-r--r--ChangeLog5
-rw-r--r--lib/stdbool.in.h25
2 files changed, 9 insertions, 21 deletions
diff --git a/ChangeLog b/ChangeLog
index 6029c731a2..8736a82d1e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
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.
* lib/tempname.c (try_tempname_len): Use of entropy makes the function
more, not less, secure.
diff --git a/lib/stdbool.in.h b/lib/stdbool.in.h
index 03840f10fc..2fa46724b2 100644
--- a/lib/stdbool.in.h
+++ b/lib/stdbool.in.h
@@ -58,27 +58,11 @@
/* 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