[PATCH] D72236: [Clang] Force rtlib=platform in test to avoid fails with CLANG_DEFAULT_RTLIB

Kristina Brooks via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Sun Jan 5 16:25:37 PST 2020


kristina created this revision.
kristina added reviewers: sammccall, lebedev.ri, sthibaul.
Herald added a project: clang.

Driver test `cross-linux.c` fails when CLANG_DEFAULT_RTLIB is "compiler-rt"
as the it expects a GCC-style `"crtbegin.o"` after `"crti.o"` but instead
receives something akin to this in the frontend invocation:

  "crt1.o" "crti.o" "/o/b/llvm-test/v10.0.4010/bin/../lib/clang/10.0.4010/lib/linux/clang_rt.crtbegin-x86_64.o"

In `lib/Driver/ToolChain.cpp` it's implied that using `--rtlib=platform` is
acceptable in tests to override the configuration-time default.

  // Only use "platform" in tests to override CLANG_DEFAULT_RTLIB
  // ...
  else if (LibName == "platform")
    return GetDefaultRuntimeLibType();

This patch adds said override to `cross-linux.c` tests so the expected result
is produced regardless of the compile-time default rtlib, as having tests
fail due to that is fairly confusing. After applying the patch, the test passes
regardless of the CLANG_DEFAULT_RTLIB setting.

nb. Originally ran across this issue in D69758 <https://reviews.llvm.org/D69758>.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D72236

Files:
  clang/test/Driver/cross-linux.c


Index: clang/test/Driver/cross-linux.c
===================================================================
--- clang/test/Driver/cross-linux.c
+++ clang/test/Driver/cross-linux.c
@@ -52,6 +52,7 @@
 // RUN: %clang -### -o %t %s 2>&1 -no-integrated-as -fuse-ld=ld \
 // RUN:   --gcc-toolchain=%S/Inputs/multilib_32bit_linux_tree/usr \
 // RUN:   --target=x86_64-unknown-linux \
+// RUN:   --rtlib=platform \
 // RUN:   --sysroot=%S/Inputs/basic_linux_tree \
 // RUN:   | FileCheck --check-prefix=CHECK-MULTI32-X86-64 %s
 // CHECK-MULTI32-X86-64: "-cc1" "-triple" "x86_64-unknown-linux"
@@ -70,6 +71,7 @@
 // RUN: %clang -### -o %t %s 2>&1 -no-integrated-as -fuse-ld=ld \
 // RUN:   --gcc-toolchain=%S/Inputs/multilib_64bit_linux_tree/usr \
 // RUN:   --target=i386-unknown-linux \
+// RUN:   --rtlib=platform \
 // RUN:   --sysroot=%S/Inputs/basic_linux_tree \
 // RUN:   | FileCheck --check-prefix=CHECK-MULTI64-I386 %s
 // CHECK-MULTI64-I386: "-cc1" "-triple" "i386-unknown-linux"
@@ -88,6 +90,7 @@
 // RUN: %clang -### -o %t %s 2>&1 -no-integrated-as -fuse-ld=ld \
 // RUN:   --gcc-toolchain=%S/Inputs/multilib_64bit_linux_tree/usr \
 // RUN:   --target=x86_64-unknown-linux \
+// RUN:   --rtlib=platform \
 // RUN:   --sysroot=%S/Inputs/basic_linux_tree \
 // RUN:   | FileCheck --check-prefix=CHECK-MULTI64-X86-64 %s
 // CHECK-MULTI64-X86-64: "-cc1" "-triple" "x86_64-unknown-linux"


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D72236.236274.patch
Type: text/x-patch
Size: 1386 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20200106/1d6525c3/attachment.bin>


More information about the cfe-commits mailing list