mirror of
https://github.com/llvm/llvm-project.git
synced 2025-05-17 00:56:07 +00:00

Use llvm::Triple::getArchTypeName() when looking for compiler-rt libraries, rather than the exact arch string from the triple. This is more correct as it matches the values used when building compiler-rt (builtin-config-ix.cmake) which are the subset of the values allowed in triples. For example, this fixes an issue when the compiler set for i686-pc-linux-gnu triple would not find an i386 compiler-rt library, while this is the exact arch that is detected by compiler-rt. The same applies to any other i?86 variant allowed by LLVM. This also makes the special case for MSVC unnecessary, since now i386 will be used reliably for all 32-bit x86 variants. Differential Revision: https://reviews.llvm.org/D26796 llvm-svn: 311923
32 lines
1.8 KiB
C
32 lines
1.8 KiB
C
// RUN: %clang -target i686-pc-linux-gnu -### -nostdlib %s 2> %t
|
|
// RUN: FileCheck < %t %s
|
|
//
|
|
// CHECK-NOT: start-group
|
|
|
|
// Most of the toolchains would check for -nostartfiles and -nostdlib
|
|
// in a short-circuiting boolean expression, so if both of the preceding
|
|
// options were present, the second would warn about being unused.
|
|
// RUN: %clang -### -Wno-liblto -nostartfiles -nostdlib -target i386-apple-darwin %s \
|
|
// RUN: 2>&1 | FileCheck %s -check-prefix=ARGSCLAIMED
|
|
// ARGSCLAIMED-NOT: warning:
|
|
|
|
// In the presence of -nostdlib, the standard libraries should not be
|
|
// passed down to link line
|
|
// RUN: %clang -no-canonical-prefixes %s -### -Wno-liblto -o %t.o 2>&1 \
|
|
// RUN: -target i686-pc-linux-gnu -nostdlib --rtlib=compiler-rt -fuse-ld=ld \
|
|
// RUN: -resource-dir=%S/Inputs/resource_dir -lclang_rt.builtins-i686 \
|
|
// RUN: | FileCheck --check-prefix=CHECK-LINUX-NOSTDLIB %s
|
|
//
|
|
// RUN: %clang -no-canonical-prefixes %s -### -Wno-liblto -o %t.o 2>&1 \
|
|
// RUN: -target i686-pc-linux-gnu --rtlib=compiler-rt -nostdlib -fuse-ld=ld \
|
|
// RUN: -resource-dir=%S/Inputs/resource_dir -lclang_rt.builtins-i686 \
|
|
// RUN: | FileCheck --check-prefix=CHECK-LINUX-NOSTDLIB %s
|
|
//
|
|
// RUN: %clang -target x86_64-pc-windows-msvc -nostdlib --rtlib=compiler-rt -### -Wno-liblto %s 2>&1 | FileCheck %s -check-prefix CHECK-MSVC-NOSTDLIB
|
|
// RUN: %clang -target x86_64-pc-windows-msvc --rtlib=compiler-rt -nostdlib -### -Wno-liblto %s 2>&1 | FileCheck %s -check-prefix CHECK-MSVC-NOSTDLIB
|
|
//
|
|
// CHECK-LINUX-NOSTDLIB: warning: argument unused during compilation: '--rtlib=compiler-rt'
|
|
// CHECK-LINUX-NOSTDLIB: "{{(.*[^.0-9A-Z_a-z])?}}ld{{(.exe)?}}"
|
|
// CHECK-LINUX-NOSTDLIB-NOT: "{{.*}}/Inputs/resource_dir{{/|\\\\}}lib{{/|\\\\}}linux{{/|\\\\}}libclang_rt.builtins-i386.a"
|
|
// CHECK-MSVC-NOSTDLIB: warning: argument unused during compilation: '--rtlib=compiler-rt'
|