From 9fda55928cc575ba9a3cbbc70c11153a9082e12d Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Mon, 22 Oct 2007 14:59:23 -0700 Subject: [PATCH] Fix Tru64 problem with stdbool.h. * lib/stdbool.in.h (false, true): [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]: Don't declare as an enum in this situation; it runs afoul of Tru64. Problem reported by Steven M. Schweda in . --- ChangeLog | 9 +++++++++ lib/stdbool.in.h | 7 ++++--- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 1f17dbd091..92ea8cbc44 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2007-10-22 Paul Eggert + + Fix Tru64 problem with stdbool.h. + * lib/stdbool.in.h (false, true): + [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]: + Don't declare as an enum in this situation; it runs afoul of Tru64. + Problem reported by Steven M. Schweda in + . + 2007-10-22 Eric Blake Also wrap vf?printf. diff --git a/lib/stdbool.in.h b/lib/stdbool.in.h index 150a0102e1..2784a502bf 100644 --- a/lib/stdbool.in.h +++ b/lib/stdbool.in.h @@ -97,10 +97,11 @@ typedef bool _Bool; "warning: _Bool is a keyword in ISO C99". Use of an enum type, with IRIX cc, leads to a stupid "warning(1185): enumerated type mixed with another type". - The only benefit of the enum type, debuggability, is not important - with these compilers. So use 'signed char' and no typedef. */ + Even the existence of an enum type, without a typedef, + "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 -enum { false = 0, true = 1 }; # else /* With this compiler, trust the _Bool type if the compiler has it. */ # if !@HAVE__BOOL@ -- 2.30.2