mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2024-11-27 15:41:46 +00:00
[Driver] -###: exit with code 1 if hasErrorOccurred
The exit code for -### is inconsistent. Unrecognized options lead to exit code 1, as expected. However, most others errors (including invalid option value) lead to exit code 0, differing from GCC and most utilities. This is a longstanding quirk of -###, and we didn't fix it because many driver tests need adjustment. Change -### to be similar to -fdriver-only -v and exit with code 1. This requires fixing many driver tests, but the end result gives us stronger tests. * Existing `RUN: %clang -### ...` tests usually don't use `CHECK-NOT: error:` or `--implicit-check-not=error:`. If a change introduces an error, such a change usually cannot be detected. * Many folks contributing new tests don't know `-fdriver-only -v`. To test no driver error/warning for new tests, they can use the familiar `-### -Werror` instead of `-fdriver-only -v -Werror`. An incomplete list of prerequisite test improvement: *2f79bb1046
: add -nogpulib to some AMDGPU tests *9155e517e6
: add --cuda-path= (test w/ and w/o /usr/local/cuda) *80765ede5b
: -mcpu=native may return either 0 or 1, depending on whether `--target=` specifies a native target *abae53f43f
: fix -fuse-ld=lld misuses (test w/o and w/o /usr/local/bin/ld.lld) *ab68df505e
: add -resource-dir= and -fvisibility=hidden to some -fsanitize=cfi tests *d5ca1602f6
: --rtlib=platform without --unwindlib= may fail if CLANG_DEFAULT_UNWINDLIB=unwindlib Reviewed By: jhuber6, yaxunl, dblaikie Differential Revision: https://reviews.llvm.org/D156363
This commit is contained in:
parent
63c648f46d
commit
f39c399d9d
@ -1889,7 +1889,7 @@ int Driver::ExecuteCompilation(
|
||||
// Just print if -### was present.
|
||||
if (C.getArgs().hasArg(options::OPT__HASH_HASH_HASH)) {
|
||||
C.getJobs().Print(llvm::errs(), "\n", true);
|
||||
return 0;
|
||||
return Diags.hasErrorOccurred() ? 1 : 0;
|
||||
}
|
||||
|
||||
// If there were errors building the compilation, quit now.
|
||||
|
@ -1,7 +1,7 @@
|
||||
// RUN: %clang -### --target=aarch64-pc-freebsd -fxray-instrument -c %s -o /dev/null 2>&1 | FileCheck %s
|
||||
// RUN: %clang -### --target=arm64-apple-macos -fxray-instrument -c %s -o /dev/null 2>&1 | FileCheck %s
|
||||
// RUN: %clang -### --target=x86_64-apple-darwin -fxray-instrument -c %s -o /dev/null 2>&1 | FileCheck %s
|
||||
// RUN: %clang -### --target=x86_64-pc-windows -fxray-instrument -c %s -o /dev/null 2>&1 | FileCheck %s --check-prefix=ERR
|
||||
// RUN: not %clang -### --target=x86_64-pc-windows -fxray-instrument -c %s -o /dev/null 2>&1 | FileCheck %s --check-prefix=ERR
|
||||
|
||||
// CHECK: "-cc1" {{.*}}"-fxray-instrument"
|
||||
// ERR: error: unsupported option '-fxray-instrument' for target
|
||||
|
@ -9,7 +9,7 @@
|
||||
// RUN: %clang -### --target=aarch64-none-elf -march=armv9.3-a+noite %s 2>&1 | FileCheck %s --check-prefix=DISABLED
|
||||
|
||||
// FEAT_ITE is invalid before v8
|
||||
// RUN: %clang -### --target=arm-none-none-eabi -march=armv7-a+ite %s 2>&1 | FileCheck %s --check-prefix=INVALID
|
||||
// RUN: not %clang -### --target=arm-none-none-eabi -march=armv7-a+ite %s 2>&1 | FileCheck %s --check-prefix=INVALID
|
||||
|
||||
// INVALID: error: unsupported argument 'armv7-a+ite' to option '-march='
|
||||
// ENABLED: "-target-feature" "+ite"
|
||||
|
@ -17,7 +17,7 @@
|
||||
// RUN: %clang -### --target=aarch64-none-elf -march=armv9-a+norcpc3 %s 2>&1 | FileCheck %s --check-prefix=DISABLED
|
||||
|
||||
// FEAT_RCPC3 is invalid before v8
|
||||
// RUN: %clang -### --target=arm-none-none-eabi -march=armv7-a+rcpc3 %s 2>&1 | FileCheck %s --check-prefix=INVALID
|
||||
// RUN: not %clang -### --target=arm-none-none-eabi -march=armv7-a+rcpc3 %s 2>&1 | FileCheck %s --check-prefix=INVALID
|
||||
|
||||
// INVALID: error: unsupported argument 'armv7-a+rcpc3' to option '-march='
|
||||
// ENABLED: "-target-feature" "+rcpc3"
|
||||
|
@ -21,10 +21,10 @@
|
||||
// RUN: %clang --target=aarch64 -c %s -### -mbranch-protection=pac-ret -msign-return-address=none 2>&1 | \
|
||||
// RUN: FileCheck %s --check-prefix=CONFLICT --check-prefix=WARN
|
||||
|
||||
// RUN: %clang --target=aarch64 -c %s -### -msign-return-address=foo 2>&1 | \
|
||||
// RUN: not %clang --target=aarch64 -c %s -### -msign-return-address=foo 2>&1 | \
|
||||
// RUN: FileCheck %s --check-prefix=BAD-RA-PROTECTION --check-prefix=WARN
|
||||
|
||||
// RUN: %clang --target=aarch64 -c %s -### -mbranch-protection=bar 2>&1 | \
|
||||
// RUN: not %clang --target=aarch64 -c %s -### -mbranch-protection=bar 2>&1 | \
|
||||
// RUN: FileCheck %s --check-prefix=BAD-BP-PROTECTION --check-prefix=WARN
|
||||
|
||||
// RUN: %clang --target=aarch64 -### -o /dev/null -mbranch-protection=standard /dev/null 2>&1 | \
|
||||
|
@ -46,9 +46,9 @@
|
||||
|
||||
// Error out if an unsupported value is passed to -msve-vector-bits.
|
||||
// -----------------------------------------------------------------------------
|
||||
// RUN: %clang -c %s -### --target=aarch64-none-linux-gnu -march=armv8-a+sve \
|
||||
// RUN: not %clang -c %s -### --target=aarch64-none-linux-gnu -march=armv8-a+sve \
|
||||
// RUN: -msve-vector-bits=64 2>&1 | FileCheck --check-prefix=CHECK-BAD-VALUE-ERROR %s
|
||||
// RUN: %clang -c %s -### --target=aarch64-none-linux-gnu -march=armv8-a+sve \
|
||||
// RUN: not %clang -c %s -### --target=aarch64-none-linux-gnu -march=armv8-a+sve \
|
||||
// RUN: -msve-vector-bits=A 2>&1 | FileCheck --check-prefix=CHECK-BAD-VALUE-ERROR %s
|
||||
|
||||
// CHECK-BAD-VALUE-ERROR: error: unsupported argument '{{.*}}' to option '-msve-vector-bits='
|
||||
|
@ -35,7 +35,7 @@
|
||||
// MULTIPLE-VALUES-NOT: "-target-feature" "+v8.2a
|
||||
|
||||
/// march to compiler and assembler, we choose the one suited to the input file type
|
||||
// RUN: %clang --target=aarch64-linux-gnueabi -### -c -Wa,-march=armv8.3-a -march=armv8.4-a %s 2>&1 | \
|
||||
// RUN: not %clang --target=aarch64-linux-gnueabi -### -c -Wa,-march=armv8.3-a -march=armv8.4-a %s 2>&1 | \
|
||||
// RUN: FileCheck --check-prefix=TARGET-FEATURE-3 %s
|
||||
// RUN: %clang --target=aarch64-linux-gnueabi -### -c -Wa,-march=armv8.3-a -march=armv8.4-a \
|
||||
// RUN: %S/Inputs/wildcard1.c 2>&1 | FileCheck --check-prefix=TARGET-FEATURE-4 %s
|
||||
@ -46,9 +46,9 @@
|
||||
// TARGET-FEATURE-4-NOT: "-target-feature" "+v8.3a"
|
||||
|
||||
// Invalid -march settings
|
||||
// RUN: %clang --target=aarch64-linux-gnueabi -### -c -Wa,-march=all %s 2>&1 | \
|
||||
// RUN: not %clang --target=aarch64-linux-gnueabi -### -c -Wa,-march=all %s 2>&1 | \
|
||||
// RUN: FileCheck --check-prefix=INVALID-ARCH-1 %s
|
||||
// RUN: %clang --target=aarch64-linux-gnueabi -### -c -Wa,-march=foobar %s 2>&1 | \
|
||||
// RUN: not %clang --target=aarch64-linux-gnueabi -### -c -Wa,-march=foobar %s 2>&1 | \
|
||||
// RUN: FileCheck --check-prefix=INVALID-ARCH-2 %s
|
||||
|
||||
// INVALID-ARCH-1: error: unsupported argument 'all' to option '-march='
|
||||
|
@ -17,7 +17,7 @@
|
||||
// RUN: %clang -### --target=aarch64-none-elf -march=armv9.3-a+nothe %s 2>&1 | FileCheck %s --check-prefix=DISABLED
|
||||
|
||||
// FEAT_THE is invalid before v8
|
||||
// RUN: %clang -### --target=arm-none-none-eabi -march=armv7-a+the %s 2>&1 | FileCheck %s --check-prefix=INVALID
|
||||
// RUN: not %clang -### --target=arm-none-none-eabi -march=armv7-a+the %s 2>&1 | FileCheck %s --check-prefix=INVALID
|
||||
|
||||
// INVALID: error: unsupported argument 'armv7-a+the' to option '-march='
|
||||
// ENABLED: "-target-feature" "+the"
|
||||
|
@ -1,21 +1,21 @@
|
||||
// RUN: %clang --target=powerpc-ibm-aix-xcoff -### -E -G 0 2>&1 %s | \
|
||||
// RUN: not %clang --target=powerpc-ibm-aix-xcoff -### -E -G 0 2>&1 %s | \
|
||||
// RUN: FileCheck --check-prefix=CHECK32 %s
|
||||
// RUN: %clang --target=powerpc-ibm-aix-xcoff -### -S -emit-llvm -G 0 2>&1 %s | \
|
||||
// RUN: not %clang --target=powerpc-ibm-aix-xcoff -### -S -emit-llvm -G 0 2>&1 %s | \
|
||||
// RUN: FileCheck --check-prefix=CHECK32 %s
|
||||
// RUN: %clang --target=powerpc-ibm-aix-xcoff -### -c -G 0 2>&1 %s | \
|
||||
// RUN: not %clang --target=powerpc-ibm-aix-xcoff -### -c -G 0 2>&1 %s | \
|
||||
// RUN: FileCheck --check-prefix=CHECK32 %s
|
||||
// RUN: touch %t.s %t.o
|
||||
// RUN: %clang --target=powerpc-ibm-aix-xcoff -### -c %t.s -G 0 2>&1 | FileCheck --check-prefix=CHECK32 %s
|
||||
// RUN: %clang --target=powerpc-ibm-aix-xcoff -### -o dummy.so %t.o -G 0 2>&1 | FileCheck --check-prefix=CHECK32 %s
|
||||
// RUN: not %clang --target=powerpc-ibm-aix-xcoff -### -c %t.s -G 0 2>&1 | FileCheck --check-prefix=CHECK32 %s
|
||||
// RUN: not %clang --target=powerpc-ibm-aix-xcoff -### -o dummy.so %t.o -G 0 2>&1 | FileCheck --check-prefix=CHECK32 %s
|
||||
|
||||
// RUN: %clang --target=powerpc64-ibm-aix-xcoff -### -E -G 0 2>&1 %s | \
|
||||
// RUN: not %clang --target=powerpc64-ibm-aix-xcoff -### -E -G 0 2>&1 %s | \
|
||||
// RUN: FileCheck --check-prefix=CHECK64 %s
|
||||
// RUN: %clang --target=powerpc64-ibm-aix-xcoff -### -S -emit-llvm -G 0 2>&1 %s | \
|
||||
// RUN: not %clang --target=powerpc64-ibm-aix-xcoff -### -S -emit-llvm -G 0 2>&1 %s | \
|
||||
// RUN: FileCheck --check-prefix=CHECK64 %s
|
||||
// RUN: %clang --target=powerpc64-ibm-aix-xcoff -### -c -G 0 2>&1 %s | \
|
||||
// RUN: not %clang --target=powerpc64-ibm-aix-xcoff -### -c -G 0 2>&1 %s | \
|
||||
// RUN: FileCheck --check-prefix=CHECK64 %s
|
||||
// RUN: %clang --target=powerpc64-ibm-aix-xcoff -### -c %t.s -G 0 2>&1 | FileCheck --check-prefix=CHECK64 %s
|
||||
// RUN: %clang --target=powerpc64-ibm-aix-xcoff -### -o dummy.so %t.o -G 0 2>&1 | FileCheck --check-prefix=CHECK64 %s
|
||||
// RUN: not %clang --target=powerpc64-ibm-aix-xcoff -### -c %t.s -G 0 2>&1 | FileCheck --check-prefix=CHECK64 %s
|
||||
// RUN: not %clang --target=powerpc64-ibm-aix-xcoff -### -o dummy.so %t.o -G 0 2>&1 | FileCheck --check-prefix=CHECK64 %s
|
||||
|
||||
// CHECK32: error: unsupported option '-G' for target 'powerpc-ibm-aix-xcoff'
|
||||
// CHECK64: error: unsupported option '-G' for target 'powerpc64-ibm-aix-xcoff'
|
||||
|
@ -1071,7 +1071,7 @@
|
||||
// CHECK-FOPENMP: "-lc"
|
||||
|
||||
// Check powerpc-ibm-aix7.1.0.0, 32-bit. -fopenmp=libfoo results an error.
|
||||
// RUN: %clang %s 2>&1 -### \
|
||||
// RUN: not %clang %s 2>&1 -### \
|
||||
// RUN: --target=powerpc-ibm-aix7.1.0.0 \
|
||||
// RUN: --sysroot %S/Inputs/aix_ppc_tree \
|
||||
// RUN: -fopenmp=libfoo \
|
||||
|
@ -1,8 +1,8 @@
|
||||
/// AIX-specific link options are rejected for other targets.
|
||||
// RUN: %clang -### --target=powerpc64-unknown-linux-gnu \
|
||||
// RUN: not %clang -### --target=powerpc64-unknown-linux-gnu \
|
||||
// RUN: --sysroot %S/Inputs/aix_ppc_tree --unwindlib=libunwind --rtlib=compiler-rt \
|
||||
// RUN: -b one -K -mxcoff-build-id=a %s 2>&1 | FileCheck %s --implicit-check-not=error:
|
||||
// RUN: %clang -### --target=powerpc64-unknown-linux-gnu -c \
|
||||
// RUN: not %clang -### --target=powerpc64-unknown-linux-gnu -c \
|
||||
// RUN: --sysroot %S/Inputs/aix_ppc_tree --unwindlib=libunwind --rtlib=compiler-rt \
|
||||
// RUN: -b one -K -mxcoff-build-id=a %s 2>&1 | FileCheck %s --implicit-check-not=error:
|
||||
// CHECK: error: unsupported option '-b' for target '{{.*}}'
|
||||
|
@ -6,10 +6,10 @@
|
||||
// RUN: %clang -target powerpc64-ibm-aix -maix32 -### -c %s 2>&1 | \
|
||||
// RUN: FileCheck --check-prefix=CHECK32 %s
|
||||
|
||||
// RUN: %clang --target=powerpc-unknown-linux -maix64 -### -c %s 2>&1 | \
|
||||
// RUN: not %clang --target=powerpc-unknown-linux -maix64 -### -c %s 2>&1 | \
|
||||
// RUN: FileCheck --check-prefix=ERROR %s
|
||||
|
||||
// RUN: %clang --target=powerpc64-unknown-linux -maix32 -### -c %s 2>&1 | \
|
||||
// RUN: not %clang --target=powerpc64-unknown-linux -maix32 -### -c %s 2>&1 | \
|
||||
// RUN: FileCheck --check-prefix=ERROR %s
|
||||
|
||||
// CHECK32: Target: powerpc-ibm-aix
|
||||
|
@ -1,6 +1,6 @@
|
||||
// RUN: %clang -### -target powerpc-unknown-aix -S %s 2>&1 | FileCheck %s
|
||||
// RUN: %clang -### -target powerpc64-unknown-aix -S %s 2>&1 | FileCheck %s
|
||||
// RUN: %clang -### --target=powerpc-unknown-aix -mabi=quadword-atomics -S \
|
||||
// RUN: not %clang -### --target=powerpc-unknown-aix -mabi=quadword-atomics -S \
|
||||
// RUN: %s 2>&1 | FileCheck --check-prefix=CHECK-UNSUPPORTED-TARGET %s
|
||||
// RUN: %clang -### -target powerpc64-unknown-aix -mabi=quadword-atomics -S \
|
||||
// RUN: %s 2>&1 | FileCheck %s --check-prefix=CHECK-QUADWORD-ATOMICS
|
||||
|
@ -12,22 +12,22 @@
|
||||
// RUN: chmod +x %t/amdgpu_arch_empty
|
||||
|
||||
// case when amdgpu-arch returns nothing or fails
|
||||
// RUN: %clang -### --target=x86_64-unknown-linux-gnu -nogpulib --offload-arch=native --amdgpu-arch-tool=%t/amdgpu_arch_fail -x hip %s 2>&1 \
|
||||
// RUN: not %clang -### --target=x86_64-unknown-linux-gnu -nogpulib --offload-arch=native --amdgpu-arch-tool=%t/amdgpu_arch_fail -x hip %s 2>&1 \
|
||||
// RUN: | FileCheck %s --check-prefix=NO-OUTPUT-ERROR
|
||||
// RUN: %clang -### --target=x86_64-unknown-linux-gnu -nogpulib --offload-new-driver --offload-arch=native --amdgpu-arch-tool=%t/amdgpu_arch_fail -x hip %s 2>&1 \
|
||||
// RUN: not %clang -### --target=x86_64-unknown-linux-gnu -nogpulib --offload-new-driver --offload-arch=native --amdgpu-arch-tool=%t/amdgpu_arch_fail -x hip %s 2>&1 \
|
||||
// RUN: | FileCheck %s --check-prefix=NO-OUTPUT-ERROR
|
||||
// NO-OUTPUT-ERROR: error: cannot determine amdgcn architecture{{.*}}; consider passing it via '--offload-arch'
|
||||
|
||||
// case when amdgpu-arch does not return anything with successful execution
|
||||
// RUN: %clang -### --target=x86_64-unknown-linux-gnu -nogpulib --offload-arch=native --amdgpu-arch-tool=%t/amdgpu_arch_empty -x hip %s 2>&1 \
|
||||
// RUN: not %clang -### --target=x86_64-unknown-linux-gnu -nogpulib --offload-arch=native --amdgpu-arch-tool=%t/amdgpu_arch_empty -x hip %s 2>&1 \
|
||||
// RUN: | FileCheck %s --check-prefix=EMPTY-OUTPUT
|
||||
// RUN: %clang -### --target=x86_64-unknown-linux-gnu -nogpulib --offload-new-driver --offload-arch=native --amdgpu-arch-tool=%t/amdgpu_arch_empty -x hip %s 2>&1 \
|
||||
// RUN: not %clang -### --target=x86_64-unknown-linux-gnu -nogpulib --offload-new-driver --offload-arch=native --amdgpu-arch-tool=%t/amdgpu_arch_empty -x hip %s 2>&1 \
|
||||
// RUN: | FileCheck %s --check-prefix=EMPTY-OUTPUT
|
||||
// EMPTY-OUTPUT: error: cannot determine amdgcn architecture: No AMD GPU detected in the system; consider passing it via '--offload-arch'
|
||||
|
||||
// case when amdgpu-arch returns a gfx906 GPU.
|
||||
// RUN: %clang -### --target=x86_64-unknown-linux-gnu -nogpulib --offload-arch=native --amdgpu-arch-tool=%t/amdgpu_arch_gfx906 -x hip %s 2>&1 \
|
||||
// RUN: not %clang -### --target=x86_64-unknown-linux-gnu -nogpulib --offload-arch=native --amdgpu-arch-tool=%t/amdgpu_arch_gfx906 -x hip %s 2>&1 \
|
||||
// RUN: | FileCheck %s --check-prefix=ARCH-GFX906
|
||||
// RUN: %clang -### --target=x86_64-unknown-linux-gnu -nogpulib --offload-new-driver --offload-arch=native --amdgpu-arch-tool=%t/amdgpu_arch_gfx906 -x hip %s 2>&1 \
|
||||
// RUN: not %clang -### --target=x86_64-unknown-linux-gnu -nogpulib --offload-new-driver --offload-arch=native --amdgpu-arch-tool=%t/amdgpu_arch_gfx906 -x hip %s 2>&1 \
|
||||
// RUN: | FileCheck %s --check-prefix=ARCH-GFX906
|
||||
// ARCH-GFX906: "-cc1" "-triple" "amdgcn-amd-amdhsa"{{.*}}"-target-cpu" "gfx906"
|
||||
|
@ -13,11 +13,11 @@
|
||||
// RUN: chmod +x %t/amdgpu_arch_empty
|
||||
|
||||
// case when amdgpu_arch returns nothing or fails
|
||||
// RUN: %clang -### --target=x86_64-unknown-linux-gnu -fopenmp=libomp -fopenmp-targets=amdgcn-amd-amdhsa -nogpulib --amdgpu-arch-tool=%t/amdgpu_arch_fail %s 2>&1 \
|
||||
// RUN: not %clang -### --target=x86_64-unknown-linux-gnu -fopenmp=libomp -fopenmp-targets=amdgcn-amd-amdhsa -nogpulib --amdgpu-arch-tool=%t/amdgpu_arch_fail %s 2>&1 \
|
||||
// RUN: | FileCheck %s --check-prefix=NO-OUTPUT-ERROR
|
||||
// NO-OUTPUT-ERROR: error: cannot determine amdgcn architecture{{.*}}; consider passing it via '-march'
|
||||
|
||||
// case when amdgpu_arch does not return anything with successful execution
|
||||
// RUN: %clang -### --target=x86_64-unknown-linux-gnu -fopenmp=libomp -fopenmp-targets=amdgcn-amd-amdhsa -nogpulib --amdgpu-arch-tool=%t/amdgpu_arch_empty %s 2>&1 \
|
||||
// RUN: not %clang -### --target=x86_64-unknown-linux-gnu -fopenmp=libomp -fopenmp-targets=amdgcn-amd-amdhsa -nogpulib --amdgpu-arch-tool=%t/amdgpu_arch_empty %s 2>&1 \
|
||||
// RUN: | FileCheck %s --check-prefix=EMPTY-OUTPUT
|
||||
// EMPTY-OUTPUT: error: cannot determine amdgcn architecture: No AMD GPU detected in the system; consider passing it via '-march'
|
||||
|
@ -13,8 +13,8 @@
|
||||
// CHECK-X86-2: "-fno-rtti"
|
||||
// CHECK-X86-2-NOT: "-fno-common"
|
||||
|
||||
// RUN: %clang -target x86_64-apple-darwin11 -arch armv7 -mkernel -mstrict-align -### -fsyntax-only %s 2>&1 | FileCheck --check-prefix=CHECK-ARM %s
|
||||
// RUN: %clang -target x86_64-apple-darwin11 -arch armv7 -mkernel -mstrict-align -### -fsyntax-only -fbuiltin -fno-builtin -fcommon -fno-common %s 2>&1 | FileCheck --check-prefix=CHECK-ARM %s
|
||||
// RUN: not %clang -target x86_64-apple-darwin11 -arch armv7 -mkernel -mstrict-align -### -fsyntax-only %s 2>&1 | FileCheck --check-prefix=CHECK-ARM %s
|
||||
// RUN: not %clang -target x86_64-apple-darwin11 -arch armv7 -mkernel -mstrict-align -### -fsyntax-only -fbuiltin -fno-builtin -fcommon -fno-common %s 2>&1 | FileCheck --check-prefix=CHECK-ARM %s
|
||||
|
||||
// CHECK-ARM: "-target-feature" "+long-calls"
|
||||
// CHECK-ARM: "-target-feature" "+strict-align"
|
||||
|
@ -1,6 +1,6 @@
|
||||
// RUN: rm -rf %t.tmpdir
|
||||
// RUN: mkdir -p %t.tmpdir/Xcode.app/Contents/Developers/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk
|
||||
// RUN: %clang -### -target x86_64-apple-macos10.10 -fobjc-link-runtime -lfoo \
|
||||
// RUN: not %clang -### -target x86_64-apple-macos10.10 -fobjc-link-runtime -lfoo \
|
||||
// RUN: -isysroot %t.tmpdir/Xcode.app/Contents/Developers/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk \
|
||||
// RUN: %s 2>&1 | FileCheck %s
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
// RUN: touch %t.o
|
||||
// RUN: mkdir -p %t.tmpdir/Xcode.app/Contents/Developers/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk
|
||||
// RUN: %clang -### -target x86_64-apple-darwin10 -fobjc-link-runtime -lfoo -mmacosx-version-min=10.10 %t.o \
|
||||
// RUN: not %clang -### -target x86_64-apple-darwin10 -fobjc-link-runtime -lfoo -mmacosx-version-min=10.10 %t.o \
|
||||
// RUN: -isysroot %t.tmpdir/Xcode.app/Contents/Developers/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk 2>&1 | FileCheck -check-prefix=CHECK-ARCLITE-OSX %s
|
||||
// RUN: %clang -### -target x86_64-apple-darwin10 -fobjc-link-runtime -mmacosx-version-min=10.11 %t.o 2>&1 | FileCheck -check-prefix=CHECK-NOARCLITE %s
|
||||
// RUN: %clang -### -target i386-apple-darwin10 -fobjc-link-runtime -mmacosx-version-min=10.7 %t.o 2>&1 | FileCheck -check-prefix=CHECK-NOARCLITE %s
|
||||
@ -16,7 +16,7 @@
|
||||
// CHECK-NOARCLITE-NOT: libarclite
|
||||
// CHECK-NOSTDLIB-NOT: -lobjc
|
||||
|
||||
// RUN: %clang -### -target x86_64-apple-darwin10 -fobjc-link-runtime -fobjc-arc -mmacosx-version-min=10.10 %s 2>&1 | FileCheck -check-prefix=CHECK-UNUSED %s
|
||||
// RUN: not %clang -### -target x86_64-apple-darwin10 -fobjc-link-runtime -fobjc-arc -mmacosx-version-min=10.10 %s 2>&1 | FileCheck -check-prefix=CHECK-UNUSED %s
|
||||
|
||||
// CHECK-UNUSED-NOT: warning: argument unused during compilation: '-fobjc-link-runtime'
|
||||
|
||||
|
@ -1,18 +1,18 @@
|
||||
/// check -faapcs-bitfield-width/-fno-aapcs-bitfield-width
|
||||
// RUN: %clang -target arm-arm-none-eabi -march=armv8-m.main -faapcs-bitfield-width -### %s 2>&1 | FileCheck --check-prefixes=WIDTH,INVERSE-WIDTH %s
|
||||
// RUN: %clang --target=aarch64 -march=armv8-m.main -faapcs-bitfield-width -### %s 2>&1 | FileCheck --check-prefixes=WIDTH,INVERSE-WIDTH %s
|
||||
// RUN: not %clang --target=aarch64 -march=armv8-m.main -faapcs-bitfield-width -### %s 2>&1 | FileCheck --check-prefixes=WIDTH,INVERSE-WIDTH %s
|
||||
// RUN: %clang -target arm-arm-none-eabi -march=armv8-m.main -fno-aapcs-bitfield-width -### %s 2>&1 | FileCheck --check-prefixes=NO-WIDTH,WIDTH %s
|
||||
// RUN: %clang --target=aarch64 -march=armv8-m.main -fno-aapcs-bitfield-width -### %s 2>&1 | FileCheck --check-prefixes=NO-WIDTH,WIDTH %s
|
||||
// RUN: not %clang --target=aarch64 -march=armv8-m.main -fno-aapcs-bitfield-width -### %s 2>&1 | FileCheck --check-prefixes=NO-WIDTH,WIDTH %s
|
||||
// WIDTH-NOT: -faapcs-bitfield-width
|
||||
// NO-WIDTH: -fno-aapcs-bitfield-width
|
||||
|
||||
/// check -faapcs-bitfield-load
|
||||
// RUN: %clang -target arm-arm-none-eabi -march=armv8-m.main -faapcs-bitfield-load -### %s 2>&1 | FileCheck --check-prefix=LOAD %s
|
||||
// RUN: %clang --target=aarch64 -march=armv8-m.main -faapcs-bitfield-load -### %s 2>&1 | FileCheck --check-prefix=LOAD %s
|
||||
// RUN: not %clang --target=aarch64 -march=armv8-m.main -faapcs-bitfield-load -### %s 2>&1 | FileCheck --check-prefix=LOAD %s
|
||||
// LOAD: -faapcs-bitfield-load
|
||||
|
||||
/// check absence of the above argument when not given
|
||||
// RUN: %clang -target arm-arm-none-eabi -march=armv8-m.main -### %s 2>&1 | FileCheck --check-prefixes=INVERSE-WIDTH,INVERSE-LOAD %s
|
||||
// RUN: %clang --target=aarch64 -march=armv8-m.main -### %s 2>&1 | FileCheck --check-prefixes=INVERSE-WIDTH,INVERSE-LOAD %s
|
||||
// RUN: not %clang --target=aarch64 -march=armv8-m.main -### %s 2>&1 | FileCheck --check-prefixes=INVERSE-WIDTH,INVERSE-LOAD %s
|
||||
// INVERSE-WIDTH-NOT: -fno-aapcs-bitfield-width
|
||||
// INVERSE-LOAD-NOT: -fno-aapcs-bitfield-load
|
||||
|
@ -34,11 +34,11 @@
|
||||
|
||||
// Diagnose the option when used without -mcmse
|
||||
//
|
||||
// RUN: %clang --target=arm-arm-none-eabi -march=armv8-m.main %s -### \
|
||||
// RUN: not %clang --target=arm-arm-none-eabi -march=armv8-m.main %s -### \
|
||||
// RUN: -mfix-cmse-cve-2021-35465 2>&1 |\
|
||||
// RUN: FileCheck %s --check-prefix=CHECK-DIAG
|
||||
//
|
||||
// RUN: %clang --target=arm-arm-none-eabi -march=armv8.1-m.main %s -### \
|
||||
// RUN: not %clang --target=arm-arm-none-eabi -march=armv8.1-m.main %s -### \
|
||||
// RUN: -mno-fix-cmse-cve-2021-35465 2>&1 |\
|
||||
// RUN: FileCheck %s --check-prefix=CHECK-DIAG
|
||||
//
|
||||
|
@ -47,7 +47,7 @@
|
||||
// RUN: | FileCheck %s -check-prefix ARM-ANDROID
|
||||
// ARM-ANDROID: "{{.*[/\\]}}libclang_rt.builtins-arm-android.a"
|
||||
|
||||
// RUN: %clang --target=arm-linux-androideabi \
|
||||
// RUN: not %clang --target=arm-linux-androideabi \
|
||||
// RUN: --sysroot=%S/Inputs/resource_dir_with_arch_subdir \
|
||||
// RUN: -resource-dir=%S/Inputs/resource_dir_with_arch_subdir \
|
||||
// RUN: -rtlib=compiler-rt -mfloat-abi=hard -### %s 2>&1 \
|
||||
|
@ -142,20 +142,20 @@
|
||||
// EBV8M_MAINLINE: "-cc1"{{.*}} "-triple" "thumbebv8m.main-{{.*}} "-target-cpu" "generic"
|
||||
|
||||
// ================== Check that a bogus architecture gives an error
|
||||
// RUN: %clang --target=arm -march=armbogusv6 -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-BOGUS %s
|
||||
// RUN: not %clang --target=arm -march=armbogusv6 -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-BOGUS %s
|
||||
// CHECK-BOGUS: error: unsupported argument 'armbogusv6' to option '-march='
|
||||
// RUN: %clang --target=arm---eabihf -march=armbogusv7 -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-BOGUS-HF %s
|
||||
// RUN: not %clang --target=arm---eabihf -march=armbogusv7 -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-BOGUS-HF %s
|
||||
// CHECK-BOGUS-HF: error: unsupported argument 'armbogusv7' to option '-march='
|
||||
// RUN: %clang --target=arm -march=armv6bogus -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-BOGUS2 %s
|
||||
// RUN: not %clang --target=arm -march=armv6bogus -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-BOGUS2 %s
|
||||
// CHECK-BOGUS2: error: unsupported argument 'armv6bogus' to option '-march='
|
||||
// RUN: %clang --target=arm -march=bogus -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-BOGUS3 %s
|
||||
// RUN: not %clang --target=arm -march=bogus -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-BOGUS3 %s
|
||||
// CHECK-BOGUS3: error: unsupported argument 'bogus' to option '-march='
|
||||
|
||||
// ================== Check that a bogus CPU gives an error
|
||||
// RUN: %clang -target arm -mcpu=bogus -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-BOGUS-CPU %s
|
||||
// RUN: %clang -target armv8-apple-darwin -arch arm64 -mcpu=bogus -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-BOGUS-CPU %s
|
||||
// RUN: not %clang -target arm -mcpu=bogus -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-BOGUS-CPU %s
|
||||
// RUN: not %clang -target armv8-apple-darwin -arch arm64 -mcpu=bogus -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-BOGUS-CPU %s
|
||||
// CHECK-BOGUS-CPU: error: unsupported argument 'bogus' to option '-mcpu='
|
||||
// RUN: %clang -target armv8-apple-darwin -arch arm64 -mtune=bogus -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-BOGUS-TUNE %s
|
||||
// RUN: not %clang -target armv8-apple-darwin -arch arm64 -mtune=bogus -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-BOGUS-TUNE %s
|
||||
// CHECK-BOGUS-TUNE: error: unsupported argument 'bogus' to option '-mtune='
|
||||
|
||||
// ================== Check default Architecture on each ARM11 CPU
|
||||
|
@ -12,7 +12,7 @@
|
||||
// RUN: | FileCheck -check-prefix=CHECK-CPU %s
|
||||
// CHECK-CPU: "-target-cpu" "cortex-a15"
|
||||
|
||||
// RUN: %clang --target=arm -Wa,-mcpu=bogus -c %s -### 2>&1 \
|
||||
// RUN: not %clang --target=arm -Wa,-mcpu=bogus -c %s -### 2>&1 \
|
||||
// RUN: | FileCheck -check-prefix=CHECK-BOGUS-CPU %s
|
||||
// CHECK-BOGUS-CPU: error: unsupported argument '-mcpu=bogus' to option '-Wa,'
|
||||
|
||||
@ -25,7 +25,7 @@
|
||||
// RUN: | FileCheck --check-prefix=CHECK-NEON %s
|
||||
// CHECK-NEON: "-target-feature" "+neon"
|
||||
|
||||
// RUN: %clang --target=arm-linux-eabi -Wa,-mfpu=bogus -c %s -### 2>&1 \
|
||||
// RUN: not %clang --target=arm-linux-eabi -Wa,-mfpu=bogus -c %s -### 2>&1 \
|
||||
// RUN: | FileCheck --check-prefix=CHECK-BOGUS-FPU %s
|
||||
// CHECK-BOGUS-FPU: error: {{.*}} does not support '-Wa,-mfpu=bogus'
|
||||
|
||||
@ -36,7 +36,7 @@
|
||||
// ================================================================= Arch
|
||||
// Arch validation only for now, in case we're passing to an external asm
|
||||
|
||||
// RUN: %clang --target=arm -Wa,-march=armbogusv6 -c %s -### 2>&1 \
|
||||
// RUN: not %clang --target=arm -Wa,-march=armbogusv6 -c %s -### 2>&1 \
|
||||
// RUN: | FileCheck -check-prefix=CHECK-BOGUS-ARCH %s
|
||||
// CHECK-BOGUS-ARCH: error: unsupported argument '-march=armbogusv6' to option '-Wa,'
|
||||
|
||||
@ -54,7 +54,7 @@
|
||||
// CHECK-THUMB: "-target-feature" "-hwdiv-arm"
|
||||
// CHECK-THUMB: "-target-feature" "+hwdiv"
|
||||
|
||||
// RUN: %clang --target=arm -Wa,-mhwdiv=bogus -c %s -### 2>&1 \
|
||||
// RUN: not %clang --target=arm -Wa,-mhwdiv=bogus -c %s -### 2>&1 \
|
||||
// RUN: | FileCheck --check-prefix=CHECK-BOGUS-HDIV %s
|
||||
// CHECK-BOGUS-HDIV: error: {{.*}} does not support '-Wa,-mhwdiv=bogus'
|
||||
|
||||
|
@ -13,7 +13,7 @@
|
||||
// RUN: %clang -target armv7--none-eabi -mimplicit-it=always -### %s 2>&1 \
|
||||
// RUN: | FileCheck %s -check-prefix CHECK-ALWAYS
|
||||
|
||||
// RUN: %clang --target=armv7--none-eabi -mimplicit-it=thisisnotavalidoption -### %s 2>&1 \
|
||||
// RUN: not %clang --target=armv7--none-eabi -mimplicit-it=thisisnotavalidoption -### %s 2>&1 \
|
||||
// RUN: | FileCheck %s -check-prefix CHECK-INVALID
|
||||
|
||||
// CHECK-DEFAULT-NOT: "-arm-implicit-it
|
||||
|
@ -8,13 +8,13 @@
|
||||
// CHECK-DEFAULT-NOT: "-target-feature" "+vfp3"
|
||||
// CHECK-DEFAULT-NOT: "-target-feature" "+neon"
|
||||
|
||||
// RUN: %clang --target=arm-linux-eabi -mfpu=fpa %s -### -o %t.o 2>&1 \
|
||||
// RUN: not %clang --target=arm-linux-eabi -mfpu=fpa %s -### -o %t.o 2>&1 \
|
||||
// RUN: | FileCheck --check-prefix=CHECK-FPA %s
|
||||
// RUN: %clang --target=arm-linux-eabi -mfpu=fpe2 %s -### -o %t.o 2>&1 \
|
||||
// RUN: not %clang --target=arm-linux-eabi -mfpu=fpe2 %s -### -o %t.o 2>&1 \
|
||||
// RUN: | FileCheck --check-prefix=CHECK-FPA %s
|
||||
// RUN: %clang --target=arm-linux-eabi -mfpu=fpe3 %s -### -o %t.o 2>&1 \
|
||||
// RUN: not %clang --target=arm-linux-eabi -mfpu=fpe3 %s -### -o %t.o 2>&1 \
|
||||
// RUN: | FileCheck --check-prefix=CHECK-FPA %s
|
||||
// RUN: %clang --target=arm-linux-eabi -mfpu=maverick %s -### -o %t.o 2>&1 \
|
||||
// RUN: not %clang --target=arm-linux-eabi -mfpu=maverick %s -### -o %t.o 2>&1 \
|
||||
// RUN: | FileCheck --check-prefix=CHECK-FPA %s
|
||||
// CHECK-FPA: error: {{.*}} does not support '-mfpu={{fpa|fpe|fpe2|fpe3|maverick}}'
|
||||
|
||||
@ -190,7 +190,7 @@
|
||||
// RUN: | FileCheck --check-prefix=CHECK-FP5-SP-D16 %s
|
||||
// RUN: %clang -target arm-linux-eabi -mfpu=fpv5-sp-d16 %s -### -o %t.o 2>&1 \
|
||||
// RUN: | FileCheck --check-prefix=CHECK-FP5-SP-D16 %s
|
||||
// RUN: %clang --target=arm-linux-eabi -mfpu=fp-armv8-sp-d16 -mfloat-abi=soft %s -### -o %t.o \
|
||||
// RUN: not %clang --target=arm-linux-eabi -mfpu=fp-armv8-sp-d16 -mfloat-abi=soft %s -### -o %t.o \
|
||||
// RUN: 2>&1 | FileCheck --check-prefix=CHECK-SOFT-ABI-FP %s
|
||||
// CHECK-FP5-SP-D16-NOT: "-target-feature" "+soft-float"
|
||||
// CHECK-FP5-SP-D16-DAG: "-target-feature" "+soft-float-abi"
|
||||
|
@ -14,7 +14,7 @@
|
||||
// Here the float ABI is calculated as "hard" and FP registers are
|
||||
// calculated to not be available. Since the float ABI wasn't specified
|
||||
// explicitly, the warning should not be emitted.
|
||||
// RUN: %clang --target=thumbv5-windows -mcpu=arm10tdmi -### -c %s -o /dev/null 2>&1 \
|
||||
// RUN: not %clang --target=thumbv5-windows -mcpu=arm10tdmi -### -c %s -o /dev/null 2>&1 \
|
||||
// RUN: | FileCheck -check-prefix=NOWARN %s
|
||||
|
||||
// CHECK: warning: '-mfloat-abi=hard': selected processor lacks floating point registers
|
||||
|
@ -34,13 +34,13 @@
|
||||
// RUN: %clang -target arm-arm-none-eabi -march=armv8.1-m.main -c %s -### -mbranch-protection=standard 2>&1 | \
|
||||
// RUN: FileCheck %s --check-prefix=RA-NON-LEAF --check-prefix=KEY-A --check-prefix=BTE-ON
|
||||
|
||||
// RUN: %clang --target=arm-arm-none-eabi -march=armv8.1-m.main -c %s -### -mbranch-protection=bar 2>&1 | \
|
||||
// RUN: not %clang --target=arm-arm-none-eabi -march=armv8.1-m.main -c %s -### -mbranch-protection=bar 2>&1 | \
|
||||
// RUN: FileCheck %s --check-prefix=BAD-BP-PROTECTION
|
||||
|
||||
// RUN: %clang --target=arm-arm-none-eabi -march=armv8.1-m.main -c %s -### -mbranch-protection=pac-ret+bti+b-key 2>&1 | \
|
||||
// RUN: not %clang --target=arm-arm-none-eabi -march=armv8.1-m.main -c %s -### -mbranch-protection=pac-ret+bti+b-key 2>&1 | \
|
||||
// RUN: FileCheck %s --check-prefix=BAD-B-KEY-COMBINATION
|
||||
|
||||
// RUN: %clang --target=arm-arm-none-eabi -march=armv8.1-m.main -c %s -### -mbranch-protection=pac-ret+bti+leaf 2>&1 | \
|
||||
// RUN: not %clang --target=arm-arm-none-eabi -march=armv8.1-m.main -c %s -### -mbranch-protection=pac-ret+bti+leaf 2>&1 | \
|
||||
// RUN: FileCheck %s --check-prefix=BAD-LEAF-COMBINATION
|
||||
|
||||
// -mbranch-protection with supported architectures other than v8.1-m.main
|
||||
|
@ -29,10 +29,10 @@
|
||||
// RUN: %clang -target arm-linux-gnueabi -### -Wa,-mimplicit-it=never -mimplicit-it=always %S/Inputs/wildcard1.c 2>&1 | FileCheck %s --check-prefix=ALWAYS
|
||||
|
||||
/// Test invalid input.
|
||||
// RUN: %clang -target arm-linux-gnueabi -### -Wa,-mimplicit-it=foo %s 2>&1 | FileCheck %s --check-prefix=INVALID
|
||||
// RUN: %clang -target arm-linux-gnueabi -### -Xassembler -mimplicit-it=foo %s 2>&1 | FileCheck %s --check-prefix=XINVALID
|
||||
// RUN: %clang -target arm-linux-gnueabi -### -Wa,-mimplicit-it=always -Wa,-mimplicit-it=foo %s 2>&1 | FileCheck %s --check-prefix=INVALID
|
||||
// RUN: %clang -target arm-linux-gnueabi -### -Wa,-mimplicit-it=always,-mimplicit-it=foo %s 2>&1 | FileCheck %s --check-prefix=INVALID
|
||||
// RUN: not %clang -target arm-linux-gnueabi -### -Wa,-mimplicit-it=foo %s 2>&1 | FileCheck %s --check-prefix=INVALID
|
||||
// RUN: not %clang -target arm-linux-gnueabi -### -Xassembler -mimplicit-it=foo %s 2>&1 | FileCheck %s --check-prefix=XINVALID
|
||||
// RUN: not %clang -target arm-linux-gnueabi -### -Wa,-mimplicit-it=always -Wa,-mimplicit-it=foo %s 2>&1 | FileCheck %s --check-prefix=INVALID
|
||||
// RUN: not %clang -target arm-linux-gnueabi -### -Wa,-mimplicit-it=always,-mimplicit-it=foo %s 2>&1 | FileCheck %s --check-prefix=INVALID
|
||||
|
||||
|
||||
/// Check that the argument we ignore is still marked as used.
|
||||
|
@ -30,9 +30,9 @@
|
||||
// RUN: FileCheck -check-prefix=ARMv5_THREAD_POINTER_ASSEMBLER %s
|
||||
// ARMv5_THREAD_POINTER_ASSEMBLER-NOT: hardware TLS register is not supported for the armv5 sub-architecture
|
||||
|
||||
// RUN: %clang --target=armv6-linux -mthumb -mtp=cp15 -### -S %s 2>&1 | \
|
||||
// RUN: not %clang --target=armv6-linux -mthumb -mtp=cp15 -### -S %s 2>&1 | \
|
||||
// RUN: FileCheck -check-prefix=THUMBv6_THREAD_POINTER_UNSUPP %s
|
||||
// RUN: %clang --target=thumbv6-linux -mthumb -mtp=cp15 -### -S %s 2>&1 | \
|
||||
// RUN: not %clang --target=thumbv6-linux -mthumb -mtp=cp15 -### -S %s 2>&1 | \
|
||||
// RUN: FileCheck -check-prefix=THUMBv6_THREAD_POINTER_UNSUPP %s
|
||||
// THUMBv6_THREAD_POINTER_UNSUPP: hardware TLS register is not supported for the thumbv6 sub-architecture
|
||||
|
||||
|
@ -58,7 +58,7 @@
|
||||
// NOGCC-NOT: warning: {{.*}} avr-libc
|
||||
// NOGCC-NOT: warning: {{.*}} data section address
|
||||
|
||||
// RUN: %clang -### --target=avr --sysroot=%S/Inputs/basic_avr_tree -mmcu=atmega328 %s -fuse-ld=avrld 2>&1 | FileCheck --check-prefix=NOLD %s
|
||||
// RUN: not %clang -### --target=avr --sysroot=%S/Inputs/basic_avr_tree -mmcu=atmega328 %s -fuse-ld=avrld 2>&1 | FileCheck --check-prefix=NOLD %s
|
||||
// NOLD: error: invalid linker
|
||||
|
||||
// RUN: %clang -### --target=avr --sysroot=%S/Inputs/basic_avr_tree -mmcu=atmega328 %s -fuse-ld=%S/Inputs/basic_avr_tree/usr/bin/ld.lld 2>&1 | FileCheck --check-prefix=LLD %s
|
||||
|
@ -8,7 +8,7 @@
|
||||
// RUN: %clang -### -target s390x-unknown-linux-gnu -fcf-runtime-abi=swift-4.1 -c %s 2>&1 | FileCheck -check-prefix CHECK-SWIFT-4_1 %s
|
||||
// RUN: %clang -### -target x86_64-apple-macosx -fcf-runtime-abi=swift -c %s 2>&1 | FileCheck -check-prefix CHECK-SWIFT %s
|
||||
|
||||
// RUN: %clang -### -target arm7k-apple-watchos -fcf-runtime-abi=invalid -c %s 2>&1 | FileCheck -check-prefix CHECK-INVALID %s
|
||||
// RUN: not %clang -### -target arm7k-apple-watchos -fcf-runtime-abi=invalid -c %s 2>&1 | FileCheck -check-prefix CHECK-INVALID %s
|
||||
|
||||
// CHECK-UNSPECIFIED-NOT: "-fcf-runtime-abi=
|
||||
|
||||
|
@ -26,6 +26,6 @@
|
||||
// EHa_EHc: "-fexceptions"
|
||||
// EHa_EHc-NOT: "-fexternc-nounwind"
|
||||
|
||||
// RUN: %clang_cl /c /EHinvalid -### -- %s 2>&1 | FileCheck -check-prefix=EHinvalid %s
|
||||
// RUN: not %clang_cl /c /EHinvalid -### -- %s 2>&1 | FileCheck -check-prefix=EHinvalid %s
|
||||
// EHinvalid: error: invalid value 'invalid' in '/EH'
|
||||
// EHinvalid-NOT: error:
|
||||
|
@ -59,7 +59,7 @@
|
||||
// LIBINPUT2: link.exe"
|
||||
// LIBINPUT2: "cl-test2.lib"
|
||||
|
||||
// RUN: %clang_cl -fuse-ld=link -### -- %s /nonexisting.lib 2>&1 | FileCheck -check-prefix=LIBINPUT3 %s
|
||||
// RUN: not %clang_cl -fuse-ld=link -### -- %s /nonexisting.lib 2>&1 | FileCheck -check-prefix=LIBINPUT3 %s
|
||||
// LIBINPUT3: error: no such file or directory: '/nonexisting.lib'
|
||||
// LIBINPUT3: link.exe"
|
||||
// LIBINPUT3-NOT: "/nonexisting.lib"
|
||||
|
@ -35,7 +35,7 @@
|
||||
// "-dll"
|
||||
|
||||
// RUN: %clang_cl -m32 -arch:IA32 --target=i386-pc-win32 /LD /Tc%s -fuse-ld=link -### -fsanitize=address 2>&1 | FileCheck --check-prefix=ASAN-DLL %s
|
||||
// RUN: %clang_cl -m32 -arch:IA32 --target=i386-pc-win32 /LDd /Tc%s -fuse-ld=link -### -fsanitize=address 2>&1 | FileCheck --check-prefix=ASAN-DLL %s
|
||||
// RUN: not %clang_cl -m32 -arch:IA32 --target=i386-pc-win32 /LDd /Tc%s -fuse-ld=link -### -fsanitize=address 2>&1 | FileCheck --check-prefix=ASAN-DLL %s
|
||||
// ASAN-DLL: link.exe
|
||||
// ASAN-DLL: "-dll"
|
||||
// ASAN-DLL: "-debug"
|
||||
@ -48,7 +48,7 @@
|
||||
// DEBUG: "-debug"
|
||||
|
||||
// Don't pass through /libpath: if it's not after a /link flag:
|
||||
// RUN: %clang_cl /Tc%s /libpath:foo -fuse-ld=link -### /link /libpath:bar 2>&1 | FileCheck --check-prefix=LIBPATH %s
|
||||
// RUN: not %clang_cl /Tc%s /libpath:foo -fuse-ld=link -### /link /libpath:bar 2>&1 | FileCheck --check-prefix=LIBPATH %s
|
||||
// LIBPATH: error: no such file or directory: '/libpath:foo'
|
||||
// LIBPATH: libpath:bar
|
||||
|
||||
|
@ -7,7 +7,7 @@
|
||||
// RUN: %clang_cl /c -### -- %s 2>&1 | FileCheck -check-prefix=c %s
|
||||
// c: -c
|
||||
|
||||
// RUN: %clang_cl /C -### -- %s 2>&1 | FileCheck -check-prefix=C %s
|
||||
// RUN: not %clang_cl /C -### -- %s 2>&1 | FileCheck -check-prefix=C %s
|
||||
// C: error: invalid argument '/C' only allowed with '/E, /P or /EP'
|
||||
|
||||
// RUN: %clang_cl /C /P -### -- %s 2>&1 | FileCheck -check-prefix=C_P %s
|
||||
@ -80,10 +80,10 @@
|
||||
// RUN: %clang_cl -### /FAcsu -fprofile-generate -- %s 2>&1 | FileCheck -check-prefix=CHECK-PROFILE-GENERATE %s
|
||||
// CHECK-PROFILE-GENERATE: "-fprofile-instrument=llvm" "--dependent-lib=clang_rt.profile{{[^"]*}}.lib"
|
||||
|
||||
// RUN: %clang_cl -### /FA -fprofile-instr-generate -fprofile-instr-use -- %s 2>&1 | FileCheck -check-prefix=CHECK-NO-MIX-GEN-USE %s
|
||||
// RUN: %clang_cl -### /FA -fprofile-instr-generate -fprofile-instr-use=file -- %s 2>&1 | FileCheck -check-prefix=CHECK-NO-MIX-GEN-USE %s
|
||||
// RUN: %clang_cl -### /FAcsu -fprofile-instr-generate -fprofile-instr-use -- %s 2>&1 | FileCheck -check-prefix=CHECK-NO-MIX-GEN-USE %s
|
||||
// RUN: %clang_cl -### /FAcsu -fprofile-instr-generate -fprofile-instr-use=file -- %s 2>&1 | FileCheck -check-prefix=CHECK-NO-MIX-GEN-USE %s
|
||||
// RUN: not %clang_cl -### /FA -fprofile-instr-generate -fprofile-instr-use -- %s 2>&1 | FileCheck -check-prefix=CHECK-NO-MIX-GEN-USE %s
|
||||
// RUN: not %clang_cl -### /FA -fprofile-instr-generate -fprofile-instr-use=file -- %s 2>&1 | FileCheck -check-prefix=CHECK-NO-MIX-GEN-USE %s
|
||||
// RUN: not %clang_cl -### /FAcsu -fprofile-instr-generate -fprofile-instr-use -- %s 2>&1 | FileCheck -check-prefix=CHECK-NO-MIX-GEN-USE %s
|
||||
// RUN: not %clang_cl -### /FAcsu -fprofile-instr-generate -fprofile-instr-use=file -- %s 2>&1 | FileCheck -check-prefix=CHECK-NO-MIX-GEN-USE %s
|
||||
// CHECK-NO-MIX-GEN-USE: '{{[a-z=-]*}}' not allowed with '{{[a-z=-]*}}'
|
||||
|
||||
// RUN: %clang_cl -### /FA -fprofile-instr-use -- %s 2>&1 | FileCheck -check-prefix=CHECK-PROFILE-USE %s
|
||||
@ -234,11 +234,11 @@
|
||||
// showIncludes_E-NOT: warning: argument unused during compilation: '--show-includes'
|
||||
|
||||
// /source-charset: should warn on everything except UTF-8.
|
||||
// RUN: %clang_cl /source-charset:utf-16 -### -- %s 2>&1 | FileCheck -check-prefix=source-charset-utf-16 %s
|
||||
// RUN: not %clang_cl /source-charset:utf-16 -### -- %s 2>&1 | FileCheck -check-prefix=source-charset-utf-16 %s
|
||||
// source-charset-utf-16: invalid value 'utf-16' in '/source-charset:utf-16'
|
||||
|
||||
// /execution-charset: should warn on everything except UTF-8.
|
||||
// RUN: %clang_cl /execution-charset:utf-16 -### -- %s 2>&1 | FileCheck -check-prefix=execution-charset-utf-16 %s
|
||||
// RUN: not %clang_cl /execution-charset:utf-16 -### -- %s 2>&1 | FileCheck -check-prefix=execution-charset-utf-16 %s
|
||||
// execution-charset-utf-16: invalid value 'utf-16' in '/execution-charset:utf-16'
|
||||
//
|
||||
// RUN: %clang_cl /Umymacro -### -- %s 2>&1 | FileCheck -check-prefix=U %s
|
||||
@ -266,10 +266,10 @@
|
||||
// RUN: %clang_cl /vmg /vmv -### -- %s 2>&1 | FileCheck -check-prefix=VMV %s
|
||||
// VMV: "-fms-memptr-rep=virtual"
|
||||
|
||||
// RUN: %clang_cl /vmg /vmb -### -- %s 2>&1 | FileCheck -check-prefix=VMB %s
|
||||
// RUN: not %clang_cl /vmg /vmb -### -- %s 2>&1 | FileCheck -check-prefix=VMB %s
|
||||
// VMB: '/vmg' not allowed with '/vmb'
|
||||
|
||||
// RUN: %clang_cl /vmg /vmm /vms -### -- %s 2>&1 | FileCheck -check-prefix=VMX %s
|
||||
// RUN: not %clang_cl /vmg /vmm /vms -### -- %s 2>&1 | FileCheck -check-prefix=VMX %s
|
||||
// VMX: '/vms' not allowed with '/vmm'
|
||||
|
||||
// RUN: %clang_cl /volatile:iso -### -- %s 2>&1 | FileCheck -check-prefix=VOLATILE-ISO %s
|
||||
@ -412,7 +412,7 @@
|
||||
// LINKUNUSED-NOT: argument unused during compilation
|
||||
|
||||
// Support ignoring warnings about unused arguments.
|
||||
// RUN: %clang_cl /Abracadabra -Qunused-arguments -### -- %s 2>&1 | FileCheck -check-prefix=UNUSED %s
|
||||
// RUN: not %clang_cl /Abracadabra -Qunused-arguments -### -- %s 2>&1 | FileCheck -check-prefix=UNUSED %s
|
||||
// UNUSED-NOT: argument unused during compilation
|
||||
|
||||
// Unsupported but parsed options. Check that we don't error on them.
|
||||
@ -623,7 +623,7 @@
|
||||
// RUN: %clang_cl -### /c -flto=thin -- %s 2>&1 | FileCheck -check-prefix=LTO-THIN %s
|
||||
// LTO-THIN: -flto=thin
|
||||
|
||||
// RUN: %clang_cl -### -Fe%t.exe -entry:main -flto -- %s 2>&1 | FileCheck -check-prefix=LTO-WITHOUT-LLD %s
|
||||
// RUN: not %clang_cl -### -Fe%t.exe -entry:main -flto -- %s 2>&1 | FileCheck -check-prefix=LTO-WITHOUT-LLD %s
|
||||
// LTO-WITHOUT-LLD: LTO requires -fuse-ld=lld
|
||||
|
||||
// RUN: %clang_cl -### -- %s 2>&1 | FileCheck -check-prefix=NOCFGUARD %s
|
||||
@ -637,7 +637,7 @@
|
||||
// RUN: %clang_cl /guard:cf,nochecks -### -- %s 2>&1 | FileCheck -check-prefix=CFGUARDNOCHECKS %s
|
||||
// CFGUARDNOCHECKS: -cfguard-no-checks
|
||||
|
||||
// RUN: %clang_cl /guard:nochecks -### -- %s 2>&1 | FileCheck -check-prefix=CFGUARDNOCHECKSINVALID %s
|
||||
// RUN: not %clang_cl /guard:nochecks -### -- %s 2>&1 | FileCheck -check-prefix=CFGUARDNOCHECKSINVALID %s
|
||||
// CFGUARDNOCHECKSINVALID: invalid value 'nochecks' in '/guard:'
|
||||
|
||||
// RUN: %clang_cl -### -- %s 2>&1 | FileCheck -check-prefix=NOEHCONTGUARD %s
|
||||
@ -654,7 +654,7 @@
|
||||
// BOTHGUARD: -guard:cf
|
||||
// BOTHGUARD-SAME: -guard:ehcont
|
||||
|
||||
// RUN: %clang_cl /guard:foo -### -- %s 2>&1 | FileCheck -check-prefix=CFGUARDINVALID %s
|
||||
// RUN: not %clang_cl /guard:foo -### -- %s 2>&1 | FileCheck -check-prefix=CFGUARDINVALID %s
|
||||
// CFGUARDINVALID: invalid value 'foo' in '/guard:'
|
||||
|
||||
// Accept "core" clang options.
|
||||
|
@ -7,14 +7,14 @@
|
||||
// REQUIRES: nvptx-registered-target
|
||||
|
||||
// -stack-protector should not be passed to device-side CUDA compilation
|
||||
// RUN: %clang_cl -### -nocudalib -nocudainc -- %s 2>&1 | FileCheck -check-prefix=GS-default %s
|
||||
// RUN: not %clang_cl -### -nocudalib -nocudainc -- %s 2>&1 | FileCheck -check-prefix=GS-default %s
|
||||
// GS-default: "-cc1" "-triple" "nvptx{{(64)?}}-nvidia-cuda"
|
||||
// GS-default-NOT: "-stack-protector"
|
||||
// GS-default: "-cc1" "-triple"
|
||||
// GS-default: "-stack-protector" "2"
|
||||
|
||||
// -exceptions should be passed to device-side compilation.
|
||||
// RUN: %clang_cl /c /GX -### -nocudalib -nocudainc -- %s 2>&1 | FileCheck -check-prefix=GX %s
|
||||
// RUN: not %clang_cl /c /GX -### -nocudalib -nocudainc -- %s 2>&1 | FileCheck -check-prefix=GX %s
|
||||
// GX: "-cc1" "-triple" "nvptx{{(64)?}}-nvidia-cuda"
|
||||
// GX-NOT: "-fcxx-exceptions"
|
||||
// GX-NOT: "-fexceptions"
|
||||
@ -22,7 +22,7 @@
|
||||
// GX: "-fcxx-exceptions" "-fexceptions"
|
||||
|
||||
// /Gd should not override default calling convention on device side.
|
||||
// RUN: %clang_cl /c /Gd -### -nocudalib -nocudainc -- %s 2>&1 | FileCheck -check-prefix=Gd %s
|
||||
// RUN: not %clang_cl /c /Gd -### -nocudalib -nocudainc -- %s 2>&1 | FileCheck -check-prefix=Gd %s
|
||||
// Gd: "-cc1" "-triple" "nvptx{{(64)?}}-nvidia-cuda"
|
||||
// Gd-NOT: "-fcxx-exceptions"
|
||||
// Gd-NOT: "-fdefault-calling-conv=cdecl"
|
||||
|
@ -9,7 +9,7 @@
|
||||
// FoEMPTY: "-o" "cl-outputs.obj"
|
||||
|
||||
// RUN: %clang_cl /Foa -### -- %s 2>&1 | FileCheck -check-prefix=FoNAME %s
|
||||
// RUN: %clang_cl /Foa -flto -### -- %s 2>&1 | FileCheck -check-prefix=FoNAME %s
|
||||
// RUN: not %clang_cl /Foa -flto -### -- %s 2>&1 | FileCheck -check-prefix=FoNAME %s
|
||||
// FoNAME: "-o" "a.obj"
|
||||
|
||||
// RUN: %clang_cl /Foa.ext /Fob.ext -### -- %s 2>&1 | FileCheck -check-prefix=FoNAMEEXT %s
|
||||
@ -27,7 +27,7 @@
|
||||
// RUN: %clang_cl /Fo.. -### -- %s 2>&1 | FileCheck -check-prefix=FoCRAZY %s
|
||||
// FoCRAZY: "-o" "..obj"
|
||||
|
||||
// RUN: %clang_cl /Foa.obj -### -- %s %s 2>&1 | FileCheck -check-prefix=CHECK-MULTIPLESOURCEERROR %s
|
||||
// RUN: not %clang_cl /Foa.obj -### -- %s %s 2>&1 | FileCheck -check-prefix=CHECK-MULTIPLESOURCEERROR %s
|
||||
// CHECK-MULTIPLESOURCEERROR: error: cannot specify '/Foa.obj' when compiling multiple source files
|
||||
|
||||
// RUN: %clang_cl /Fomydir/ -### -- %s %s 2>&1 | FileCheck -check-prefix=CHECK-MULTIPLESOURCEOK %s
|
||||
@ -237,7 +237,7 @@
|
||||
// FaDIRNAME: "-o" "foo.dir{{[/\\]+}}a.asm"
|
||||
// RUN: %clang_cl /FA /Fafoo.dir/a.ext -### -- %s 2>&1 | FileCheck -check-prefix=FaDIRNAMEEXT %s
|
||||
// FaDIRNAMEEXT: "-o" "foo.dir{{[/\\]+}}a.ext"
|
||||
// RUN: %clang_cl /Faa.asm -### -- %s %s 2>&1 | FileCheck -check-prefix=FaMULTIPLESOURCE %s
|
||||
// RUN: not %clang_cl /Faa.asm -### -- %s %s 2>&1 | FileCheck -check-prefix=FaMULTIPLESOURCE %s
|
||||
// FaMULTIPLESOURCE: error: cannot specify '/Faa.asm' when compiling multiple source files
|
||||
// RUN: %clang_cl /Fa -### -- %s %s 2>&1 | FileCheck -check-prefix=FaMULTIPLESOURCEOK %s
|
||||
// FaMULTIPLESOURCEOK: "-o" "cl-outputs.asm"
|
||||
@ -259,7 +259,7 @@
|
||||
// FA_CSU_FaDIRNAME: "-o" "foo.dir{{[/\\]+}}a.asm"
|
||||
// RUN: %clang_cl /FAcsu /Fafoo.dir/a.ext -### -- %s 2>&1 | FileCheck -check-prefix=FA_CSU_FaDIRNAMEEXT %s
|
||||
// FA_CSU_FaDIRNAMEEXT: "-o" "foo.dir{{[/\\]+}}a.ext"
|
||||
// RUN: %clang_cl /Faa.asm -### -- %s %s 2>&1 | FileCheck -check-prefix=FA_CSU_FaMULTIPLESOURCE %s
|
||||
// RUN: not %clang_cl /Faa.asm -### -- %s %s 2>&1 | FileCheck -check-prefix=FA_CSU_FaMULTIPLESOURCE %s
|
||||
// FA_CSU_FaMULTIPLESOURCE: error: cannot specify '/Faa.asm' when compiling multiple source files
|
||||
// RUN: %clang_cl /Fa -### -- %s %s 2>&1 | FileCheck -check-prefix=FA_CSU_FaMULTIPLESOURCEOK %s
|
||||
// FA_CSU_FaMULTIPLESOURCEOK: "-o" "cl-outputs.asm"
|
||||
|
@ -79,12 +79,12 @@
|
||||
|
||||
// If /Yc /Yu refer to different files, semantics are pretty wonky. Since this
|
||||
// doesn't seem like something that's important in practice, just punt for now.
|
||||
// RUN: %clang_cl -Werror /Ycfoo1.h /Yufoo2.h /FIfoo1.h /FIfoo2.h /c -### -- %s 2>&1 \
|
||||
// RUN: not %clang_cl -Werror /Ycfoo1.h /Yufoo2.h /FIfoo1.h /FIfoo2.h /c -### -- %s 2>&1 \
|
||||
// RUN: | FileCheck -check-prefix=CHECK-YC-YU-MISMATCH %s
|
||||
// CHECK-YC-YU-MISMATCH: error: support for '/Yc' and '/Yu' with different filenames not implemented yet; flags ignored
|
||||
|
||||
// Similarly, punt on /Yc with more than one input file.
|
||||
// RUN: %clang_cl -Werror /Ycfoo1.h /FIfoo1.h /c -### -- %s %s 2>&1 \
|
||||
// RUN: not %clang_cl -Werror /Ycfoo1.h /FIfoo1.h /c -### -- %s %s 2>&1 \
|
||||
// RUN: | FileCheck -check-prefix=CHECK-YC-MULTIINPUT %s
|
||||
// CHECK-YC-MULTIINPUT: error: support for '/Yc' with more than one source file not implemented yet; flag ignored
|
||||
|
||||
@ -336,7 +336,7 @@
|
||||
// /FI without /Yu => pch file not used, even if it exists (different from
|
||||
// -include, which picks up .gch files if they exist).
|
||||
// RUN: touch %t.pch
|
||||
// RUN: %clang_cl -Werror /FI%t.pch /Fp%t.pch /c -### -- %s 2>&1 \
|
||||
// RUN: not %clang_cl -Werror /FI%t.pch /Fp%t.pch /c -### -- %s 2>&1 \
|
||||
// RUN: | FileCheck -check-prefix=CHECK-FI %s
|
||||
// CHECK-FI-NOT: -include-pch
|
||||
// CHECK-FI: -include
|
||||
@ -364,7 +364,7 @@
|
||||
// CHECK-YCTc: "c"
|
||||
|
||||
// Don't crash when a non-source file is passed.
|
||||
// RUN: %clang_cl -Werror /Ycpchfile.h /FIpchfile.h /c -### -- %S/Inputs/file.prof 2>&1 \
|
||||
// RUN: not %clang_cl -Werror /Ycpchfile.h /FIpchfile.h /c -### -- %S/Inputs/file.prof 2>&1 \
|
||||
// RUN: | FileCheck -check-prefix=CHECK-NoSource %s
|
||||
// CHECK-NoSource: file.prof:{{.*}}input unused
|
||||
|
||||
|
@ -28,11 +28,11 @@
|
||||
// KERNEL-NO-RTTI: "-fno-rtti"
|
||||
// KERNEL-NO-EXCEPTIONS-NOT: "-fcxx-exceptions" "-fexceptions"
|
||||
|
||||
// RUN: %clang_cl /c -### --target=i686-pc-windows-msvc /kernel /arch:SSE -- %s 2>&1 | FileCheck -check-prefixes=KERNEL-SSE %s
|
||||
// RUN: %clang_cl /c -### --target=i686-pc-windows-msvc /kernel /arch:SSE2 -- %s 2>&1 | FileCheck -check-prefixes=KERNEL-SSE2 %s
|
||||
// RUN: %clang_cl /c -### --target=i686-pc-windows-msvc /kernel /arch:AVX -- %s 2>&1 | FileCheck -check-prefixes=KERNEL-AVX %s
|
||||
// RUN: %clang_cl /c -### --target=i686-pc-windows-msvc /kernel /arch:AVX2 -- %s 2>&1 | FileCheck -check-prefixes=KERNEL-AVX2 %s
|
||||
// RUN: %clang_cl /c -### --target=i686-pc-windows-msvc /kernel /arch:AVX512 -- %s 2>&1 | FileCheck -check-prefixes=KERNEL-AVX512 %s
|
||||
// RUN: not %clang_cl /c -### --target=i686-pc-windows-msvc /kernel /arch:SSE -- %s 2>&1 | FileCheck -check-prefixes=KERNEL-SSE %s
|
||||
// RUN: not %clang_cl /c -### --target=i686-pc-windows-msvc /kernel /arch:SSE2 -- %s 2>&1 | FileCheck -check-prefixes=KERNEL-SSE2 %s
|
||||
// RUN: not %clang_cl /c -### --target=i686-pc-windows-msvc /kernel /arch:AVX -- %s 2>&1 | FileCheck -check-prefixes=KERNEL-AVX %s
|
||||
// RUN: not %clang_cl /c -### --target=i686-pc-windows-msvc /kernel /arch:AVX2 -- %s 2>&1 | FileCheck -check-prefixes=KERNEL-AVX2 %s
|
||||
// RUN: not %clang_cl /c -### --target=i686-pc-windows-msvc /kernel /arch:AVX512 -- %s 2>&1 | FileCheck -check-prefixes=KERNEL-AVX512 %s
|
||||
// KERNEL-SSE: error: invalid argument '/arch:SSE' not allowed with '/kernel'
|
||||
// KERNEL-SSE2: error: invalid argument '/arch:SSE2' not allowed with '/kernel'
|
||||
// KERNEL-AVX: error: invalid argument '/arch:AVX' not allowed with '/kernel'
|
||||
@ -40,13 +40,13 @@
|
||||
// KERNEL-AVX512: error: invalid argument '/arch:AVX512' not allowed with '/kernel'
|
||||
|
||||
// RUN: %clang_cl /c -### /kernel /EHsc -- %s 2>&1 | FileCheck -check-prefixes=KERNEL-EHSC %s
|
||||
// RUN: %clang_cl /c -### /kernel /GR -- %s 2>&1 | FileCheck -check-prefixes=KERNEL-GR %s
|
||||
// RUN: not %clang_cl /c -### /kernel /GR -- %s 2>&1 | FileCheck -check-prefixes=KERNEL-GR %s
|
||||
// KERNEL-EHSC-NOT: "-fcxx-exceptions" "-fexceptions"
|
||||
// KERNEL-GR: error: invalid argument '/GR' not allowed with '/kernel'
|
||||
|
||||
// RUN: %clang_cl /c -### --target=x86_64-pc-windows-msvc /kernel /arch:AVX -- %s 2>&1 | FileCheck -check-prefixes=KERNEL-X64-AVX %s
|
||||
// RUN: %clang_cl /c -### --target=x86_64-pc-windows-msvc /kernel /arch:AVX2 -- %s 2>&1 | FileCheck -check-prefixes=KERNEL-X64-AVX2 %s
|
||||
// RUN: %clang_cl /c -### --target=x86_64-pc-windows-msvc /kernel /arch:AVX512 -- %s 2>&1 | FileCheck -check-prefixes=KERNEL-X64-AVX512 %s
|
||||
// RUN: not %clang_cl /c -### --target=x86_64-pc-windows-msvc /kernel /arch:AVX -- %s 2>&1 | FileCheck -check-prefixes=KERNEL-X64-AVX %s
|
||||
// RUN: not %clang_cl /c -### --target=x86_64-pc-windows-msvc /kernel /arch:AVX2 -- %s 2>&1 | FileCheck -check-prefixes=KERNEL-X64-AVX2 %s
|
||||
// RUN: not %clang_cl /c -### --target=x86_64-pc-windows-msvc /kernel /arch:AVX512 -- %s 2>&1 | FileCheck -check-prefixes=KERNEL-X64-AVX512 %s
|
||||
// KERNEL-X64-AVX: error: invalid argument '/arch:AVX' not allowed with '/kernel'
|
||||
// KERNEL-X64-AVX2: error: invalid argument '/arch:AVX2' not allowed with '/kernel'
|
||||
// KERNEL-X64-AVX512: error: invalid argument '/arch:AVX512' not allowed with '/kernel'
|
||||
|
@ -66,7 +66,7 @@
|
||||
// ARMV7_SOFTFLOAT: "-mfloat-abi" "soft"
|
||||
// ARMV7_SOFTFLOAT: "-x" "c"
|
||||
|
||||
// RUN: %clang -target x86_64-apple-darwin10 -### -S %s -arch armv7 \
|
||||
// RUN: not %clang -target x86_64-apple-darwin10 -### -S %s -arch armv7 \
|
||||
// RUN: -mhard-float 2>&1 | FileCheck -check-prefix=ARMV7_HARDFLOAT %s
|
||||
// ARMV7_HARDFLOAT: clang
|
||||
// ARMV7_HARDFLOAT: "-cc1"
|
||||
|
@ -85,31 +85,31 @@
|
||||
// RUN: %clang -### -S -fprofile-instr-generate %s 2>&1 | FileCheck -check-prefix=CHECK-PROFILE-GENERATE %s
|
||||
// RUN: %clang -### -S -fprofile-generate=/some/dir %s 2>&1 | FileCheck -check-prefix=CHECK-PROFILE-GENERATE-DIR %s
|
||||
// RUN: %clang -### -S -fprofile-instr-generate=/tmp/somefile.profraw %s 2>&1 | FileCheck -check-prefix=CHECK-PROFILE-GENERATE-FILE %s
|
||||
// RUN: %clang -### -S -fprofile-generate -fprofile-use %s 2>&1 | FileCheck -check-prefix=CHECK-NO-MIX-GEN-USE %s
|
||||
// RUN: %clang -### -S -fprofile-generate -fprofile-use=dir %s 2>&1 | FileCheck -check-prefix=CHECK-NO-MIX-GEN-USE %s
|
||||
// RUN: %clang -### -S -fprofile-generate -fprofile-instr-use %s 2>&1 | FileCheck -check-prefix=CHECK-NO-MIX-GEN-USE %s
|
||||
// RUN: %clang -### -S -fprofile-generate -fprofile-instr-use=file %s 2>&1 | FileCheck -check-prefix=CHECK-NO-MIX-GEN-USE %s
|
||||
// RUN: %clang -### -S -fprofile-instr-generate -fprofile-use %s 2>&1 | FileCheck -check-prefix=CHECK-NO-MIX-GEN-USE %s
|
||||
// RUN: %clang -### -S -fprofile-instr-generate -fprofile-use=dir %s 2>&1 | FileCheck -check-prefix=CHECK-NO-MIX-GEN-USE %s
|
||||
// RUN: %clang -### -S -fprofile-instr-generate -fprofile-instr-use %s 2>&1 | FileCheck -check-prefix=CHECK-NO-MIX-GEN-USE %s
|
||||
// RUN: %clang -### -S -fprofile-instr-generate -fprofile-instr-use=file %s 2>&1 | FileCheck -check-prefix=CHECK-NO-MIX-GEN-USE %s
|
||||
// RUN: %clang -### -S -fprofile-instr-generate=file -fprofile-use %s 2>&1 | FileCheck -check-prefix=CHECK-NO-MIX-GEN-USE %s
|
||||
// RUN: %clang -### -S -fprofile-instr-generate=file -fprofile-use=dir %s 2>&1 | FileCheck -check-prefix=CHECK-NO-MIX-GEN-USE %s
|
||||
// RUN: %clang -### -S -fprofile-instr-generate=file -fprofile-instr-use %s 2>&1 | FileCheck -check-prefix=CHECK-NO-MIX-GEN-USE %s
|
||||
// RUN: %clang -### -S -fprofile-instr-generate=file -fprofile-instr-use=file %s 2>&1 | FileCheck -check-prefix=CHECK-NO-MIX-GEN-USE %s
|
||||
// RUN: %clang -### -S -fprofile-generate=dir -fprofile-use %s 2>&1 | FileCheck -check-prefix=CHECK-NO-MIX-GEN-USE %s
|
||||
// RUN: %clang -### -S -fprofile-generate=dir -fprofile-use=dir %s 2>&1 | FileCheck -check-prefix=CHECK-NO-MIX-GEN-USE %s
|
||||
// RUN: %clang -### -S -fprofile-generate=dir -fprofile-instr-use %s 2>&1 | FileCheck -check-prefix=CHECK-NO-MIX-GEN-USE %s
|
||||
// RUN: %clang -### -S -fprofile-generate=dir -fprofile-instr-use=file %s 2>&1 | FileCheck -check-prefix=CHECK-NO-MIX-GEN-USE %s
|
||||
// RUN: not %clang -### -S -fprofile-generate -fprofile-use %s 2>&1 | FileCheck -check-prefix=CHECK-NO-MIX-GEN-USE %s
|
||||
// RUN: not %clang -### -S -fprofile-generate -fprofile-use=dir %s 2>&1 | FileCheck -check-prefix=CHECK-NO-MIX-GEN-USE %s
|
||||
// RUN: not %clang -### -S -fprofile-generate -fprofile-instr-use %s 2>&1 | FileCheck -check-prefix=CHECK-NO-MIX-GEN-USE %s
|
||||
// RUN: not %clang -### -S -fprofile-generate -fprofile-instr-use=file %s 2>&1 | FileCheck -check-prefix=CHECK-NO-MIX-GEN-USE %s
|
||||
// RUN: not %clang -### -S -fprofile-instr-generate -fprofile-use %s 2>&1 | FileCheck -check-prefix=CHECK-NO-MIX-GEN-USE %s
|
||||
// RUN: not %clang -### -S -fprofile-instr-generate -fprofile-use=dir %s 2>&1 | FileCheck -check-prefix=CHECK-NO-MIX-GEN-USE %s
|
||||
// RUN: not %clang -### -S -fprofile-instr-generate -fprofile-instr-use %s 2>&1 | FileCheck -check-prefix=CHECK-NO-MIX-GEN-USE %s
|
||||
// RUN: not %clang -### -S -fprofile-instr-generate -fprofile-instr-use=file %s 2>&1 | FileCheck -check-prefix=CHECK-NO-MIX-GEN-USE %s
|
||||
// RUN: not %clang -### -S -fprofile-instr-generate=file -fprofile-use %s 2>&1 | FileCheck -check-prefix=CHECK-NO-MIX-GEN-USE %s
|
||||
// RUN: not %clang -### -S -fprofile-instr-generate=file -fprofile-use=dir %s 2>&1 | FileCheck -check-prefix=CHECK-NO-MIX-GEN-USE %s
|
||||
// RUN: not %clang -### -S -fprofile-instr-generate=file -fprofile-instr-use %s 2>&1 | FileCheck -check-prefix=CHECK-NO-MIX-GEN-USE %s
|
||||
// RUN: not %clang -### -S -fprofile-instr-generate=file -fprofile-instr-use=file %s 2>&1 | FileCheck -check-prefix=CHECK-NO-MIX-GEN-USE %s
|
||||
// RUN: not %clang -### -S -fprofile-generate=dir -fprofile-use %s 2>&1 | FileCheck -check-prefix=CHECK-NO-MIX-GEN-USE %s
|
||||
// RUN: not %clang -### -S -fprofile-generate=dir -fprofile-use=dir %s 2>&1 | FileCheck -check-prefix=CHECK-NO-MIX-GEN-USE %s
|
||||
// RUN: not %clang -### -S -fprofile-generate=dir -fprofile-instr-use %s 2>&1 | FileCheck -check-prefix=CHECK-NO-MIX-GEN-USE %s
|
||||
// RUN: not %clang -### -S -fprofile-generate=dir -fprofile-instr-use=file %s 2>&1 | FileCheck -check-prefix=CHECK-NO-MIX-GEN-USE %s
|
||||
// RUN: %clang -### -S -fprofile-instr-generate=file -fno-profile-instr-generate %s 2>&1 | FileCheck -check-prefix=CHECK-DISABLE-GEN %s
|
||||
// RUN: %clang -### -S -fprofile-instr-generate -fprofile-generate %s 2>&1 | FileCheck -check-prefix=CHECK-NO-MIX-GENERATE %s
|
||||
// RUN: %clang -### -S -fprofile-instr-generate -fprofile-generate=file %s 2>&1 | FileCheck -check-prefix=CHECK-NO-MIX-GENERATE %s
|
||||
// RUN: not %clang -### -S -fprofile-instr-generate -fprofile-generate %s 2>&1 | FileCheck -check-prefix=CHECK-NO-MIX-GENERATE %s
|
||||
// RUN: not %clang -### -S -fprofile-instr-generate -fprofile-generate=file %s 2>&1 | FileCheck -check-prefix=CHECK-NO-MIX-GENERATE %s
|
||||
// RUN: %clang -### -S -fprofile-generate=dir -fno-profile-generate %s 2>&1 | FileCheck -check-prefix=CHECK-DISABLE-GEN %s
|
||||
// RUN: %clang -### -S -fprofile-instr-use=file -fno-profile-instr-use %s 2>&1 | FileCheck -check-prefix=CHECK-DISABLE-USE %s
|
||||
// RUN: %clang -### -S -fprofile-instr-use=file -fno-profile-use %s 2>&1 | FileCheck -check-prefix=CHECK-DISABLE-USE %s
|
||||
// RUN: %clang -### -S -fprofile-use=file -fno-profile-use %s 2>&1 | FileCheck -check-prefix=CHECK-DISABLE-USE %s
|
||||
// RUN: %clang -### -S -fprofile-use=file -fno-profile-instr-use %s 2>&1 | FileCheck -check-prefix=CHECK-DISABLE-USE %s
|
||||
// RUN: %clang -### -S -fcoverage-mapping %s 2>&1 | FileCheck -check-prefix=CHECK-COVERAGE-AND-GEN %s
|
||||
// RUN: not %clang -### -S -fcoverage-mapping %s 2>&1 | FileCheck -check-prefix=CHECK-COVERAGE-AND-GEN %s
|
||||
// RUN: %clang -### -S -fcoverage-mapping -fno-coverage-mapping %s 2>&1 | FileCheck -check-prefix=CHECK-DISABLE-COVERAGE %s
|
||||
// RUN: %clang -### -S -fprofile-instr-generate -fcoverage-mapping -fno-coverage-mapping %s 2>&1 | FileCheck -check-prefix=CHECK-DISABLE-COVERAGE %s
|
||||
// RUN: %clang -### -S -fprofile-remapping-file=foo/bar.txt %s 2>&1 | FileCheck -check-prefix=CHECK-PROFILE-REMAP %s
|
||||
@ -199,12 +199,12 @@
|
||||
// CHECK-ROUNDING-MATH: "-frounding-math"
|
||||
// CHECK-ROUNDING-MATH-NOT: "-fno-rounding-math"
|
||||
// RUN: %clang -### -S %s 2>&1 | FileCheck -check-prefix=CHECK-ROUNDING-MATH-NOT %s
|
||||
// RUN: %clang -### -S -ffp-model=imprecise %s 2>&1 | FileCheck -check-prefix=CHECK-FPMODEL %s
|
||||
// RUN: not %clang -### -S -ffp-model=imprecise %s 2>&1 | FileCheck -check-prefix=CHECK-FPMODEL %s
|
||||
// CHECK-FPMODEL: unsupported argument 'imprecise' to option '-ffp-model='
|
||||
// RUN: %clang -### -S -ffp-model=precise %s 2>&1 | FileCheck -check-prefix=IGNORE %s
|
||||
// RUN: %clang -### -S -ffp-model=strict %s 2>&1 | FileCheck -check-prefix=IGNORE %s
|
||||
// RUN: %clang -### -S -ffp-model=fast %s 2>&1 | FileCheck -check-prefix=IGNORE %s
|
||||
// RUN: %clang -### -S -ffp-exception-behavior=trap %s 2>&1 | FileCheck -check-prefix=CHECK-FPEB %s
|
||||
// RUN: not %clang -### -S -ffp-exception-behavior=trap %s 2>&1 | FileCheck -check-prefix=CHECK-FPEB %s
|
||||
// CHECK-FPEB: unsupported argument 'trap' to option '-ffp-exception-behavior='
|
||||
// RUN: %clang -### -S -ffp-exception-behavior=maytrap %s 2>&1 | FileCheck -check-prefix=IGNORE %s
|
||||
// RUN: %clang -### -S -ffp-exception-behavior=ignore %s 2>&1 | FileCheck -check-prefix=IGNORE %s
|
||||
@ -223,14 +223,14 @@
|
||||
// RUN: %clang -S -O20 -o /dev/null %s 2>&1 | FileCheck -check-prefix=CHECK-INVALID-O %s
|
||||
// CHECK-INVALID-O: warning: optimization level '-O20' is not supported; using '-O3' instead
|
||||
|
||||
// RUN: %clang -### -S -finput-charset=iso-8859-1 -o /dev/null %s 2>&1 | FileCheck -check-prefix=CHECK-INVALID-CHARSET %s
|
||||
// RUN: not %clang -### -S -finput-charset=iso-8859-1 -o /dev/null %s 2>&1 | FileCheck -check-prefix=CHECK-INVALID-CHARSET %s
|
||||
// CHECK-INVALID-CHARSET: error: invalid value 'iso-8859-1' in '-finput-charset=iso-8859-1'
|
||||
|
||||
// RUN: %clang -### -S -fexec-charset=iso-8859-1 -o /dev/null %s 2>&1 | FileCheck -check-prefix=CHECK-INVALID-INPUT-CHARSET %s
|
||||
// RUN: not %clang -### -S -fexec-charset=iso-8859-1 -o /dev/null %s 2>&1 | FileCheck -check-prefix=CHECK-INVALID-INPUT-CHARSET %s
|
||||
// CHECK-INVALID-INPUT-CHARSET: error: invalid value 'iso-8859-1' in '-fexec-charset=iso-8859-1'
|
||||
|
||||
// Test that we don't error on these.
|
||||
// RUN: %clang -### -S -Werror \
|
||||
// RUN: not %clang -### -S -Werror \
|
||||
// RUN: -falign-functions -falign-functions=2 -fno-align-functions \
|
||||
// RUN: -fasynchronous-unwind-tables -fno-asynchronous-unwind-tables \
|
||||
// RUN: -fbuiltin -fno-builtin \
|
||||
@ -313,7 +313,7 @@
|
||||
// IGNORE-NOT: error: unknown argument
|
||||
|
||||
// Test that the warning is displayed on these.
|
||||
// RUN: %clang -### \
|
||||
// RUN: not %clang -### \
|
||||
// RUN: -finline-limit=1000 \
|
||||
// RUN: -finline-limit \
|
||||
// RUN: -fexpensive-optimizations \
|
||||
@ -542,7 +542,7 @@
|
||||
// RUN: %clang -### -S -target x86_64-unknown-linux -frecord-command-line -fno-record-command-line %s 2>&1 | FileCheck -check-prefix=CHECK-NO-RECORD-GCC-SWITCHES %s
|
||||
// Test with a couple examples of non-ELF object file formats
|
||||
// RUN: %clang -### -S -target x86_64-unknown-macosx -frecord-command-line %s 2>&1 | FileCheck -check-prefix=CHECK-RECORD-GCC-SWITCHES %s
|
||||
// RUN: %clang -### -S --target=x86_64-unknown-windows -frecord-command-line %s 2>&1 | FileCheck -check-prefix=CHECK-RECORD-GCC-SWITCHES-ERROR %s
|
||||
// RUN: not %clang -### -S --target=x86_64-unknown-windows -frecord-command-line %s 2>&1 | FileCheck -check-prefix=CHECK-RECORD-GCC-SWITCHES-ERROR %s
|
||||
// CHECK-RECORD-GCC-SWITCHES: "-record-command-line"
|
||||
// CHECK-NO-RECORD-GCC-SWITCHES-NOT: "-record-command-line"
|
||||
// CHECK-RECORD-GCC-SWITCHES-ERROR: error: unsupported option '-frecord-command-line' for target
|
||||
@ -572,9 +572,9 @@
|
||||
|
||||
// RUN: %clang -### -S -ftrivial-auto-var-init=pattern -ftrivial-auto-var-init-stop-after=1 %s 2>&1 | FileCheck -check-prefix=CHECK-TRIVIAL-PATTERN-STOP-AFTER %s
|
||||
// RUN: %clang -### -S -ftrivial-auto-var-init=zero -ftrivial-auto-var-init-stop-after=1 %s 2>&1 | FileCheck -check-prefix=CHECK-TRIVIAL-ZERO-STOP-AFTER %s
|
||||
// RUN: %clang -### -S -ftrivial-auto-var-init-stop-after=0 %s 2>&1 | FileCheck -check-prefix=CHECK-TRIVIAL-STOP-AFTER-MISSING-DEPENDENCY %s
|
||||
// RUN: %clang -### -S -ftrivial-auto-var-init=pattern -ftrivial-auto-var-init-stop-after=0 %s 2>&1 | FileCheck -check-prefix=CHECK-TRIVIAL-PATTERN-STOP-AFTER-INVALID-VALUE %s
|
||||
// RUN: %clang -### -S -ftrivial-auto-var-init=zero -ftrivial-auto-var-init-stop-after=0 %s 2>&1 | FileCheck -check-prefix=CHECK-TRIVIAL-ZERO-STOP-AFTER-INVALID-VALUE %s
|
||||
// RUN: not %clang -### -S -ftrivial-auto-var-init-stop-after=0 %s 2>&1 | FileCheck -check-prefix=CHECK-TRIVIAL-STOP-AFTER-MISSING-DEPENDENCY %s
|
||||
// RUN: not %clang -### -S -ftrivial-auto-var-init=pattern -ftrivial-auto-var-init-stop-after=0 %s 2>&1 | FileCheck -check-prefix=CHECK-TRIVIAL-PATTERN-STOP-AFTER-INVALID-VALUE %s
|
||||
// RUN: not %clang -### -S -ftrivial-auto-var-init=zero -ftrivial-auto-var-init-stop-after=0 %s 2>&1 | FileCheck -check-prefix=CHECK-TRIVIAL-ZERO-STOP-AFTER-INVALID-VALUE %s
|
||||
// CHECK-TRIVIAL-PATTERN-STOP-AFTER-NOT: is used without '-ftrivial-auto-var-init'
|
||||
// CHECK-TRIVIAL-PATTERN-STOP-AFTER-NOT: only accepts positive integers
|
||||
// CHECK-TRIVIAL-ZERO-STOP-AFTER-NOT: is used without '-ftrivial-auto-var-init'
|
||||
@ -607,5 +607,5 @@
|
||||
|
||||
// RUN: %clang -### -fintegrated-objemitter -target x86_64 %s 2>&1 | FileCheck -check-prefix=CHECK-INT-OBJEMITTER %s
|
||||
// CHECK-INT-OBJEMITTER-NOT: unsupported option '-fintegrated-objemitter' for target
|
||||
// RUN: %clang -### -fno-integrated-objemitter --target=x86_64 %s 2>&1 | FileCheck -check-prefix=CHECK-NOINT-OBJEMITTER %s
|
||||
// RUN: not %clang -### -fno-integrated-objemitter --target=x86_64 %s 2>&1 | FileCheck -check-prefix=CHECK-NOINT-OBJEMITTER %s
|
||||
// CHECK-NOINT-OBJEMITTER: unsupported option '-fno-integrated-objemitter' for target
|
||||
|
@ -27,7 +27,7 @@
|
||||
// RUN: | FileCheck --check-prefix=CHECK-DCE_AUTO %s
|
||||
// CHECK-DCE_AUTO-NOT: "-cc1"{{.*}} "-fcolor-diagnostics"
|
||||
|
||||
// RUN: %clang -fdiagnostics-color=foo -### -c %s 2>&1 \
|
||||
// RUN: not %clang -fdiagnostics-color=foo -### -c %s 2>&1 \
|
||||
// RUN: | FileCheck --check-prefix=CHECK-DCE_FOO %s
|
||||
// CHECK-DCE_FOO: error: invalid argument 'foo' to -fdiagnostics-color=
|
||||
|
||||
|
@ -19,11 +19,11 @@
|
||||
// RTLIB-GXX-SAME: "-lgcc_s"
|
||||
// RTLIB-GXX-NOT: "--no-as-needed"
|
||||
//
|
||||
// RUN: %clang -### %s 2>&1 \
|
||||
// RUN: not %clang -### %s 2>&1 \
|
||||
// RUN: --target=x86_64-unknown-linux -rtlib=libgcc --unwindlib=libunwind \
|
||||
// RUN: --gcc-toolchain="" -resource-dir=%S/Inputs/resource_dir \
|
||||
// RUN: | FileCheck --check-prefix=RTLIB-GCC-UNWINDLIB-COMPILER-RT %s
|
||||
// RUN: %clangxx -### %s 2>&1 \
|
||||
// RUN: not %clangxx -### %s 2>&1 \
|
||||
// RUN: --target=x86_64-unknown-linux -rtlib=libgcc --unwindlib=libunwind \
|
||||
// RUN: --gcc-toolchain="" -resource-dir=%S/Inputs/resource_dir \
|
||||
// RUN: | FileCheck --check-prefix=RTLIB-GCC-UNWINDLIB-COMPILER-RT %s
|
||||
@ -32,7 +32,7 @@
|
||||
// RTLIB-GCC-UNWINDLIB-COMPILER-RT-SAME: "-lunwind"
|
||||
// RTLIB-GCC-UNWINDLIB-COMPILER-RT-SAME: "--no-as-needed"
|
||||
//
|
||||
// RUN: %clang -### %s 2>&1 \
|
||||
// RUN: not %clang -### %s 2>&1 \
|
||||
// RUN: --target=x86_64-unknown-linux -rtlib=libgcc --unwindlib=libunwind \
|
||||
// RUN: -shared-libgcc \
|
||||
// RUN: --gcc-toolchain="" -resource-dir=%S/Inputs/resource_dir \
|
||||
@ -40,7 +40,7 @@
|
||||
// RTLIB-GCC-SHARED-UNWINDLIB-COMPILER-RT: "-l:libunwind.so"
|
||||
// RTLIB-GCC-SHARED-UNWINDLIB-COMPILER-RT-SAME: "-lgcc"
|
||||
//
|
||||
// RUN: %clang -### %s 2>&1 \
|
||||
// RUN: not %clang -### %s 2>&1 \
|
||||
// RUN: --target=x86_64-unknown-linux -rtlib=libgcc --unwindlib=libunwind \
|
||||
// RUN: -static-libgcc \
|
||||
// RUN: --gcc-toolchain="" -resource-dir=%S/Inputs/resource_dir \
|
||||
|
@ -27,7 +27,7 @@
|
||||
// RUN: %clang -### -target i686-unknown-linux-gnu -fno-integrated-as -gz=zlib -c %s 2>&1 | FileCheck -check-prefix CHECK-OPT_GZ_EQ_ZLIB %s
|
||||
// CHECK-OPT_GZ_EQ_ZLIB: "--compress-debug-sections=zlib"
|
||||
|
||||
// RUN: %clang -### -target i686-unknown-linux-gnu -fno-integrated-as -gz=invalid -x assembler -c %s 2>&1 | FileCheck -check-prefix CHECK-OPT_GZ_EQ_INVALID %s
|
||||
// RUN: %clang -### -target i686-unknown-linux-gnu -fno-integrated-as -gz=invalid -c %s 2>&1 | FileCheck -check-prefix CHECK-OPT_GZ_EQ_INVALID %s
|
||||
// RUN: not %clang -### -target i686-unknown-linux-gnu -fno-integrated-as -gz=invalid -x assembler -c %s 2>&1 | FileCheck -check-prefix CHECK-OPT_GZ_EQ_INVALID %s
|
||||
// RUN: not %clang -### -target i686-unknown-linux-gnu -fno-integrated-as -gz=invalid -c %s 2>&1 | FileCheck -check-prefix CHECK-OPT_GZ_EQ_INVALID %s
|
||||
// CHECK-OPT_GZ_EQ_INVALID: error: unsupported argument 'invalid' to option '-gz='
|
||||
|
||||
|
@ -30,6 +30,6 @@
|
||||
// CHECK-OPT_GZ_EQ_ZLIB: {{.* "-cc1(as)?".* "--compress-debug-sections=zlib"}}
|
||||
// CHECK-OPT_GZ_EQ_ZLIB: "--compress-debug-sections=zlib"
|
||||
|
||||
// RUN: %clang -### -fintegrated-as -gz=invalid -x assembler -c %s 2>&1 | FileCheck -check-prefix CHECK-OPT_GZ_EQ_INVALID %s
|
||||
// RUN: %clang -### -fintegrated-as -gz=invalid -c %s 2>&1 | FileCheck -check-prefix CHECK-OPT_GZ_EQ_INVALID %s
|
||||
// RUN: not %clang -### -fintegrated-as -gz=invalid -x assembler -c %s 2>&1 | FileCheck -check-prefix CHECK-OPT_GZ_EQ_INVALID %s
|
||||
// RUN: not %clang -### -fintegrated-as -gz=invalid -c %s 2>&1 | FileCheck -check-prefix CHECK-OPT_GZ_EQ_INVALID %s
|
||||
// CHECK-OPT_GZ_EQ_INVALID: error: unsupported argument 'invalid' to option '-gz='
|
||||
|
@ -3,40 +3,40 @@
|
||||
// REQUIRES: nvptx-registered-target
|
||||
// REQUIRES: amdgpu-registered-target
|
||||
|
||||
// RUN: %clang -### --target=x86_64-linux-gnu --cuda-gpu-arch=compute_20 -c --cuda-path=%S/Inputs/CUDA_80/usr/local/cuda %s 2>&1 \
|
||||
// RUN: not %clang -### --target=x86_64-linux-gnu --cuda-gpu-arch=compute_20 -c --cuda-path=%S/Inputs/CUDA_80/usr/local/cuda %s 2>&1 \
|
||||
// RUN: | FileCheck -check-prefix BAD %s
|
||||
// RUN: %clang -### --target=x86_64-linux-gnu --cuda-gpu-arch=sm20 -c %s 2>&1 \
|
||||
// RUN: not %clang -### --target=x86_64-linux-gnu --cuda-gpu-arch=sm20 -c %s 2>&1 \
|
||||
// RUN: | FileCheck -check-prefix BAD %s
|
||||
// RUN: %clang -### --target=x86_64-linux-gnu --cuda-gpu-arch=sm_19 -c %s 2>&1 \
|
||||
// RUN: not %clang -### --target=x86_64-linux-gnu --cuda-gpu-arch=sm_19 -c %s 2>&1 \
|
||||
// RUN: | FileCheck -check-prefix BAD %s
|
||||
// RUN: %clang -### --target=x86_64-linux-gnu --cuda-gpu-arch=gfx900 -c %s 2>&1 \
|
||||
// RUN: not %clang -### --target=x86_64-linux-gnu --cuda-gpu-arch=gfx900 -c %s 2>&1 \
|
||||
// RUN: | FileCheck -check-prefix BAD %s
|
||||
|
||||
// BAD: error: unsupported CUDA gpu architecture
|
||||
|
||||
// RUN: %clang -### -v --target=x86_64-linux-gnu --cuda-gpu-arch=sm_21 \
|
||||
// RUN: not %clang -### -v --target=x86_64-linux-gnu --cuda-gpu-arch=sm_21 \
|
||||
// RUN: --cuda-path=%S/Inputs/CUDA_90/usr/local/cuda %s 2>&1 \
|
||||
// RUN: | FileCheck -check-prefix BAD_CUDA9 %s
|
||||
|
||||
// BAD_CUDA9: GPU arch sm_21 is supported by CUDA versions between 7.0 and 8.0
|
||||
|
||||
// RUN: %clang -### --target=x86_64-linux-gnu --cuda-gpu-arch=sm_20 -c %s 2>&1 \
|
||||
// RUN: not %clang -### --target=x86_64-linux-gnu --cuda-gpu-arch=sm_20 -c %s 2>&1 \
|
||||
// RUN: | FileCheck -check-prefix OK %s
|
||||
// RUN: %clang -### -target x86_64-linux-gnu --cuda-gpu-arch=sm_52 -c --cuda-path=%S/Inputs/CUDA_80/usr/local/cuda %s 2>&1 \
|
||||
// RUN: | FileCheck -check-prefix OK %s
|
||||
// RUN: %clang -### -x hip --target=x86_64-linux-gnu --cuda-gpu-arch=gfx908 -c %s 2>&1 \
|
||||
// RUN: not %clang -### -x hip --target=x86_64-linux-gnu --cuda-gpu-arch=gfx908 -c %s 2>&1 \
|
||||
// RUN: | FileCheck -check-prefix OK %s
|
||||
// RUN: %clang -### -x hip --target=x86_64-linux-gnu --cuda-gpu-arch=gfx90a -c %s 2>&1 \
|
||||
// RUN: not %clang -### -x hip --target=x86_64-linux-gnu --cuda-gpu-arch=gfx90a -c %s 2>&1 \
|
||||
// RUN: | FileCheck -check-prefix OK %s
|
||||
// RUN: %clang -### --target=x86_64-linux-gnu --cuda-gpu-arch=gfx940 -c %s 2>&1 \
|
||||
// RUN: not %clang -### --target=x86_64-linux-gnu --cuda-gpu-arch=gfx940 -c %s 2>&1 \
|
||||
// RUN: | FileCheck -check-prefix OK %s
|
||||
// RUN: %clang -### --target=x86_64-linux-gnu -c %s 2>&1 \
|
||||
// RUN: not %clang -### --target=x86_64-linux-gnu -c %s 2>&1 \
|
||||
// RUN: | FileCheck -check-prefix OK %s
|
||||
|
||||
// We don't allow using NVPTX/AMDGCN for host compilation.
|
||||
// RUN: %clang -### --cuda-host-only --target=nvptx-nvidia-cuda -c %s 2>&1 \
|
||||
// RUN: not %clang -### --cuda-host-only --target=nvptx-nvidia-cuda -c %s 2>&1 \
|
||||
// RUN: | FileCheck -check-prefix HOST_NVPTX %s
|
||||
// RUN: %clang -### --cuda-host-only --target=amdgcn-amd-amdhsa -c %s 2>&1 \
|
||||
// RUN: not %clang -### --cuda-host-only --target=amdgcn-amd-amdhsa -c %s 2>&1 \
|
||||
// RUN: | FileCheck -check-prefix HOST_AMDGCN %s
|
||||
|
||||
// OK-NOT: error: Unsupported CUDA gpu architecture
|
||||
|
@ -209,7 +209,7 @@
|
||||
// MULTI-D-ONLY-NEXT: # "nvptx64-nvidia-cuda" - "clang", inputs: ["[[INPUT]]"], output: "[[PTX_52:.+]]"
|
||||
// MULTI-D-ONLY-NEXT: # "nvptx64-nvidia-cuda" - "NVPTX::Assembler", inputs: ["[[PTX_52]]"], output: "[[CUBIN_52:.+]]"
|
||||
//
|
||||
// RUN: %clang -### --target=powerpc64le-ibm-linux-gnu --offload-new-driver -ccc-print-bindings \
|
||||
// RUN: not %clang -### --target=powerpc64le-ibm-linux-gnu --offload-new-driver -ccc-print-bindings \
|
||||
// RUN: --offload-arch=sm_70 --offload-arch=sm_52 --offload-device-only -c -o %t %s 2>&1 \
|
||||
// RUN: | FileCheck -check-prefix=MULTI-D-ONLY-O %s
|
||||
// MULTI-D-ONLY-O: error: cannot specify -o when generating multiple output files
|
||||
@ -238,7 +238,7 @@
|
||||
//
|
||||
// Check to ensure that we cannot use '-foffload' when not operating in RDC-mode.
|
||||
//
|
||||
// RUN: %clang -### --target=powerpc64le-ibm-linux-gnu -fno-gpu-rdc --offload-new-driver \
|
||||
// RUN: not %clang -### --target=powerpc64le-ibm-linux-gnu -fno-gpu-rdc --offload-new-driver \
|
||||
// RUN: -foffload-lto --offload-arch=sm_70 --offload-arch=sm_52 -c %s 2>&1 \
|
||||
// RUN: | FileCheck -check-prefix=LTO-NO-RDC %s
|
||||
// LTO-NO-RDC: error: unsupported option '-foffload-lto' for language mode '-fno-gpu-rdc'
|
||||
|
@ -110,19 +110,19 @@
|
||||
// RUN: -check-prefixes PTX42,LIBDEVICE,LIBDEVICE35
|
||||
|
||||
// We should not add any CUDA include paths if there's no valid CUDA installation
|
||||
// RUN: %clang -### -v --target=i386-unknown-linux --cuda-gpu-arch=sm_35 \
|
||||
// RUN: not %clang -### -v --target=i386-unknown-linux --cuda-gpu-arch=sm_35 \
|
||||
// RUN: --cuda-path=%S/no-cuda-there %s 2>&1 \
|
||||
// RUN: | FileCheck %s -check-prefix COMMON -check-prefix NOCUDAINC
|
||||
// RUN: %clang -### -v --target=i386-apple-macosx --cuda-gpu-arch=sm_35 \
|
||||
// RUN: not %clang -### -v --target=i386-apple-macosx --cuda-gpu-arch=sm_35 \
|
||||
// RUN: --cuda-path=%S/no-cuda-there %s 2>&1 \
|
||||
// RUN: | FileCheck %s -check-prefix COMMON -check-prefix NOCUDAINC
|
||||
|
||||
// Verify that we get an error if there's no libdevice library to link with.
|
||||
// NOTE: Inputs/CUDA deliberately does *not* have libdevice.compute_20 for this purpose.
|
||||
// RUN: %clang -### -v --target=i386-unknown-linux --cuda-gpu-arch=sm_20 \
|
||||
// RUN: not %clang -### -v --target=i386-unknown-linux --cuda-gpu-arch=sm_20 \
|
||||
// RUN: --cuda-path=%S/Inputs/CUDA/usr/local/cuda %s 2>&1 \
|
||||
// RUN: | FileCheck %s -check-prefix COMMON -check-prefix MISSINGLIBDEVICE
|
||||
// RUN: %clang -### -v --target=i386-apple-macosx --cuda-gpu-arch=sm_20 \
|
||||
// RUN: not %clang -### -v --target=i386-apple-macosx --cuda-gpu-arch=sm_20 \
|
||||
// RUN: --cuda-path=%S/Inputs/CUDA/usr/local/cuda %s 2>&1 \
|
||||
// RUN: | FileCheck %s -check-prefix COMMON -check-prefix MISSINGLIBDEVICE
|
||||
|
||||
@ -136,17 +136,17 @@
|
||||
|
||||
// Verify that we don't add include paths, link with libdevice or
|
||||
// -include __clang_cuda_runtime_wrapper.h without valid CUDA installation.
|
||||
// RUN: %clang -### -v --target=i386-unknown-linux --cuda-gpu-arch=sm_35 \
|
||||
// RUN: not %clang -### -v --target=i386-unknown-linux --cuda-gpu-arch=sm_35 \
|
||||
// RUN: --cuda-path=%S/no-cuda-there %s 2>&1 \
|
||||
// RUN: | FileCheck %s -check-prefix COMMON \
|
||||
// RUN: -check-prefix NOCUDAINC
|
||||
// RUN: %clang -### -v --target=i386-apple-macosx --cuda-gpu-arch=sm_35 \
|
||||
// RUN: not %clang -### -v --target=i386-apple-macosx --cuda-gpu-arch=sm_35 \
|
||||
// RUN: --cuda-path=%S/no-cuda-there %s 2>&1 \
|
||||
// RUN: | FileCheck %s -check-prefix COMMON \
|
||||
// RUN: -check-prefix NOCUDAINC
|
||||
|
||||
// Verify that C++ include paths are passed for both host and device frontends.
|
||||
// RUN: %clang -### --target=x86_64-linux-gnu %s \
|
||||
// RUN: not %clang -### --target=x86_64-linux-gnu %s \
|
||||
// RUN: --stdlib=libstdc++ --sysroot=%S/Inputs/ubuntu_14.04_multiarch_tree2 \
|
||||
// RUN: --gcc-toolchain="" 2>&1 \
|
||||
// RUN: | FileCheck %s --check-prefix CHECK-CXXINCLUDE
|
||||
|
@ -25,25 +25,25 @@
|
||||
// NO_DEBUG: fatbinary
|
||||
// NO_DEBUG-NOT: "-g"
|
||||
|
||||
// RUN: %clang -### --target=x86_64-linux-gnu -c --cuda-gpu-arch=sm_20 %s -g 2>&1 | \
|
||||
// RUN: not %clang -### --target=x86_64-linux-gnu -c --cuda-gpu-arch=sm_20 %s -g 2>&1 | \
|
||||
// RUN: FileCheck %s -check-prefix HAS_DEBUG
|
||||
// RUN: %clang -### --target=x86_64-linux-gnu -c --cuda-gpu-arch=sm_20 %s -g -O0 --cuda-noopt-device-debug 2>&1 | \
|
||||
// RUN: not %clang -### --target=x86_64-linux-gnu -c --cuda-gpu-arch=sm_20 %s -g -O0 --cuda-noopt-device-debug 2>&1 | \
|
||||
// RUN: FileCheck %s -check-prefix HAS_DEBUG
|
||||
// RUN: %clang -### --target=x86_64-linux-gnu -c --cuda-gpu-arch=sm_20 %s -g -O0 --no-cuda-noopt-device-debug 2>&1 | \
|
||||
// RUN: not %clang -### --target=x86_64-linux-gnu -c --cuda-gpu-arch=sm_20 %s -g -O0 --no-cuda-noopt-device-debug 2>&1 | \
|
||||
// RUN: FileCheck %s -check-prefix HAS_DEBUG
|
||||
// RUN: %clang -### --target=x86_64-linux-gnu -c --cuda-gpu-arch=sm_20 %s -g -O3 --cuda-noopt-device-debug 2>&1 | \
|
||||
// RUN: not %clang -### --target=x86_64-linux-gnu -c --cuda-gpu-arch=sm_20 %s -g -O3 --cuda-noopt-device-debug 2>&1 | \
|
||||
// RUN: FileCheck %s -check-prefix HAS_DEBUG
|
||||
// RUN: %clang -### --target=x86_64-linux-gnu -c --cuda-gpu-arch=sm_20 %s -g2 2>&1 | \
|
||||
// RUN: not %clang -### --target=x86_64-linux-gnu -c --cuda-gpu-arch=sm_20 %s -g2 2>&1 | \
|
||||
// RUN: FileCheck %s -check-prefix HAS_DEBUG
|
||||
// RUN: %clang -### --target=x86_64-linux-gnu -c --cuda-gpu-arch=sm_20 %s -ggdb2 -O0 2>&1 | \
|
||||
// RUN: not %clang -### --target=x86_64-linux-gnu -c --cuda-gpu-arch=sm_20 %s -ggdb2 -O0 2>&1 | \
|
||||
// RUN: FileCheck %s -check-prefix HAS_DEBUG
|
||||
// RUN: %clang -### --target=x86_64-linux-gnu -c --cuda-gpu-arch=sm_20 %s -g3 -O2 --cuda-noopt-device-debug 2>&1 | \
|
||||
// RUN: not %clang -### --target=x86_64-linux-gnu -c --cuda-gpu-arch=sm_20 %s -g3 -O2 --cuda-noopt-device-debug 2>&1 | \
|
||||
// RUN: FileCheck %s -check-prefix HAS_DEBUG
|
||||
// RUN: %clang -### --target=x86_64-linux-gnu -c --cuda-gpu-arch=sm_20 %s -ggdb3 -O3 --cuda-noopt-device-debug 2>&1 | \
|
||||
// RUN: not %clang -### --target=x86_64-linux-gnu -c --cuda-gpu-arch=sm_20 %s -ggdb3 -O3 --cuda-noopt-device-debug 2>&1 | \
|
||||
// RUN: FileCheck %s -check-prefix HAS_DEBUG
|
||||
// RUN: %clang -### --target=x86_64-linux-gnu -c --cuda-gpu-arch=sm_20 %s -ggdb1 2>&1 | \
|
||||
// RUN: not %clang -### --target=x86_64-linux-gnu -c --cuda-gpu-arch=sm_20 %s -ggdb1 2>&1 | \
|
||||
// RUN: FileCheck %s -check-prefix HAS_DEBUG
|
||||
// RUN: %clang -### --target=x86_64-linux-gnu -c --cuda-gpu-arch=sm_20 %s -gline-tables-only -O2 --cuda-noopt-device-debug 2>&1 | \
|
||||
// RUN: not %clang -### --target=x86_64-linux-gnu -c --cuda-gpu-arch=sm_20 %s -gline-tables-only -O2 --cuda-noopt-device-debug 2>&1 | \
|
||||
// RUN: FileCheck %s -check-prefix HAS_DEBUG
|
||||
|
||||
// HAS_DEBUG-NOT: warning: debug
|
||||
|
@ -5,9 +5,9 @@
|
||||
// REQUIRES: x86-registered-target
|
||||
// REQUIRES: nvptx-registered-target
|
||||
|
||||
// RUN: %clang -### --target=x86_64-linux-gnu -c \
|
||||
// RUN: not %clang -### --target=x86_64-linux-gnu -c \
|
||||
// RUN: -march=haswell %s 2>&1 | FileCheck %s
|
||||
// RUN: %clang -### --target=x86_64-linux-gnu -c \
|
||||
// RUN: not %clang -### --target=x86_64-linux-gnu -c \
|
||||
// RUN: -march=haswell --cuda-gpu-arch=sm_35 %s 2>&1 | FileCheck %s
|
||||
|
||||
// CHECK: "-cc1"{{.*}} "-triple" "nvptx
|
||||
|
@ -2,23 +2,23 @@
|
||||
// compilation.
|
||||
//
|
||||
//
|
||||
// XRUN: %clang -### --target=x86_64-linux-gnu -c --cuda-gpu-arch=sm_20 \
|
||||
// XRUN: not %clang -### --target=x86_64-linux-gnu -c --cuda-gpu-arch=sm_20 \
|
||||
// XRUN: -fprofile-generate %s 2>&1 | \
|
||||
// XRUN: FileCheck --check-prefixes=CHECK,PROF %s
|
||||
//
|
||||
// RUN: %clang -### --target=x86_64-linux-gnu -c --cuda-gpu-arch=sm_20 \
|
||||
// RUN: not %clang -### --target=x86_64-linux-gnu -c --cuda-gpu-arch=sm_20 \
|
||||
// RUN: -fprofile-instr-generate %s 2>&1 | \
|
||||
// RUN: FileCheck --check-prefixes=CHECK,PROF %s
|
||||
//
|
||||
// RUN: %clang -### --target=x86_64-linux-gnu -c --cuda-gpu-arch=sm_20 \
|
||||
// RUN: not %clang -### --target=x86_64-linux-gnu -c --cuda-gpu-arch=sm_20 \
|
||||
// RUN: -coverage %s 2>&1 | \
|
||||
// RUN: FileCheck --check-prefixes=CHECK,GCOV %s
|
||||
//
|
||||
// RUN: %clang -### --target=x86_64-linux-gnu -c --cuda-gpu-arch=sm_20 \
|
||||
// RUN: not %clang -### --target=x86_64-linux-gnu -c --cuda-gpu-arch=sm_20 \
|
||||
// RUN: -ftest-coverage %s 2>&1 | \
|
||||
// RUN: FileCheck --check-prefixes=CHECK,GCOV %s
|
||||
//
|
||||
// RUN: %clang -### --target=x86_64-linux-gnu -c --cuda-gpu-arch=sm_20 \
|
||||
// RUN: not %clang -### --target=x86_64-linux-gnu -c --cuda-gpu-arch=sm_20 \
|
||||
// RUN: -fprofile-instr-generate -fcoverage-mapping %s 2>&1 | \
|
||||
// RUN: FileCheck --check-prefixes=CHECK,PROF %s
|
||||
//
|
||||
|
@ -2,7 +2,7 @@
|
||||
// compilation.
|
||||
//
|
||||
//
|
||||
// RUN: %clang -### --target=x86_64-linux-gnu -c --cuda-gpu-arch=sm_20 -fsanitize=address %s 2>&1 | \
|
||||
// RUN: not %clang -### --target=x86_64-linux-gnu -c --cuda-gpu-arch=sm_20 -fsanitize=address %s 2>&1 | \
|
||||
// RUN: FileCheck %s
|
||||
|
||||
// CHECK-NOT: error: unsupported option '-fsanitize=address'
|
||||
|
@ -2,15 +2,15 @@
|
||||
// compilation.
|
||||
//
|
||||
//
|
||||
// RUN: %clang -### --target=x86_64-linux-gnu -c --cuda-gpu-arch=sm_20 \
|
||||
// RUN: not %clang -### --target=x86_64-linux-gnu -c --cuda-gpu-arch=sm_20 \
|
||||
// RUN: -fstack-protector-all %s 2>&1 | \
|
||||
// RUN: FileCheck %s
|
||||
//
|
||||
// RUN: %clang -### --target=x86_64-linux-gnu -c --cuda-gpu-arch=sm_20 \
|
||||
// RUN: not %clang -### --target=x86_64-linux-gnu -c --cuda-gpu-arch=sm_20 \
|
||||
// RUN: -fstack-protector-strong %s 2>&1 | \
|
||||
// RUN: FileCheck %s
|
||||
//
|
||||
// RUN: %clang -### --target=x86_64-linux-gnu -c --cuda-gpu-arch=sm_20 \
|
||||
// RUN: not %clang -### --target=x86_64-linux-gnu -c --cuda-gpu-arch=sm_20 \
|
||||
// RUN: -fstack-protector %s 2>&1 | \
|
||||
// RUN: FileCheck %s
|
||||
//
|
||||
|
@ -2,10 +2,10 @@
|
||||
// Check that we raise an error if we're trying to compile CUDA code but can't
|
||||
// find a CUDA install, unless -nocudainc was passed.
|
||||
|
||||
// RUN: %clang -### --sysroot=%s/no-cuda-there --cuda-path-ignore-env %s 2>&1 | FileCheck %s --check-prefix ERR
|
||||
// RUN: %clang -### --cuda-path=%s/no-cuda-there %s 2>&1 | FileCheck %s --check-prefix ERR
|
||||
// RUN: not %clang -### --sysroot=%s/no-cuda-there --cuda-path-ignore-env %s 2>&1 | FileCheck %s --check-prefix ERR
|
||||
// RUN: not %clang -### --cuda-path=%s/no-cuda-there %s 2>&1 | FileCheck %s --check-prefix ERR
|
||||
// ERR: cannot find CUDA installation
|
||||
|
||||
// RUN: %clang -### -nocudainc --sysroot=%s/no-cuda-there --cuda-path-ignore-env %s 2>&1 | FileCheck %s --check-prefix OK
|
||||
// RUN: %clang -### -nocudainc --cuda-path=%s/no-cuda-there %s 2>&1 | FileCheck %s --check-prefix OK
|
||||
// RUN: not %clang -### -nocudainc --sysroot=%s/no-cuda-there --cuda-path-ignore-env %s 2>&1 | FileCheck %s --check-prefix OK
|
||||
// RUN: not %clang -### -nocudainc --cuda-path=%s/no-cuda-there %s 2>&1 | FileCheck %s --check-prefix OK
|
||||
// OK-NOT: cannot find CUDA installation
|
||||
|
@ -2,56 +2,56 @@
|
||||
// REQUIRES: nvptx-registered-target
|
||||
// REQUIRES: zlib
|
||||
|
||||
// RUN: %clang -### --target=x86_64-linux-gnu -c %s -g -gz 2>&1 \
|
||||
// RUN: not %clang -### --target=x86_64-linux-gnu -c %s -g -gz 2>&1 \
|
||||
// RUN: | FileCheck %s --check-prefixes WARN,COMMON
|
||||
// RUN: %clang -### --target=x86_64-linux-gnu -c %s -gdwarf -fdebug-info-for-profiling 2>&1 \
|
||||
// RUN: not %clang -### --target=x86_64-linux-gnu -c %s -gdwarf -fdebug-info-for-profiling 2>&1 \
|
||||
// RUN: | FileCheck %s --check-prefixes WARN,COMMON
|
||||
// RUN: %clang -### --target=x86_64-linux-gnu -c %s -gdwarf-2 -gsplit-dwarf 2>&1 \
|
||||
// RUN: not %clang -### --target=x86_64-linux-gnu -c %s -gdwarf-2 -gsplit-dwarf 2>&1 \
|
||||
// RUN: | FileCheck %s --check-prefixes WARN,COMMON
|
||||
// RUN: %clang -### --target=x86_64-linux-gnu -c %s -gdwarf-3 -glldb 2>&1 \
|
||||
// RUN: not %clang -### --target=x86_64-linux-gnu -c %s -gdwarf-3 -glldb 2>&1 \
|
||||
// RUN: | FileCheck %s --check-prefixes WARN,COMMON
|
||||
// RUN: %clang -### --target=x86_64-linux-gnu -c %s -gdwarf-4 -gcodeview 2>&1 \
|
||||
// RUN: not %clang -### --target=x86_64-linux-gnu -c %s -gdwarf-4 -gcodeview 2>&1 \
|
||||
// RUN: | FileCheck %s --check-prefixes WARN,COMMON
|
||||
// RUN: %clang -### --target=x86_64-linux-gnu -c %s -gdwarf-5 -gmodules 2>&1 \
|
||||
// RUN: not %clang -### --target=x86_64-linux-gnu -c %s -gdwarf-5 -gmodules 2>&1 \
|
||||
// RUN: | FileCheck %s --check-prefixes WARN,COMMON
|
||||
// RUN: %clang -### --target=x86_64-linux-gnu -c %s -ggdb1 -fdebug-macro 2>&1 \
|
||||
// RUN: not %clang -### --target=x86_64-linux-gnu -c %s -ggdb1 -fdebug-macro 2>&1 \
|
||||
// RUN: | FileCheck %s --check-prefixes WARN,COMMON
|
||||
// RUN: %clang -### --target=x86_64-linux-gnu -c %s -ggdb2 -ggnu-pubnames 2>&1 \
|
||||
// RUN: not %clang -### --target=x86_64-linux-gnu -c %s -ggdb2 -ggnu-pubnames 2>&1 \
|
||||
// RUN: | FileCheck %s --check-prefixes WARN,COMMON
|
||||
// RUN: %clang -### --target=x86_64-linux-gnu -c %s -ggdb3 -gdwarf-aranges 2>&1 \
|
||||
// RUN: not %clang -### --target=x86_64-linux-gnu -c %s -ggdb3 -gdwarf-aranges 2>&1 \
|
||||
// RUN: | FileCheck %s --check-prefixes WARN,COMMON
|
||||
// RUN: %clang -### --target=x86_64-linux-gnu -c %s -g -gcolumn-info -fdebug-types-section 2>&1 \
|
||||
// RUN: not %clang -### --target=x86_64-linux-gnu -c %s -g -gcolumn-info -fdebug-types-section 2>&1 \
|
||||
// RUN: | FileCheck %s --check-prefixes WARN,COMMON
|
||||
|
||||
// Same tests for OpenMP
|
||||
// RUN: %clang -### --target=x86_64-linux-gnu -fopenmp=libomp -fopenmp-targets=nvptx64-nvidia-cuda -c %s \
|
||||
// RUN: not %clang -### --target=x86_64-linux-gnu -fopenmp=libomp -fopenmp-targets=nvptx64-nvidia-cuda -c %s \
|
||||
// RUN: -fgpu-rdc -g -gz 2>&1 | FileCheck %s --check-prefixes WARN,COMMON
|
||||
// RUN: %clang -### --target=x86_64-linux-gnu -fopenmp=libomp -fopenmp-targets=nvptx64-nvidia-cuda -c %s \
|
||||
// RUN: not %clang -### --target=x86_64-linux-gnu -fopenmp=libomp -fopenmp-targets=nvptx64-nvidia-cuda -c %s \
|
||||
// RUN: -fgpu-rdc -gdwarf -fdebug-info-for-profiling 2>&1 | FileCheck %s --check-prefixes WARN,COMMON
|
||||
// RUN: %clang -### --target=x86_64-linux-gnu -fopenmp=libomp -fopenmp-targets=nvptx64-nvidia-cuda -c %s \
|
||||
// RUN: not %clang -### --target=x86_64-linux-gnu -fopenmp=libomp -fopenmp-targets=nvptx64-nvidia-cuda -c %s \
|
||||
// RUN: -fgpu-rdc -gdwarf-2 -gsplit-dwarf 2>&1 | FileCheck %s --check-prefixes WARN,COMMON
|
||||
// RUN: %clang -### --target=x86_64-linux-gnu -fopenmp=libomp -fopenmp-targets=nvptx64-nvidia-cuda -c %s \
|
||||
// RUN: not %clang -### --target=x86_64-linux-gnu -fopenmp=libomp -fopenmp-targets=nvptx64-nvidia-cuda -c %s \
|
||||
// RUN: -fgpu-rdc -gdwarf-3 -glldb 2>&1 | FileCheck %s --check-prefixes WARN,COMMON
|
||||
// RUN: %clang -### --target=x86_64-linux-gnu -fopenmp=libomp -fopenmp-targets=nvptx64-nvidia-cuda -c %s \
|
||||
// RUN: not %clang -### --target=x86_64-linux-gnu -fopenmp=libomp -fopenmp-targets=nvptx64-nvidia-cuda -c %s \
|
||||
// RUN: -fgpu-rdc -gdwarf-4 -gcodeview 2>&1 | FileCheck %s --check-prefixes WARN,COMMON
|
||||
// RUN: %clang -### --target=x86_64-linux-gnu -fopenmp=libomp -fopenmp-targets=nvptx64-nvidia-cuda -c %s \
|
||||
// RUN: not %clang -### --target=x86_64-linux-gnu -fopenmp=libomp -fopenmp-targets=nvptx64-nvidia-cuda -c %s \
|
||||
// RUN: -fgpu-rdc -gdwarf-5 -gmodules 2>&1 | FileCheck %s --check-prefixes WARN,COMMON
|
||||
// RUN: %clang -### --target=x86_64-linux-gnu -fopenmp=libomp -fopenmp-targets=nvptx64-nvidia-cuda -c %s \
|
||||
// RUN: not %clang -### --target=x86_64-linux-gnu -fopenmp=libomp -fopenmp-targets=nvptx64-nvidia-cuda -c %s \
|
||||
// RUN: -fgpu-rdc -ggdb1 -fdebug-macro 2>&1 | FileCheck %s --check-prefixes WARN,COMMON
|
||||
// RUN: %clang -### --target=x86_64-linux-gnu -fopenmp=libomp -fopenmp-targets=nvptx64-nvidia-cuda -c %s \
|
||||
// RUN: not %clang -### --target=x86_64-linux-gnu -fopenmp=libomp -fopenmp-targets=nvptx64-nvidia-cuda -c %s \
|
||||
// RUN: -fgpu-rdc -ggdb2 -ggnu-pubnames 2>&1 | FileCheck %s --check-prefixes WARN,COMMON
|
||||
// RUN: %clang -### --target=x86_64-linux-gnu -fopenmp=libomp -fopenmp-targets=nvptx64-nvidia-cuda -c %s \
|
||||
// RUN: not %clang -### --target=x86_64-linux-gnu -fopenmp=libomp -fopenmp-targets=nvptx64-nvidia-cuda -c %s \
|
||||
// RUN: -fgpu-rdc -ggdb3 -gdwarf-aranges 2>&1 | FileCheck %s --check-prefixes WARN,COMMON
|
||||
// RUN: %clang -### --target=x86_64-linux-gnu -fopenmp=libomp -fopenmp-targets=nvptx64-nvidia-cuda -c %s \
|
||||
// RUN: not %clang -### --target=x86_64-linux-gnu -fopenmp=libomp -fopenmp-targets=nvptx64-nvidia-cuda -c %s \
|
||||
// RUN: -fgpu-rdc -g -gcolumn-info -fdebug-types-section 2>&1 | FileCheck %s --check-prefixes WARN,COMMON
|
||||
|
||||
// RUN: %clang -### --target=x86_64-linux-gnu -c %s -gdwarf-5 -gembed-source 2>&1 \
|
||||
// RUN: not %clang -### --target=x86_64-linux-gnu -c %s -gdwarf-5 -gembed-source 2>&1 \
|
||||
// RUN: | FileCheck %s --check-prefixes WARN-GES,COMMON
|
||||
// RUN: %clang -### --target=x86_64-linux-gnu -c %s -ggdb -gembed-source -gdwarf-5 2>&1 \
|
||||
// RUN: not %clang -### --target=x86_64-linux-gnu -c %s -ggdb -gembed-source -gdwarf-5 2>&1 \
|
||||
// RUN: | FileCheck %s --check-prefixes WARN-GES,COMMON
|
||||
// RUN: %clang -### --target=x86_64-linux-gnu -fopenmp=libomp -fopenmp-targets=nvptx64-nvidia-cuda -c %s \
|
||||
// RUN: not %clang -### --target=x86_64-linux-gnu -fopenmp=libomp -fopenmp-targets=nvptx64-nvidia-cuda -c %s \
|
||||
// RUN: -fgpu-rdc -gdwarf-5 -gembed-source 2>&1 | FileCheck %s --check-prefixes WARN-GES,COMMON
|
||||
// RUN: %clang -### --target=x86_64-linux-gnu -fopenmp=libomp -fopenmp-targets=nvptx64-nvidia-cuda -c %s \
|
||||
// RUN: not %clang -### --target=x86_64-linux-gnu -fopenmp=libomp -fopenmp-targets=nvptx64-nvidia-cuda -c %s \
|
||||
// RUN: -fgpu-rdc -ggdb -gembed-source -gdwarf-5 2>&1 | FileCheck %s --check-prefixes WARN-GES,COMMON
|
||||
|
||||
// COMMON: warning: debug information option '{{-gz|-fdebug-info-for-profiling|-gsplit-dwarf|-glldb|-gcodeview|-gmodules|-gembed-source|-fdebug-macro|-ggnu-pubnames|-gdwarf-aranges|-fdebug-types-section}}' is not supported
|
||||
|
@ -39,23 +39,23 @@
|
||||
// RUN: | FileCheck -check-prefix NODEVICE -check-prefix HOST \
|
||||
// RUN: -check-prefix NOINCLUDES-DEVICE -check-prefix LINK %s
|
||||
|
||||
// RUN: %clang -### --target=x86_64-linux-gnu --cuda-host-only \
|
||||
// RUN: not %clang -### --target=x86_64-linux-gnu --cuda-host-only \
|
||||
// RUN: --cuda-device-only %s 2>&1 \
|
||||
// RUN: | FileCheck -check-prefix DEVICE -check-prefix DEVICE-NOSAVE \
|
||||
// RUN: -check-prefix NOHOST -check-prefix NOLINK %s
|
||||
|
||||
// RUN: %clang -### --target=x86_64-linux-gnu --cuda-compile-host-device \
|
||||
// RUN: not %clang -### --target=x86_64-linux-gnu --cuda-compile-host-device \
|
||||
// RUN: --cuda-device-only %s 2>&1 \
|
||||
// RUN: | FileCheck -check-prefix DEVICE -check-prefix DEVICE-NOSAVE \
|
||||
// RUN: -check-prefix NOHOST -check-prefix NOLINK %s
|
||||
|
||||
// RUN: %clang -### --target=x86_64-linux-gnu --cuda-host-only \
|
||||
// RUN: not %clang -### --target=x86_64-linux-gnu --cuda-host-only \
|
||||
// RUN: --cuda-compile-host-device %s 2>&1 \
|
||||
// RUN: | FileCheck -check-prefix DEVICE -check-prefix DEVICE-NOSAVE \
|
||||
// RUN: -check-prefix HOST -check-prefix INCLUDES-DEVICE \
|
||||
// RUN: -check-prefix LINK %s
|
||||
|
||||
// RUN: %clang -### --target=x86_64-linux-gnu --cuda-device-only \
|
||||
// RUN: not %clang -### --target=x86_64-linux-gnu --cuda-device-only \
|
||||
// RUN: --cuda-compile-host-device %s 2>&1 \
|
||||
// RUN: | FileCheck -check-prefix DEVICE -check-prefix DEVICE-NOSAVE \
|
||||
// RUN: -check-prefix HOST -check-prefix INCLUDES-DEVICE \
|
||||
@ -63,14 +63,14 @@
|
||||
|
||||
// Verify that --cuda-gpu-arch option passes the correct GPU architecture to
|
||||
// device compilation.
|
||||
// RUN: %clang -### --target=x86_64-linux-gnu --cuda-gpu-arch=sm_30 -c %s 2>&1 \
|
||||
// RUN: not %clang -### --target=x86_64-linux-gnu --cuda-gpu-arch=sm_30 -c %s 2>&1 \
|
||||
// RUN: | FileCheck -check-prefix DEVICE -check-prefix DEVICE-NOSAVE \
|
||||
// RUN: -check-prefix DEVICE-SM30 -check-prefix HOST \
|
||||
// RUN: -check-prefix INCLUDES-DEVICE -check-prefix NOLINK %s
|
||||
|
||||
// Verify that there is one device-side compilation per --cuda-gpu-arch args
|
||||
// and that all results are included on the host side.
|
||||
// RUN: %clang -### --target=x86_64-linux-gnu \
|
||||
// RUN: not %clang -### --target=x86_64-linux-gnu \
|
||||
// RUN: --cuda-gpu-arch=sm_35 --cuda-gpu-arch=sm_30 -c %s 2>&1 \
|
||||
// RUN: | FileCheck -check-prefixes DEVICE,DEVICE-NOSAVE,DEVICE2 \
|
||||
// RUN: -check-prefixes DEVICE-SM30,DEVICE2-SM35 \
|
||||
@ -79,27 +79,27 @@
|
||||
|
||||
// Verify that device-side results are passed to the correct tool when
|
||||
// -save-temps is used.
|
||||
// RUN: %clang -### --target=x86_64-linux-gnu -save-temps -c %s 2>&1 \
|
||||
// RUN: not %clang -### --target=x86_64-linux-gnu -save-temps -c %s 2>&1 \
|
||||
// RUN: | FileCheck -check-prefix DEVICE -check-prefix DEVICE-SAVE \
|
||||
// RUN: -check-prefix HOST -check-prefix HOST-SAVE -check-prefix NOLINK %s
|
||||
|
||||
// Verify that device-side results are passed to the correct tool when
|
||||
// -fno-integrated-as is used.
|
||||
// RUN: %clang -### --target=x86_64-linux-gnu -fno-integrated-as -c %s 2>&1 \
|
||||
// RUN: not %clang -### --target=x86_64-linux-gnu -fno-integrated-as -c %s 2>&1 \
|
||||
// RUN: | FileCheck -check-prefix DEVICE -check-prefix DEVICE-NOSAVE \
|
||||
// RUN: -check-prefix HOST -check-prefix HOST-NOSAVE \
|
||||
// RUN: -check-prefix HOST-AS -check-prefix NOLINK %s
|
||||
|
||||
// Verify that --[no-]cuda-gpu-arch arguments are handled correctly.
|
||||
// a) --no-cuda-gpu-arch=X negates preceding --cuda-gpu-arch=X
|
||||
// RUN: %clang -### --target=x86_64-linux-gnu --cuda-device-only \
|
||||
// RUN: not %clang -### --target=x86_64-linux-gnu --cuda-device-only \
|
||||
// RUN: --cuda-gpu-arch=sm_50 --cuda-gpu-arch=sm_30 \
|
||||
// RUN: --no-cuda-gpu-arch=sm_50 \
|
||||
// RUN: -c %s 2>&1 \
|
||||
// RUN: | FileCheck -check-prefixes ARCH-SM30,NOARCH-SM35,NOARCH-SM50 %s
|
||||
|
||||
// b) --no-cuda-gpu-arch=X negates more than one preceding --cuda-gpu-arch=X
|
||||
// RUN: %clang -### --target=x86_64-linux-gnu --cuda-device-only \
|
||||
// RUN: not %clang -### --target=x86_64-linux-gnu --cuda-device-only \
|
||||
// RUN: --cuda-gpu-arch=sm_50 --cuda-gpu-arch=sm_50 --cuda-gpu-arch=sm_30 \
|
||||
// RUN: --no-cuda-gpu-arch=sm_50 \
|
||||
// RUN: -c %s 2>&1 \
|
||||
@ -107,21 +107,21 @@
|
||||
|
||||
// c) if --no-cuda-gpu-arch=X negates all preceding --cuda-gpu-arch=X
|
||||
// we default to sm_35 -- same as if no --cuda-gpu-arch were passed.
|
||||
// RUN: %clang -### --target=x86_64-linux-gnu --cuda-device-only \
|
||||
// RUN: not %clang -### --target=x86_64-linux-gnu --cuda-device-only \
|
||||
// RUN: --cuda-gpu-arch=sm_50 --cuda-gpu-arch=sm_30 \
|
||||
// RUN: --no-cuda-gpu-arch=sm_50 --no-cuda-gpu-arch=sm_30 \
|
||||
// RUN: -c %s 2>&1 \
|
||||
// RUN: | FileCheck -check-prefixes NOARCH-SM30,ARCH-SM35,NOARCH-SM50 %s
|
||||
|
||||
// d) --no-cuda-gpu-arch=X is a no-op if there's no preceding --cuda-gpu-arch=X
|
||||
// RUN: %clang -### --target=x86_64-linux-gnu --cuda-device-only \
|
||||
// RUN: not %clang -### --target=x86_64-linux-gnu --cuda-device-only \
|
||||
// RUN: --cuda-gpu-arch=sm_35 --cuda-gpu-arch=sm_30\
|
||||
// RUN: --no-cuda-gpu-arch=sm_50 \
|
||||
// RUN: -c %s 2>&1 \
|
||||
// RUN: | FileCheck -check-prefixes ARCH-SM30,ARCH-SM35,NOARCH-SM50 %s
|
||||
|
||||
// e) --no-cuda-gpu-arch=X does not affect following --cuda-gpu-arch=X
|
||||
// RUN: %clang -### --target=x86_64-linux-gnu --cuda-device-only \
|
||||
// RUN: not %clang -### --target=x86_64-linux-gnu --cuda-device-only \
|
||||
// RUN: --no-cuda-gpu-arch=sm_50 --no-cuda-gpu-arch=sm_30 \
|
||||
// RUN: --cuda-gpu-arch=sm_50 --cuda-gpu-arch=sm_30 \
|
||||
// RUN: -c %s 2>&1 \
|
||||
@ -136,7 +136,7 @@
|
||||
// RUN: | FileCheck -check-prefixes NOARCH-SM30,NOARCH-SM35,ARCH-SM50 %s
|
||||
|
||||
// g) There's no --cuda-gpu-arch=all
|
||||
// RUN: %clang -### --target=x86_64-linux-gnu --cuda-device-only \
|
||||
// RUN: not %clang -### --target=x86_64-linux-gnu --cuda-device-only \
|
||||
// RUN: --cuda-gpu-arch=all \
|
||||
// RUN: -c %s 2>&1 \
|
||||
// RUN: | FileCheck -check-prefix ARCHALLERROR %s
|
||||
@ -144,39 +144,39 @@
|
||||
|
||||
// Verify that --[no-]cuda-include-ptx arguments are handled correctly.
|
||||
// a) by default we're including PTX for all GPUs.
|
||||
// RUN: %clang -### --target=x86_64-linux-gnu \
|
||||
// RUN: not %clang -### --target=x86_64-linux-gnu \
|
||||
// RUN: --cuda-gpu-arch=sm_35 --cuda-gpu-arch=sm_30 \
|
||||
// RUN: -c %s 2>&1 \
|
||||
// RUN: | FileCheck -check-prefixes FATBIN-COMMON,PTX-SM35,PTX-SM30 %s
|
||||
|
||||
// b) --no-cuda-include-ptx=all disables PTX inclusion for all GPUs
|
||||
// RUN: %clang -### --target=x86_64-linux-gnu \
|
||||
// RUN: not %clang -### --target=x86_64-linux-gnu \
|
||||
// RUN: --cuda-gpu-arch=sm_35 --cuda-gpu-arch=sm_30 \
|
||||
// RUN: --no-cuda-include-ptx=all \
|
||||
// RUN: -c %s 2>&1 \
|
||||
// RUN: | FileCheck -check-prefixes FATBIN-COMMON,NOPTX-SM35,NOPTX-SM30 %s
|
||||
|
||||
// c) --no-cuda-include-ptx=sm_XX disables PTX inclusion for that GPU only.
|
||||
// RUN: %clang -### --target=x86_64-linux-gnu \
|
||||
// RUN: not %clang -### --target=x86_64-linux-gnu \
|
||||
// RUN: --cuda-gpu-arch=sm_35 --cuda-gpu-arch=sm_30 \
|
||||
// RUN: --no-cuda-include-ptx=sm_35 \
|
||||
// RUN: -c %s 2>&1 \
|
||||
// RUN: | FileCheck -check-prefixes FATBIN-COMMON,NOPTX-SM35,PTX-SM30 %s
|
||||
// RUN: %clang -### --target=x86_64-linux-gnu \
|
||||
// RUN: not %clang -### --target=x86_64-linux-gnu \
|
||||
// RUN: --cuda-gpu-arch=sm_35 --cuda-gpu-arch=sm_30 \
|
||||
// RUN: --no-cuda-include-ptx=sm_30 \
|
||||
// RUN: -c %s 2>&1 \
|
||||
// RUN: | FileCheck -check-prefixes FATBIN-COMMON,PTX-SM35,NOPTX-SM30 %s
|
||||
|
||||
// d) --cuda-include-ptx=all overrides preceding --no-cuda-include-ptx=all
|
||||
// RUN: %clang -### --target=x86_64-linux-gnu \
|
||||
// RUN: not %clang -### --target=x86_64-linux-gnu \
|
||||
// RUN: --cuda-gpu-arch=sm_35 --cuda-gpu-arch=sm_30 \
|
||||
// RUN: --no-cuda-include-ptx=all --cuda-include-ptx=all \
|
||||
// RUN: -c %s 2>&1 \
|
||||
// RUN: | FileCheck -check-prefixes FATBIN-COMMON,PTX-SM35,PTX-SM30 %s
|
||||
|
||||
// e) --cuda-include-ptx=all overrides preceding --no-cuda-include-ptx=sm_XX
|
||||
// RUN: %clang -### --target=x86_64-linux-gnu \
|
||||
// RUN: not %clang -### --target=x86_64-linux-gnu \
|
||||
// RUN: --cuda-gpu-arch=sm_35 --cuda-gpu-arch=sm_30 \
|
||||
// RUN: --no-cuda-include-ptx=sm_30 --cuda-include-ptx=all \
|
||||
// RUN: -c %s 2>&1 \
|
||||
@ -185,7 +185,7 @@
|
||||
// Verify -flto=thin -fwhole-program-vtables handling. This should result in
|
||||
// both options being passed to the host compilation, with neither passed to
|
||||
// the device compilation.
|
||||
// RUN: %clang -### --target=x86_64-linux-gnu -c -flto=thin -fwhole-program-vtables %s 2>&1 \
|
||||
// RUN: not %clang -### --target=x86_64-linux-gnu -c -flto=thin -fwhole-program-vtables %s 2>&1 \
|
||||
// RUN: | FileCheck -check-prefixes DEVICE,DEVICE-NOSAVE,HOST,INCLUDES-DEVICE,NOLINK,THINLTOWPD %s
|
||||
// THINLTOWPD-NOT: error: invalid argument '-fwhole-program-vtables' only allowed with '-flto'
|
||||
|
||||
|
@ -20,12 +20,12 @@
|
||||
// SM30-DAG: "-cc1" "-triple" "nvptx64-nvidia-cuda"
|
||||
// SM30-same: "-target-cpu" "sm_30"
|
||||
|
||||
// RUN: %clang -### -S --target=x86_64-linux-gnu -o foo.s %s 2>&1 \
|
||||
// RUN: not %clang -### -S --target=x86_64-linux-gnu -o foo.s %s 2>&1 \
|
||||
// RUN: | FileCheck -check-prefix MULTIPLE-OUTPUT-FILES %s
|
||||
// RUN: %clang -### -S --target=x86_64-linux-gnu --cuda-device-only \
|
||||
// RUN: not %clang -### -S --target=x86_64-linux-gnu --cuda-device-only \
|
||||
// RUN: --cuda-gpu-arch=sm_20 --cuda-gpu-arch=sm_30 -o foo.s %s 2>&1 \
|
||||
// RUN: | FileCheck -check-prefix MULTIPLE-OUTPUT-FILES %s
|
||||
// RUN: %clang -### -emit-llvm -c --target=x86_64-linux-gnu -o foo.s %s 2>&1 \
|
||||
// RUN: not %clang -### -emit-llvm -c --target=x86_64-linux-gnu -o foo.s %s 2>&1 \
|
||||
// RUN: | FileCheck -check-prefix MULTIPLE-OUTPUT-FILES %s
|
||||
// MULTIPLE-OUTPUT-FILES: error: cannot specify -o when generating multiple output files
|
||||
// Make sure we do not get duplicate diagnostics.
|
||||
|
@ -322,7 +322,7 @@
|
||||
//
|
||||
// Test that the new driver does not create actions for invalid architectures.
|
||||
//
|
||||
// RUN: %clang -### --target=powerpc64le-ibm-linux-gnu --offload-new-driver \
|
||||
// RUN: not %clang -### --target=powerpc64le-ibm-linux-gnu --offload-new-driver \
|
||||
// RUN: -ccc-print-phases --offload-arch=sm_999 -fgpu-rdc -c %s 2>&1 \
|
||||
// RUN: | FileCheck -check-prefix=INVALID-ARCH %s
|
||||
// INVALID-ARCH: error: unsupported CUDA gpu architecture: sm_999
|
||||
|
@ -1,7 +1,7 @@
|
||||
// REQUIRES: x86-registered-target
|
||||
// REQUIRES: nvptx-registered-target
|
||||
|
||||
// RUN: %clang --target=x86_64-linux -v -### --cuda-gpu-arch=sm_20 --cuda-path=%S/Inputs/CUDA/usr/local/cuda 2>&1 %s | \
|
||||
// RUN: not %clang --target=x86_64-linux -v -### --cuda-gpu-arch=sm_20 --cuda-path=%S/Inputs/CUDA/usr/local/cuda 2>&1 %s | \
|
||||
// RUN: FileCheck %s --check-prefix=OK
|
||||
// RUN: %clang --target=x86_64-linux -v -### --cuda-gpu-arch=sm_20 --cuda-path=%S/Inputs/CUDA_80/usr/local/cuda 2>&1 %s | \
|
||||
// RUN: FileCheck %s --check-prefix=OK
|
||||
@ -19,22 +19,22 @@
|
||||
// RUN: FileCheck %s --check-prefix=UNKNOWN_VERSION_CXX
|
||||
|
||||
// The installation at Inputs/CUDA is CUDA 7.0, which doesn't support sm_60.
|
||||
// RUN: %clang --target=x86_64-linux -v -### --cuda-gpu-arch=sm_60 --cuda-path=%S/Inputs/CUDA/usr/local/cuda 2>&1 %s | \
|
||||
// RUN: not %clang --target=x86_64-linux -v -### --cuda-gpu-arch=sm_60 --cuda-path=%S/Inputs/CUDA/usr/local/cuda 2>&1 %s | \
|
||||
// RUN: FileCheck %s --check-prefix=ERR_SM60
|
||||
|
||||
// This should only complain about sm_60, not sm_35.
|
||||
// RUN: %clang --target=x86_64-linux -v -### --cuda-gpu-arch=sm_60 --cuda-gpu-arch=sm_35 \
|
||||
// RUN: not %clang --target=x86_64-linux -v -### --cuda-gpu-arch=sm_60 --cuda-gpu-arch=sm_35 \
|
||||
// RUN: --cuda-path=%S/Inputs/CUDA/usr/local/cuda 2>&1 %s | \
|
||||
// RUN: FileCheck %s --check-prefix=ERR_SM60 --check-prefix=OK_SM35
|
||||
|
||||
// We should get two errors here, one for sm_60 and one for sm_61.
|
||||
// RUN: %clang --target=x86_64-linux -v -### --cuda-gpu-arch=sm_60 --cuda-gpu-arch=sm_61 \
|
||||
// RUN: not %clang --target=x86_64-linux -v -### --cuda-gpu-arch=sm_60 --cuda-gpu-arch=sm_61 \
|
||||
// RUN: --cuda-path=%S/Inputs/CUDA/usr/local/cuda 2>&1 %s | \
|
||||
// RUN: FileCheck %s --check-prefix=ERR_SM60 --check-prefix=ERR_SM61
|
||||
|
||||
// We should still get an error if we pass -nocudainc, because this compilation
|
||||
// would invoke ptxas, and we do a version check on that, too.
|
||||
// RUN: %clang --target=x86_64-linux -v -### --cuda-gpu-arch=sm_60 -nocudainc --cuda-path=%S/Inputs/CUDA/usr/local/cuda 2>&1 %s | \
|
||||
// RUN: not %clang --target=x86_64-linux -v -### --cuda-gpu-arch=sm_60 -nocudainc --cuda-path=%S/Inputs/CUDA/usr/local/cuda 2>&1 %s | \
|
||||
// RUN: FileCheck %s --check-prefix=ERR_SM60
|
||||
|
||||
// If with -nocudainc and -E, we don't touch the CUDA install, so we
|
||||
@ -54,7 +54,7 @@
|
||||
// the same check.
|
||||
// RUN: %clang --target=x86_64-linux -v -### --cuda-gpu-arch=sm_60 --cuda-host-only --cuda-path=%S/Inputs/CUDA/usr/local/cuda -S 2>&1 %s | \
|
||||
// RUN: FileCheck %s --check-prefix=OK
|
||||
// RUN: %clang --target=x86_64-linux -v -### --cuda-gpu-arch=sm_60 --cuda-device-only --cuda-path=%S/Inputs/CUDA/usr/local/cuda -S 2>&1 %s | \
|
||||
// RUN: not %clang --target=x86_64-linux -v -### --cuda-gpu-arch=sm_60 --cuda-device-only --cuda-path=%S/Inputs/CUDA/usr/local/cuda -S 2>&1 %s | \
|
||||
// RUN: FileCheck %s --check-prefix=ERR_SM60
|
||||
|
||||
// OK-NOT: error: GPU arch
|
||||
|
@ -1,6 +1,6 @@
|
||||
// RUN: env RC_DEBUG_PREFIX_MAP=old=new \
|
||||
// RUN: %clang -target arm64-apple-darwin -### -c -g %s 2>&1 | FileCheck %s
|
||||
// RUN: env RC_DEBUG_PREFIX_MAP=illegal \
|
||||
// RUN: %clang -target arm64-apple-darwin -### -c -g %s 2>&1 | FileCheck %s --check-prefix=ERR
|
||||
// RUN: not %clang -target arm64-apple-darwin -### -c -g %s 2>&1 | FileCheck %s --check-prefix=ERR
|
||||
// CHECK: "-fdebug-prefix-map=old=new"
|
||||
// ERR: invalid argument 'illegal'
|
||||
|
@ -1,6 +1,6 @@
|
||||
// RUN: env RC_DEBUG_PREFIX_MAP=old=new \
|
||||
// RUN: %clang -target arm64-apple-darwin -### -c -g %s 2>&1 | FileCheck %s
|
||||
// RUN: env RC_DEBUG_PREFIX_MAP=illegal \
|
||||
// RUN: %clang -target arm64-apple-darwin -### -c -g %s 2>&1 | FileCheck %s --check-prefix=ERR
|
||||
// RUN: not %clang -target arm64-apple-darwin -### -c -g %s 2>&1 | FileCheck %s --check-prefix=ERR
|
||||
// CHECK: "-fdebug-prefix-map=old=new"
|
||||
// ERR: invalid argument 'illegal'
|
||||
|
@ -1,6 +1,6 @@
|
||||
// RUN: touch %t.o
|
||||
|
||||
// RUN: %clang -target x86_64-apple-driverkit10.15 -isysroot %S/Inputs/MacOSX10.14.sdk -mlinker-version=520 -### %t.o 2>&1 \
|
||||
// RUN: not %clang -target x86_64-apple-driverkit10.15 -isysroot %S/Inputs/MacOSX10.14.sdk -mlinker-version=520 -### %t.o 2>&1 \
|
||||
// RUN: | FileCheck %s
|
||||
// RUN: mkdir -p %t.sdk
|
||||
// RUN: %clang -target x86_64-apple-driverkit19 -isysroot %t.sdk -mlinker-version=520 -### %t.o 2>&1 \
|
||||
|
@ -223,11 +223,11 @@
|
||||
// LINK_PG: -lgcrt1.o
|
||||
// LINK_PG: -no_new_main
|
||||
|
||||
// RUN: %clang -target i386-apple-darwin13 -pg -### %t.o 2> %t.log
|
||||
// RUN: not %clang -target i386-apple-darwin13 -pg -### %t.o 2> %t.log
|
||||
// RUN: FileCheck -check-prefix=LINK_PG_NO_SUPPORT_OSX %s < %t.log
|
||||
// LINK_PG_NO_SUPPORT_OSX: error: the clang compiler does not support -pg option on versions of OS X
|
||||
|
||||
// RUN: %clang -target x86_64-apple-ios5.0 -pg -### %t.o 2> %t.log
|
||||
// RUN: not %clang -target x86_64-apple-ios5.0 -pg -### %t.o 2> %t.log
|
||||
// RUN: FileCheck -check-prefix=LINK_PG_NO_SUPPORT %s < %t.log
|
||||
// LINK_PG_NO_SUPPORT: error: the clang compiler does not support -pg option on Darwin
|
||||
|
||||
@ -315,13 +315,13 @@
|
||||
// RUN: -fuse-ld= -mlinker-version=133.3.0 2>> %t.log
|
||||
// RUN: %clang -target x86_64-apple-darwin12 %s -### -o %t \
|
||||
// RUN: -fuse-ld= -mlinker-version=133.3.0.1 2>> %t.log
|
||||
// RUN: %clang -target x86_64-apple-darwin12 %s -### -o %t \
|
||||
// RUN: not %clang -target x86_64-apple-darwin12 %s -### -o %t \
|
||||
// RUN: -fuse-ld= -mlinker-version=133.3.0.1.2 2>> %t.log
|
||||
// RUN: %clang -target x86_64-apple-darwin12 %s -### -o %t \
|
||||
// RUN: not %clang -target x86_64-apple-darwin12 %s -### -o %t \
|
||||
// RUN: -fuse-ld= -mlinker-version=133.3.0.1.2.6 2>> %t.log
|
||||
// RUN: %clang -target x86_64-apple-darwin12 %s -### -o %t \
|
||||
// RUN: not %clang -target x86_64-apple-darwin12 %s -### -o %t \
|
||||
// RUN: -fuse-ld= -mlinker-version=133.3.0.1.a 2>> %t.log
|
||||
// RUN: %clang -target x86_64-apple-darwin12 %s -### -o %t \
|
||||
// RUN: not %clang -target x86_64-apple-darwin12 %s -### -o %t \
|
||||
// RUN: -fuse-ld= -mlinker-version=133.3.0.1a 2>> %t.log
|
||||
// RUN: FileCheck -check-prefix=LINK_VERSION_DIGITS %s < %t.log
|
||||
// LINK_VERSION_DIGITS-NOT: invalid version number in '-mlinker-version=133.3'
|
||||
|
@ -1,4 +1,4 @@
|
||||
// RUN: %clang --target=i386-apple-ios13.1-macabi -c -### %s 2>&1 \
|
||||
// RUN: not %clang --target=i386-apple-ios13.1-macabi -c -### %s 2>&1 \
|
||||
// RUN: | FileCheck %s
|
||||
|
||||
// CHECK: error: 32-bit targets are not supported when building for Mac Catalyst
|
||||
|
@ -2,9 +2,9 @@
|
||||
// RUN: FileCheck --check-prefix=CHECK-VERSION1 %s
|
||||
// RUN: %clang -target x86_64-apple-ios-macabi -c %s -### 2>&1 | \
|
||||
// RUN: FileCheck --check-prefix=CHECK-VERSION1 %s
|
||||
// RUN: %clang -target x86_64-apple-ios13.0-macabi -c %s -### 2>&1 | \
|
||||
// RUN: not %clang -target x86_64-apple-ios13.0-macabi -c %s -### 2>&1 | \
|
||||
// RUN: FileCheck --check-prefix=CHECK-ERROR %s
|
||||
// RUN: %clang -target x86_64-apple-ios12.0-macabi -c %s -### 2>&1 | \
|
||||
// RUN: not %clang -target x86_64-apple-ios12.0-macabi -c %s -### 2>&1 | \
|
||||
// RUN: FileCheck --check-prefix=CHECK-ERROR %s
|
||||
|
||||
// CHECK-VERSION1-NOT: error:
|
||||
|
@ -4,7 +4,7 @@
|
||||
// RUN: | FileCheck %s
|
||||
// RUN: %clang -target x86_64-apple-ios13.2-macabi -isysroot %S/Inputs/MacOSX10.14.sdk -c %s -### 2>&1 \
|
||||
// RUN: | FileCheck --check-prefix=FALLBACK-DEFAULT %s
|
||||
// RUN: %clang -target x86_64-apple-ios12.99.99-macabi -isysroot %S/Inputs/MacOSX10.15.versioned.sdk -c %s -### 2>&1 \
|
||||
// RUN: not %clang -target x86_64-apple-ios12.99.99-macabi -isysroot %S/Inputs/MacOSX10.15.versioned.sdk -c %s -### 2>&1 \
|
||||
// RUN: | FileCheck --check-prefix=FALLBACK-DEFAULT %s
|
||||
// RUN: %clang -target x86_64-apple-ios-macabi -isysroot %S/Inputs/MacOSX10.15.versioned.sdk -c %s -### 2>&1 \
|
||||
// RUN: | FileCheck --check-prefix=FALLBACK-DEFAULT %s
|
||||
|
@ -39,6 +39,6 @@
|
||||
// PASS_REMARKS_WITH_FAT: "-arch" "x86_64"{{.*}}"-mllvm" "-lto-pass-remarks-output"
|
||||
// PASS_REMARKS_WITH_FAT-NEXT: "-arch" "x86_64h"{{.*}}"-mllvm" "-lto-pass-remarks-output"
|
||||
//
|
||||
// RUN: %clang -target x86_64-apple-darwin12 -arch x86_64 -arch x86_64h %t.o -foptimization-record-file=custom.opt.yaml -### -o foo/bar.out 2> %t.log
|
||||
// RUN: not %clang -target x86_64-apple-darwin12 -arch x86_64 -arch x86_64h %t.o -foptimization-record-file=custom.opt.yaml -### -o foo/bar.out 2> %t.log
|
||||
// RUN: FileCheck -check-prefix=PASS_REMARKS_WITH_FILE_FAT %s < %t.log
|
||||
// PASS_REMARKS_WITH_FILE_FAT: error: cannot use '-foptimization-record-file' output with multiple -arch options
|
||||
|
@ -1,5 +1,5 @@
|
||||
// RUN: %clang -target x86_64-apple-darwin10 -### -c -o FOO -fsave-optimization-record -arch x86_64 -arch x86_64h %s 2>&1 | FileCheck %s --check-prefix=CHECK-MULTIPLE-ARCH
|
||||
// RUN: %clang -target x86_64-apple-darwin10 -### -c -o FOO -foptimization-record-file=tmp -arch x86_64 -arch x86_64h %s 2>&1 | FileCheck %s --check-prefix=CHECK-MULTIPLE-ARCH-ERROR
|
||||
// RUN: not %clang -target x86_64-apple-darwin10 -### -c -o FOO -foptimization-record-file=tmp -arch x86_64 -arch x86_64h %s 2>&1 | FileCheck %s --check-prefix=CHECK-MULTIPLE-ARCH-ERROR
|
||||
// RUN: %clang -target x86_64-apple-darwin10 -### -o FOO -fsave-optimization-record %s 2>&1 | FileCheck %s --check-prefix=CHECK-DSYMUTIL-NO-G
|
||||
// RUN: %clang -target x86_64-apple-darwin10 -### -o FOO -g0 -fsave-optimization-record %s 2>&1 | FileCheck %s --check-prefix=CHECK-DSYMUTIL-G0
|
||||
// RUN: %clang -target x86_64-apple-darwin10 -### -o FOO -fsave-optimization-record=bitstream %s 2>&1 | FileCheck %s --check-prefix=CHECK-NO-G-PATH-BITSTREAM
|
||||
|
@ -8,7 +8,7 @@
|
||||
// RUN: %clang -target x86_64-apple-macos10.15 -darwin-target-variant x86_64-apple-ios13.1-macabi \
|
||||
// RUN: -darwin-target-variant x86_64-apple-ios13.1-macabi -c %s -### 2>&1 | FileCheck --check-prefix=REDUNDANT-TV %s
|
||||
|
||||
// RUN: %clang -target x86_64-apple-macos10.15 -darwin-target-variant x86_64-apple-ios13.1 \
|
||||
// RUN: not %clang -target x86_64-apple-macos10.15 -darwin-target-variant x86_64-apple-ios13.1 \
|
||||
// RUN: -c %s -### 2>&1 | FileCheck --check-prefix=INCORRECT-TV %s
|
||||
|
||||
// RUN: %clang -target unknown-apple-ios13.1-macabi -arch x86_64 -arch x86_64h \
|
||||
|
@ -12,23 +12,23 @@
|
||||
// CHECK-VERSION-IOS3: "armv6k-apple-ios3.0.0"
|
||||
|
||||
// RUN: env IPHONEOS_DEPLOYMENT_TARGET=11.0 \
|
||||
// RUN: %clang -target armv7-apple-darwin -c -### %s 2> %t.err
|
||||
// RUN: not %clang -target armv7-apple-darwin -c -### %s 2> %t.err
|
||||
// RUN: FileCheck --input-file=%t.err --check-prefix=CHECK-VERSION-IOS4 %s
|
||||
// CHECK-VERSION-IOS4: invalid iOS deployment version 'IPHONEOS_DEPLOYMENT_TARGET=11.0'
|
||||
|
||||
// RUN: %clang -target armv7-apple-ios11.0 -c -### %s 2> %t.err
|
||||
// RUN: not %clang -target armv7-apple-ios11.0 -c -### %s 2> %t.err
|
||||
// RUN: FileCheck --input-file=%t.err --check-prefix=CHECK-VERSION-IOS41 %s
|
||||
// CHECK-VERSION-IOS41: invalid iOS deployment version '-target armv7-apple-ios11.0'
|
||||
|
||||
// RUN: %clang -target armv7-apple-darwin -miphoneos-version-min=11.0 -c -### %s 2> %t.err
|
||||
// RUN: not %clang -target armv7-apple-darwin -miphoneos-version-min=11.0 -c -### %s 2> %t.err
|
||||
// RUN: FileCheck --input-file=%t.err --check-prefix=CHECK-VERSION-IOS5 %s
|
||||
// CHECK-VERSION-IOS5: invalid iOS deployment version '-miphoneos-version-min=11.0'
|
||||
|
||||
// RUN: %clang -target i386-apple-darwin -mios-simulator-version-min=11.0 -c -### %s 2> %t.err
|
||||
// RUN: not %clang -target i386-apple-darwin -mios-simulator-version-min=11.0 -c -### %s 2> %t.err
|
||||
// RUN: FileCheck --input-file=%t.err --check-prefix=CHECK-VERSION-IOS6 %s
|
||||
// CHECK-VERSION-IOS6: invalid iOS deployment version '-mios-simulator-version-min=11.0'
|
||||
|
||||
// RUN: %clang -target armv7-apple-ios11.1 -c -### %s 2>&1 | \
|
||||
// RUN: not %clang -target armv7-apple-ios11.1 -c -### %s 2>&1 | \
|
||||
// RUN: FileCheck --check-prefix=CHECK-VERSION-IOS71 %s
|
||||
// CHECK-VERSION-IOS71: invalid iOS deployment version
|
||||
// RUN: %clang -target armv7-apple-darwin -Wno-missing-sysroot -isysroot SDKs/iPhoneOS11.0.sdk -c -### %s 2>&1 | \
|
||||
@ -82,9 +82,9 @@
|
||||
// RUN: %clang -target x86_64-apple-darwin -mmacos-version-min=10.10 -c %s -### 2>&1 | \
|
||||
// RUN: FileCheck --check-prefix=CHECK-VERSION-OSX10 %s
|
||||
// CHECK-VERSION-OSX10: "x86_64-apple-macosx10.10.0"
|
||||
// RUN: %clang -target x86_64-apple-darwin -mmacosx-version-min= -c %s -### 2>&1 | \
|
||||
// RUN: not %clang -target x86_64-apple-darwin -mmacosx-version-min= -c %s -### 2>&1 | \
|
||||
// RUN: FileCheck --check-prefix=CHECK-VERSION-MISSING %s
|
||||
// RUN: %clang -target x86_64-apple-darwin -mmacos-version-min= -c %s -### 2>&1 | \
|
||||
// RUN: not %clang -target x86_64-apple-darwin -mmacos-version-min= -c %s -### 2>&1 | \
|
||||
// RUN: FileCheck --check-prefix=CHECK-VERSION-MISSING %s
|
||||
// CHECK-VERSION-MISSING: invalid version number
|
||||
// RUN: %clang -target armv7k-apple-darwin -mwatchos-version-min=2.0 -c %s -### 2>&1 | \
|
||||
@ -160,10 +160,10 @@
|
||||
//
|
||||
// Make sure stdlib is not mistaken
|
||||
// RUN: env DRIVERKIT_DEPLOYMENT_TARGET=2.0 \
|
||||
// RUN: %clang -target arm64-apple-darwin -c -x c++ %s -stdlib=libc++ -### 2>&1
|
||||
// RUN: not %clang -target arm64-apple-darwin -c -x c++ %s -stdlib=libc++ -### 2>&1
|
||||
|
||||
// RUN: env MACOSX_DEPLOYMENT_TARGET=1000.1000 \
|
||||
// RUN: %clang -target x86_64-apple-darwin -c %s -### 2>&1 | \
|
||||
// RUN: not %clang -target x86_64-apple-darwin -c %s -### 2>&1 | \
|
||||
// RUN: FileCheck --check-prefix=CHECK-VERSION-INVALID-ENV %s
|
||||
// CHECK-VERSION-INVALID-ENV: invalid version number in 'MACOSX_DEPLOYMENT_TARGET=1000.1000'
|
||||
|
||||
|
@ -52,11 +52,11 @@
|
||||
// GDWARF64_OFF-NOT: "-gdwarf64"
|
||||
|
||||
// Check that an error is reported if -gdwarf64 cannot be used.
|
||||
// RUN: %clang -### -c -gdwarf64 -gdwarf-2 --target=x86_64 -integrated-as -x assembler %s 2>&1 \
|
||||
// RUN: not %clang -### -c -gdwarf64 -gdwarf-2 --target=x86_64 -integrated-as -x assembler %s 2>&1 \
|
||||
// RUN: | FileCheck -check-prefix=GDWARF64_VER %s
|
||||
// RUN: %clang -### -c -gdwarf64 -gdwarf-4 --target=i386-linux-gnu %s 2>&1 \
|
||||
// RUN: not %clang -### -c -gdwarf64 -gdwarf-4 --target=i386-linux-gnu %s 2>&1 \
|
||||
// RUN: | FileCheck -check-prefix=GDWARF64_32ARCH %s
|
||||
// RUN: %clang -### -c -gdwarf64 -gdwarf-4 -target x86_64-apple-darwin %s 2>&1 \
|
||||
// RUN: not %clang -### -c -gdwarf64 -gdwarf-4 -target x86_64-apple-darwin %s 2>&1 \
|
||||
// RUN: | FileCheck -check-prefix=GDWARF64_ELF %s
|
||||
//
|
||||
// GDWARF64_VER: error: invalid argument '-gdwarf64' only allowed with 'DWARFv3 or greater'
|
||||
|
@ -262,7 +262,7 @@
|
||||
// RUN: %clang -### -fdebug-types-section -target wasm32-unknown-unknown %s 2>&1 \
|
||||
// RUN: | FileCheck -check-prefix=FDTS %s
|
||||
//
|
||||
// RUN: %clang -### -fdebug-types-section -target x86_64-apple-darwin %s 2>&1 \
|
||||
// RUN: not %clang -### -fdebug-types-section -target x86_64-apple-darwin %s 2>&1 \
|
||||
// RUN: | FileCheck -check-prefix=FDTSE %s
|
||||
//
|
||||
// RUN: %clang -### -fdebug-types-section -fno-debug-types-section -target x86_64-apple-darwin %s 2>&1 \
|
||||
@ -417,7 +417,7 @@
|
||||
// NOMACRO-NOT: "-debug-info-macro"
|
||||
//
|
||||
// RUN: %clang -### -gdwarf-5 -gembed-source %s 2>&1 | FileCheck -check-prefix=GEMBED_5 %s
|
||||
// RUN: %clang -### -gdwarf-2 -gembed-source %s 2>&1 | FileCheck -check-prefix=GEMBED_2 %s
|
||||
// RUN: not %clang -### -gdwarf-2 -gembed-source %s 2>&1 | FileCheck -check-prefix=GEMBED_2 %s
|
||||
// RUN: %clang -### -gdwarf-5 -gno-embed-source %s 2>&1 | FileCheck -check-prefix=NOGEMBED_5 %s
|
||||
// RUN: %clang -### -gdwarf-2 -gno-embed-source %s 2>&1 | FileCheck -check-prefix=NOGEMBED_2 %s
|
||||
//
|
||||
@ -440,12 +440,12 @@
|
||||
// RUN: %clang -### -c -gdwarf-5 -gdwarf64 -target x86_64 %s 2>&1 | FileCheck -check-prefix=GDWARF64_ON %s
|
||||
// RUN: %clang -### -c -gdwarf-4 -gdwarf64 -target x86_64 %s 2>&1 | FileCheck -check-prefix=GDWARF64_ON %s
|
||||
// RUN: %clang -### -c -gdwarf-3 -gdwarf64 -target x86_64 %s 2>&1 | FileCheck -check-prefix=GDWARF64_ON %s
|
||||
// RUN: %clang -### -c -gdwarf-2 -gdwarf64 --target=x86_64 %s 2>&1 | FileCheck -check-prefix=GDWARF64_VER %s
|
||||
// RUN: not %clang -### -c -gdwarf-2 -gdwarf64 --target=x86_64 %s 2>&1 | FileCheck -check-prefix=GDWARF64_VER %s
|
||||
// RUN: %clang -### -c -gdwarf-4 -gdwarf64 -target x86_64 -target x86_64 %s 2>&1 \
|
||||
// RUN: | FileCheck -check-prefix=GDWARF64_ON %s
|
||||
// RUN: %clang -### -c -gdwarf-4 -gdwarf64 --target=i386-linux-gnu %s 2>&1 \
|
||||
// RUN: not %clang -### -c -gdwarf-4 -gdwarf64 --target=i386-linux-gnu %s 2>&1 \
|
||||
// RUN: | FileCheck -check-prefix=GDWARF64_32ARCH %s
|
||||
// RUN: %clang -### -c -gdwarf-4 -gdwarf64 -target x86_64-apple-darwin %s 2>&1 \
|
||||
// RUN: not %clang -### -c -gdwarf-4 -gdwarf64 -target x86_64-apple-darwin %s 2>&1 \
|
||||
// RUN: | FileCheck -check-prefix=GDWARF64_ELF %s
|
||||
//
|
||||
// GDWARF64_ON: "-gdwarf64"
|
||||
|
@ -1,7 +1,7 @@
|
||||
// RUN: %clang -### -fdebug-prefix-map=old %s 2>&1 | FileCheck %s -check-prefix CHECK-DEBUG-INVALID
|
||||
// RUN: %clang -### -fmacro-prefix-map=old %s 2>&1 | FileCheck %s -check-prefix CHECK-MACRO-INVALID
|
||||
// RUN: %clang -### -fcoverage-prefix-map=old %s 2>&1 | FileCheck %s -check-prefix CHECK-COVERAGE-INVALID
|
||||
// RUN: %clang -### -ffile-prefix-map=old %s 2>&1 | FileCheck %s -check-prefix CHECK-FILE-INVALID
|
||||
// RUN: not %clang -### -fdebug-prefix-map=old %s 2>&1 | FileCheck %s -check-prefix CHECK-DEBUG-INVALID
|
||||
// RUN: not %clang -### -fmacro-prefix-map=old %s 2>&1 | FileCheck %s -check-prefix CHECK-MACRO-INVALID
|
||||
// RUN: not %clang -### -fcoverage-prefix-map=old %s 2>&1 | FileCheck %s -check-prefix CHECK-COVERAGE-INVALID
|
||||
// RUN: not %clang -### -ffile-prefix-map=old %s 2>&1 | FileCheck %s -check-prefix CHECK-FILE-INVALID
|
||||
|
||||
// RUN: %clang -### -fdebug-prefix-map=old=new %s 2>&1 | FileCheck %s -check-prefix CHECK-DEBUG-SIMPLE
|
||||
// RUN: %clang -### -fmacro-prefix-map=old=new %s 2>&1 | FileCheck %s -check-prefix CHECK-MACRO-SIMPLE
|
||||
|
@ -2,9 +2,9 @@
|
||||
// REQUIRES: nvptx-registered-target
|
||||
|
||||
// Verify that DWARF version is properly clamped for nvptx, but not for the host.
|
||||
// RUN: %clang -### --target=x86_64-linux-gnu -c %s -gdwarf-5 -gembed-source 2>&1 \
|
||||
// RUN: not %clang -### --target=x86_64-linux-gnu -c %s -gdwarf-5 -gembed-source 2>&1 \
|
||||
// RUN: | FileCheck %s --check-prefix=DWARF-CLAMP
|
||||
// RUN: %clang -### --target=x86_64-linux-gnu -c %s -ggdb -gembed-source -gdwarf-5 2>&1 \
|
||||
// RUN: not %clang -### --target=x86_64-linux-gnu -c %s -ggdb -gembed-source -gdwarf-5 2>&1 \
|
||||
// RUN: | FileCheck %s --check-prefix=DWARF-CLAMP
|
||||
|
||||
// DWARF-CLAMP: "-triple" "nvptx64-nvidia-cuda"
|
||||
|
@ -1,4 +1,4 @@
|
||||
// RUN: %clang_dxc -Efoo -Tlib_6_7 foo.hlsl -### %s 2>&1 | FileCheck %s
|
||||
// RUN: not %clang_dxc -Efoo -Tlib_6_7 foo.hlsl -### %s 2>&1 | FileCheck %s
|
||||
|
||||
// Make sure E option flag which translated into "-hlsl-entry".
|
||||
// CHECK:"-hlsl-entry" "foo"
|
||||
|
@ -1,6 +1,6 @@
|
||||
// RUN: %clang_dxc -T lib_6_7 foo.hlsl -### %s 2>&1 | FileCheck %s --check-prefix=DEFAULT
|
||||
// RUN: %clang_dxc -fcgl -T lib_6_7 foo.hlsl -### %s 2>&1 | FileCheck %s --check-prefix=FCGL
|
||||
// RUN: %clang_dxc -T lib_6_7 foo.hlsl -Fo foo.dxc -### %s 2>&1 | FileCheck %s --check-prefix=EMITOBJ
|
||||
// RUN: not %clang_dxc -T lib_6_7 foo.hlsl -### %s 2>&1 | FileCheck %s --check-prefix=DEFAULT
|
||||
// RUN: not %clang_dxc -fcgl -T lib_6_7 foo.hlsl -### %s 2>&1 | FileCheck %s --check-prefix=FCGL
|
||||
// RUN: not %clang_dxc -T lib_6_7 foo.hlsl -Fo foo.dxc -### %s 2>&1 | FileCheck %s --check-prefix=EMITOBJ
|
||||
|
||||
|
||||
// Make sure default use "-" as output and not emit obj.
|
||||
|
@ -1,9 +1,9 @@
|
||||
// RUN: %clang_dxc -T lib_6_7 foo.hlsl -### %s 2>&1 | FileCheck %s
|
||||
// RUN: %clang_dxc -T lib_6_7 -Od foo.hlsl -### %s 2>&1 | FileCheck %s --check-prefix=Od
|
||||
// RUN: %clang_dxc -T lib_6_7 -O0 foo.hlsl -### %s 2>&1 | FileCheck %s --check-prefix=O0
|
||||
// RUN: %clang_dxc -T lib_6_7 -O1 foo.hlsl -### %s 2>&1 | FileCheck %s --check-prefix=O1
|
||||
// RUN: %clang_dxc -T lib_6_7 -O2 foo.hlsl -### %s 2>&1 | FileCheck %s --check-prefix=O2
|
||||
// RUN: %clang_dxc -T lib_6_7 -O3 foo.hlsl -### %s 2>&1 | FileCheck %s --check-prefix=O3
|
||||
// RUN: not %clang_dxc -T lib_6_7 foo.hlsl -### %s 2>&1 | FileCheck %s
|
||||
// RUN: not %clang_dxc -T lib_6_7 -Od foo.hlsl -### %s 2>&1 | FileCheck %s --check-prefix=Od
|
||||
// RUN: not %clang_dxc -T lib_6_7 -O0 foo.hlsl -### %s 2>&1 | FileCheck %s --check-prefix=O0
|
||||
// RUN: not %clang_dxc -T lib_6_7 -O1 foo.hlsl -### %s 2>&1 | FileCheck %s --check-prefix=O1
|
||||
// RUN: not %clang_dxc -T lib_6_7 -O2 foo.hlsl -### %s 2>&1 | FileCheck %s --check-prefix=O2
|
||||
// RUN: not %clang_dxc -T lib_6_7 -O3 foo.hlsl -### %s 2>&1 | FileCheck %s --check-prefix=O3
|
||||
|
||||
// Make sure default is O3.
|
||||
// CHECK: "-O3"
|
||||
|
@ -1,4 +1,4 @@
|
||||
// RUN: %clang_dxc -fcgl -T lib_6_7 foo.hlsl -### %s 2>&1 | FileCheck %s
|
||||
// RUN: not %clang_dxc -fcgl -T lib_6_7 foo.hlsl -### %s 2>&1 | FileCheck %s
|
||||
|
||||
// Make sure fcgl option flag which translated into "-S" "-emit-llvm" "-disable-llvm-passes".
|
||||
// CHECK:"-S"
|
||||
|
@ -57,6 +57,6 @@
|
||||
// CHECK-LINKER: -bitcode_bundle
|
||||
// CHECK-NO-LINKER-NOT: -bitcode_bundle
|
||||
|
||||
// RUN: %clang -target armv7-apple-darwin -miphoneos-version-min=5.0 %s -fembed-bitcode -### 2>&1 | \
|
||||
// RUN: not %clang -target armv7-apple-darwin -miphoneos-version-min=5.0 %s -fembed-bitcode -### 2>&1 | \
|
||||
// RUN: FileCheck %s -check-prefix=CHECK-PLATFORM-NOTSUPPORTED
|
||||
// CHECK-PLATFORM-NOTSUPPORTED: -fembed-bitcode is not supported on versions of iOS prior to 6.0
|
||||
|
@ -1,5 +1,5 @@
|
||||
// RUN: %clang -### -c --target=x86_64 -mbig-endian -mlittle-endian %s 2>&1 | FileCheck /dev/null --implicit-check-not=error:
|
||||
// RUN: %clang -### -c --target=x86_64 -mlittle-endian -mbig-endian %s 2>&1 | FileCheck %s --implicit-check-not=error:
|
||||
// RUN: not %clang -### -c --target=x86_64 -mlittle-endian -mbig-endian %s 2>&1 | FileCheck %s --implicit-check-not=error:
|
||||
|
||||
// CHECK: error: unsupported option '-mlittle-endian' for target 'x86_64'
|
||||
// CHECK: error: unsupported option '-mbig-endian' for target 'x86_64'
|
||||
|
@ -3,10 +3,10 @@
|
||||
// RUN: %clang -### -falign-loops=1 %s 2>&1 | FileCheck %s --check-prefix=CHECK_1
|
||||
// RUN: %clang -### -falign-loops=4 %s 2>&1 | FileCheck %s --check-prefix=CHECK_4
|
||||
/// Only powers of 2 are supported for now.
|
||||
// RUN: %clang -### -falign-loops=5 %s 2>&1 | FileCheck %s --check-prefix=CHECK_5
|
||||
// RUN: not %clang -### -falign-loops=5 %s 2>&1 | FileCheck %s --check-prefix=CHECK_5
|
||||
// RUN: %clang -### -falign-loops=65536 %s 2>&1 | FileCheck %s --check-prefix=CHECK_65536
|
||||
// RUN: %clang -### -falign-loops=65537 %s 2>&1 | FileCheck %s --check-prefix=CHECK_65537
|
||||
// RUN: %clang -### -falign-loops=a %s 2>&1 | FileCheck %s --check-prefix=CHECK_ERR_A
|
||||
// RUN: not %clang -### -falign-loops=65537 %s 2>&1 | FileCheck %s --check-prefix=CHECK_65537
|
||||
// RUN: not %clang -### -falign-loops=a %s 2>&1 | FileCheck %s --check-prefix=CHECK_ERR_A
|
||||
|
||||
// CHECK_NO-NOT: "-falign-loops=
|
||||
// CHECK_1: "-falign-loops=1"
|
||||
|
@ -6,8 +6,8 @@
|
||||
// RUN: %clang -### -target arm-unknown-linux -fbasic-block-sections=all -fbasic-block-sections=none %s -S 2>&1 \
|
||||
// RUN: | FileCheck -check-prefix=CHECK-NOOPT %s
|
||||
// RUN: not %clang -c -target x86_64-apple-darwin10 -fbasic-block-sections=all %s -S 2>&1 | FileCheck -check-prefix=CHECK-TRIPLE %s
|
||||
// RUN: %clang -### -target x86_64 -fbasic-block-sections=alll %s -S 2>&1 | FileCheck -check-prefix=CHECK-INVALID-VALUE %s
|
||||
// RUN: %clang -### -target x86_64 -fbasic-block-sections=list %s -S 2>&1 | FileCheck -check-prefix=CHECK-INVALID-VALUE %s
|
||||
// RUN: not %clang -### -target x86_64 -fbasic-block-sections=alll %s -S 2>&1 | FileCheck -check-prefix=CHECK-INVALID-VALUE %s
|
||||
// RUN: not %clang -### -target x86_64 -fbasic-block-sections=list %s -S 2>&1 | FileCheck -check-prefix=CHECK-INVALID-VALUE %s
|
||||
// RUN: %clang -### -target x86_64 -fbasic-block-sections=list= %s -S 2>&1 | FileCheck -check-prefix=CHECK-OPT-NULL-LIST %s
|
||||
// RUN: %clang -### -target x86_64 -fbasic-block-sections=none %s -S 2>&1 | FileCheck -check-prefix=CHECK-OPT-NONE %s
|
||||
// RUN: %clang -### -x cuda -nocudainc -nocudalib --target=x86_64 -fbasic-block-sections=all --cuda-path=%S/Inputs/CUDA/usr/local/cuda %s -c 2>&1 \
|
||||
|
@ -11,5 +11,5 @@
|
||||
// NOUSE: "-fprofile-instrument=csllvm"
|
||||
// NOUSE-NOT: "-fprofile-instrument-path=
|
||||
|
||||
// RUN: %clang -### -c -fprofile-generate -fcs-profile-generate %s 2>&1 | FileCheck %s --check-prefix=CONFLICT
|
||||
// RUN: not %clang -### -c -fprofile-generate -fcs-profile-generate %s 2>&1 | FileCheck %s --check-prefix=CONFLICT
|
||||
// CONFLICT: error: invalid argument '-fcs-profile-generate' not allowed with '-fprofile-generate'
|
||||
|
@ -16,9 +16,9 @@
|
||||
// RUN: %clang_cl -### -target i386 -fexcess-precision=16 -c -- %s 2>&1 \
|
||||
// RUN: | FileCheck --check-prefix=CHECK-NONE %s
|
||||
|
||||
// RUN: %clang -### --target=i386 -fexcess-precision=none -c %s 2>&1 \
|
||||
// RUN: not %clang -### --target=i386 -fexcess-precision=none -c %s 2>&1 \
|
||||
// RUN: | FileCheck --check-prefix=CHECK-ERR-NONE %s
|
||||
// RUN: %clang_cl -### --target=i386 -fexcess-precision=none -c -- %s 2>&1 \
|
||||
// RUN: not %clang_cl -### --target=i386 -fexcess-precision=none -c -- %s 2>&1 \
|
||||
// RUN: | FileCheck --check-prefix=CHECK-ERR-NONE %s
|
||||
|
||||
// RUN: %clang -### -target x86_64 -fexcess-precision=fast -c %s 2>&1 \
|
||||
@ -36,9 +36,9 @@
|
||||
// RUN: %clang_cl -### -target x86_64 -fexcess-precision=16 -c -- %s 2>&1 \
|
||||
// RUN: | FileCheck --check-prefix=CHECK-NONE %s
|
||||
|
||||
// RUN: %clang -### --target=x86_64 -fexcess-precision=none -c %s 2>&1 \
|
||||
// RUN: not %clang -### --target=x86_64 -fexcess-precision=none -c %s 2>&1 \
|
||||
// RUN: | FileCheck --check-prefixes=CHECK-ERR-NONE %s
|
||||
// RUN: %clang_cl -### --target=x86_64 -fexcess-precision=none -c -- %s 2>&1 \
|
||||
// RUN: not %clang_cl -### --target=x86_64 -fexcess-precision=none -c -- %s 2>&1 \
|
||||
// RUN: | FileCheck --check-prefixes=CHECK-ERR-NONE %s
|
||||
|
||||
// RUN: %clang -### -target aarch64 -fexcess-precision=fast -c %s 2>&1 \
|
||||
@ -51,14 +51,14 @@
|
||||
// RUN: %clang_cl -### -target aarch64 -fexcess-precision=standard -c \
|
||||
// RUN: -- %s 2>&1 | FileCheck --check-prefix=CHECK %s
|
||||
|
||||
// RUN: %clang -### --target=aarch64 -fexcess-precision=16 -c %s 2>&1 \
|
||||
// RUN: not %clang -### --target=aarch64 -fexcess-precision=16 -c %s 2>&1 \
|
||||
// RUN: | FileCheck --check-prefix=CHECK-ERR-16 %s
|
||||
// RUN: %clang_cl -### --target=aarch64 -fexcess-precision=16 -c -- %s 2>&1 \
|
||||
// RUN: not %clang_cl -### --target=aarch64 -fexcess-precision=16 -c -- %s 2>&1 \
|
||||
// RUN: | FileCheck --check-prefix=CHECK-ERR-16 %s
|
||||
|
||||
// RUN: %clang -### --target=aarch64 -fexcess-precision=none -c %s 2>&1 \
|
||||
// RUN: not %clang -### --target=aarch64 -fexcess-precision=none -c %s 2>&1 \
|
||||
// RUN: | FileCheck --check-prefix=CHECK-ERR-NONE %s
|
||||
// RUN: %clang_cl -### --target=aarch64 -fexcess-precision=none -c -- %s 2>&1 \
|
||||
// RUN: not %clang_cl -### --target=aarch64 -fexcess-precision=none -c -- %s 2>&1 \
|
||||
// RUN: | FileCheck --check-prefix=CHECK-ERR-NONE %s
|
||||
|
||||
// CHECK-FAST: "-ffloat16-excess-precision=fast"
|
||||
|
@ -34,7 +34,7 @@
|
||||
! CHECK-EMIT-LLVM-IR-DAG: "-emit-llvm"
|
||||
! CHECK-EMIT-LLVM-IR-DAG: "-o" "{{[^"]*}}.ll"
|
||||
|
||||
! RUN: %clang --driver-mode=flang -### -emit-llvm %s 2>&1 | FileCheck --check-prefixes=ALL,CHECK-EMIT-LLVM-BC %s
|
||||
! RUN: not %clang --driver-mode=flang -### -emit-llvm %s 2>&1 | FileCheck --check-prefixes=ALL,CHECK-EMIT-LLVM-BC %s
|
||||
! CHECK-EMIT-LLVM-BC-DAG: "-emit-llvm-bc"
|
||||
! CHECK-EMIT-LLVM-BC-DAG: "-o" "{{[^"]*}}.bc"
|
||||
|
||||
|
@ -34,7 +34,7 @@
|
||||
! CHECK-EMIT-LLVM-IR-DAG: "-emit-llvm"
|
||||
! CHECK-EMIT-LLVM-IR-DAG: "-o" "{{[^"]*}}.ll"
|
||||
|
||||
! RUN: %clang --driver-mode=flang -### -emit-llvm %s 2>&1 | FileCheck --check-prefixes=ALL,CHECK-EMIT-LLVM-BC %s
|
||||
! RUN: not %clang --driver-mode=flang -### -emit-llvm %s 2>&1 | FileCheck --check-prefixes=ALL,CHECK-EMIT-LLVM-BC %s
|
||||
! CHECK-EMIT-LLVM-BC-DAG: "-emit-llvm-bc"
|
||||
! CHECK-EMIT-LLVM-BC-DAG: "-o" "{{[^"]*}}.bc"
|
||||
|
||||
|
@ -12,8 +12,8 @@
|
||||
// RUN: %clangxx -target x86_64-linux-gnu -fmemory-profile-use=foo %s -### 2>&1 | FileCheck %s --check-prefix=USE
|
||||
// USE: "-cc1" {{.*}} "-fmemory-profile-use=foo"
|
||||
|
||||
// RUN: %clangxx --target=x86_64-linux-gnu -fmemory-profile -fmemory-profile-use=foo %s -### 2>&1 | FileCheck %s --check-prefix=CONFLICTWITHMEMPROFINSTR
|
||||
// RUN: not %clangxx --target=x86_64-linux-gnu -fmemory-profile -fmemory-profile-use=foo %s -### 2>&1 | FileCheck %s --check-prefix=CONFLICTWITHMEMPROFINSTR
|
||||
// CONFLICTWITHMEMPROFINSTR: error: invalid argument '-fmemory-profile-use=foo' not allowed with '-fmemory-profile'
|
||||
|
||||
// RUN: %clangxx --target=x86_64-linux-gnu -fprofile-generate -fmemory-profile-use=foo %s -### 2>&1 | FileCheck %s --check-prefix=CONFLICTWITHPGOINSTR
|
||||
// RUN: not %clangxx --target=x86_64-linux-gnu -fprofile-generate -fmemory-profile-use=foo %s -### 2>&1 | FileCheck %s --check-prefix=CONFLICTWITHPGOINSTR
|
||||
// CONFLICTWITHPGOINSTR: error: invalid argument '-fmemory-profile-use=foo' not allowed with '-fprofile-generate'
|
||||
|
@ -5,5 +5,5 @@
|
||||
// RUN: %clang -### -c %s -fmessage-length=0 2>&1 | FileCheck --check-prefix=ZERO %s
|
||||
// ZERO-NOT: "-fmessage-length=0"
|
||||
|
||||
// RUN: %clang -### -c %s -fmessage-length=nan 2>&1 | FileCheck --check-prefix=ERR %s
|
||||
// RUN: not %clang -### -c %s -fmessage-length=nan 2>&1 | FileCheck --check-prefix=ERR %s
|
||||
// ERR: error: invalid argument 'nan' to -fmessage-length=
|
||||
|
@ -42,7 +42,7 @@
|
||||
// RUN: FileCheck --check-prefix=KEEP-NONE %s
|
||||
|
||||
// -pg -fomit-frame-pointer => error.
|
||||
// RUN: %clang -### -S -fomit-frame-pointer -pg %s 2>&1 | FileCheck -check-prefix=CHECK-NO-MIX-OMIT-FP-PG %s
|
||||
// RUN: not %clang -### -S -fomit-frame-pointer -pg %s 2>&1 | FileCheck -check-prefix=CHECK-NO-MIX-OMIT-FP-PG %s
|
||||
// RUN: %clang -### -S -fomit-frame-pointer -fno-omit-frame-pointer -pg %s 2>&1 | FileCheck -check-prefix=CHECK-MIX-NO-OMIT-FP-PG %s
|
||||
// CHECK-NO-MIX-OMIT-FP-PG: '-fomit-frame-pointer' not allowed with '-pg'
|
||||
// CHECK-MIX-NO-OMIT-FP-PG-NOT: '-fomit-frame-pointer' not allowed with '-pg'
|
||||
@ -161,7 +161,7 @@
|
||||
// RUN: FileCheck --check-prefix=KEEP-ALL %s
|
||||
// RUN: %clang -### --target=riscv64-linux-android -O1 -S %s 2>&1 | \
|
||||
// RUN: FileCheck --check-prefix=KEEP-NON-LEAF %s
|
||||
// RUN: %clang -### --target=riscv64-linux-android -mbig-endian -O1 -S %s 2>&1 | \
|
||||
// RUN: not %clang -### --target=riscv64-linux-android -mbig-endian -O1 -S %s 2>&1 | \
|
||||
// RUN: FileCheck --check-prefix=KEEP-NON-LEAF %s
|
||||
void f0() {}
|
||||
void f1() { f0(); }
|
||||
|
@ -14,7 +14,7 @@
|
||||
// RUN: FileCheck -check-prefix=CHECK-GLOBAL-ARG %s
|
||||
// CHECK-GLOBAL-ARG: "-fsanitize-address-destructor=global"
|
||||
|
||||
// RUN: %clang -target x86_64-apple-macosx10.15-gnu -fsanitize=address \
|
||||
// RUN: not %clang -target x86_64-apple-macosx10.15-gnu -fsanitize=address \
|
||||
// RUN: -fsanitize-address-destructor=bad_arg %s -### 2>&1 | \
|
||||
// RUN: FileCheck -check-prefix=CHECK-INVALID-ARG %s
|
||||
// CHECK-INVALID-ARG: error: unsupported argument 'bad_arg' to option '-fsanitize-address-destructor='
|
||||
|
@ -54,10 +54,10 @@
|
||||
// CHECK-MASK: -fsanitize-coverage-trace-cmp
|
||||
// CHECK-MASK-NOT: -fsanitize-coverage-
|
||||
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fsanitize=address -fsanitize-coverage=foobar %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-INVALID-VALUE
|
||||
// RUN: not %clang --target=x86_64-linux-gnu -fsanitize=address -fsanitize-coverage=foobar %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-INVALID-VALUE
|
||||
// CHECK-INVALID-VALUE: error: unsupported argument 'foobar' to option '-fsanitize-coverage='
|
||||
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fsanitize=address -fsanitize-coverage=func -fsanitize-coverage=edge %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-INCOMPATIBLE
|
||||
// RUN: not %clang --target=x86_64-linux-gnu -fsanitize=address -fsanitize-coverage=func -fsanitize-coverage=edge %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-INCOMPATIBLE
|
||||
// CHECK-INCOMPATIBLE: error: invalid argument '-fsanitize-coverage=func' not allowed with '-fsanitize-coverage=edge'
|
||||
|
||||
// RUN: %clang -target x86_64-linux-gnu -fsanitize-coverage=8bit-counters %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-8BIT
|
||||
|
@ -45,11 +45,11 @@
|
||||
// CHECK-NO-IGNORELIST-NOT: -fsanitize-ignorelist
|
||||
|
||||
// Driver barks on unexisting ignorelist files.
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fno-sanitize-ignorelist -fsanitize-ignorelist=unexisting.txt %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-NO-SUCH-FILE
|
||||
// RUN: not %clang --target=x86_64-linux-gnu -fno-sanitize-ignorelist -fsanitize-ignorelist=unexisting.txt %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-NO-SUCH-FILE
|
||||
// CHECK-NO-SUCH-FILE: error: no such file or directory: 'unexisting.txt'
|
||||
|
||||
// Driver properly reports malformed ignorelist files.
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fsanitize=address -fsanitize-ignorelist=%t.second -fsanitize-ignorelist=%t.bad -fsanitize-ignorelist=%t.good %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-BAD-IGNORELIST
|
||||
// RUN: not %clang --target=x86_64-linux-gnu -fsanitize=address -fsanitize-ignorelist=%t.second -fsanitize-ignorelist=%t.bad -fsanitize-ignorelist=%t.good %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-BAD-IGNORELIST
|
||||
// CHECK-BAD-IGNORELIST: error: malformed sanitizer ignorelist: 'error parsing file '{{.*}}.bad': malformed line 1: 'badline''
|
||||
|
||||
// -fno-sanitize-ignorelist disables all ignorelists specified earlier.
|
||||
@ -63,7 +63,7 @@
|
||||
// CHECK-DISABLED-SYSTEM-NOT: -fsanitize-system-ignorelist
|
||||
|
||||
// If cfi_ignorelist.txt cannot be found in the resource dir, driver should fail.
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fsanitize=cfi -flto -fvisibility=default -resource-dir=/dev/null %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-MISSING-CFI-IGNORELIST
|
||||
// RUN: not %clang --target=x86_64-linux-gnu -fsanitize=cfi -flto -fvisibility=default -resource-dir=/dev/null %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-MISSING-CFI-IGNORELIST
|
||||
// CHECK-MISSING-CFI-IGNORELIST: error: missing sanitizer ignorelist: '{{.*}}cfi_ignorelist.txt'
|
||||
|
||||
// -fno-sanitize-ignorelist disables checking for cfi_ignorelist.txt in the resource dir.
|
||||
|
@ -1,7 +1,7 @@
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fexperimental-sanitize-metadata=all -fno-experimental-sanitize-metadata=all %s -### 2>&1 | FileCheck %s
|
||||
// CHECK-NOT: -fexperimental-sanitize-metadata
|
||||
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fexperimental-sanitize-metadata=bad_arg %s -### 2>&1 | FileCheck -check-prefix=CHECK-INVALID %s
|
||||
// RUN: not %clang --target=x86_64-linux-gnu -fexperimental-sanitize-metadata=bad_arg %s -### 2>&1 | FileCheck -check-prefix=CHECK-INVALID %s
|
||||
// CHECK-INVALID: error: unsupported argument 'bad_arg' to option '-fexperimental-sanitize-metadata='
|
||||
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fexperimental-sanitize-metadata=covered %s -### 2>&1 | FileCheck -check-prefix=CHECK-COVERED %s
|
||||
|
@ -24,7 +24,7 @@
|
||||
// RUN: FileCheck -check-prefix=CHECK-ALWAYS-ARG %s
|
||||
// CHECK-ALWAYS-ARG: "-fsanitize-address-use-after-return=always"
|
||||
|
||||
// RUN: %clang -target x86_64-apple-macosx10.15-gnu -fsanitize=address \
|
||||
// RUN: not %clang -target x86_64-apple-macosx10.15-gnu -fsanitize=address \
|
||||
// RUN: -fsanitize-address-use-after-return=bad_arg %s -### 2>&1 | \
|
||||
// RUN: FileCheck -check-prefix=CHECK-INVALID-ARG %s
|
||||
// CHECK-INVALID-ARG: error: unsupported argument 'bad_arg' to option '-fsanitize-address-use-after-return='
|
||||
|
@ -83,7 +83,7 @@
|
||||
// RUN: %clang -fsanitize=bounds -### -fsyntax-only %s 2>&1 | FileCheck %s --check-prefix=CHECK-BOUNDS
|
||||
// CHECK-BOUNDS: "-fsanitize={{((array-bounds|local-bounds),?){2}"}}
|
||||
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fsanitize=all %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-FSANITIZE-ALL
|
||||
// RUN: not %clang --target=x86_64-linux-gnu -fsanitize=all %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-FSANITIZE-ALL
|
||||
// CHECK-FSANITIZE-ALL: error: unsupported argument 'all' to option '-fsanitize='
|
||||
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fsanitize=address,undefined -fno-sanitize=all -fsanitize=thread %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-FNO-SANITIZE-ALL
|
||||
@ -95,112 +95,112 @@
|
||||
// RUN: %clang -fsanitize=shift -fno-sanitize=shift-base %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-FSANITIZE-SHIFT-PARTIAL
|
||||
// CHECK-FSANITIZE-SHIFT-PARTIAL: "-fsanitize=shift-exponent"
|
||||
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fsanitize=vptr -fsanitize-trap=undefined %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-VPTR-TRAP-UNDEF
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fsanitize=vptr -fsanitize-undefined-trap-on-error %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-VPTR-TRAP-UNDEF
|
||||
// RUN: not %clang --target=x86_64-linux-gnu -fsanitize=vptr -fsanitize-trap=undefined %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-VPTR-TRAP-UNDEF
|
||||
// RUN: not %clang --target=x86_64-linux-gnu -fsanitize=vptr -fsanitize-undefined-trap-on-error %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-VPTR-TRAP-UNDEF
|
||||
// CHECK-VPTR-TRAP-UNDEF: error: invalid argument '-fsanitize=vptr' not allowed with '-fsanitize-trap=undefined'
|
||||
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fsanitize=vptr -fno-rtti %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-VPTR-NO-RTTI
|
||||
// RUN: not %clang --target=x86_64-linux-gnu -fsanitize=vptr -fno-rtti %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-VPTR-NO-RTTI
|
||||
// CHECK-VPTR-NO-RTTI: '-fsanitize=vptr' not allowed with '-fno-rtti'
|
||||
|
||||
// RUN: %clang -fsanitize=undefined -fno-rtti %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-UNDEFINED-NO-RTTI
|
||||
// CHECK-UNDEFINED-NO-RTTI-NOT: vptr
|
||||
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fsanitize=address,thread -fno-rtti %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SANA-SANT
|
||||
// RUN: not %clang --target=x86_64-linux-gnu -fsanitize=address,thread -fno-rtti %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SANA-SANT
|
||||
// CHECK-SANA-SANT: '-fsanitize=address' not allowed with '-fsanitize=thread'
|
||||
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fsanitize=address,memory -pie -fno-rtti %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SANA-SANM
|
||||
// RUN: not %clang --target=x86_64-linux-gnu -fsanitize=address,memory -pie -fno-rtti %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SANA-SANM
|
||||
// CHECK-SANA-SANM: '-fsanitize=address' not allowed with '-fsanitize=memory'
|
||||
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fsanitize=thread,memory -pie -fno-rtti %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SANT-SANM
|
||||
// RUN: not %clang --target=x86_64-linux-gnu -fsanitize=thread,memory -pie -fno-rtti %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SANT-SANM
|
||||
// CHECK-SANT-SANM: '-fsanitize=thread' not allowed with '-fsanitize=memory'
|
||||
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fsanitize=memory,thread -pie -fno-rtti %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SANM-SANT
|
||||
// RUN: not %clang --target=x86_64-linux-gnu -fsanitize=memory,thread -pie -fno-rtti %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SANM-SANT
|
||||
// CHECK-SANM-SANT: '-fsanitize=thread' not allowed with '-fsanitize=memory'
|
||||
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fsanitize=leak,thread -pie -fno-rtti %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SANL-SANT
|
||||
// RUN: not %clang --target=x86_64-linux-gnu -fsanitize=leak,thread -pie -fno-rtti %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SANL-SANT
|
||||
// CHECK-SANL-SANT: '-fsanitize=leak' not allowed with '-fsanitize=thread'
|
||||
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fsanitize=leak,memory -pie -fno-rtti %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SANL-SANM
|
||||
// RUN: not %clang --target=x86_64-linux-gnu -fsanitize=leak,memory -pie -fno-rtti %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SANL-SANM
|
||||
// CHECK-SANL-SANM: '-fsanitize=leak' not allowed with '-fsanitize=memory'
|
||||
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fsanitize=kernel-memory,address -pie -fno-rtti %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-KMSAN-ASAN
|
||||
// RUN: not %clang --target=x86_64-linux-gnu -fsanitize=kernel-memory,address -pie -fno-rtti %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-KMSAN-ASAN
|
||||
// CHECK-KMSAN-ASAN: '-fsanitize=kernel-memory' not allowed with '-fsanitize=address'
|
||||
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fsanitize=kernel-memory,hwaddress -pie -fno-rtti %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-KMSAN-HWASAN
|
||||
// RUN: not %clang --target=x86_64-linux-gnu -fsanitize=kernel-memory,hwaddress -pie -fno-rtti %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-KMSAN-HWASAN
|
||||
// CHECK-KMSAN-HWASAN: '-fsanitize=kernel-memory' not allowed with '-fsanitize=hwaddress'
|
||||
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fsanitize=kernel-memory,leak -pie -fno-rtti %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-KMSAN-LSAN
|
||||
// RUN: not %clang --target=x86_64-linux-gnu -fsanitize=kernel-memory,leak -pie -fno-rtti %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-KMSAN-LSAN
|
||||
// CHECK-KMSAN-LSAN: '-fsanitize=kernel-memory' not allowed with '-fsanitize=leak'
|
||||
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fsanitize=kernel-memory,thread -pie -fno-rtti %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-KMSAN-TSAN
|
||||
// RUN: not %clang --target=x86_64-linux-gnu -fsanitize=kernel-memory,thread -pie -fno-rtti %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-KMSAN-TSAN
|
||||
// CHECK-KMSAN-TSAN: '-fsanitize=kernel-memory' not allowed with '-fsanitize=thread'
|
||||
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fsanitize=kernel-memory,kernel-address -pie -fno-rtti %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-KMSAN-KASAN
|
||||
// RUN: not %clang --target=x86_64-linux-gnu -fsanitize=kernel-memory,kernel-address -pie -fno-rtti %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-KMSAN-KASAN
|
||||
// CHECK-KMSAN-KASAN: '-fsanitize=kernel-memory' not allowed with '-fsanitize=kernel-address'
|
||||
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fsanitize=kernel-memory,memory -pie -fno-rtti %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-KMSAN-MSAN
|
||||
// RUN: not %clang --target=x86_64-linux-gnu -fsanitize=kernel-memory,memory -pie -fno-rtti %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-KMSAN-MSAN
|
||||
// CHECK-KMSAN-MSAN: '-fsanitize=kernel-memory' not allowed with '-fsanitize=memory'
|
||||
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fsanitize=kernel-memory,safe-stack -pie -fno-rtti %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-KMSAN-SAFESTACK
|
||||
// RUN: not %clang --target=x86_64-linux-gnu -fsanitize=kernel-memory,safe-stack -pie -fno-rtti %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-KMSAN-SAFESTACK
|
||||
// CHECK-KMSAN-SAFESTACK: '-fsanitize=kernel-memory' not allowed with '-fsanitize=safe-stack'
|
||||
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fsanitize=kernel-address,thread -fno-rtti %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SANKA-SANT
|
||||
// RUN: not %clang --target=x86_64-linux-gnu -fsanitize=kernel-address,thread -fno-rtti %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SANKA-SANT
|
||||
// CHECK-SANKA-SANT: '-fsanitize=kernel-address' not allowed with '-fsanitize=thread'
|
||||
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fsanitize=kernel-address,memory -pie -fno-rtti %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SANKA-SANM
|
||||
// RUN: not %clang --target=x86_64-linux-gnu -fsanitize=kernel-address,memory -pie -fno-rtti %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SANKA-SANM
|
||||
// CHECK-SANKA-SANM: '-fsanitize=kernel-address' not allowed with '-fsanitize=memory'
|
||||
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fsanitize=kernel-address,address -fno-rtti %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SANKA-SANA
|
||||
// RUN: not %clang --target=x86_64-linux-gnu -fsanitize=kernel-address,address -fno-rtti %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SANKA-SANA
|
||||
// CHECK-SANKA-SANA: '-fsanitize=kernel-address' not allowed with '-fsanitize=address'
|
||||
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fsanitize=kernel-address,leak -pie -fno-rtti %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SANKA-SANL
|
||||
// RUN: not %clang --target=x86_64-linux-gnu -fsanitize=kernel-address,leak -pie -fno-rtti %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SANKA-SANL
|
||||
// CHECK-SANKA-SANL: '-fsanitize=kernel-address' not allowed with '-fsanitize=leak'
|
||||
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fsanitize=kernel-hwaddress,thread -fno-rtti %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SANKHA-SANT
|
||||
// RUN: not %clang --target=x86_64-linux-gnu -fsanitize=kernel-hwaddress,thread -fno-rtti %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SANKHA-SANT
|
||||
// CHECK-SANKHA-SANT: '-fsanitize=kernel-hwaddress' not allowed with '-fsanitize=thread'
|
||||
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fsanitize=kernel-hwaddress,memory -pie -fno-rtti %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SANKHA-SANM
|
||||
// RUN: not %clang --target=x86_64-linux-gnu -fsanitize=kernel-hwaddress,memory -pie -fno-rtti %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SANKHA-SANM
|
||||
// CHECK-SANKHA-SANM: '-fsanitize=kernel-hwaddress' not allowed with '-fsanitize=memory'
|
||||
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fsanitize=kernel-hwaddress,address -fno-rtti %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SANKHA-SANA
|
||||
// RUN: not %clang --target=x86_64-linux-gnu -fsanitize=kernel-hwaddress,address -fno-rtti %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SANKHA-SANA
|
||||
// CHECK-SANKHA-SANA: '-fsanitize=kernel-hwaddress' not allowed with '-fsanitize=address'
|
||||
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fsanitize=kernel-hwaddress,leak -pie -fno-rtti %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SANKHA-SANL
|
||||
// RUN: not %clang --target=x86_64-linux-gnu -fsanitize=kernel-hwaddress,leak -pie -fno-rtti %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SANKHA-SANL
|
||||
// CHECK-SANKHA-SANL: '-fsanitize=kernel-hwaddress' not allowed with '-fsanitize=leak'
|
||||
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fsanitize=kernel-hwaddress,hwaddress -fno-rtti %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SANKHA-SANHA
|
||||
// RUN: not %clang --target=x86_64-linux-gnu -fsanitize=kernel-hwaddress,hwaddress -fno-rtti %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SANKHA-SANHA
|
||||
// CHECK-SANKHA-SANHA: '-fsanitize=kernel-hwaddress' not allowed with '-fsanitize=hwaddress'
|
||||
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fsanitize=kernel-hwaddress,kernel-address -pie -fno-rtti %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SANKHA-SANKA
|
||||
// RUN: not %clang --target=x86_64-linux-gnu -fsanitize=kernel-hwaddress,kernel-address -pie -fno-rtti %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SANKHA-SANKA
|
||||
// CHECK-SANKHA-SANKA: '-fsanitize=kernel-hwaddress' not allowed with '-fsanitize=kernel-address'
|
||||
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fsanitize=hwaddress,thread -fno-rtti %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SANHA-SANT
|
||||
// RUN: not %clang --target=x86_64-linux-gnu -fsanitize=hwaddress,thread -fno-rtti %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SANHA-SANT
|
||||
// CHECK-SANHA-SANT: '-fsanitize=hwaddress' not allowed with '-fsanitize=thread'
|
||||
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fsanitize=hwaddress,memory -pie -fno-rtti %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SANHA-SANM
|
||||
// RUN: not %clang --target=x86_64-linux-gnu -fsanitize=hwaddress,memory -pie -fno-rtti %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SANHA-SANM
|
||||
// CHECK-SANHA-SANM: '-fsanitize=hwaddress' not allowed with '-fsanitize=memory'
|
||||
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fsanitize=hwaddress,address -fno-rtti %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SANHA-SANA
|
||||
// RUN: not %clang --target=x86_64-linux-gnu -fsanitize=hwaddress,address -fno-rtti %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SANHA-SANA
|
||||
// CHECK-SANHA-SANA: '-fsanitize=hwaddress' not allowed with '-fsanitize=address'
|
||||
|
||||
// RUN: %clang --target=aarch64-linux-android -fsanitize=memtag,address -fno-rtti %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SANMT-SANA
|
||||
// RUN: not %clang --target=aarch64-linux-android -fsanitize=memtag,address -fno-rtti %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SANMT-SANA
|
||||
// CHECK-SANMT-SANA: '-fsanitize=memtag' not allowed with '-fsanitize=address'
|
||||
|
||||
// RUN: %clang --target=aarch64-linux-android -fsanitize=memtag,hwaddress -fno-rtti %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SANMT-SANHA
|
||||
// RUN: not %clang --target=aarch64-linux-android -fsanitize=memtag,hwaddress -fno-rtti %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SANMT-SANHA
|
||||
// CHECK-SANMT-SANHA: '-fsanitize=memtag' not allowed with '-fsanitize=hwaddress'
|
||||
|
||||
// RUN: %clang --target=i386-linux-android -fsanitize=memtag -fno-rtti %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SANMT-BAD-ARCH
|
||||
// RUN: %clang --target=x86_64-linux-android -fsanitize=memtag -fno-rtti %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SANMT-BAD-ARCH
|
||||
// RUN: not %clang --target=i386-linux-android -fsanitize=memtag -fno-rtti %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SANMT-BAD-ARCH
|
||||
// RUN: not %clang --target=x86_64-linux-android -fsanitize=memtag -fno-rtti %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SANMT-BAD-ARCH
|
||||
// CHECK-SANMT-BAD-ARCH: unsupported option '-fsanitize=memtag' for target
|
||||
|
||||
// RUN: %clang --target=aarch64-linux-android31 -fsanitize=memtag -march=armv8-a+memtag %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SANMT-MT
|
||||
// CHECK-SANMT-MT: "-target-feature" "+mte"
|
||||
// CHECK-SANMT-MT-SAME: "-fsanitize=memtag-stack,memtag-heap,memtag-globals"
|
||||
|
||||
// RUN: %clang --target=aarch64-linux -fsanitize=memtag %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SANMT-NOMT-0
|
||||
// RUN: not %clang --target=aarch64-linux -fsanitize=memtag %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SANMT-NOMT-0
|
||||
// CHECK-SANMT-NOMT-0: '-fsanitize=memtag-stack' requires hardware support (+memtag)
|
||||
|
||||
// RUN: %clang --target=aarch64-linux -fsanitize=memtag -I +mte %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SANMT-NOMT-1
|
||||
// RUN: not %clang --target=aarch64-linux -fsanitize=memtag -I +mte %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SANMT-NOMT-1
|
||||
// CHECK-SANMT-NOMT-1: '-fsanitize=memtag-stack' requires hardware support (+memtag)
|
||||
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fsanitize=address -fsanitize-address-use-after-scope %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-USE-AFTER-SCOPE
|
||||
@ -312,7 +312,7 @@
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fsanitize=memory -fsanitize-memory-track-origins=2 -pie %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-TRACK-ORIGINS-2
|
||||
// CHECK-TRACK-ORIGINS-2: -fsanitize-memory-track-origins=2
|
||||
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fsanitize=memory -fsanitize-memory-track-origins=3 -pie %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-TRACK-ORIGINS-3
|
||||
// RUN: not %clang --target=x86_64-linux-gnu -fsanitize=memory -fsanitize-memory-track-origins=3 -pie %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-TRACK-ORIGINS-3
|
||||
// CHECK-TRACK-ORIGINS-3: error: invalid value '3' in '-fsanitize-memory-track-origins=3'
|
||||
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fsanitize=memory -fsanitize-memory-use-after-dtor %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-USE-AFTER-DTOR
|
||||
@ -330,7 +330,7 @@
|
||||
// CHECK-ASAN-FIELD-PADDING-1: -fsanitize-address-field-padding=1
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fsanitize=address -fsanitize-address-field-padding=2 %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-ASAN-FIELD-PADDING-2
|
||||
// CHECK-ASAN-FIELD-PADDING-2: -fsanitize-address-field-padding=2
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fsanitize=address -fsanitize-address-field-padding=3 %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-ASAN-FIELD-PADDING-3
|
||||
// RUN: not %clang --target=x86_64-linux-gnu -fsanitize=address -fsanitize-address-field-padding=3 %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-ASAN-FIELD-PADDING-3
|
||||
// CHECK-ASAN-FIELD-PADDING-3: error: invalid value '3' in '-fsanitize-address-field-padding=3'
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fsanitize-address-field-padding=2 %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-ASAN-FIELD-PADDING-NO-ASAN
|
||||
// CHECK-ASAN-FIELD-PADDING-NO-ASAN: warning: argument unused during compilation: '-fsanitize-address-field-padding=2'
|
||||
@ -361,15 +361,15 @@
|
||||
// RUN: %clang --target=x86_64-linux-gnu %s -fsanitize=address -fsanitize-recover -### 2>&1 | FileCheck %s --check-prefix=CHECK-RECOVER-ASAN
|
||||
// CHECK-RECOVER-ASAN: "-fsanitize-recover=address"
|
||||
|
||||
// RUN: %clang --target=x86_64-linux-gnu %s -fsanitize=undefined -fsanitize-recover=foobar,object-size,unreachable -### 2>&1 | FileCheck %s --check-prefix=CHECK-DIAG-RECOVER
|
||||
// RUN: not %clang --target=x86_64-linux-gnu %s -fsanitize=undefined -fsanitize-recover=foobar,object-size,unreachable -### 2>&1 | FileCheck %s --check-prefix=CHECK-DIAG-RECOVER
|
||||
// CHECK-DIAG-RECOVER: unsupported argument 'foobar' to option '-fsanitize-recover='
|
||||
// CHECK-DIAG-RECOVER: unsupported argument 'unreachable' to option '-fsanitize-recover='
|
||||
|
||||
// RUN: %clang --target=x86_64-linux-gnu %s -fsanitize=undefined -fsanitize-recover -fno-sanitize-recover -### 2>&1 | FileCheck %s --check-prefix=CHECK-DEPRECATED-RECOVER
|
||||
// CHECK-DEPRECATED-RECOVER-NOT: is deprecated
|
||||
|
||||
// RUN: %clang --target=x86_64-linux-gnu %s -fsanitize=kernel-address -fno-sanitize-recover=kernel-address -### 2>&1 | FileCheck %s --check-prefix=CHECK-NO-RECOVER-KASAN
|
||||
// RUN: %clang --target=x86_64-linux-gnu %s -fsanitize=kernel-hwaddress -fno-sanitize-recover=kernel-hwaddress -### 2>&1 | FileCheck %s --check-prefix=CHECK-NO-RECOVER-KHWASAN
|
||||
// RUN: not %clang --target=x86_64-linux-gnu %s -fsanitize=kernel-address -fno-sanitize-recover=kernel-address -### 2>&1 | FileCheck %s --check-prefix=CHECK-NO-RECOVER-KASAN
|
||||
// RUN: not %clang --target=x86_64-linux-gnu %s -fsanitize=kernel-hwaddress -fno-sanitize-recover=kernel-hwaddress -### 2>&1 | FileCheck %s --check-prefix=CHECK-NO-RECOVER-KHWASAN
|
||||
// CHECK-NO-RECOVER-KASAN: unsupported argument 'kernel-address' to option '-fno-sanitize-recover='
|
||||
// CHECK-NO-RECOVER-KHWASAN: unsupported argument 'kernel-hwaddress' to option '-fno-sanitize-recover='
|
||||
|
||||
@ -409,10 +409,10 @@
|
||||
// RUN: %clang --target=thumbeb-linux -fsanitize=address,leak -fno-sanitize=address %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SANA-SANL-NO-SANA-THUMBEB
|
||||
// CHECK-SANA-SANL-NO-SANA-THUMBEB: "-fsanitize=leak"
|
||||
|
||||
// RUN: %clang --target=mips-unknown-linux -fsanitize=leak %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SANL-MIPS
|
||||
// RUN: not %clang --target=mips-unknown-linux -fsanitize=leak %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SANL-MIPS
|
||||
// CHECK-SANL-MIPS: unsupported option '-fsanitize=leak' for target 'mips-unknown-linux'
|
||||
|
||||
// RUN: %clang --target=mips-unknown-freebsd -fsanitize=leak %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SANL-MIPS-FREEBSD
|
||||
// RUN: not %clang --target=mips-unknown-freebsd -fsanitize=leak %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SANL-MIPS-FREEBSD
|
||||
// CHECK-SANL-MIPS-FREEBSD: unsupported option '-fsanitize=leak' for target 'mips-unknown-freebsd'
|
||||
|
||||
// RUN: %clang --target=mips64-unknown-freebsd -fsanitize=leak %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SANL-MIPS64-FREEBSD
|
||||
@ -421,7 +421,7 @@
|
||||
// RUN: %clang --target=powerpc64-unknown-linux -fsanitize=leak %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SANL-PPC64
|
||||
// RUN: %clang --target=powerpc64le-unknown-linux -fsanitize=leak %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SANL-PPC64
|
||||
// CHECK-SANL-PPC64: "-fsanitize=leak"
|
||||
// RUN: %clang --target=powerpc-unknown-linux -fsanitize=leak %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SANL-PPC
|
||||
// RUN: not %clang --target=powerpc-unknown-linux -fsanitize=leak %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SANL-PPC
|
||||
// CHECK-SANL-PPC: unsupported option '-fsanitize=leak' for target 'powerpc-unknown-linux'
|
||||
|
||||
// RUN: %clang --target=riscv64-linux-gnu -fsanitize=leak %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SANL-RISCV64
|
||||
@ -441,21 +441,21 @@
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fsanitize=address %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-ASAN
|
||||
// CHECK-ASAN: "-fno-assume-sane-operator-new"
|
||||
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fsanitize=zzz %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-DIAG1
|
||||
// RUN: not %clang --target=x86_64-linux-gnu -fsanitize=zzz %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-DIAG1
|
||||
// CHECK-DIAG1: unsupported argument 'zzz' to option '-fsanitize='
|
||||
// CHECK-DIAG1-NOT: unsupported argument 'zzz' to option '-fsanitize='
|
||||
|
||||
// RUN: %clang --target=x86_64-apple-darwin10 -fsanitize=memory %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-MSAN-DARWIN
|
||||
// RUN: not %clang --target=x86_64-apple-darwin10 -fsanitize=memory %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-MSAN-DARWIN
|
||||
// CHECK-MSAN-DARWIN: unsupported option '-fsanitize=memory' for target 'x86_64-apple-darwin10'
|
||||
|
||||
// RUN: %clang --target=x86_64-apple-darwin10 -fsanitize=memory -fno-sanitize=memory %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-MSAN-NOMSAN-DARWIN
|
||||
// CHECK-MSAN-NOMSAN-DARWIN-NOT: unsupported option
|
||||
|
||||
// RUN: %clang --target=x86_64-apple-darwin10 -fsanitize=memory -fsanitize=thread,memory %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-MSAN-TSAN-MSAN-DARWIN
|
||||
// RUN: not %clang --target=x86_64-apple-darwin10 -fsanitize=memory -fsanitize=thread,memory %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-MSAN-TSAN-MSAN-DARWIN
|
||||
// CHECK-MSAN-TSAN-MSAN-DARWIN: unsupported option '-fsanitize=memory' for target 'x86_64-apple-darwin10'
|
||||
// CHECK-MSAN-TSAN-MSAN-DARWIN-NOT: unsupported option
|
||||
|
||||
// RUN: %clang --target=x86_64-apple-darwin10 -fsanitize=thread,memory -fsanitize=memory %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-TSAN-MSAN-MSAN-DARWIN
|
||||
// RUN: not %clang --target=x86_64-apple-darwin10 -fsanitize=thread,memory -fsanitize=memory %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-TSAN-MSAN-MSAN-DARWIN
|
||||
// CHECK-TSAN-MSAN-MSAN-DARWIN: unsupported option '-fsanitize=memory' for target 'x86_64-apple-darwin10'
|
||||
// CHECK-TSAN-MSAN-MSAN-DARWIN-NOT: unsupported option
|
||||
|
||||
@ -484,16 +484,16 @@
|
||||
// RUN: %clang --target=x86_64-apple-tvos-simulator -fsanitize=thread %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-TSAN-X86-64-TVOSSIMULATOR
|
||||
// CHECK-TSAN-X86-64-TVOSSIMULATOR-NOT: unsupported option
|
||||
|
||||
// RUN: %clang --target=i386-apple-darwin -fsanitize=thread %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-TSAN-I386-DARWIN
|
||||
// RUN: not %clang --target=i386-apple-darwin -fsanitize=thread %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-TSAN-I386-DARWIN
|
||||
// CHECK-TSAN-I386-DARWIN: unsupported option '-fsanitize=thread' for target 'i386-apple-darwin'
|
||||
|
||||
// RUN: %clang --target=arm-apple-ios -fsanitize=thread %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-TSAN-ARM-IOS
|
||||
// RUN: not %clang --target=arm-apple-ios -fsanitize=thread %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-TSAN-ARM-IOS
|
||||
// CHECK-TSAN-ARM-IOS: unsupported option '-fsanitize=thread' for target 'arm-apple-ios'
|
||||
|
||||
// RUN: %clang --target=i386-apple-ios-simulator -fsanitize=thread %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-TSAN-I386-IOSSIMULATOR
|
||||
// RUN: not %clang --target=i386-apple-ios-simulator -fsanitize=thread %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-TSAN-I386-IOSSIMULATOR
|
||||
// CHECK-TSAN-I386-IOSSIMULATOR: unsupported option '-fsanitize=thread' for target 'i386-apple-ios-simulator'
|
||||
|
||||
// RUN: %clang --target=i386-apple-tvos-simulator -fsanitize=thread %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-TSAN-I386-TVOSSIMULATOR
|
||||
// RUN: not %clang --target=i386-apple-tvos-simulator -fsanitize=thread %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-TSAN-I386-TVOSSIMULATOR
|
||||
// CHECK-TSAN-I386-TVOSSIMULATOR: unsupported option '-fsanitize=thread' for target 'i386-apple-tvos-simulator'
|
||||
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fsanitize=thread -fsanitize-thread-memory-access %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-TSAN-MEMORY-ACCESS
|
||||
@ -530,10 +530,10 @@
|
||||
// RUN: %clang --target=riscv64-pc-freebsd -fsanitize=function %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-FUNCTION
|
||||
// CHECK-FUNCTION: -cc1{{.*}}"-fsanitize=function" "-fsanitize-recover=function"
|
||||
|
||||
// RUN: %clang --target=x86_64-apple-darwin10 -mmacosx-version-min=10.8 -fsanitize=vptr %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-VPTR-DARWIN-OLD
|
||||
// RUN: not %clang --target=x86_64-apple-darwin10 -mmacosx-version-min=10.8 -fsanitize=vptr %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-VPTR-DARWIN-OLD
|
||||
// CHECK-VPTR-DARWIN-OLD: unsupported option '-fsanitize=vptr' for target 'x86_64-apple-darwin10'
|
||||
|
||||
// RUN: %clang --target=arm-apple-ios4 -fsanitize=vptr %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-VPTR-IOS-OLD
|
||||
// RUN: not %clang --target=arm-apple-ios4 -fsanitize=vptr %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-VPTR-IOS-OLD
|
||||
// CHECK-VPTR-IOS-OLD: unsupported option '-fsanitize=vptr' for target 'arm-apple-ios4'
|
||||
|
||||
// RUN: %clang --target=aarch64-apple-darwin15.0.0 -fsanitize=vptr %s -### 2>&1
|
||||
@ -551,16 +551,16 @@
|
||||
// RUN %clang --target=i386-pc-openbsd -fsanitize=undefined %s -### 2>&1 | FileCheck --check-prefix=CHECK-UBSAN-OPENBSD
|
||||
// CHECK-UBSAN-OPENBSD: -fsanitize=undefined
|
||||
|
||||
// RUN: %clang --target=i386-pc-openbsd -fsanitize=address %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-ASAN-OPENBSD
|
||||
// RUN: not %clang --target=i386-pc-openbsd -fsanitize=address %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-ASAN-OPENBSD
|
||||
// CHECK-ASAN-OPENBSD: unsupported option '-fsanitize=address' for target 'i386-pc-openbsd'
|
||||
|
||||
// RUN: %clang --target=i386-pc-openbsd -fsanitize=leak %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-LSAN-OPENBSD
|
||||
// RUN: not %clang --target=i386-pc-openbsd -fsanitize=leak %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-LSAN-OPENBSD
|
||||
// CHECK-LSAN-OPENBSD: unsupported option '-fsanitize=leak' for target 'i386-pc-openbsd'
|
||||
|
||||
// RUN: %clang --target=i386-pc-openbsd -fsanitize=thread %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-TSAN-OPENBSD
|
||||
// RUN: not %clang --target=i386-pc-openbsd -fsanitize=thread %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-TSAN-OPENBSD
|
||||
// CHECK-TSAN-OPENBSD: unsupported option '-fsanitize=thread' for target 'i386-pc-openbsd'
|
||||
|
||||
// RUN: %clang --target=i386-pc-openbsd -fsanitize=memory %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-MSAN-OPENBSD
|
||||
// RUN: not %clang --target=i386-pc-openbsd -fsanitize=memory %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-MSAN-OPENBSD
|
||||
// CHECK-MSAN-OPENBSD: unsupported option '-fsanitize=memory' for target 'i386-pc-openbsd'
|
||||
|
||||
// RUN: %clang --target=x86_64-apple-darwin -fsanitize=leak %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-LSAN-X86-64-DARWIN
|
||||
@ -607,10 +607,10 @@
|
||||
// CHECK-CFI-NVCALL: -emit-llvm-bc{{.*}}-fsanitize=cfi-nvcall
|
||||
// CHECK-CFI-VCALL: -emit-llvm-bc{{.*}}-fsanitize=cfi-vcall
|
||||
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fvisibility=hidden -flto -fsanitize=cfi-derived-cast -fno-lto -c %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-CFI-NOLTO
|
||||
// RUN: not %clang --target=x86_64-linux-gnu -fvisibility=hidden -flto -fsanitize=cfi-derived-cast -fno-lto -c %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-CFI-NOLTO
|
||||
// CHECK-CFI-NOLTO: '-fsanitize=cfi-derived-cast' only allowed with '-flto'
|
||||
|
||||
// RUN: %clang --target=x86_64-linux-gnu -flto -fsanitize=cfi-derived-cast -c %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-CFI-NOVIS
|
||||
// RUN: not %clang --target=x86_64-linux-gnu -flto -fsanitize=cfi-derived-cast -c %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-CFI-NOVIS
|
||||
// CHECK-CFI-NOVIS: error: invalid argument '-fsanitize=cfi-derived-cast' only allowed with '-fvisibility='
|
||||
|
||||
// RUN: %clang --target=x86_64-pc-win32 -flto -fsanitize=cfi-derived-cast -resource-dir=%S/Inputs/resource_dir -c %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-CFI-NOVIS-NOERROR
|
||||
@ -618,16 +618,16 @@
|
||||
// RUN: %clang --target=x86_64-linux-gnu -flto -fsanitize=cfi-derived-cast -resource-dir=%S/Inputs/resource_dir %t.o -### 2>&1 | FileCheck %s --check-prefix=CHECK-CFI-NOVIS-NOERROR
|
||||
// CHECK-CFI-NOVIS-NOERROR-NOT: only allowed with
|
||||
|
||||
// RUN: %clang --target=mips-unknown-linux -fsanitize=cfi-icall %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-CFI-ICALL-MIPS
|
||||
// RUN: not %clang --target=mips-unknown-linux -fsanitize=cfi-icall %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-CFI-ICALL-MIPS
|
||||
// CHECK-CFI-ICALL-MIPS: error: unsupported option '-fsanitize=cfi-icall' for target 'mips-unknown-linux'
|
||||
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fsanitize-trap=address -c %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-ASAN-TRAP
|
||||
// RUN: not %clang --target=x86_64-linux-gnu -fsanitize-trap=address -c %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-ASAN-TRAP
|
||||
// CHECK-ASAN-TRAP: error: unsupported argument 'address' to option '-fsanitize-trap='
|
||||
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fsanitize-trap=hwaddress -c %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-HWASAN-TRAP
|
||||
// RUN: not %clang --target=x86_64-linux-gnu -fsanitize-trap=hwaddress -c %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-HWASAN-TRAP
|
||||
// CHECK-HWASAN-TRAP: error: unsupported argument 'hwaddress' to option '-fsanitize-trap='
|
||||
|
||||
// RUN: %clang --target=x86_64-apple-darwin10 -mmacosx-version-min=10.7 -flto -fsanitize=cfi-vcall -fno-sanitize-trap=cfi -c %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-CFI-NOTRAP-OLD-MACOS
|
||||
// RUN: not %clang --target=x86_64-apple-darwin10 -mmacosx-version-min=10.7 -flto -fsanitize=cfi-vcall -fno-sanitize-trap=cfi -c %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-CFI-NOTRAP-OLD-MACOS
|
||||
// CHECK-CFI-NOTRAP-OLD-MACOS: error: unsupported option '-fno-sanitize-trap=cfi-vcall' for target 'x86_64-apple-darwin10'
|
||||
|
||||
// RUN: %clang --target=x86_64-pc-win32 -flto -fsanitize=cfi-vcall -fno-sanitize-trap=cfi -c -resource-dir=%S/Inputs/resource_dir %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-CFI-NOTRAP-WIN
|
||||
@ -643,7 +643,7 @@
|
||||
// CHECK-CFI-NO-CROSS-DSO: -emit-llvm-bc
|
||||
// CHECK-CFI-NO-CROSS-DSO-NOT: -fsanitize-cfi-cross-dso
|
||||
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fvisibility=hidden -fsanitize=cfi-mfcall -fsanitize-cfi-cross-dso -flto -c %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-CFI-MFCALL-CROSS-DSO
|
||||
// RUN: not %clang --target=x86_64-linux-gnu -fvisibility=hidden -fsanitize=cfi-mfcall -fsanitize-cfi-cross-dso -flto -c %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-CFI-MFCALL-CROSS-DSO
|
||||
// CHECK-CFI-MFCALL-CROSS-DSO: '-fsanitize=cfi-mfcall' not allowed with '-fsanitize-cfi-cross-dso'
|
||||
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fsanitize=cfi-icall -fsanitize-cfi-icall-generalize-pointers -fvisibility=hidden -flto -c -resource-dir=%S/Inputs/resource_dir %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-CFI-GENERALIZE-POINTERS
|
||||
@ -651,7 +651,7 @@
|
||||
// CHECK-CFI-GENERALIZE-POINTERS: -fsanitize-cfi-icall-generalize-pointers
|
||||
// CHECK-NO-CFI-GENERALIZE-POINTERS-NOT: -fsanitize-cfi-icall-generalize-pointers
|
||||
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fsanitize=cfi-icall -fsanitize-cfi-icall-generalize-pointers -fsanitize-cfi-cross-dso -fvisibility=hidden -flto -c %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-CFI-GENERALIZE-AND-CROSS-DSO
|
||||
// RUN: not %clang --target=x86_64-linux-gnu -fsanitize=cfi-icall -fsanitize-cfi-icall-generalize-pointers -fsanitize-cfi-cross-dso -fvisibility=hidden -flto -c %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-CFI-GENERALIZE-AND-CROSS-DSO
|
||||
// CHECK-CFI-GENERALIZE-AND-CROSS-DSO: error: invalid argument '-fsanitize-cfi-cross-dso' not allowed with '-fsanitize-cfi-icall-generalize-pointers'
|
||||
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fsanitize=cfi-icall -fsanitize-cfi-canonical-jump-tables -fvisibility=hidden -flto -c -resource-dir=%S/Inputs/resource_dir %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-CFI-CANONICAL-JUMP-TABLES
|
||||
@ -663,27 +663,27 @@
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fsanitize=cfi -fsanitize-stats -flto -fvisibility=hidden -c -resource-dir=%S/Inputs/resource_dir %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-CFI-STATS
|
||||
// CHECK-CFI-STATS: -fsanitize-stats
|
||||
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fsanitize=kcfi -fsanitize=cfi -flto -fvisibility=hidden %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-KCFI-NOCFI
|
||||
// RUN: not %clang --target=x86_64-linux-gnu -fsanitize=kcfi -fsanitize=cfi -flto -fvisibility=hidden %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-KCFI-NOCFI
|
||||
// CHECK-KCFI-NOCFI: error: invalid argument '-fsanitize=kcfi' not allowed with '-fsanitize=cfi'
|
||||
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fsanitize=kcfi -fsanitize-trap=kcfi %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-KCFI-NOTRAP
|
||||
// RUN: not %clang --target=x86_64-linux-gnu -fsanitize=kcfi -fsanitize-trap=kcfi %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-KCFI-NOTRAP
|
||||
// CHECK-KCFI-NOTRAP: error: unsupported argument 'kcfi' to option '-fsanitize-trap='
|
||||
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fsanitize=kcfi %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-KCFI
|
||||
// CHECK-KCFI: "-fsanitize=kcfi"
|
||||
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fsanitize=kcfi -fno-sanitize-recover=kcfi %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-KCFI-RECOVER
|
||||
// RUN: not %clang --target=x86_64-linux-gnu -fsanitize=kcfi -fno-sanitize-recover=kcfi %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-KCFI-RECOVER
|
||||
// CHECK-KCFI-RECOVER: error: unsupported argument 'kcfi' to option '-fno-sanitize-recover='
|
||||
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fsanitize=kcfi,function %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-KCFI-FUNCTION
|
||||
// RUN: not %clang --target=x86_64-linux-gnu -fsanitize=kcfi,function %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-KCFI-FUNCTION
|
||||
// CHECK-KCFI-FUNCTION: error: invalid argument '-fsanitize=kcfi' not allowed with '-fsanitize=function'
|
||||
|
||||
// RUN: %clang_cl -fsanitize=address -c -MDd -### -- %s 2>&1 | FileCheck %s -check-prefix=CHECK-ASAN-DEBUGRTL
|
||||
// RUN: %clang_cl -fsanitize=address -c -MTd -### -- %s 2>&1 | FileCheck %s -check-prefix=CHECK-ASAN-DEBUGRTL
|
||||
// RUN: %clang_cl -fsanitize=address -c -LDd -### -- %s 2>&1 | FileCheck %s -check-prefix=CHECK-ASAN-DEBUGRTL
|
||||
// RUN: %clang_cl -fsanitize=address -c -MD -MDd -### -- %s 2>&1 | FileCheck %s -check-prefix=CHECK-ASAN-DEBUGRTL
|
||||
// RUN: %clang_cl -fsanitize=address -c -MT -MTd -### -- %s 2>&1 | FileCheck %s -check-prefix=CHECK-ASAN-DEBUGRTL
|
||||
// RUN: %clang_cl -fsanitize=address -c -LD -LDd -### -- %s 2>&1 | FileCheck %s -check-prefix=CHECK-ASAN-DEBUGRTL
|
||||
// RUN: not %clang_cl -fsanitize=address -c -MDd -### -- %s 2>&1 | FileCheck %s -check-prefix=CHECK-ASAN-DEBUGRTL
|
||||
// RUN: not %clang_cl -fsanitize=address -c -MTd -### -- %s 2>&1 | FileCheck %s -check-prefix=CHECK-ASAN-DEBUGRTL
|
||||
// RUN: not %clang_cl -fsanitize=address -c -LDd -### -- %s 2>&1 | FileCheck %s -check-prefix=CHECK-ASAN-DEBUGRTL
|
||||
// RUN: not %clang_cl -fsanitize=address -c -MD -MDd -### -- %s 2>&1 | FileCheck %s -check-prefix=CHECK-ASAN-DEBUGRTL
|
||||
// RUN: not %clang_cl -fsanitize=address -c -MT -MTd -### -- %s 2>&1 | FileCheck %s -check-prefix=CHECK-ASAN-DEBUGRTL
|
||||
// RUN: not %clang_cl -fsanitize=address -c -LD -LDd -### -- %s 2>&1 | FileCheck %s -check-prefix=CHECK-ASAN-DEBUGRTL
|
||||
// CHECK-ASAN-DEBUGRTL: error: invalid argument
|
||||
// CHECK-ASAN-DEBUGRTL: not allowed with '-fsanitize=address'
|
||||
// CHECK-ASAN-DEBUGRTL: note: AddressSanitizer doesn't support linking with debug runtime libraries yet
|
||||
@ -700,7 +700,7 @@
|
||||
// NOSP-NOT: "-fsanitize=safe-stack"
|
||||
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fsanitize=safe-stack -### %s 2>&1 | FileCheck %s -check-prefix=NO-SP
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fsanitize=address,safe-stack -### %s 2>&1 | FileCheck %s -check-prefix=SP-ASAN
|
||||
// RUN: not %clang --target=x86_64-linux-gnu -fsanitize=address,safe-stack -### %s 2>&1 | FileCheck %s -check-prefix=SP-ASAN
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fstack-protector -fsanitize=safe-stack -### %s 2>&1 | FileCheck %s -check-prefix=SP
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fsanitize=safe-stack -fstack-protector-all -### %s 2>&1 | FileCheck %s -check-prefix=SP
|
||||
// RUN: %clang --target=arm-linux-androideabi -fsanitize=safe-stack -### %s 2>&1 | FileCheck %s -check-prefix=NO-SP
|
||||
@ -792,13 +792,13 @@
|
||||
// FUNCTION-SOLARIS: "-fsanitize=function"
|
||||
|
||||
|
||||
// RUN: %clang --target=x86_64-scei-ps4 -fsanitize=dataflow %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-DFSAN-PS4
|
||||
// RUN: not %clang --target=x86_64-scei-ps4 -fsanitize=dataflow %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-DFSAN-PS4
|
||||
// CHECK-DFSAN-PS4: unsupported option '-fsanitize=dataflow' for target 'x86_64-scei-ps4'
|
||||
// RUN: %clang --target=x86_64-scei-ps4 -fsanitize=leak %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-LSAN-PS4
|
||||
// RUN: not %clang --target=x86_64-scei-ps4 -fsanitize=leak %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-LSAN-PS4
|
||||
// CHECK-LSAN-PS4: unsupported option '-fsanitize=leak' for target 'x86_64-scei-ps4'
|
||||
// RUN: %clang --target=x86_64-scei-ps4 -fsanitize=memory %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-MSAN-PS4
|
||||
// RUN: not %clang --target=x86_64-scei-ps4 -fsanitize=memory %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-MSAN-PS4
|
||||
// CHECK-MSAN-PS4: unsupported option '-fsanitize=memory' for target 'x86_64-scei-ps4'
|
||||
// RUN: %clang --target=x86_64-scei-ps4 -fsanitize=thread %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-TSAN-PS4
|
||||
// RUN: not %clang --target=x86_64-scei-ps4 -fsanitize=thread %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-TSAN-PS4
|
||||
// CHECK-TSAN-PS4: unsupported option '-fsanitize=thread' for target 'x86_64-scei-ps4'
|
||||
// RUN: %clang --target=x86_64-scei-ps4 -fsanitize=address %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-ASAN-PS4
|
||||
// Make sure there are no *.{o,bc} or -l passed before the ASan library.
|
||||
@ -834,10 +834,10 @@
|
||||
// CHECK-TSAN-NOLIB-PS5-NOT: SceThreadSanitizer_nosubmission_stub_weak
|
||||
|
||||
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fsanitize=address -fsanitize-minimal-runtime %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-ASAN-MINIMAL
|
||||
// RUN: not %clang --target=x86_64-linux-gnu -fsanitize=address -fsanitize-minimal-runtime %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-ASAN-MINIMAL
|
||||
// CHECK-ASAN-MINIMAL: error: invalid argument '-fsanitize-minimal-runtime' not allowed with '-fsanitize=address'
|
||||
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fsanitize=thread -fsanitize-minimal-runtime %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-TSAN-MINIMAL
|
||||
// RUN: not %clang --target=x86_64-linux-gnu -fsanitize=thread -fsanitize-minimal-runtime %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-TSAN-MINIMAL
|
||||
// CHECK-TSAN-MINIMAL: error: invalid argument '-fsanitize-minimal-runtime' not allowed with '-fsanitize=thread'
|
||||
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fsanitize=undefined -fsanitize-minimal-runtime %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-UBSAN-MINIMAL
|
||||
@ -857,12 +857,12 @@
|
||||
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fsanitize=undefined -fsanitize=function -fsanitize-minimal-runtime %s -### 2>&1 | FileCheck /dev/null --implicit-check-not=error:
|
||||
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fsanitize=undefined -fsanitize=vptr -fsanitize-minimal-runtime %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-UBSAN-VPTR-MINIMAL
|
||||
// RUN: not %clang --target=x86_64-linux-gnu -fsanitize=undefined -fsanitize=vptr -fsanitize-minimal-runtime %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-UBSAN-VPTR-MINIMAL
|
||||
// CHECK-UBSAN-VPTR-MINIMAL: error: invalid argument '-fsanitize=vptr' not allowed with '-fsanitize-minimal-runtime'
|
||||
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fsanitize=address -fsanitize-minimal-runtime -fsanitize=undefined %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-ASAN-UBSAN-MINIMAL
|
||||
// RUN: not %clang --target=x86_64-linux-gnu -fsanitize=address -fsanitize-minimal-runtime -fsanitize=undefined %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-ASAN-UBSAN-MINIMAL
|
||||
// CHECK-ASAN-UBSAN-MINIMAL: error: invalid argument '-fsanitize-minimal-runtime' not allowed with '-fsanitize=address'
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fsanitize=hwaddress -fsanitize-minimal-runtime %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-HWASAN-MINIMAL
|
||||
// RUN: not %clang --target=x86_64-linux-gnu -fsanitize=hwaddress -fsanitize-minimal-runtime %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-HWASAN-MINIMAL
|
||||
// CHECK-HWASAN-MINIMAL: error: invalid argument '-fsanitize-minimal-runtime' not allowed with '-fsanitize=hwaddress'
|
||||
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fsanitize=cfi -flto -fvisibility=hidden -fsanitize-minimal-runtime -resource-dir=%S/Inputs/resource_dir %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-CFI-MINIMAL
|
||||
@ -870,7 +870,7 @@
|
||||
// CHECK-CFI-MINIMAL: "-fsanitize-trap=cfi-derived-cast,cfi-icall,cfi-mfcall,cfi-unrelated-cast,cfi-nvcall,cfi-vcall"
|
||||
// CHECK-CFI-MINIMAL: "-fsanitize-minimal-runtime"
|
||||
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fsanitize=cfi -fno-sanitize-trap=cfi-icall -flto -fvisibility=hidden -fsanitize-minimal-runtime %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-CFI-NOTRAP-MINIMAL
|
||||
// RUN: not %clang --target=x86_64-linux-gnu -fsanitize=cfi -fno-sanitize-trap=cfi-icall -flto -fvisibility=hidden -fsanitize-minimal-runtime %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-CFI-NOTRAP-MINIMAL
|
||||
// CHECK-CFI-NOTRAP-MINIMAL: error: invalid argument 'fsanitize-minimal-runtime' only allowed with 'fsanitize-trap=cfi'
|
||||
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fsanitize=cfi -fno-sanitize-trap=cfi-icall -fno-sanitize=cfi-icall -flto -fvisibility=hidden -fsanitize-minimal-runtime -resource-dir=%S/Inputs/resource_dir %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-CFI-NOICALL-MINIMAL
|
||||
@ -916,27 +916,27 @@
|
||||
// CHECK-SCUDO-UBSAN-MINIMAL: "-fsanitize={{.*}}scudo"
|
||||
// CHECK-SCUDO-UBSAN-MINIMAL: "-fsanitize-minimal-runtime"
|
||||
|
||||
// RUN: %clang --target=powerpc-unknown-linux -fsanitize=scudo %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-NO-SCUDO
|
||||
// RUN: not %clang --target=powerpc-unknown-linux -fsanitize=scudo %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-NO-SCUDO
|
||||
// CHECK-NO-SCUDO: unsupported option
|
||||
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fsanitize=scudo,address %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SCUDO-ASAN
|
||||
// RUN: not %clang --target=x86_64-linux-gnu -fsanitize=scudo,address %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SCUDO-ASAN
|
||||
// CHECK-SCUDO-ASAN: error: invalid argument '-fsanitize=scudo' not allowed with '-fsanitize=address'
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fsanitize=scudo,leak %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SCUDO-LSAN
|
||||
// RUN: not %clang --target=x86_64-linux-gnu -fsanitize=scudo,leak %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SCUDO-LSAN
|
||||
// CHECK-SCUDO-LSAN: error: invalid argument '-fsanitize=scudo' not allowed with '-fsanitize=leak'
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fsanitize=scudo,memory %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SCUDO-MSAN
|
||||
// RUN: not %clang --target=x86_64-linux-gnu -fsanitize=scudo,memory %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SCUDO-MSAN
|
||||
// CHECK-SCUDO-MSAN: error: invalid argument '-fsanitize=scudo' not allowed with '-fsanitize=memory'
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fsanitize=scudo,thread %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SCUDO-TSAN
|
||||
// RUN: not %clang --target=x86_64-linux-gnu -fsanitize=scudo,thread %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SCUDO-TSAN
|
||||
// CHECK-SCUDO-TSAN: error: invalid argument '-fsanitize=scudo' not allowed with '-fsanitize=thread'
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fsanitize=scudo,hwaddress %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SCUDO-HWASAN
|
||||
// RUN: not %clang --target=x86_64-linux-gnu -fsanitize=scudo,hwaddress %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SCUDO-HWASAN
|
||||
// CHECK-SCUDO-HWASAN: error: invalid argument '-fsanitize=scudo' not allowed with '-fsanitize=hwaddress'
|
||||
//
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fsanitize=scudo,kernel-memory %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SCUDO-KMSAN
|
||||
// RUN: not %clang --target=x86_64-linux-gnu -fsanitize=scudo,kernel-memory %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SCUDO-KMSAN
|
||||
// CHECK-SCUDO-KMSAN: error: invalid argument '-fsanitize=kernel-memory' not allowed with '-fsanitize=scudo'
|
||||
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fsanitize=hwaddress %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-HWASAN-INTERCEPTOR-ABI
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fsanitize=hwaddress -fsanitize-hwaddress-abi=interceptor %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-HWASAN-INTERCEPTOR-ABI
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fsanitize=hwaddress -fsanitize-hwaddress-abi=platform %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-HWASAN-PLATFORM-ABI
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fsanitize=hwaddress -fsanitize-hwaddress-abi=foo %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-HWASAN-FOO-ABI
|
||||
// RUN: not %clang --target=x86_64-linux-gnu -fsanitize=hwaddress -fsanitize-hwaddress-abi=foo %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-HWASAN-FOO-ABI
|
||||
// CHECK-HWASAN-INTERCEPTOR-ABI: "-default-function-attr" "hwasan-abi=interceptor"
|
||||
// CHECK-HWASAN-PLATFORM-ABI: "-default-function-attr" "hwasan-abi=platform"
|
||||
// CHECK-HWASAN-FOO-ABI: error: invalid value 'foo' in '-fsanitize-hwaddress-abi=foo'
|
||||
@ -945,8 +945,8 @@
|
||||
// CHECK-HWASAN-ALIAS: "-mllvm" "-hwasan-experimental-use-page-aliases=1"
|
||||
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fsanitize=address,pointer-compare,pointer-subtract %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-POINTER-ALL
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fsanitize=pointer-compare %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-POINTER-CMP-NEEDS-ADDRESS
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fsanitize=pointer-subtract %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-POINTER-SUB-NEEDS-ADDRESS
|
||||
// RUN: not %clang --target=x86_64-linux-gnu -fsanitize=pointer-compare %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-POINTER-CMP-NEEDS-ADDRESS
|
||||
// RUN: not %clang --target=x86_64-linux-gnu -fsanitize=pointer-subtract %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-POINTER-SUB-NEEDS-ADDRESS
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fsanitize=pointer-subtract -fno-sanitize=pointer-subtract %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-NO-POINTER-SUB
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fsanitize=pointer-compare -fno-sanitize=pointer-compare %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-NO-POINTER-CMP
|
||||
// CHECK-POINTER-ALL: -cc1{{.*}}-fsanitize={{[^"]*}}pointer-compare,pointer-subtract{{.*}}" {{.*}} "-mllvm" "-asan-detect-invalid-pointer-cmp" {{.*}}"-mllvm" "-asan-detect-invalid-pointer-sub"
|
||||
@ -969,5 +969,5 @@
|
||||
// RUN: %clang -fsanitize=undefined,float-divide-by-zero %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-DIVBYZERO-UBSAN
|
||||
// CHECK-DIVBYZERO-UBSAN: "-fsanitize={{.*}},float-divide-by-zero,{{.*}}"
|
||||
|
||||
// RUN: %clang --target=x86_64-linux-gnu -fsanitize=undefined,function -mcmodel=large %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-UBSAN-FUNCTION-CODE-MODEL
|
||||
// RUN: not %clang --target=x86_64-linux-gnu -fsanitize=undefined,function -mcmodel=large %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-UBSAN-FUNCTION-CODE-MODEL
|
||||
// CHECK-UBSAN-FUNCTION-CODE-MODEL: error: invalid argument '-fsanitize=function' only allowed with '-mcmodel=small'
|
||||
|
@ -71,7 +71,7 @@
|
||||
// CHECK-FP-NONLEAF: "-mframe-pointer=non-leaf"
|
||||
// CHECK-FP-NONE: "-mframe-pointer=none"
|
||||
|
||||
// RUN: %clang -### %s --target=x86_64-unknown-fuchsia -rtlib=libgcc 2>&1 \
|
||||
// RUN: not %clang -### %s --target=x86_64-unknown-fuchsia -rtlib=libgcc 2>&1 \
|
||||
// RUN: | FileCheck %s -check-prefix=CHECK-RTLIB
|
||||
// CHECK-RTLIB: error: invalid runtime library name in argument '-rtlib=libgcc'
|
||||
|
||||
|
@ -61,7 +61,7 @@
|
||||
// CHECK-NOT: crtend.o
|
||||
// CHECK-NOT: crtn.o
|
||||
|
||||
// RUN: %clangxx -### %s --target=x86_64-unknown-fuchsia -stdlib=libstdc++ 2>&1 \
|
||||
// RUN: not %clangxx -### %s --target=x86_64-unknown-fuchsia -stdlib=libstdc++ 2>&1 \
|
||||
// RUN: | FileCheck %s -check-prefix=CHECK-STDLIB
|
||||
// CHECK-STDLIB: error: invalid library name in argument '-stdlib=libstdc++'
|
||||
|
||||
|
@ -4,8 +4,8 @@
|
||||
// RUN: %clang -### -falign-functions=2 %s 2>&1 | FileCheck %s -check-prefix CHECK-2
|
||||
// RUN: %clang -### -falign-functions=3 %s 2>&1 | FileCheck %s -check-prefix CHECK-3
|
||||
// RUN: %clang -### -falign-functions=4 %s 2>&1 | FileCheck %s -check-prefix CHECK-4
|
||||
// RUN: %clang -### -falign-functions=65537 %s 2>&1 | FileCheck %s -check-prefix CHECK-ERR-65537
|
||||
// RUN: %clang -### -falign-functions=a %s 2>&1 | FileCheck %s -check-prefix CHECK-ERR-A
|
||||
// RUN: not %clang -### -falign-functions=65537 %s 2>&1 | FileCheck %s -check-prefix CHECK-ERR-65537
|
||||
// RUN: not %clang -### -falign-functions=a %s 2>&1 | FileCheck %s -check-prefix CHECK-ERR-A
|
||||
|
||||
// CHECK-0-NOT: "-function-alignment"
|
||||
// CHECK-1-NOT: "-function-alignment"
|
||||
|
@ -1,15 +1,15 @@
|
||||
/// The absolute path warning is enabled by -Wfuse-ld-path and -Wextra.
|
||||
// RUN: %clang %s -### --target=x86_64-unknown-linux -Wfuse-ld-path \
|
||||
// RUN: not %clang %s -### --target=x86_64-unknown-linux -Wfuse-ld-path \
|
||||
// RUN: -fuse-ld=/usr/local/bin/or1k-linux-ld 2>&1 | \
|
||||
// RUN: FileCheck %s --check-prefix=CHECK-ABSOLUTE-LD
|
||||
// CHECK-ABSOLUTE-LD: warning: '-fuse-ld=' taking a path is deprecated; use '--ld-path=' instead
|
||||
// CHECK-ABSOLUTE-LD: /usr/local/bin/or1k-linux-ld
|
||||
|
||||
// RUN: %clang %s -### --target=x86_64-unknown-linux -Wextra \
|
||||
// RUN: not %clang %s -### --target=x86_64-unknown-linux -Wextra \
|
||||
// RUN: -fuse-ld=/usr/local/bin/or1k-linux-ld 2>&1 | \
|
||||
// RUN: FileCheck %s --check-prefix=CHECK-ABSOLUTE-LD
|
||||
|
||||
// RUN: %clang %s -### --target=x86_64-unknown-linux \
|
||||
// RUN: not %clang %s -### --target=x86_64-unknown-linux \
|
||||
// RUN: -fuse-ld=/usr/local/bin/or1k-linux-ld 2>&1 | \
|
||||
// RUN: FileCheck %s --check-prefix=CHECK-NO-WARN
|
||||
// CHECK-NO-WARN-NOT: warning:
|
||||
@ -33,7 +33,7 @@
|
||||
// RUN: | FileCheck %s -check-prefix=CHECK-FREEBSD-GOLD
|
||||
// CHECK-FREEBSD-GOLD: Inputs/basic_freebsd_tree/usr/bin{{/|\\+}}ld.gold
|
||||
|
||||
// RUN: %clang %s -### -fuse-ld=plib \
|
||||
// RUN: not %clang %s -### -fuse-ld=plib \
|
||||
// RUN: --sysroot=%S/Inputs/basic_freebsd_tree \
|
||||
// RUN: -target x86_64-unknown-freebsd \
|
||||
// RUN: -B%S/Inputs/basic_freebsd_tree/usr/bin 2>&1 \
|
||||
|
@ -37,7 +37,7 @@
|
||||
// DEBIAN_X86_64_M32-SAME: {{^}}[[SYSROOT]]/usr/lib/gcc/x86_64-linux-gnu/10/32"
|
||||
// DEBIAN_X86_64_M32-SAME: {{^}} "-L[[SYSROOT]]/usr/lib/gcc/x86_64-linux-gnu/10/../../../../lib32"
|
||||
|
||||
// RUN: %clangxx %s -### --target=x86_64-unknown-linux-gnu --sysroot=%S/Inputs/debian_multiarch_tree \
|
||||
// RUN: not %clangxx %s -### --target=x86_64-unknown-linux-gnu --sysroot=%S/Inputs/debian_multiarch_tree \
|
||||
// RUN: -ccc-install-dir %S/Inputs/basic_linux_tree/usr/bin -resource-dir=%S/Inputs/resource_dir --stdlib=platform --rtlib=platform \
|
||||
// RUN: --gcc-install-dir=%S/Inputs/debian_multiarch_tree/usr/lib/gcc/x86_64-linux-gnu 2>&1 | FileCheck %s --check-prefix=INVALID
|
||||
// INVALID: error: '{{.*}}/usr/lib/gcc/x86_64-linux-gnu' does not contain a GCC installation
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user