diff options
Diffstat (limited to 'clang/lib/Driver/Driver.cpp')
-rw-r--r-- | clang/lib/Driver/Driver.cpp | 13 |
1 files changed, 3 insertions, 10 deletions
diff --git a/clang/lib/Driver/Driver.cpp b/clang/lib/Driver/Driver.cpp index 5b95019..e12416e 100644 --- a/clang/lib/Driver/Driver.cpp +++ b/clang/lib/Driver/Driver.cpp @@ -2271,7 +2271,8 @@ bool Driver::HandleImmediateArgs(Compilation &C) { return false; } - auto initializeTargets = [&]() { + if (C.getArgs().hasArg(options::OPT_print_libgcc_file_name)) { + ToolChain::RuntimeLibType RLT = TC.GetRuntimeLibType(C.getArgs()); const llvm::Triple Triple(TC.ComputeEffectiveClangTriple(C.getArgs())); // The 'Darwin' toolchain is initialized only when its arguments are // computed. Get the default arguments for OFK_None to ensure that @@ -2281,12 +2282,6 @@ bool Driver::HandleImmediateArgs(Compilation &C) { // FIXME: For some more esoteric targets the default toolchain is not the // correct one. C.getArgsForToolChain(&TC, Triple.getArchName(), Action::OFK_None); - return Triple; - }; - - if (C.getArgs().hasArg(options::OPT_print_libgcc_file_name)) { - ToolChain::RuntimeLibType RLT = TC.GetRuntimeLibType(C.getArgs()); - const llvm::Triple Triple = initializeTargets(); RegisterEffectiveTriple TripleRAII(TC, Triple); switch (RLT) { case ToolChain::RLT_CompilerRT: @@ -2330,9 +2325,7 @@ bool Driver::HandleImmediateArgs(Compilation &C) { } if (C.getArgs().hasArg(options::OPT_print_target_triple)) { - initializeTargets(); - llvm::Triple Triple(TC.ComputeEffectiveClangTriple(C.getArgs())); - llvm::outs() << Triple.getTriple() << "\n"; + llvm::outs() << TC.getTripleString() << "\n"; return false; } |