blob: c54544b385c1b2134a53660aeaad9d90e6ed77ff [file] [log] [blame]
Reid Klecknerc542d372014-06-27 17:02:02 +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 /c /EHsc -### -- %s 2>&1 | FileCheck -check-prefix=EHsc %s
Reid Klecknerb6776e02015-10-08 17:29:07 +00005// EHsc: "-fcxx-exceptions"
6// EHsc: "-fexceptions"
Reid Klecknerc542d372014-06-27 17:02:02 +00007
8// RUN: %clang_cl /c /EHs-c- -### -- %s 2>&1 | FileCheck -check-prefix=EHs_c_ %s
Reid Klecknerab80f182015-01-30 01:04:16 +00009// EHs_c_-NOT: "-fcxx-exceptions"
Reid Klecknerdeeddec2015-02-05 18:56:03 +000010// EHs_c_-NOT: "-fexceptions"
Reid Klecknerc542d372014-06-27 17:02:02 +000011
12// RUN: %clang_cl /c /EHs- /EHc- -### -- %s 2>&1 | FileCheck -check-prefix=EHs_EHc_ %s
Reid Klecknerab80f182015-01-30 01:04:16 +000013// EHs_EHc_-NOT: "-fcxx-exceptions"
Reid Klecknerdeeddec2015-02-05 18:56:03 +000014// EHs_EHc_-NOT: "-fexceptions"
Reid Klecknerc542d372014-06-27 17:02:02 +000015
Reid Kleckner5c6efed2015-07-14 18:16:48 +000016// RUN: %clang_cl /c /EHs- /EHs -### -- %s 2>&1 | FileCheck -check-prefix=EHs_EHs %s
Reid Klecknerb6776e02015-10-08 17:29:07 +000017// EHs_EHs: "-fcxx-exceptions"
18// EHs_EHs: "-fexceptions"
Reid Klecknerc542d372014-06-27 17:02:02 +000019
Reid Kleckner5c6efed2015-07-14 18:16:48 +000020// RUN: %clang_cl /c /EHs- /EHsa -### -- %s 2>&1 | FileCheck -check-prefix=EHs_EHa %s
Reid Klecknerb6776e02015-10-08 17:29:07 +000021// EHs_EHa: "-fcxx-exceptions"
22// EHs_EHa: "-fexceptions"
Reid Klecknerc542d372014-06-27 17:02:02 +000023
David Majnemer387fccd2016-02-29 01:40:30 +000024// RUN: %clang_cl /c /EHa /EHc -### -- %s 2>&1 | FileCheck -check-prefix=EHa_EHc %s
25// EHa_EHc: "-fcxx-exceptions"
26// EHa_EHc: "-fexceptions"
27// EHa_EHc-NOT: "-fexternc-nounwind"
28
Reid Kleckner5c6efed2015-07-14 18:16:48 +000029// RUN: %clang_cl /c /EHinvalid -### -- %s 2>&1 | FileCheck -check-prefix=EHinvalid %s
Reid Klecknerc542d372014-06-27 17:02:02 +000030// EHinvalid: error: invalid value 'invalid' in '/EH'
31// EHinvalid-NOT: error: