r311624 - [Driver] Register effective triple before get arm float abi.
Leo Li via cfe-commits
cfe-commits at lists.llvm.org
Wed Aug 23 18:51:51 PDT 2017
Author: aoli
Date: Wed Aug 23 18:51:51 2017
New Revision: 311624
URL: http://llvm.org/viewvc/llvm-project?rev=311624&view=rev
Log:
[Driver] Register effective triple before get arm float abi.
Summary:
We need to register effective triple before calling `getARMFloatABI`.
Add missing code when `--print-libgcc-file-name` is passed.
Reviewers: atanasyan, rsmith, mgorny, peter.smith, kristof.beyls, compnerd, jroelofs
Reviewed By: compnerd
Subscribers: llvm-commits, aemerson, javed.absar, srhines, kristof.beyls, pirama
Differential Revision: https://reviews.llvm.org/D35742
Modified:
cfe/trunk/lib/Driver/Driver.cpp
cfe/trunk/test/Driver/print-libgcc-file-name-clangrt.c
Modified: cfe/trunk/lib/Driver/Driver.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/Driver.cpp?rev=311624&r1=311623&r2=311624&view=diff
==============================================================================
--- cfe/trunk/lib/Driver/Driver.cpp (original)
+++ cfe/trunk/lib/Driver/Driver.cpp Wed Aug 23 18:51:51 2017
@@ -1299,6 +1299,8 @@ bool Driver::HandleImmediateArgs(const C
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()));
+ RegisterEffectiveTriple TripleRAII(TC, Triple);
switch (RLT) {
case ToolChain::RLT_CompilerRT:
llvm::outs() << TC.getCompilerRT(C.getArgs(), "builtins") << "\n";
Modified: cfe/trunk/test/Driver/print-libgcc-file-name-clangrt.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/print-libgcc-file-name-clangrt.c?rev=311624&r1=311623&r2=311624&view=diff
==============================================================================
--- cfe/trunk/test/Driver/print-libgcc-file-name-clangrt.c (original)
+++ cfe/trunk/test/Driver/print-libgcc-file-name-clangrt.c Wed Aug 23 18:51:51 2017
@@ -9,3 +9,23 @@
// RUN: --target=i686-pc-linux \
// RUN: | FileCheck --check-prefix=CHECK-CLANGRT-I686 %s
// CHECK-CLANGRT-I686: libclang_rt.builtins-i686.a
+
+// RUN: %clang -rtlib=compiler-rt -print-libgcc-file-name 2>&1 \
+// RUN: --target=arm-linux-gnueabi \
+// RUN: | FileCheck --check-prefix=CHECK-CLANGRT-ARM %s
+// CHECK-CLANGRT-ARM: libclang_rt.builtins-arm.a
+
+// RUN: %clang -rtlib=compiler-rt -print-libgcc-file-name 2>&1 \
+// RUN: --target=arm-linux-androideabi \
+// RUN: | FileCheck --check-prefix=CHECK-CLANGRT-ARM-ANDROID %s
+// CHECK-CLANGRT-ARM-ANDROID: libclang_rt.builtins-arm-android.a
+
+// RUN: %clang -rtlib=compiler-rt -print-libgcc-file-name 2>&1 \
+// RUN: --target=arm-linux-gnueabihf \
+// RUN: | FileCheck --check-prefix=CHECK-CLANGRT-ARMHF %s
+// CHECK-CLANGRT-ARMHF: libclang_rt.builtins-armhf.a
+
+// RUN: %clang -rtlib=compiler-rt -print-libgcc-file-name 2>&1 \
+// RUN: --target=arm-linux-gnueabi -mfloat-abi=hard \
+// RUN: | FileCheck --check-prefix=CHECK-CLANGRT-ARM-ABI %s
+// CHECK-CLANGRT-ARM-ABI: libclang_rt.builtins-armhf.a
More information about the cfe-commits
mailing list