Hans Wennborg | 24ffd63 | 2013-09-10 20:35:58 +0000 | [diff] [blame] | 1 | // Don't attempt slash switches on msys bash. |
| 2 | // REQUIRES: shell-preserves-root |
| 3 | |
| 4 | // Note: %s must be preceded by --, otherwise it may be interpreted as a |
| 5 | // command-line option, e.g. on Mac where %s is commonly under /Users. |
| 6 | |
| 7 | // RUN: %clang_cl /TC -### -- %s 2>&1 | FileCheck -check-prefix=TC %s |
| 8 | // TC: "-x" "c" |
| 9 | // TC-NOT: warning |
| 10 | // TC-NOT: note |
| 11 | |
| 12 | // RUN: %clang_cl /TP -### -- %s 2>&1 | FileCheck -check-prefix=TP %s |
| 13 | // TP: "-x" "c++" |
| 14 | // TP-NOT: warning |
| 15 | // TP-NOT: note |
| 16 | |
| 17 | // RUN: %clang_cl -### /Tc%s /TP -- %s 2>&1 | FileCheck -check-prefix=Tc %s |
| 18 | // RUN: %clang_cl -### /TP /Tc%s -- %s 2>&1 | FileCheck -check-prefix=Tc %s |
| 19 | // Tc: "-x" "c" |
| 20 | // Tc: "-x" "c++" |
| 21 | // Tc-NOT: warning |
| 22 | // Tc-NOT: note |
| 23 | |
| 24 | // RUN: %clang_cl -### /Tp%s /TC -- %s 2>&1 | FileCheck -check-prefix=Tp %s |
| 25 | // RUN: %clang_cl -### /TC /Tp%s -- %s 2>&1 | FileCheck -check-prefix=Tp %s |
| 26 | // Tp: "-x" "c++" |
| 27 | // Tp: "-x" "c" |
| 28 | // Tp-NOT: warning |
| 29 | // Tp-NOT: note |
| 30 | |
| 31 | // RUN: %clang_cl /TP /TC /TP -### -- %s 2>&1 | FileCheck -check-prefix=WARN %s |
| 32 | // WARN: warning: overriding '/TP' option with '/TC' |
| 33 | // WARN: warning: overriding '/TC' option with '/TP' |
| 34 | // WARN: note: The last /TC or /TP option takes precedence over earlier instances |
| 35 | // WARN-NOT: note |
Hans Wennborg | cfdd8b5 | 2014-01-29 01:04:40 +0000 | [diff] [blame] | 36 | |
Ehsan Akhgari | c249abb | 2014-09-12 21:44:24 +0000 | [diff] [blame] | 37 | // RUN: env LIB=%S/Inputs/cl-libs %clang_cl /c /TP cl-test.lib -### 2>&1 | FileCheck -check-prefix=TPlib %s |
Ehsan Akhgari | 7e954ea | 2014-09-12 18:15:10 +0000 | [diff] [blame] | 38 | // TPlib: warning: cl-test.lib: 'linker' input unused |
Ehsan Akhgari | c249abb | 2014-09-12 21:44:24 +0000 | [diff] [blame] | 39 | // TPlib: warning: argument unused during compilation: '/TP' |
Ehsan Akhgari | 7e954ea | 2014-09-12 18:15:10 +0000 | [diff] [blame] | 40 | // TPlib-NOT: cl-test.lib |
| 41 | |
Ehsan Akhgari | c249abb | 2014-09-12 21:44:24 +0000 | [diff] [blame] | 42 | // RUN: env LIB=%S/Inputs/cl-libs %clang_cl /c /TC cl-test.lib -### 2>&1 | FileCheck -check-prefix=TClib %s |
Ehsan Akhgari | 7e954ea | 2014-09-12 18:15:10 +0000 | [diff] [blame] | 43 | // TClib: warning: cl-test.lib: 'linker' input unused |
Ehsan Akhgari | c249abb | 2014-09-12 21:44:24 +0000 | [diff] [blame] | 44 | // TClib: warning: argument unused during compilation: '/TC' |
Ehsan Akhgari | 7e954ea | 2014-09-12 18:15:10 +0000 | [diff] [blame] | 45 | // TClib-NOT: cl-test.lib |
| 46 | |
Hans Wennborg | cfdd8b5 | 2014-01-29 01:04:40 +0000 | [diff] [blame] | 47 | // RUN: not %clang_cl - 2>&1 | FileCheck -check-prefix=STDIN %s |
| 48 | // STDIN: error: use /Tc or /Tp |
| 49 | |
| 50 | // RUN: %clang_cl -### /Tc - 2>&1 | FileCheck -check-prefix=STDINTc %s |
| 51 | // STDINTc: "-x" "c" |
| 52 | |
Hans Wennborg | 23d26a3 | 2014-06-18 17:21:50 +0000 | [diff] [blame] | 53 | // RUN: env LIB=%S/Inputs/cl-libs %clang_cl -### -- %s cl-test.lib 2>&1 | FileCheck -check-prefix=LIBINPUT %s |
Reid Kleckner | 7d0c066 | 2014-06-18 21:34:36 +0000 | [diff] [blame] | 54 | // LIBINPUT: link.exe" |
Hans Wennborg | 23d26a3 | 2014-06-18 17:21:50 +0000 | [diff] [blame] | 55 | // LIBINPUT: "cl-test.lib" |
| 56 | |
| 57 | // RUN: env LIB=%S/Inputs/cl-libs %clang_cl -### -- %s cl-test2.lib 2>&1 | FileCheck -check-prefix=LIBINPUT2 %s |
| 58 | // LIBINPUT2: error: no such file or directory: 'cl-test2.lib' |
Reid Kleckner | 7d0c066 | 2014-06-18 21:34:36 +0000 | [diff] [blame] | 59 | // LIBINPUT2: link.exe" |
Hans Wennborg | 23d26a3 | 2014-06-18 17:21:50 +0000 | [diff] [blame] | 60 | // LIBINPUT2-NOT: "cl-test2.lib" |
| 61 | |
Nico Weber | 1f0f165 | 2015-04-24 22:16:53 +0000 | [diff] [blame^] | 62 | // RUN: %clang_cl -### -- %s /nonexisting.lib 2>&1 | FileCheck -check-prefix=LIBINPUT3 %s |
| 63 | // LIBINPUT3: error: no such file or directory: '/nonexisting.lib' |
| 64 | // LIBINPUT3: link.exe" |
| 65 | // LIBINPUT3-NOT: "/nonexisting.lib" |
| 66 | |
Hans Wennborg | cfdd8b5 | 2014-01-29 01:04:40 +0000 | [diff] [blame] | 67 | void f(); |