diff options
author | Joel Brobecker <brobecker@gnat.com> | 2012-12-18 06:00:55 +0000 |
---|---|---|
committer | Joel Brobecker <brobecker@gnat.com> | 2012-12-18 06:00:55 +0000 |
commit | a512b375766eeea98a8c0dc7b5de49dd9d6a1d1b (patch) | |
tree | 7c690be728479f106e35ed8753f9214386a43829 /gdb/gnulib/import/stdbool.in.h | |
parent | cc0f06180271215041969cfc52411003dbb34722 (diff) | |
download | gdb-a512b375766eeea98a8c0dc7b5de49dd9d6a1d1b.zip gdb-a512b375766eeea98a8c0dc7b5de49dd9d6a1d1b.tar.gz gdb-a512b375766eeea98a8c0dc7b5de49dd9d6a1d1b.tar.bz2 |
Update gnulib to current HEAD.
gdb/ChangeLog:
* gnulib/update-gnulib.sh (GNULIB_COMMIT_SHA1): Set to
8d5bd1402003bd0153984b138735adf537d960b0.
* gnulib/aclocal.m4, configure, config.in: Regenerate.
* gnulib/import/m4/extern-inline.m4: Import.
* gnulib/import/wctype-h.c: Import.
* gnulib/import/Makefile.am: Update.
* gnulib/import/Makefile.in: Update.
* gnulib/import/alloca.in.h: Update.
* gnulib/import/extra/snippet/warn-on-use.h: Update.
* gnulib/import/localcharset.c: Update.
* gnulib/import/m4/fcntl-o.m4: Update.
* gnulib/import/m4/gnulib-cache.m4: Update.
* gnulib/import/m4/gnulib-comp.m4: Update.
* gnulib/import/m4/wctype_h.m4: Update.
* gnulib/import/stdbool.in.h: Update.
* gnulib/import/verify.h: Update.
* gnulib/import/wctype.in.h: Update.
Diffstat (limited to 'gdb/gnulib/import/stdbool.in.h')
-rw-r--r-- | gdb/gnulib/import/stdbool.in.h | 51 |
1 files changed, 31 insertions, 20 deletions
diff --git a/gdb/gnulib/import/stdbool.in.h b/gdb/gnulib/import/stdbool.in.h index ed1f9aa..1f8caee 100644 --- a/gdb/gnulib/import/stdbool.in.h +++ b/gdb/gnulib/import/stdbool.in.h @@ -66,24 +66,19 @@ # undef true #endif -/* For the sake of symbolic names in gdb, we define true and false as - enum constants, not only as macros. - It is tempting to write - typedef enum { false = 0, true = 1 } _Bool; - so that gdb prints values of type 'bool' symbolically. But if we do - this, values of type '_Bool' may promote to 'int' or 'unsigned int' - (see ISO C 99 6.7.2.2.(4)); however, '_Bool' must promote to 'int' - (see ISO C 99 6.3.1.1.(2)). So we add a negative value to the - enum; this ensures that '_Bool' promotes to 'int'. */ -#if defined __cplusplus || (defined __BEOS__ && !defined __HAIKU__) +#ifdef __cplusplus +# define _Bool bool +# define bool bool +#else +# if defined __BEOS__ && !defined __HAIKU__ /* A compiler known to have 'bool'. */ /* If the compiler already has both 'bool' and '_Bool', we can assume they are the same types. */ -# if !@HAVE__BOOL@ +# if !@HAVE__BOOL@ typedef bool _Bool; -# endif -#else -# if !defined __GNUC__ +# endif +# else +# if !defined __GNUC__ /* If @HAVE__BOOL@: Some HP-UX cc and AIX IBM C compiler versions have compiler bugs when the built-in _Bool type is used. See @@ -103,19 +98,35 @@ typedef bool _Bool; "Invalid enumerator. (badenum)" with HP-UX cc on Tru64. The only benefit of the enum, debuggability, is not important with these compilers. So use 'signed char' and no enum. */ -# define _Bool signed char -# else +# define _Bool signed char +# else /* With this compiler, trust the _Bool type if the compiler has it. */ -# if !@HAVE__BOOL@ +# if !@HAVE__BOOL@ + /* For the sake of symbolic names in gdb, define true and false as + enum constants, not only as macros. + It is tempting to write + typedef enum { false = 0, true = 1 } _Bool; + so that gdb prints values of type 'bool' symbolically. But then + values of type '_Bool' might promote to 'int' or 'unsigned int' + (see ISO C 99 6.7.2.2.(4)); however, '_Bool' must promote to 'int' + (see ISO C 99 6.3.1.1.(2)). So add a negative value to the + enum; this ensures that '_Bool' promotes to 'int'. */ typedef enum { _Bool_must_promote_to_int = -1, false = 0, true = 1 } _Bool; +# endif # endif # endif +# define bool _Bool #endif -#define bool _Bool /* The other macros must be usable in preprocessor directives. */ -#define false 0 -#define true 1 +#ifdef __cplusplus +# define false false +# define true true +#else +# define false 0 +# define true 1 +#endif + #define __bool_true_false_are_defined 1 #endif /* _GL_STDBOOL_H */ |