blob: f58aa3262fe24be12bb9ebd10587537362f2f32b [file] [log] [blame]
Hans Wennborg87cfa712013-09-19 20:32:16 +00001// 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 /fallback /Dfoo=bar /Ubaz /Ifoo /O0 /Ox /GR /GR- /LD /LDd \
Hans Wennborg260ff402013-09-27 17:54:18 +00008// RUN: /MD /MDd /MTd /MT /FImyheader.h -### -- %s 2>&1 | FileCheck %s
Hans Wennborgf4aee182013-09-24 00:08:55 +00009// CHECK: "-fdiagnostics-format" "msvc-fallback"
Hans Wennborg87cfa712013-09-19 20:32:16 +000010// CHECK: ||
11// CHECK: cl.exe
Hans Wennborg263c2132013-09-24 17:36:21 +000012// CHECK: "/nologo"
Hans Wennborg87cfa712013-09-19 20:32:16 +000013// CHECK: "/c"
14// CHECK: "/W0"
15// CHECK: "-D" "foo=bar"
16// CHECK: "-U" "baz"
17// CHECK: "-I" "foo"
Hans Wennborgb6331dc2013-09-24 18:17:21 +000018// CHECK: "/Ox"
Hans Wennborg87cfa712013-09-19 20:32:16 +000019// CHECK: "/GR-"
Hans Wennborg260ff402013-09-27 17:54:18 +000020// CHECK: "/FImyheader.h"
Hans Wennborg87cfa712013-09-19 20:32:16 +000021// CHECK: "/LD"
22// CHECK: "/LDd"
23// CHECK: "/MT"
24// CHECK: "/Tc" "{{.*cl-fallback.c}}"
25// CHECK: "/Fo{{.*cl-fallback.*.obj}}"
Hans Wennborgb6331dc2013-09-24 18:17:21 +000026
27// RUN: %clang_cl /fallback /Od -### -- %s 2>&1 | FileCheck -check-prefix=O0 %s
28// O0: cl.exe
29// O0: "/Od"
30// RUN: %clang_cl /fallback /O1 -### -- %s 2>&1 | FileCheck -check-prefix=O1 %s
31// O1: cl.exe
32// O1: "-O1"
33// RUN: %clang_cl /fallback /O2 -### -- %s 2>&1 | FileCheck -check-prefix=O2 %s
34// O2: cl.exe
35// O2: "-O2"
36// RUN: %clang_cl /fallback /Os -### -- %s 2>&1 | FileCheck -check-prefix=Os %s
37// Os: cl.exe
38// Os: "-Os"
39// RUN: %clang_cl /fallback /Ox -### -- %s 2>&1 | FileCheck -check-prefix=Ox %s
40// Ox: cl.exe
41// Ox: "/Ox"
Hans Wennborg859422a2014-01-13 22:24:42 +000042
43// Only fall back when actually compiling, not for e.g. /P (preprocess).
44// RUN: %clang_cl /fallback /P -### -- %s 2>&1 | FileCheck -check-prefix=P %s
45// P-NOT: ||
46// P-NOT: "cl.exe"
Hans Wennborgc5afd062014-02-18 21:42:51 +000047
48// RUN: not %clang_cl /fallback /c -- %s 2>&1 | \
49// RUN: FileCheck -check-prefix=ErrNote %s
50// ErrNote: note: falling back to cl.exe
51
52#error "This fails to compile."