forked from OSchip/llvm-project
Bug 43965 - Value of _MSVC_LANG doesn't match MSVC++ VS2019 /std:c++latest mode
Summary: The patch adds correct value of _MSVC_LANG to match with MSVC++ VS2019 /std:c++latest mode. Bugzilla - Bug 43965 https://bugs.llvm.org/show_bug.cgi?id=43965 The value for a MS specific macro differs from Microsoft starting with VS2019 in /std:c++latest mode. -bash-4.2$ cat msvclang.cpp _MSVC_LANG -bash-4.2$ cl /std:c++latest -E msvclang.cpp Microsoft (R) C/C++ Optimizing Compiler Version 19.20.27508.1 for x64 Copyright (C) Microsoft Corporation. All rights reserved. /std:c++latest is provided as a preview of language features from the latest C++ working draft, and we're eager to hear about bugs and suggestions for improvements. However, note that these features are provided as-is without support, and subject to changes or removal as the working draft evolves. See https://go.microsoft.com/fwlink/?linkid=2045807 for details. msvclang.cpp 201705L -bash-4.2$ clang-cl /std:c++latest -E msvclang.cpp 201704L Reviewers: rnk Reviewed By: rnk Differential Revision: https://reviews.llvm.org/D70996
This commit is contained in:
parent
8b8a7d1ecf
commit
9c29aed698
|
@ -180,7 +180,7 @@ static void addVisualCDefines(const LangOptions &Opts, MacroBuilder &Builder) {
|
|||
|
||||
if (Opts.isCompatibleWithMSVC(LangOptions::MSVC2015)) {
|
||||
if (Opts.CPlusPlus2a)
|
||||
Builder.defineMacro("_MSVC_LANG", "201704L");
|
||||
Builder.defineMacro("_MSVC_LANG", "201705L");
|
||||
else if (Opts.CPlusPlus17)
|
||||
Builder.defineMacro("_MSVC_LANG", "201703L");
|
||||
else if (Opts.CPlusPlus14)
|
||||
|
|
|
@ -47,7 +47,7 @@
|
|||
// RUN: %clang_cc1 %s -x c++ -E -dM -triple i686-pc-win32 -fms-extensions -fms-compatibility \
|
||||
// RUN: -fms-compatibility-version=19.00 -std=c++2a -o - | FileCheck -match-full-lines %s --check-prefix=CHECK-MS-CPP2A
|
||||
// CHECK-MS-CPP2A: #define _MSC_VER 1900
|
||||
// CHECK-MS-CPP2A: #define _MSVC_LANG 201704L
|
||||
// CHECK-MS-CPP2A: #define _MSVC_LANG 201705L
|
||||
|
||||
// RUN: %clang_cc1 -triple i386-windows %s -E -dM -o - \
|
||||
// RUN: | FileCheck -match-full-lines %s --check-prefix=CHECK-X86-WIN
|
||||
|
|
Loading…
Reference in New Issue