blob: 552078951aeef11cb6c8163c2a4146cab45cdf11 [file] [log] [blame]
Nico Weber4f371b02014-12-22 17:56:50 +00001// RUN: %clang_cc1 -DSTDCPP11 -std=c++11 -verify -fsyntax-only %s
2// RUN: %clang_cc1 -DSTDGNU11 -std=gnu++11 -verify -fsyntax-only %s
Nico Weber00721502014-12-23 22:32:37 +00003// RUN: %clang_cc1 -DSTDGNU11TRI -ftrigraphs -std=gnu++11 -verify -fsyntax-only %s
Nico Weber4f371b02014-12-22 17:56:50 +00004// RUN: %clang_cc1 -DSTDCPP17 -std=c++1z -verify -fsyntax-only %s
Nico Weber00721502014-12-23 22:32:37 +00005// RUN: %clang_cc1 -DSTDCPP17TRI -ftrigraphs -std=c++1z -verify -fsyntax-only %s
Nico Weberb62ba512014-12-22 18:35:03 +00006// RUN: %clang_cc1 -DMSCOMPAT -fms-compatibility -std=c++11 -verify -fsyntax-only %s
Nico Weber4f371b02014-12-22 17:56:50 +00007
8void foo() {
Nico Weberb62ba512014-12-22 18:35:03 +00009#if defined(NOFLAGS) || defined(STDCPP11) || defined(STDGNU11TRI) || \
10 defined(STDCPP17TRI)
Nico Weber4f371b02014-12-22 17:56:50 +000011 const char c[] = "??/n"; // expected-warning{{trigraph converted to '\' character}}
Nico Weberb62ba512014-12-22 18:35:03 +000012#elif defined(STDGNU11) || defined(STDCPP17) || defined(MSCOMPAT)
Nico Weber4f371b02014-12-22 17:56:50 +000013 const char c[] = "??/n"; // expected-warning{{trigraph ignored}}
14#else
15#error Not handled.
16#endif
17}