Author: majnemer Date: Wed Jul 15 12:32:34 2015 New Revision: 242307 URL: http://llvm.org/viewvc/llvm-project?rev=242307&view=rev Log: [Targets] Define __BOOL_DEFINED for Windows targets in C++ mode
MSVC 4.2 didn't have bool as a builtin type but MSVC 5.0 does. When they added it, they added a macro (__BOOL_DEFINED) which allows build scripts and the like to know if they should provide their own bool. Clang always supports bool as a builtin type in C++ mode. Modified: cfe/trunk/lib/Basic/Targets.cpp cfe/trunk/test/Preprocessor/init.c Modified: cfe/trunk/lib/Basic/Targets.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Basic/Targets.cpp?rev=242307&r1=242306&r2=242307&view=diff ============================================================================== --- cfe/trunk/lib/Basic/Targets.cpp (original) +++ cfe/trunk/lib/Basic/Targets.cpp Wed Jul 15 12:32:34 2015 @@ -643,6 +643,8 @@ protected: if (Opts.CXXExceptions) Builder.defineMacro("_CPPUNWIND"); + + Builder.defineMacro("__BOOL_DEFINED"); } if (!Opts.CharIsSigned) Modified: cfe/trunk/test/Preprocessor/init.c URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Preprocessor/init.c?rev=242307&r1=242306&r2=242307&view=diff ============================================================================== --- cfe/trunk/test/Preprocessor/init.c (original) +++ cfe/trunk/test/Preprocessor/init.c Wed Jul 15 12:32:34 2015 @@ -144,12 +144,14 @@ // // MSEXT-CXX:#define _NATIVE_WCHAR_T_DEFINED 1 // MSEXT-CXX:#define _WCHAR_T_DEFINED 1 +// MSEXT-CXX:#define __BOOL_DEFINED 1 // // // RUN: %clang_cc1 -x c++ -fno-wchar -fms-extensions -triple i686-pc-win32 -E -dM < /dev/null | FileCheck -check-prefix MSEXT-CXX-NOWCHAR %s // // MSEXT-CXX-NOWCHAR-NOT:#define _NATIVE_WCHAR_T_DEFINED 1 // MSEXT-CXX-NOWCHAR-NOT:#define _WCHAR_T_DEFINED 1 +// MSEXT-CXX-NOWCHAR:#define __BOOL_DEFINED 1 // // // RUN: %clang_cc1 -x objective-c -E -dM < /dev/null | FileCheck -check-prefix OBJC %s _______________________________________________ cfe-commits mailing list cfe-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits