diff options
author | Nico Weber <nicolasweber@gmx.de> | 2019-10-03 02:38:43 +0000 |
---|---|---|
committer | Nico Weber <nicolasweber@gmx.de> | 2019-10-03 02:38:43 +0000 |
commit | 6713f8235bac3a5883af6eee841cb50a8832d754 (patch) | |
tree | 3a3a1b5ff96132cb61a7a412a1668fdac6f62a22 /clang/lib/Frontend/CompilerInvocation.cpp | |
parent | 45f682f47129c05414d4c5ae7be851772273978f (diff) | |
download | llvm-6713f8235bac3a5883af6eee841cb50a8832d754.zip llvm-6713f8235bac3a5883af6eee841cb50a8832d754.tar.gz llvm-6713f8235bac3a5883af6eee841cb50a8832d754.tar.bz2 |
Revert 373538 and follow-ups 373549 and 373552.
They break tests on (at least) macOS.
llvm-svn: 373556
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
-rw-r--r-- | clang/lib/Frontend/CompilerInvocation.cpp | 23 |
1 files changed, 11 insertions, 12 deletions
diff --git a/clang/lib/Frontend/CompilerInvocation.cpp b/clang/lib/Frontend/CompilerInvocation.cpp index 6fc8afc..61a2c07 100644 --- a/clang/lib/Frontend/CompilerInvocation.cpp +++ b/clang/lib/Frontend/CompilerInvocation.cpp @@ -1734,25 +1734,24 @@ static InputKind ParseFrontendArgs(FrontendOptions &Opts, ArgList &Args, StringRef ArgStr = Args.hasArg(OPT_iterface_stub_version_EQ) ? Args.getLastArgValue(OPT_iterface_stub_version_EQ) - : "experimental-ifs-v1"; - if (ArgStr == "experimental-yaml-elf-v1" || - ArgStr == "experimental-tapi-elf-v1") { + : ""; + llvm::Optional<frontend::ActionKind> ProgramAction = + llvm::StringSwitch<llvm::Optional<frontend::ActionKind>>(ArgStr) + .Case("experimental-ifs-v1", frontend::GenerateInterfaceIfsExpV1) + .Default(llvm::None); + if (!ProgramAction) { std::string ErrorMessage = "Invalid interface stub format: " + ArgStr.str() + - " is deprecated."; - Diags.Report(diag::err_drv_invalid_value) - << "Must specify a valid interface stub format type, ie: " - "-interface-stub-version=experimental-ifs-v1" - << ErrorMessage; - } else if (ArgStr != "experimental-ifs-v1") { - std::string ErrorMessage = - "Invalid interface stub format: " + ArgStr.str() + "."; + ((ArgStr == "experimental-yaml-elf-v1" || + ArgStr == "experimental-tapi-elf-v1") + ? " is deprecated." + : "."); Diags.Report(diag::err_drv_invalid_value) << "Must specify a valid interface stub format type, ie: " "-interface-stub-version=experimental-ifs-v1" << ErrorMessage; } else { - Opts.ProgramAction = frontend::GenerateInterfaceIfsExpV1; + Opts.ProgramAction = *ProgramAction; } break; } |