8.46 stdbool.h
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/basedefs/stdbool.h.html
Gnulib module: stdbool
Portability problems fixed by Gnulib:
- This header file is missing on some platforms:
AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1.
- Some compilers have bugs relating to ‘bool’.
- This header file defines
true
incorrectly on some platforms:
OpenBSD 4.7 with gcc 2.95.
Portability problems not fixed by Gnulib:
-
<stdbool.h>
must be #included before ‘_Bool’ can be used.
- You cannot assume that
_Bool
is a typedef; it might be a macro.
- Bit-fields of type ‘bool’ are not supported. Portable code
should use ‘unsigned int foo : 1;’ rather than ‘bool foo : 1;’.
- Casts and automatic conversions to ‘bool’ don’t test against the
zero value or the null pointer, as they should. Such casts should only
be used if the value is known to be equal to 0 or 1.
- You cannot assume that casting a floating point literal to ‘bool’ will
result in a constant expression.