diff options
| author | Roman Divacky <rdivacky@FreeBSD.org> | 2009-10-23 14:22:18 +0000 | 
|---|---|---|
| committer | Roman Divacky <rdivacky@FreeBSD.org> | 2009-10-23 14:22:18 +0000 | 
| commit | 73490b890977362d28dd6326843a1ecae413921d (patch) | |
| tree | 3fdd91eae574e32453a4baf462961c742df2691a /lib/Frontend/InitPreprocessor.cpp | |
| parent | a5f348eb914e67b51914117fac117c18c1f8d650 (diff) | |
Diffstat (limited to 'lib/Frontend/InitPreprocessor.cpp')
| -rw-r--r-- | lib/Frontend/InitPreprocessor.cpp | 16 | 
1 files changed, 12 insertions, 4 deletions
| diff --git a/lib/Frontend/InitPreprocessor.cpp b/lib/Frontend/InitPreprocessor.cpp index 0f3b4b8236bef..b1a0a5ee8d510 100644 --- a/lib/Frontend/InitPreprocessor.cpp +++ b/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) @@ -365,8 +374,7 @@ static void InitializePredefinedMacros(const TargetInfo &TI,    DefineType("__INTPTR_TYPE__", TI.getIntPtrType(), Buf);    DefineType("__SIZE_TYPE__", TI.getSizeType(), Buf);    DefineType("__WCHAR_TYPE__", TI.getWCharType(), Buf); -  // FIXME: TargetInfo hookize __WINT_TYPE__. -  DefineBuiltinMacro(Buf, "__WINT_TYPE__=int"); +  DefineType("__WINT_TYPE__", TI.getWIntType(), Buf);    DefineFloatMacros(Buf, "FLT", &TI.getFloatFormat());    DefineFloatMacros(Buf, "DBL", &TI.getDoubleFormat()); | 
