[PATCH] D35742: [Driver] Register effective triple before get arm float abi.

Leo Li via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Aug 3 21:57:12 PDT 2017


aoli updated this revision to Diff 109681.
aoli added a comment.

Hoist RegisterEffectiveTriple.


https://reviews.llvm.org/D35742

Files:
  lib/Driver/Driver.cpp
  test/Driver/print-libgcc-file-name-clangrt.c


Index: test/Driver/print-libgcc-file-name-clangrt.c
===================================================================
--- test/Driver/print-libgcc-file-name-clangrt.c
+++ test/Driver/print-libgcc-file-name-clangrt.c
@@ -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
Index: lib/Driver/Driver.cpp
===================================================================
--- lib/Driver/Driver.cpp
+++ lib/Driver/Driver.cpp
@@ -1299,6 +1299,8 @@
 
   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";


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D35742.109681.patch
Type: text/x-patch
Size: 1896 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170804/e96a64b8/attachment.bin>


More information about the llvm-commits mailing list