[clang-cl] Define _MSVC_LANG for -std=c++2b
This matches the value that msvc v19.29 VS16.11 uses for _MSVC_LANG with /std:c++latest. Differential Revision: https://reviews.llvm.org/D114952
This commit is contained in:
parent
d3fe1c1583
commit
2a2b3a3e3d
|
@ -181,7 +181,9 @@ static void addVisualCDefines(const LangOptions &Opts, MacroBuilder &Builder) {
|
|||
Builder.defineMacro("_HAS_CHAR16_T_LANGUAGE_SUPPORT", Twine(1));
|
||||
|
||||
if (Opts.isCompatibleWithMSVC(LangOptions::MSVC2015)) {
|
||||
if (Opts.CPlusPlus20)
|
||||
if (Opts.CPlusPlus2b)
|
||||
Builder.defineMacro("_MSVC_LANG", "202004L");
|
||||
else if (Opts.CPlusPlus20)
|
||||
Builder.defineMacro("_MSVC_LANG", "202002L");
|
||||
else if (Opts.CPlusPlus17)
|
||||
Builder.defineMacro("_MSVC_LANG", "201703L");
|
||||
|
|
|
@ -45,9 +45,14 @@
|
|||
// CHECK-MS-NOT: GXX
|
||||
|
||||
// RUN: %clang_cc1 %s -x c++ -E -dM -triple i686-pc-win32 -fms-extensions -fms-compatibility \
|
||||
// RUN: -fms-compatibility-version=19.00 -std=c++20 -o - | FileCheck -match-full-lines %s --check-prefix=CHECK-MS-CPP2A
|
||||
// CHECK-MS-CPP2A: #define _MSC_VER 1900
|
||||
// CHECK-MS-CPP2A: #define _MSVC_LANG 202002L
|
||||
// RUN: -fms-compatibility-version=19.00 -std=c++20 -o - | FileCheck -match-full-lines %s --check-prefix=CHECK-MS-CPP20
|
||||
// CHECK-MS-CPP20: #define _MSC_VER 1900
|
||||
// CHECK-MS-CPP20: #define _MSVC_LANG 202002L
|
||||
|
||||
// RUN: %clang_cc1 %s -x c++ -E -dM -triple i686-pc-win32 -fms-extensions -fms-compatibility \
|
||||
// RUN: -fms-compatibility-version=19.00 -std=c++2b -o - | FileCheck -match-full-lines %s --check-prefix=CHECK-MS-CPP2B
|
||||
// CHECK-MS-CPP2B: #define _MSC_VER 1900
|
||||
// CHECK-MS-CPP2B: #define _MSVC_LANG 202004L
|
||||
|
||||
// RUN: %clang_cc1 -triple i386-windows %s -E -dM -o - \
|
||||
// RUN: | FileCheck -match-full-lines %s --check-prefix=CHECK-X86-WIN
|
||||
|
|
Loading…
Reference in a new issue