blob: 4b04bcbe130bc6b6a2f6bc62f6739134da4c2375 [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
3// RUN: %clang_cc1 -DSTDGNU11TRI -trigraphs -std=gnu++11 -verify -fsyntax-only %s
4// RUN: %clang_cc1 -DSTDCPP17 -std=c++1z -verify -fsyntax-only %s
5// RUN: %clang_cc1 -DSTDCPP17TRI -trigraphs -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}