Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 30 Dec 2011 17:45:13 +0000
From:      David Chisnall <theraven@FreeBSD.org>
To:        "Sean C. Farley" <scf@FreeBSD.org>
Cc:        svn-src-head@FreeBSD.org, Matthew D Fleming <mdf@FreeBSD.org>, svn-src-all@FreeBSD.org, src-committers@FreeBSD.org
Subject:   Re: svn commit: r228878 - head/include
Message-ID:  <0473BBE1-7A08-4B8B-A70A-A4B44E32302C@FreeBSD.org>
In-Reply-To: <alpine.BSF.2.02.1112301142380.4588@thor.farley.org>
References:  <201112252015.pBPKFfZ1073959@svn.freebsd.org> <alpine.BSF.2.02.1112291617110.4588@thor.farley.org> <CAMBSHm8ZXNQ0CJXFFHAO5DaeTLJOZy73hBH=FoLjNUvn7%2BPqKQ@mail.gmail.com> <alpine.BSF.2.02.1112301142380.4588@thor.farley.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On 30 Dec 2011, at 16:52, Sean C. Farley wrote:

>> My quick googling didn't show anything at all about the C++ standard =
and stdbool.h or __bool_true_false_are_defined.  It was probably =
originally set because bool, true, and false are all C++ keywords so =
certain code that wanted to ifdef on them didn't also need to check =
__cplusplus.
>=20
> I did not find anything definitive either.

It's usually a better idea to check the spec than Google...

stdbool.h is not part of the C++ standard, and so it is free to contain =
anything in C++ mode, just as any other non-standard header is.  The =
<cstdbool> header is defined by the C++11 spec as containing JUST the =
__bool_true_false_are_defined macro.  The purpose of this header in C++ =
mode is to allow the inclusion of C++ headers that expect to be able to =
use true and false and guard this by the use of the =
__bool_true_false_are_defined macro.

David=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?0473BBE1-7A08-4B8B-A70A-A4B44E32302C>