[cfe-commits] [patch] _Bool in yvals.h

Douglas Gregor dgregor at apple.com
Mon Oct 11 10:16:06 PDT 2010

On Oct 10, 2010, at 12:59 AM, Michael Spencer wrote:

>> On May 20, 2010, at 10:25 AM, Steven Watanabe wrote:
>>> AMDG
>>> The attached patch deals with the fact the yvals.h
>>> in the standard library that ships with msvc contains
>>> typedef bool _Bool;
>>> However, i'd really prefer to disable the _Bool keyword
>>> in Microsoft compatibility mode.  Is there a good
>>> way to do this?
> On Thu, May 20, 2010 at 3:51 PM, Douglas Gregor <dgregor at apple.com> wrote:
>> [snip ...]
>> It would be much better just to make sure that _Bool isn't a keyword in -fms-extensions mode.
>>        - Doug
> I have filed a bug (http://llvm.org/bugs/show_bug.cgi?id=8349) on this
> issue because it is currently breaking a lot of the test-suite on
> Windows when compiled with clang.
> I feel very strongly that asking for extensions does not mean that I
> want to break perfectly valid C99 code. Extensions should _never_
> change the meaning of an otherwise standard compliant program. When I
> give clang -fms-extensions I am asking for extensions, not MSVC
> emulation.

Are we talking about C99 code, or are we talking about C++ code? C++ has no _Bool, and our support for _Bool in C++ is really a GNU extension that isn't marked as such. 

In any case, I can live with an __is_pod-like hack for this.

	- Doug

More information about the cfe-commits mailing list