From: Martell Malone Date: Sun, 15 Oct 2017 17:27:58 +0000 (+0000) Subject: [driver] [cl] Add/fix c++17/c++latest X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=fca2243d3df6a11d46e0ed6c5bd5253852a6711e;p=clang [driver] [cl] Add/fix c++17/c++latest Patch by: daxpedda Differential Revision: https://reviews.llvm.org/D38123 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@315864 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Driver/ToolChains/Clang.cpp b/lib/Driver/ToolChains/Clang.cpp index 6c285dec65..f0f2bc2198 100644 --- a/lib/Driver/ToolChains/Clang.cpp +++ b/lib/Driver/ToolChains/Clang.cpp @@ -4075,7 +4075,8 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA, if (const Arg *StdArg = Args.getLastArg(options::OPT__SLASH_std)) { LanguageStandard = llvm::StringSwitch(StdArg->getValue()) .Case("c++14", "-std=c++14") - .Case("c++latest", "-std=c++1z") + .Case("c++17", "-std=c++17") + .Case("c++latest", "-std=c++2a") .Default(""); if (LanguageStandard.empty()) D.Diag(clang::diag::warn_drv_unused_argument) diff --git a/test/Driver/cl-options.c b/test/Driver/cl-options.c index 5d866e5f17..59aefe2e7c 100644 --- a/test/Driver/cl-options.c +++ b/test/Driver/cl-options.c @@ -520,8 +520,11 @@ // RUN: %clang_cl -fmsc-version=1900 -TP -std:c++14 -### -- %s 2>&1 | FileCheck -check-prefix=STDCXX14 %s // STDCXX14: -std=c++14 +// RUN: %clang_cl -fmsc-version=1900 -TP -std:c++17 -### -- %s 2>&1 | FileCheck -check-prefix=STDCXX17 %s +// STDCXX14: -std=c++17 + // RUN: %clang_cl -fmsc-version=1900 -TP -std:c++latest -### -- %s 2>&1 | FileCheck -check-prefix=STDCXXLATEST %s -// STDCXXLATEST: -std=c++1z +// STDCXXLATEST: -std=c++2a // RUN: env CL="/Gy" %clang_cl -### -- %s 2>&1 | FileCheck -check-prefix=ENV-CL %s // ENV-CL: "-ffunction-sections"