blob: a69265deed02c81b533ee15bc73e433ddbbaa035 [file] [log] [blame]
Reid Kleckner8ea89ea2017-05-31 20:42:43 +00001// 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 -### -- %s 2>&1 | FileCheck %s --check-prefix=BUILTIN
Alexander Kornienkoc7a0b672017-06-01 11:41:21 +00005// BUILTIN: "-internal-isystem" "{{.*lib.*clang.*include}}"
Reid Kleckner8ea89ea2017-05-31 20:42:43 +00006
7// RUN: %clang_cl -nobuiltininc -### -- %s 2>&1 | FileCheck %s --check-prefix=NOBUILTIN
Alexander Kornienkoc7a0b672017-06-01 11:41:21 +00008// NOBUILTIN-NOT: "-internal-isystem" "{{.*lib.*clang.*include}}"
Reid Kleckner8ea89ea2017-05-31 20:42:43 +00009
10// RUN: env INCLUDE=/my/system/inc %clang_cl -### -- %s 2>&1 | FileCheck %s --check-prefix=STDINC
11// STDINC: "-internal-isystem" "/my/system/inc"
12
Nico Weber07f0a522018-02-28 19:49:07 +000013// -nostdinc suppresses all of %INCLUDE%, clang resource dirs, and -imsvc dirs.
14// RUN: env INCLUDE=/my/system/inc %clang_cl -nostdinc -imsvc /my/other/inc -### -- %s 2>&1 | FileCheck %s --check-prefix=NOSTDINC
15// NOSTDINC: argument unused{{.*}}-imsvc
Reid Kleckner8ea89ea2017-05-31 20:42:43 +000016// NOSTDINC-NOT: "-internal-isystem" "/my/system/inc"
Nico Weber926bbc02018-02-28 20:58:06 +000017// NOSTDINC-NOT: "-internal-isystem" "{{.*lib.*clang.*include}}"
Nico Weber07f0a522018-02-28 19:49:07 +000018// NOSTDINC-NOT: "-internal-isystem" "/my/other/inc"
19
20// /X suppresses %INCLUDE% but not clang resource dirs or -imsvc dirs.
21// RUN: env INCLUDE=/my/system/inc %clang_cl /X -imsvc /my/other/inc -### -- %s 2>&1 | FileCheck %s --check-prefix=SLASHX
22// SLASHX-NOT: "argument unused{{.*}}-imsvc"
23// SLASHX-NOT: "-internal-isystem" "/my/system/inc"
Nico Weber926bbc02018-02-28 20:58:06 +000024// SLASHX: "-internal-isystem" "{{.*lib.*clang.*include}}"
Nico Weber07f0a522018-02-28 19:49:07 +000025// SLASHX: "-internal-isystem" "/my/other/inc"