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 // FIXME: When C++ EH works, we can make this flag turn things back on.
5 
6 // RUN: %clang_cl /c /EHsc -### -- %s 2>&1 | FileCheck -check-prefix=EHsc %s
7 // EHsc-NOT: "-fcxx-exceptions"
8 // EHsc-NOT: "-fexceptions"
9 
10 // RUN: %clang_cl /c /EHs-c- -### -- %s 2>&1 | FileCheck -check-prefix=EHs_c_ %s
11 // EHs_c_-NOT: "-fcxx-exceptions"
12 // EHs_c_-NOT: "-fexceptions"
13 
14 // RUN: %clang_cl /c /EHs- /EHc- -### -- %s 2>&1 | FileCheck -check-prefix=EHs_EHc_ %s
15 // EHs_EHc_-NOT: "-fcxx-exceptions"
16 // EHs_EHc_-NOT: "-fexceptions"
17 
18 // RUN: %clang_cl /c /EHs- /EHs -### -- %s 2>&1 | FileCheck -check-prefix=EHs_EHs %s
19 // EHs_EHs-NOT: "-fcxx-exceptions"
20 // EHs_EHs-NOT: "-fexceptions"
21 
22 // RUN: %clang_cl /c /EHs- /EHsa -### -- %s 2>&1 | FileCheck -check-prefix=EHs_EHa %s
23 // EHs_EHa-NOT: "-fcxx-exceptions"
24 // EHs_EHa-NOT: "-fexceptions"
25 
26 // RUN: %clang_cl /c /EHinvalid -### -- %s 2>&1 | FileCheck -check-prefix=EHinvalid %s
27 // EHinvalid: error: invalid value 'invalid' in '/EH'
28 // EHinvalid-NOT: error:
29