This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
Re: Question/problem related to _Bool in type_traits.h
"Stephen M. Webb" <stephen@bregmasoft.com> writes:
| On Mon, 15 Oct 2001, Ira Ruben wrote:
| > Sometime in the past, specifically according to gcc/ChangeLog.2
| > (8/29/99), Zack Weinberg added a #define for '_Bool' to stdbool.h to
| > define it as the type 'bool'. This means that now with gcc 3.x you
| > can no longer include both stdbool.h and libstdc++'s type_traits.h in
| > the same compilation because type_traits.h defines a _Bool template.
| > It didn't in 2.95.x days which is why this wasn't a problem until now
| > with gcc 3.x.
| >
| > Does anyone have a suggested (permanent) fix for this problem. For
| > the time being I've added a #undef _Bool just before the template
| > definition in type_traits.h.
|
| The problem is that the names in type_traits.h are in the global namespace.
_Bool is a keyword in C99. The right solution is to ditch _Bool from
type_traits.h. I began some work sometime ago with the file
cpp_type_traits.h.
-- Gaby
CodeSourcery, LLC http://www.codesourcery.com