diff options
author | Zack Weinberg <zack@codesourcery.com> | 2004-06-12 05:53:54 +0000 |
---|---|---|
committer | Zack Weinberg <zack@gcc.gnu.org> | 2004-06-12 05:53:54 +0000 |
commit | 2fac9c017f9f3339fc56b843a4e0b372d1f770a1 (patch) | |
tree | 2fa35b599541c16096e28a7ecc50ed3a0c71a81f /libcpp/system.h | |
parent | 9ade247982d622219e3935880cd2500d2d3c42f2 (diff) | |
download | gcc-2fac9c017f9f3339fc56b843a4e0b372d1f770a1.zip gcc-2fac9c017f9f3339fc56b843a4e0b372d1f770a1.tar.gz gcc-2fac9c017f9f3339fc56b843a4e0b372d1f770a1.tar.bz2 |
configure.ac: Don't invoke ACX_HEADER_STDBOOL.
gcc:
* configure.ac: Don't invoke ACX_HEADER_STDBOOL.
* configure, config.in: Regenerate.
* system.h: Unconditionally define bool as unsigned char,
BOOL_BITFIELD as unsigned int.
* domwalk.h: Use BOOL_BITFIELD.
libcpp:
* configure.ac: Don't invoke ACX_HEADER_STDBOOL.
* configure, config.in: Regenerate.
* system.h: Unconditionally define bool as unsigned char,
BOOL_BITFIELD as unsigned int.
* .cvsignore: New file.
From-SVN: r83020
Diffstat (limited to 'libcpp/system.h')
-rw-r--r-- | libcpp/system.h | 41 |
1 files changed, 12 insertions, 29 deletions
diff --git a/libcpp/system.h b/libcpp/system.h index 3577311..4f91aa5 100644 --- a/libcpp/system.h +++ b/libcpp/system.h @@ -275,13 +275,6 @@ extern void abort (void); ((GCC_VERSION >= 2007) || (__STDC_VERSION__ >= 199901L)) #endif -/* 1 if we have _Bool. */ -#ifndef HAVE__BOOL -# define HAVE__BOOL \ - ((GCC_VERSION >= 3000) || (__STDC_VERSION__ >= 199901L)) -#endif - - /* Be conservative and only use enum bitfields with GCC. FIXME: provide a complete autoconf test for buggy enum bitfields. */ @@ -291,14 +284,6 @@ extern void abort (void); #define ENUM_BITFIELD(TYPE) unsigned int #endif -/* We only use bool bitfields with gcc3. Some supposedly C99 - compilers don't handle them correctly. */ -#if (GCC_VERSION >= 3000) -#define BOOL_BITFIELD _Bool -#else -#define BOOL_BITFIELD unsigned int -#endif - #ifndef offsetof #define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *) 0)->MEMBER) #endif @@ -310,26 +295,25 @@ extern void abort (void); #define __builtin_expect(a, b) (a) #endif -/* Provide some sort of boolean type. We use stdbool.h if it's - available. This must be after all inclusion of system headers, - as some of them will mess us up. */ +/* Provide a fake boolean type. We make no attempt to use the + C99 _Bool, as it may not be available in the bootstrap compiler, + and even if it is, it is liable to be buggy. + This must be after all inclusion of system headers, as some of + them will mess us up. */ #undef bool #undef true #undef false #undef TRUE #undef FALSE -#ifdef HAVE_STDBOOL_H -# include <stdbool.h> -#else -# if !HAVE__BOOL -typedef char _Bool; -# endif -# define bool _Bool -# define true 1 -# define false 0 -#endif +#define bool unsigned char +#define true 1 +#define false 0 +/* Some compilers do not allow the use of unsigned char in bitfields. */ +#define BOOL_BITFIELD unsigned int + +/* Poison identifiers we do not want to use. */ #if (GCC_VERSION >= 3000) #undef calloc #undef strdup @@ -359,5 +343,4 @@ typedef char _Bool; #pragma GCC poison bcopy bzero bcmp rindex #endif /* GCC >= 3.0 */ - #endif /* ! LIBCPP_SYSTEM_H */ |