1 // Make sure that we properly handle trigraphs in raw strings when
2 // trigraphs are disabled, too.
3 // { dg-options "-std=gnu99" { target c } }
4 // { dg-options "-std=gnu++0x" { target c++ } }
5 // { dg-do run }
6
7 const char b[] = "??>"; // { dg-message "-trigraphs" }
8 const char a[] = R"(??>??)??/
9 ??)";
10
11 #define TEST(str, val) \
12 if (sizeof (str) != sizeof (val) \
13 || __builtin_memcmp (str, val, sizeof (str)) != 0) \
14 __builtin_abort ()
15
main()16 int main()
17 {
18 TEST (a, "?\?>?\?)?\?/\n?\?");
19 }
20