aboutsummaryrefslogtreecommitdiff
path: root/libcpp/system.h
diff options
context:
space:
mode:
authorZack Weinberg <zack@codesourcery.com>2004-06-12 05:53:54 +0000
committerZack Weinberg <zack@gcc.gnu.org>2004-06-12 05:53:54 +0000
commit2fac9c017f9f3339fc56b843a4e0b372d1f770a1 (patch)
tree2fa35b599541c16096e28a7ecc50ed3a0c71a81f /libcpp/system.h
parent9ade247982d622219e3935880cd2500d2d3c42f2 (diff)
downloadgcc-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.h41
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 */