diff options
Diffstat (limited to 'clang/lib')
-rw-r--r-- | clang/lib/Basic/Targets.cpp | 13 | ||||
-rw-r--r-- | clang/lib/Frontend/InitPreprocessor.cpp | 12 |
2 files changed, 13 insertions, 12 deletions
diff --git a/clang/lib/Basic/Targets.cpp b/clang/lib/Basic/Targets.cpp index 1558a752c30..2cf90701edf 100644 --- a/clang/lib/Basic/Targets.cpp +++ b/clang/lib/Basic/Targets.cpp @@ -577,6 +577,19 @@ protected: if (Opts.POSIXThreads) Builder.defineMacro("_MT"); + if (Opts.MSCVersion != 0) + Builder.defineMacro("_MSC_VER", Twine(Opts.MSCVersion)); + + if (Opts.MicrosoftExt) { + Builder.defineMacro("_MSC_EXTENSIONS"); + + if (Opts.CPlusPlus11) { + Builder.defineMacro("_RVALUE_REFERENCES_V2_SUPPORTED"); + Builder.defineMacro("_RVALUE_REFERENCES_SUPPORTED"); + Builder.defineMacro("_NATIVE_NULLPTR_SUPPORTED"); + } + } + Builder.defineMacro("_INTEGRAL_MAX_BITS", "64"); } diff --git a/clang/lib/Frontend/InitPreprocessor.cpp b/clang/lib/Frontend/InitPreprocessor.cpp index 95d9e510f89..a86fe514261 100644 --- a/clang/lib/Frontend/InitPreprocessor.cpp +++ b/clang/lib/Frontend/InitPreprocessor.cpp @@ -507,19 +507,7 @@ static void InitializePredefinedMacros(const TargetInfo &TI, Builder.defineMacro("__private_extern__", "extern"); } - if (LangOpts.MSCVersion != 0) - Builder.defineMacro("_MSC_VER", Twine(LangOpts.MSCVersion)); - if (LangOpts.MicrosoftExt) { - // Define feature support macros that MSVC provides. - Builder.defineMacro("_MSC_EXTENSIONS"); - - if (LangOpts.CPlusPlus11) { - Builder.defineMacro("_RVALUE_REFERENCES_V2_SUPPORTED"); - Builder.defineMacro("_RVALUE_REFERENCES_SUPPORTED"); - Builder.defineMacro("_NATIVE_NULLPTR_SUPPORTED"); - } - if (LangOpts.WChar) { // wchar_t supported as a keyword. Builder.defineMacro("_WCHAR_T_DEFINED"); |