mirror of
https://github.com/Gericom/teak-llvm.git
synced 2025-06-27 07:19:03 -04:00

LLVM triple normalization is handling "unknown" and empty components differently; for example given "x86_64-unknown-linux-gnu" and "x86_64-linux-gnu" which should be equivalent, triple normalization returns "x86_64-unknown-linux-gnu" and "x86_64--linux-gnu". autoconf's config.sub returns "x86_64-unknown-linux-gnu" for both "x86_64-linux-gnu" and "x86_64-unknown-linux-gnu". This changes the triple normalization to behave the same way, replacing empty triple components with "unknown". This addresses PR37129. Differential Revision: https://reviews.llvm.org/D50219 llvm-svn: 339294
24 lines
787 B
Plaintext
24 lines
787 B
Plaintext
// Check that -stack-protector doesn't get passed down to device-side
|
|
// compilation.
|
|
//
|
|
// REQUIRES: clang-driver
|
|
//
|
|
// RUN: %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: -fstack-protector-strong %s 2>&1 | \
|
|
// RUN: FileCheck %s
|
|
//
|
|
// RUN: %clang -### -target x86_64-linux-gnu -c --cuda-gpu-arch=sm_20 \
|
|
// RUN: -fstack-protector %s 2>&1 | \
|
|
// RUN: FileCheck %s
|
|
//
|
|
// CHECK-NOT: error: unsupported option '-fstack-protector
|
|
// CHECK-DAG: "-fcuda-is-device"
|
|
// CHECK-NOT: "-stack-protector"
|
|
// CHECK-NOT: "-stack-protector-buffer-size"
|
|
// CHECK-DAG: "-triple" "x86_64-unknown-linux-gnu"
|
|
// CHECK: "-stack-protector"
|