diff options
author | Zack Weinberg <zack@gcc.gnu.org> | 2001-03-02 01:51:02 +0000 |
---|---|---|
committer | Zack Weinberg <zack@gcc.gnu.org> | 2001-03-02 01:51:02 +0000 |
commit | d6edb99e92ed0d198857f104e81d98c57ad5d768 (patch) | |
tree | b5e3688be247ecd147e1cdef28cb5a5f40a44b8f /gcc/system.h | |
parent | 9bb9ef28342c5995ea9460b31bca707de200506e (diff) | |
download | gcc-d6edb99e92ed0d198857f104e81d98c57ad5d768.zip gcc-d6edb99e92ed0d198857f104e81d98c57ad5d768.tar.gz gcc-d6edb99e92ed0d198857f104e81d98c57ad5d768.tar.bz2 |
xm-lynx.h, [...]: Do not define TRUE or FALSE.
* config/xm-lynx.h, config/xm-std32.h, config/a29k/xm-a29k.h,
config/a29k/xm-unix.h, config/alpha/xm-alpha.h,
config/arc/xm-arc.h, config/arm/xm-arm.h, config/c4x/xm-c4x.h,
config/clipper/xm-clix.h, config/convex/xm-convex.h,
config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
config/elxsi/xm-elxsi.h, config/fr30/xm-fr30.h,
config/h8300/xm-h8300.h, config/i370/xm-i370.h,
config/i370/xm-linux.h, config/i370/xm-mvs.h,
config/i370/xm-oe.h, config/i386/xm-aix.h,
config/i386/xm-i386.h, config/i386/xm-osf.h,
config/i860/xm-i860.h, config/i960/xm-i960.h,
config/ia64/xm-ia64.h, config/m32r/xm-m32r.h,
config/m68k/xm-m68k.h, config/m88k/xm-m88k.h,
config/mcore/xm-mcore.h, config/mips/xm-mips.h,
config/mn10200/xm-mn10200.h, config/mn10300/xm-mn10300.h,
config/ns32k/xm-ns32k.h, config/pa/xm-linux.h,
config/pa/xm-pa.h, config/pa/xm-pa64hpux.h,
config/pa/xm-pahpux.h, config/pa/xm-papro.h,
config/pj/xm-pj.h, config/romp/xm-romp.h,
config/rs6000/xm-beos.h, config/rs6000/xm-rs6000.h,
config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h,
config/v850/xm-v850.h, config/vax/xm-vax.h,
config/vax/xm-vms.h, config/we32k/xm-we32k.h:
Do not define TRUE or FALSE.
* config/i386/xm-aix.h, config/i386/xm-osf.h: Delete; made
empty by above change.
* config.gcc: Remove references to these files.
* configure.in: Detect stdbool.h.
* configure, config.in: Regenerate.
* system.h: Include stddef.h here if available. Set
HAVE__BOOL based on GCC_VERSION and __STDC_VERSION__. Then
set up a sensible boolean type at the very end.
* combine.c, cse.c, expr.c, fold-const.c, gensupport.c,
f/com.c, config/mcore/mcore.c:
Rename variables named 'true' and/or 'false'.
* hash.h: Delete 'boolean' typedef and related #undefs.
* f/proj.h: Delete 'bool' type. Don't include stddef.h here.
* function.c, ggc-common.c, hash.h, hash.c, tlink.c, cp/decl.c,
java/class.c, java/decl.c, java/java-tree.h:
Replace all uses of 'boolean' with 'bool'.
From-SVN: r40176
Diffstat (limited to 'gcc/system.h')
-rw-r--r-- | gcc/system.h | 37 |
1 files changed, 36 insertions, 1 deletions
diff --git a/gcc/system.h b/gcc/system.h index ace7177..e73524e 100644 --- a/gcc/system.h +++ b/gcc/system.h @@ -1,6 +1,6 @@ /* Get common system includes and various definitions and declarations based on autoconf macros. - Copyright (C) 1998, 1999, 2000 Free Software Foundation, Inc. + Copyright (C) 1998, 1999, 2000, 2001 Free Software Foundation, Inc. This file is part of GNU CC. @@ -43,6 +43,10 @@ Boston, MA 02111-1307, USA. */ # endif #endif +#ifdef HAVE_STDDEF_H +# include <stddef.h> +#endif + #include <stdio.h> /* Define a generic NULL if one hasn't already been defined. */ @@ -355,6 +359,14 @@ extern void abort PARAMS ((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 + + + /* Define a STRINGIFY macro that's right for ANSI or traditional C. Note: if the argument passed to STRINGIFY is itself a macro, eg #define foo bar, STRINGIFY(foo) will produce "foo", not "bar". @@ -533,4 +545,27 @@ extern void *alloca (__SIZE_TYPE__); #endif /* ! __FUNCTION__ */ #endif +/* Provide some sort of boolean type. We use stdbool.h if it's + available. This is dead last because various system headers might + 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 TRUE true +#define FALSE false + #endif /* __GCC_SYSTEM_H__ */ |