1*67e74705SXin Li // REQUIRES: x86-registered-target 2*67e74705SXin Li 3*67e74705SXin Li // Check that PS4 clang doesn't report a warning message when locating 4*67e74705SXin Li // system header files (either by looking at the value of SCE_ORBIS_SDK_DIR 5*67e74705SXin Li // or relative to the location of the compiler driver), if "-nostdinc", 6*67e74705SXin Li // "--sysroot" or "-isysroot" option is specified on the command line. 7*67e74705SXin Li // Otherwise, check that PS4 clang reports a warning. 8*67e74705SXin Li 9*67e74705SXin Li // Check that PS4 clang doesn't report a warning message when locating 10*67e74705SXin Li // system libraries (either by looking at the value of SCE_ORBIS_SDK_DIR 11*67e74705SXin Li // or relative to the location of the compiler driver), if "-c", "-S", "-E", 12*67e74705SXin Li // "--sysroot", "-nostdlib" or "-nodefaultlibs" option is specified on 13*67e74705SXin Li // the command line. 14*67e74705SXin Li // Otherwise, check that PS4 clang reports a warning. 15*67e74705SXin Li 16*67e74705SXin Li // Setting up SCE_ORBIS_SDK_DIR to existing location, which is not a PS4 SDK. 17*67e74705SXin Li // RUN: env SCE_ORBIS_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 18*67e74705SXin Li 19*67e74705SXin Li // RUN: env SCE_ORBIS_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 20*67e74705SXin Li // RUN: env SCE_ORBIS_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 21*67e74705SXin Li // RUN: env SCE_ORBIS_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 22*67e74705SXin Li // RUN: env SCE_ORBIS_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 23*67e74705SXin Li // RUN: env SCE_ORBIS_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 24*67e74705SXin Li 25*67e74705SXin Li // RUN: env SCE_ORBIS_SDK_DIR=.. %clang -Winvalid-or-nonexistent-directory -### -c -nostdinc -target x86_64-scei-ps4 %s 2>&1 | FileCheck -check-prefix=NO-WARN %s 26*67e74705SXin Li // RUN: env SCE_ORBIS_SDK_DIR=.. %clang -Winvalid-or-nonexistent-directory -### -S -nostdinc -target x86_64-scei-ps4 %s 2>&1 | FileCheck -check-prefix=NO-WARN %s 27*67e74705SXin Li // RUN: env SCE_ORBIS_SDK_DIR=.. %clang -Winvalid-or-nonexistent-directory -### -E -nostdinc -target x86_64-scei-ps4 %s 2>&1 | FileCheck -check-prefix=NO-WARN %s 28*67e74705SXin Li // RUN: env SCE_ORBIS_SDK_DIR=.. %clang -Winvalid-or-nonexistent-directory -### -emit-ast -nostdinc -target x86_64-scei-ps4 %s 2>&1 | FileCheck -check-prefix=NO-WARN %s 29*67e74705SXin Li 30*67e74705SXin Li // RUN: env SCE_ORBIS_SDK_DIR=.. %clang -Winvalid-or-nonexistent-directory -### -c --sysroot=foo/ -target x86_64-scei-ps4 %s 2>&1 | FileCheck -check-prefix=NO-WARN %s 31*67e74705SXin Li // RUN: env SCE_ORBIS_SDK_DIR=.. %clang -Winvalid-or-nonexistent-directory -### -S --sysroot=foo/ -target x86_64-scei-ps4 %s 2>&1 | FileCheck -check-prefix=NO-WARN %s 32*67e74705SXin Li // RUN: env SCE_ORBIS_SDK_DIR=.. %clang -Winvalid-or-nonexistent-directory -### -E --sysroot=foo/ -target x86_64-scei-ps4 %s 2>&1 | FileCheck -check-prefix=NO-WARN %s 33*67e74705SXin Li // RUN: env SCE_ORBIS_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 34*67e74705SXin Li 35*67e74705SXin Li // RUN: env SCE_ORBIS_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 36*67e74705SXin Li // RUN: env SCE_ORBIS_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 37*67e74705SXin Li // RUN: env SCE_ORBIS_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 38*67e74705SXin Li // RUN: env SCE_ORBIS_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 39*67e74705SXin Li // RUN: env SCE_ORBIS_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 40*67e74705SXin Li 41*67e74705SXin Li // RUN: env SCE_ORBIS_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 42*67e74705SXin Li // RUN: env SCE_ORBIS_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 43*67e74705SXin Li 44*67e74705SXin Li // NO-WARN-NOT: {{warning:|error:}} 45*67e74705SXin Li // WARN-SYS-HEADERS: warning: unable to find PS4 system headers directory 46*67e74705SXin Li // WARN-ISYSROOT: warning: no such sysroot directory: 'foo' 47*67e74705SXin Li // WARN-SYS-LIBS: warning: unable to find PS4 system libraries directory 48*67e74705SXin Li // NO-WARN-NOT: {{warning:|error:}} 49