diff options
author | Ekaterina Romanova <katya_romanova@playstation.sony.com> | 2015-10-14 01:09:02 +0000 |
---|---|---|
committer | Ekaterina Romanova <katya_romanova@playstation.sony.com> | 2015-10-14 01:09:02 +0000 |
commit | ae50156fbf658b08147f359c4639a7e23fd0b42b (patch) | |
tree | fbe4f535c8e2edebcdeb2a7ccea018e7c3e4d560 /clang/test | |
parent | 29ada6d178890d843133fd67300b96427951086a (diff) | |
download | bcm5719-llvm-ae50156fbf658b08147f359c4639a7e23fd0b42b.tar.gz bcm5719-llvm-ae50156fbf658b08147f359c4639a7e23fd0b42b.zip |
I took care of the build problem in the commit 250252.
Resubmitting the patch.
This patch adds missing pieces to clang, including the PS4 toolchain
definition, added warnings, PS4 defaults, and Driver changes needed for
our compiler.
A patch by Filipe Cabecinhas, Pierre Gousseau and Katya Romanova!
Differential Revision: http://reviews.llvm.org/D13482
llvm-svn: 250262
Diffstat (limited to 'clang/test')
-rw-r--r-- | clang/test/Driver/Inputs/scei-ps4_tree/target/include/.keep | 0 | ||||
-rw-r--r-- | clang/test/Driver/Inputs/scei-ps4_tree/target/include_common/.keep | 0 | ||||
-rw-r--r-- | clang/test/Driver/debug-options.c | 14 | ||||
-rw-r--r-- | clang/test/Driver/no-integrated-as.s | 8 | ||||
-rw-r--r-- | clang/test/Driver/ps4-header-search.c | 10 | ||||
-rw-r--r-- | clang/test/Driver/ps4-linker-non-win.c | 18 | ||||
-rw-r--r-- | clang/test/Driver/ps4-linker-win.c | 26 | ||||
-rw-r--r-- | clang/test/Driver/ps4-pic.c | 106 | ||||
-rw-r--r-- | clang/test/Driver/ps4-sdk-root.c | 48 | ||||
-rw-r--r-- | clang/test/Driver/stack-protector.c | 9 |
10 files changed, 239 insertions, 0 deletions
diff --git a/clang/test/Driver/Inputs/scei-ps4_tree/target/include/.keep b/clang/test/Driver/Inputs/scei-ps4_tree/target/include/.keep new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/clang/test/Driver/Inputs/scei-ps4_tree/target/include/.keep diff --git a/clang/test/Driver/Inputs/scei-ps4_tree/target/include_common/.keep b/clang/test/Driver/Inputs/scei-ps4_tree/target/include_common/.keep new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/clang/test/Driver/Inputs/scei-ps4_tree/target/include_common/.keep diff --git a/clang/test/Driver/debug-options.c b/clang/test/Driver/debug-options.c index 437e9fcb500..25ccc3ea4a1 100644 --- a/clang/test/Driver/debug-options.c +++ b/clang/test/Driver/debug-options.c @@ -27,6 +27,17 @@ // RUN: %clang -### -c -ggdb3 %s -target x86_64-apple-darwin 2>&1 \ // RUN: | FileCheck -check-prefix=G_DARWIN %s +// On the PS4, -g defaults to -gno-column-info, and we always generate the +// arange section. +// RUN: %clang -### -c %s -target x86_64-scei-ps4 2>&1 \ +// RUN: | FileCheck -check-prefix=G_PS4 %s +// RUN: %clang -### -c %s -g -target x86_64-scei-ps4 2>&1 \ +// RUN: | FileCheck -check-prefix=G_PS4 %s +// RUN: %clang -### -c %s -g -target x86_64-scei-ps4 2>&1 \ +// RUN: | FileCheck -check-prefix=NOCI %s +// RUN: %clang -### -c %s -g -gcolumn-info -target x86_64-scei-ps4 2>&1 \ +// RUN: | FileCheck -check-prefix=CI %s + // RUN: %clang -### -c -gdwarf-2 %s 2>&1 | FileCheck -check-prefix=G_D2 %s // // RUN: %clang -### -c -gfoo %s 2>&1 | FileCheck -check-prefix=G_NO %s @@ -86,6 +97,9 @@ // G_DARWIN: "-cc1" // G_DARWIN: "-dwarf-version=2" // +// G_PS4: "-cc1" +// G_PS4: "-generate-arange-section" +// // G_D2: "-cc1" // G_D2: "-dwarf-version=2" // diff --git a/clang/test/Driver/no-integrated-as.s b/clang/test/Driver/no-integrated-as.s new file mode 100644 index 00000000000..cd6f5e2867a --- /dev/null +++ b/clang/test/Driver/no-integrated-as.s @@ -0,0 +1,8 @@ +; RUN: %clang -### -no-integrated-as -c %s 2>&1 | FileCheck %s -check-prefix IAS +; Windows doesn't support no-integrated-as +; XFAIL: win32,win64 +; +; Make sure the current file's filename appears in the output. +; We can't generically match on the assembler name, so we just make sure +; the filename is in the output. +; IAS: no-integrated-as.s diff --git a/clang/test/Driver/ps4-header-search.c b/clang/test/Driver/ps4-header-search.c new file mode 100644 index 00000000000..15e093f60e6 --- /dev/null +++ b/clang/test/Driver/ps4-header-search.c @@ -0,0 +1,10 @@ +// REQUIRES: x86-registered-target + +// RUN: env SCE_PS4_SDK_DIR=%S/Inputs/scei-ps4_tree %clang -target x86_64-scei-ps4 -E -v %s 2>&1 | FileCheck %s --check-prefix=ENVPS4 +// ENVPS4: Inputs/scei-ps4_tree/target/include{{$}} +// ENVPS4: Inputs/scei-ps4_tree/target/include_common{{$}} + +// RUN: %clang -isysroot %S/Inputs/scei-ps4_tree -target x86_64-scei-ps4 -E -v %s 2>&1 | FileCheck %s --check-prefix=SYSROOTPS4 +// SYSROOTPS4: "{{[^"]*}}clang{{[^"]*}}" +// SYSROOTPS4: Inputs/scei-ps4_tree/target/include{{$}} +// SYSROOTPS4: Inputs/scei-ps4_tree/target/include_common{{$}} diff --git a/clang/test/Driver/ps4-linker-non-win.c b/clang/test/Driver/ps4-linker-non-win.c new file mode 100644 index 00000000000..9a895277027 --- /dev/null +++ b/clang/test/Driver/ps4-linker-non-win.c @@ -0,0 +1,18 @@ +// UNSUPPORTED: system-windows +// REQUIRES: x86-registered-target + +// RUN: touch %T/ps4-ld + +// RUN: env "PATH=%T" %clang -### -target x86_64-scei-ps4 %s -fuse-ld=gold 2>&1 \ +// RUN: | FileCheck --check-prefix=CHECK-PS4-LINKER %s +// RUN: env "PATH=%T" %clang -### -target x86_64-scei-ps4 %s -shared 2>&1 \ +// RUN: | FileCheck --check-prefix=CHECK-PS4-LINKER %s + +// RUN: env "PATH=%T" %clang -### -target x86_64-scei-ps4 %s 2>&1 \ +// RUN: | FileCheck --check-prefix=CHECK-PS4-LINKER %s +// RUN: env "PATH=%T" %clang -### -target x86_64-scei-ps4 %s -fuse-ld=ps4 2>&1 \ +// RUN: | FileCheck --check-prefix=CHECK-PS4-LINKER %s +// RUN: env "PATH=%T" %clang -### -target x86_64-scei-ps4 %s -shared \ +// RUN: -fuse-ld=ps4 2>&1 | FileCheck --check-prefix=CHECK-PS4-LINKER %s + +// CHECK-PS4-LINKER: ps4-ld diff --git a/clang/test/Driver/ps4-linker-win.c b/clang/test/Driver/ps4-linker-win.c new file mode 100644 index 00000000000..1681397b87a --- /dev/null +++ b/clang/test/Driver/ps4-linker-win.c @@ -0,0 +1,26 @@ +// The full path to the gold linker was not found on Windows because the +// driver fails to add an .exe extension to the name. +// We check that gold linker's full name (with an extension) is specified +// on the command line if -fuse-ld=gold, or -shared with no -fuse-ld option +// are passed. Otherwise, we check that the PS4's linker's full name is +// specified. + +// REQUIRES: system-windows, x86-registered-target + +// RUN: touch %T/ps4-ld.exe +// RUN: touch %T/ps4-ld.gold.exe + +// RUN: env "PATH=%T" %clang -target x86_64-scei-ps4 %s -fuse-ld=gold -### 2>&1 \ +// RUN: | FileCheck --check-prefix=CHECK-PS4-GOLD %s +// RUN: env "PATH=%T" %clang -target x86_64-scei-ps4 %s -shared -### 2>&1 \ +// RUN: | FileCheck --check-prefix=CHECK-PS4-GOLD %s + +// RUN: env "PATH=%T" %clang -target x86_64-scei-ps4 %s -### 2>&1 \ +// RUN: | FileCheck --check-prefix=CHECK-PS4-LINKER %s +// RUN: env "PATH=%T" %clang -target x86_64-scei-ps4 %s -fuse-ld=ps4 -### 2>&1 \ +// RUN: | FileCheck --check-prefix=CHECK-PS4-LINKER %s +// RUN: env "PATH=%T" %clang -target x86_64-scei-ps4 %s -shared \ +// RUN: -fuse-ld=ps4 -### 2>&1 | FileCheck --check-prefix=CHECK-PS4-LINKER %s + +// CHECK-PS4-GOLD: ps4-ld.gold.exe +// CHECK-PS4-LINKER: ps4-ld.exe diff --git a/clang/test/Driver/ps4-pic.c b/clang/test/Driver/ps4-pic.c new file mode 100644 index 00000000000..0cf9ad5f199 --- /dev/null +++ b/clang/test/Driver/ps4-pic.c @@ -0,0 +1,106 @@ +// REQUIRES: x86-registered-target + +// Test the driver's control over the PIC behavior for PS4 compiler. +// These consist of tests of the relocation model flags and the +// pic level flags passed to CC1. +// +// CHECK-NO-PIC: "-mrelocation-model" "static" +// CHECK-NO-PIC-NOT: "-pic-level" +// CHECK-NO-PIC-NOT: "-pie-level" +// +// CHECK-DYNAMIC-NO-PIC2: unsupported option '-mdynamic-no-pic' +// CHECK-DYNAMIC-NO-PIC2: "-mrelocation-model" "dynamic-no-pic" +// +// CHECK-PIC2: "-mrelocation-model" "pic" +// CHECK-PIC2: "-pic-level" "2" +// +// CHECK-PIE2: "-mrelocation-model" "pic" +// CHECK-PIE2: "-pie-level" "2" +// +// CHECK-NOPIC-IGNORED: using '-fPIC' +// CHECK-NOPIC-IGNORED: "-mrelocation-model" "pic" +// CHECK-NOPIC-IGNORED: "-pic-level" "2" +// +// CHECK-DIAG-PIC: option '-fno-PIC' was ignored by the PS4 toolchain, using '-fPIC' +// CHECK-DIAG-PIE: option '-fno-PIE' was ignored by the PS4 toolchain, using '-fPIC' +// CHECK-DIAG-pic: option '-fno-pic' was ignored by the PS4 toolchain, using '-fPIC' +// CHECK-DIAG-pie: option '-fno-pie' was ignored by the PS4 toolchain, using '-fPIC' +// +// CHECK-STATIC-ERR: unsupported option '-static' for target 'PS4' + +// RUN: %clang -c %s -target x86_64-scei-ps4 -### 2>&1 \ +// RUN: | FileCheck %s --check-prefix=CHECK-PIC2 +// RUN: %clang -c %s -target x86_64-scei-ps4 -fpic -### 2>&1 \ +// RUN: | FileCheck %s --check-prefix=CHECK-PIC2 +// RUN: %clang -c %s -target x86_64-scei-ps4 -fPIC -### 2>&1 \ +// RUN: | FileCheck %s --check-prefix=CHECK-PIC2 +// RUN: %clang -c %s -target x86_64-scei-ps4 -fpie -### 2>&1 \ +// RUN: | FileCheck %s --check-prefix=CHECK-PIE2 +// RUN: %clang -c %s -target x86_64-scei-ps4 -fPIE -### 2>&1 \ +// RUN: | FileCheck %s --check-prefix=CHECK-PIE2 +// RUN: %clang -c %s -target x86_64-scei-ps4 -fpic -fno-pic -### 2>&1 \ +// RUN: | FileCheck %s --check-prefix=CHECK-NOPIC-IGNORED +// RUN: %clang -c %s -target x86_64-scei-ps4 -fPIC -fno-PIC -### 2>&1 \ +// RUN: | FileCheck %s --check-prefix=CHECK-NOPIC-IGNORED +// RUN: %clang -c %s -target x86_64-scei-ps4 -fpic -fno-PIC -### 2>&1 \ +// RUN: | FileCheck %s --check-prefix=CHECK-NOPIC-IGNORED +// RUN: %clang -c %s -target x86_64-scei-ps4 -fPIC -fno-pic -### 2>&1 \ +// RUN: | FileCheck %s --check-prefix=CHECK-NOPIC-IGNORED +// RUN: %clang -c %s -target x86_64-scei-ps4 -fpie -fno-pie -### 2>&1 \ +// RUN: | FileCheck %s --check-prefix=CHECK-NOPIC-IGNORED +// RUN: %clang -c %s -target x86_64-scei-ps4 -fPIE -fno-PIE -### 2>&1 \ +// RUN: | FileCheck %s --check-prefix=CHECK-NOPIC-IGNORED +// RUN: %clang -c %s -target x86_64-scei-ps4 -fpie -fno-PIE -### 2>&1 \ +// RUN: | FileCheck %s --check-prefix=CHECK-NOPIC-IGNORED +// RUN: %clang -c %s -target x86_64-scei-ps4 -fPIE -fno-pie -### 2>&1 \ +// RUN: | FileCheck %s --check-prefix=CHECK-NOPIC-IGNORED +// RUN: %clang -c %s -target x86_64-scei-ps4 -fpie -fno-pic -### 2>&1 \ +// RUN: | FileCheck %s --check-prefix=CHECK-NOPIC-IGNORED +// RUN: %clang -c %s -target x86_64-scei-ps4 -fpic -fno-pie -### 2>&1 \ +// RUN: | FileCheck %s --check-prefix=CHECK-NOPIC-IGNORED +// RUN: %clang -c %s -target x86_64-scei-ps4 -fpic -fPIC -### 2>&1 \ +// RUN: | FileCheck %s --check-prefix=CHECK-PIC2 +// RUN: %clang -c %s -target x86_64-scei-ps4 -fPIC -fpic -### 2>&1 \ +// RUN: | FileCheck %s --check-prefix=CHECK-PIC2 +// RUN: %clang -c %s -target x86_64-scei-ps4 -fpic -fPIE -fpie -### 2>&1 \ +// RUN: | FileCheck %s --check-prefix=CHECK-PIE2 +// RUN: %clang -c %s -target x86_64-scei-ps4 -fpie -fPIC -fPIE -### 2>&1 \ +// RUN: | FileCheck %s --check-prefix=CHECK-PIE2 +// +// Defaults change for PS4. +// RUN: %clang -c %s -target x86_64-scei-ps4 -### 2>&1 \ +// RUN: | FileCheck %s --check-prefix=CHECK-PIC2 +// RUN: %clang -c %s -target x86_64-scei-ps4 -fno-pic -### 2>&1 \ +// RUN: | FileCheck %s --check-prefix=CHECK-NOPIC-IGNORED +// RUN: %clang -c %s -target x86_64-scei-ps4 -fno-PIC -### 2>&1 \ +// RUN: | FileCheck %s --check-prefix=CHECK-NOPIC-IGNORED +// +// Disregard any of the PIC-specific flags if we have a trump-card flag. +// RUN: %clang -c %s -target x86_64-scei-ps4 -mkernel -fPIC -### 2>&1 \ +// RUN: | FileCheck %s --check-prefix=CHECK-NO-PIC +// RUN: %clang -c %s -target x86_64-scei-ps4 -mdynamic-no-pic -fPIC -### 2>&1 \ +// RUN: | FileCheck %s --check-prefix=CHECK-DYNAMIC-NO-PIC2 +// +// -static not supported at all. +// RUN: %clang -c %s -target x86_64-scei-ps4 -static -### 2>&1 \ +// RUN: | FileCheck %s --check-prefix=CHECK-STATIC-ERR +// +// -fno-PIC etc. is obeyed if -mcmodel=kernel is also present. +// RUN: %clang -c %s -target x86_64-scei-ps4 -mcmodel=kernel -fno-PIC -### 2>&1 \ +// RUN: | FileCheck %s --check-prefix=CHECK-NO-PIC +// RUN: %clang -c %s -target x86_64-scei-ps4 -mcmodel=kernel -fno-PIE -### 2>&1 \ +// RUN: | FileCheck %s --check-prefix=CHECK-NO-PIC +// RUN: %clang -c %s -target x86_64-scei-ps4 -mcmodel=kernel -fno-pic -### 2>&1 \ +// RUN: | FileCheck %s --check-prefix=CHECK-NO-PIC +// RUN: %clang -c %s -target x86_64-scei-ps4 -mcmodel=kernel -fno-pie -### 2>&1 \ +// RUN: | FileCheck %s --check-prefix=CHECK-NO-PIC +// +// Verify that we reflect the option the user specified, when we ignore it. +// RUN: %clang -c %s -target x86_64-scei-ps4 -fno-PIC -### 2>&1 \ +// RUN: | FileCheck %s --check-prefix=CHECK-DIAG-PIC +// RUN: %clang -c %s -target x86_64-scei-ps4 -fno-PIE -### 2>&1 \ +// RUN: | FileCheck %s --check-prefix=CHECK-DIAG-PIE +// RUN: %clang -c %s -target x86_64-scei-ps4 -fno-pic -### 2>&1 \ +// RUN: | FileCheck %s --check-prefix=CHECK-DIAG-pic +// RUN: %clang -c %s -target x86_64-scei-ps4 -fno-pie -### 2>&1 \ +// RUN: | FileCheck %s --check-prefix=CHECK-DIAG-pie diff --git a/clang/test/Driver/ps4-sdk-root.c b/clang/test/Driver/ps4-sdk-root.c new file mode 100644 index 00000000000..f40a963ac9e --- /dev/null +++ b/clang/test/Driver/ps4-sdk-root.c @@ -0,0 +1,48 @@ +// REQUIRES: x86-registered-target + +// Check that ps4-clang doesn't report a warning message when locating +// system header files (either by looking at the value of SCE_PS4_SDK_DIR +// or relative to the location of the compiler driver), if "-nostdinc", +// "--sysroot" or "-isysroot" option is specified on the command line. +// Otherwise, check that ps4-clang reports a warning. + +// Check that clang doesn't report a warning message when locating +// system libraries (either by looking at the value of SCE_PS4_SDK_DIR +// or relative to the location of the compiler driver), if "-c", "-S", "-E", +// "--sysroot", "-nostdlib" or "-nodefaultlibs" option is specified on +// the command line. +// Otherwise, check that ps4-clang reports a warning. + +// setting up SCE_PS4_SDK_DIR to existing location, which is not a PS4 SDK. +// RUN: env SCE_PS4_SDK_DIR=.. %clang -Winvalid-or-nonexistent-directory -### -target x86_64-scei-ps4 %s 2>&1 | FileCheck -check-prefix=WARN-SYS-HEADERS -check-prefix=WARN-SYS-LIBS -check-prefix=NO-WARN %s + +// RUN: env SCE_PS4_SDK_DIR=.. %clang -Winvalid-or-nonexistent-directory -### -c -target x86_64-scei-ps4 %s 2>&1 | FileCheck -check-prefix=WARN-SYS-HEADERS -check-prefix=NO-WARN %s +// RUN: env SCE_PS4_SDK_DIR=.. %clang -Winvalid-or-nonexistent-directory -### -S -target x86_64-scei-ps4 %s 2>&1 | FileCheck -check-prefix=WARN-SYS-HEADERS -check-prefix=NO-WARN %s +// RUN: env SCE_PS4_SDK_DIR=.. %clang -Winvalid-or-nonexistent-directory -### -E -target x86_64-scei-ps4 %s 2>&1 | FileCheck -check-prefix=WARN-SYS-HEADERS -check-prefix=NO-WARN %s +// RUN: env SCE_PS4_SDK_DIR=.. %clang -Winvalid-or-nonexistent-directory -### -emit-ast -target x86_64-scei-ps4 %s 2>&1 | FileCheck -check-prefix=WARN-SYS-HEADERS -check-prefix=NO-WARN %s +// RUN: env SCE_PS4_SDK_DIR=.. %clang -Winvalid-or-nonexistent-directory -### -isysroot foo -target x86_64-scei-ps4 %s 2>&1 | FileCheck -check-prefix=WARN-ISYSROOT -check-prefix=WARN-SYS-LIBS -check-prefix=NO-WARN %s + +// RUN: env SCE_PS4_SDK_DIR=.. %clang -Winvalid-or-nonexistent-directory -### -c -nostdinc -target x86_64-scei-ps4 %s 2>&1 | FileCheck -check-prefix=NO-WARN %s +// RUN: env SCE_PS4_SDK_DIR=.. %clang -Winvalid-or-nonexistent-directory -### -S -nostdinc -target x86_64-scei-ps4 %s 2>&1 | FileCheck -check-prefix=NO-WARN %s +// RUN: env SCE_PS4_SDK_DIR=.. %clang -Winvalid-or-nonexistent-directory -### -E -nostdinc -target x86_64-scei-ps4 %s 2>&1 | FileCheck -check-prefix=NO-WARN %s +// RUN: env SCE_PS4_SDK_DIR=.. %clang -Winvalid-or-nonexistent-directory -### -emit-ast -nostdinc -target x86_64-scei-ps4 %s 2>&1 | FileCheck -check-prefix=NO-WARN %s + +// RUN: env SCE_PS4_SDK_DIR=.. %clang -Winvalid-or-nonexistent-directory -### -c --sysroot=foo/ -target x86_64-scei-ps4 %s 2>&1 | FileCheck -check-prefix=NO-WARN %s +// RUN: env SCE_PS4_SDK_DIR=.. %clang -Winvalid-or-nonexistent-directory -### -S --sysroot=foo/ -target x86_64-scei-ps4 %s 2>&1 | FileCheck -check-prefix=NO-WARN %s +// RUN: env SCE_PS4_SDK_DIR=.. %clang -Winvalid-or-nonexistent-directory -### -E --sysroot=foo/ -target x86_64-scei-ps4 %s 2>&1 | FileCheck -check-prefix=NO-WARN %s +// RUN: env SCE_PS4_SDK_DIR=.. %clang -Winvalid-or-nonexistent-directory -### -emit-ast --sysroot=foo/ -target x86_64-scei-ps4 %s 2>&1 | FileCheck -check-prefix=NO-WARN %s + +// RUN: env SCE_PS4_SDK_DIR=.. %clang -Winvalid-or-nonexistent-directory -### -c -isysroot foo -target x86_64-scei-ps4 %s 2>&1 | FileCheck -check-prefix=WARN-ISYSROOT -check-prefix=NO-WARN %s +// RUN: env SCE_PS4_SDK_DIR=.. %clang -Winvalid-or-nonexistent-directory -### -S -isysroot foo -target x86_64-scei-ps4 %s 2>&1 | FileCheck -check-prefix=WARN-ISYSROOT -check-prefix=NO-WARN %s +// RUN: env SCE_PS4_SDK_DIR=.. %clang -Winvalid-or-nonexistent-directory -### -E -isysroot foo -target x86_64-scei-ps4 %s 2>&1 | FileCheck -check-prefix=WARN-ISYSROOT -check-prefix=NO-WARN %s +// RUN: env SCE_PS4_SDK_DIR=.. %clang -Winvalid-or-nonexistent-directory -### -emit-ast -isysroot foo -target x86_64-scei-ps4 %s 2>&1 | FileCheck -check-prefix=WARN-ISYSROOT -check-prefix=NO-WARN %s +// RUN: env SCE_PS4_SDK_DIR=.. %clang -Winvalid-or-nonexistent-directory -### --sysroot=foo/ -isysroot foo -target x86_64-scei-ps4 %s 2>&1 | FileCheck -check-prefix=WARN-ISYSROOT -check-prefix=NO-WARN %s + +// RUN: env SCE_PS4_SDK_DIR=.. %clang -Winvalid-or-nonexistent-directory -### -nostdlib -target x86_64-scei-ps4 %s 2>&1 | FileCheck -check-prefix=WARN-SYS-HEADERS -check-prefix=NO-WARN %s +// RUN: env SCE_PS4_SDK_DIR=.. %clang -Winvalid-or-nonexistent-directory -### -nodefaultlibs -target x86_64-scei-ps4 %s 2>&1 | FileCheck -check-prefix=WARN-SYS-HEADERS -check-prefix=NO-WARN %s + +// NO-WARN-NOT: {{warning:|error:}} +// WARN-SYS-HEADERS: warning: unable to find PS4 system headers directory +// WARN-ISYSROOT: warning: no such sysroot directory: 'foo' +// WARN-SYS-LIBS: warning: unable to find PS4 system libraries directory +// NO-WARN-NOT: {{warning:|error:}} diff --git a/clang/test/Driver/stack-protector.c b/clang/test/Driver/stack-protector.c index 7fecd1b0213..487af569f24 100644 --- a/clang/test/Driver/stack-protector.c +++ b/clang/test/Driver/stack-protector.c @@ -23,3 +23,12 @@ // RUN: %clang -fstack-protector-all -### %s 2>&1 | FileCheck %s -check-prefix=SSP-ALL // SSP-ALL: "-stack-protector" "3" // SSP-ALL-NOT: "-stack-protector-buffer-size" + +// RUN: %clang -target x86_64-scei-ps4 -### %s 2>&1 | FileCheck %s -check-prefix=SSP-PS4 +// RUN: %clang -target x86_64-scei-ps4 -fstack-protector -### %s 2>&1 | FileCheck %s -check-prefix=SSP-PS4 +// SSP-PS4: "-stack-protector" "2" +// SSP-PS4-NOT: "-stack-protector-buffer-size" + +// RUN: %clang -target x86_64-scei-ps4 -fstack-protector --param ssp-buffer-size=16 -### %s 2>&1 | FileCheck %s -check-prefix=SSP-PS4-BUF +// SSP-PS4-BUF: "-stack-protector" "2" +// SSP-PS4-BUF: "-stack-protector-buffer-size" "16" |