diff options
| author | John Thompson <John.Thompson.JTSoftware@gmail.com> | 2009-10-16 01:12:00 +0000 |
|---|---|---|
| committer | John Thompson <John.Thompson.JTSoftware@gmail.com> | 2009-10-16 01:12:00 +0000 |
| commit | 1faca9e0fbde2150205d6e0ebd44d2076876af46 (patch) | |
| tree | 63e97ecddf97108747aabaaf91009243d14579b8 /clang/lib/Frontend | |
| parent | 8ec25937f1ec1e6e2487cff6cdf94c3056968eb1 (diff) | |
| download | bcm5719-llvm-1faca9e0fbde2150205d6e0ebd44d2076876af46.tar.gz bcm5719-llvm-1faca9e0fbde2150205d6e0ebd44d2076876af46.zip | |
Work-around wchar_t and __pragma problem in VC headers
llvm-svn: 84227
Diffstat (limited to 'clang/lib/Frontend')
| -rw-r--r-- | clang/lib/Frontend/InitPreprocessor.cpp | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/clang/lib/Frontend/InitPreprocessor.cpp b/clang/lib/Frontend/InitPreprocessor.cpp index 0f3b4b8236b..2c16da0b999 100644 --- a/clang/lib/Frontend/InitPreprocessor.cpp +++ b/clang/lib/Frontend/InitPreprocessor.cpp @@ -317,13 +317,22 @@ static void InitializePredefinedMacros(const TargetInfo &TI, DefineBuiltinMacro(Buf, "_GNU_SOURCE=1"); } - // Filter out some microsoft extensions when trying to parse in ms-compat - // mode. if (LangOpts.Microsoft) { + // Filter out some microsoft extensions when trying to parse in ms-compat + // mode. DefineBuiltinMacro(Buf, "__int8=__INT8_TYPE__"); DefineBuiltinMacro(Buf, "__int16=__INT16_TYPE__"); DefineBuiltinMacro(Buf, "__int32=__INT32_TYPE__"); DefineBuiltinMacro(Buf, "__int64=__INT64_TYPE__"); + // Work around some issues with Visual C++ headerws. + if (LangOpts.CPlusPlus) { + // Since we define wchar_t in C++ mode. + DefineBuiltinMacro(Buf, "_WCHAR_T_DEFINED=1"); + DefineBuiltinMacro(Buf, "_NATIVE_WCHAR_T_DEFINED=1"); + // FIXME: This should be temporary until we have a __pragma + // solution, to avoid some errors flagged in VC++ headers. + DefineBuiltinMacro(Buf, "_CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES=0"); + } } if (LangOpts.Optimize) |

