aboutsummaryrefslogtreecommitdiff
path: root/gcc/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 /gcc/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 'gcc/system.h')
-rw-r--r--gcc/system.h39
1 files changed, 11 insertions, 28 deletions
diff --git a/gcc/system.h b/gcc/system.h
index 58b2bf7..d51c328 100644
--- a/gcc/system.h
+++ b/gcc/system.h
@@ -372,13 +372,6 @@ extern int snprintf (char *, size_t, const char *, ...);
((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
-
-
#if HAVE_SYS_STAT_H
# include <sys/stat.h>
#endif
@@ -485,14 +478,6 @@ extern int snprintf (char *, size_t, const char *, ...);
#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
@@ -511,29 +496,27 @@ extern int snprintf (char *, size_t, const char *, ...);
#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
#define TRUE true
#define FALSE false
+/* Some compilers do not allow the use of unsigned char in bitfields. */
+#define BOOL_BITFIELD unsigned int
+
/* As the last action in this file, we poison the identifiers that
shouldn't be used. Note, luckily gcc-3.0's token-based integrated
preprocessor won't trip on poisoned identifiers that arrive from