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