diff options
Diffstat (limited to 'clang/test')
-rw-r--r-- | clang/test/Frontend/trigraphs.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/clang/test/Frontend/trigraphs.cpp b/clang/test/Frontend/trigraphs.cpp new file mode 100644 index 00000000000..f9c84e6dc32 --- /dev/null +++ b/clang/test/Frontend/trigraphs.cpp @@ -0,0 +1,15 @@ +// RUN: %clang_cc1 -DSTDCPP11 -std=c++11 -verify -fsyntax-only %s +// RUN: %clang_cc1 -DSTDGNU11 -std=gnu++11 -verify -fsyntax-only %s +// RUN: %clang_cc1 -DSTDGNU11TRI -trigraphs -std=gnu++11 -verify -fsyntax-only %s +// RUN: %clang_cc1 -DSTDCPP17 -std=c++1z -verify -fsyntax-only %s +// RUN: %clang_cc1 -DSTDCPP17TRI -trigraphs -std=c++1z -verify -fsyntax-only %s + +void foo() { +#if defined(NOFLAGS) || defined(STDCPP11) || defined(STDGNU11TRI) || defined(STDCPP17TRI) + const char c[] = "??/n"; // expected-warning{{trigraph converted to '\' character}} +#elif defined(STDGNU11) || defined(STDCPP17) + const char c[] = "??/n"; // expected-warning{{trigraph ignored}} +#else +#error Not handled. +#endif +} |