2 // { dg-require-effective-target wchar }
3 // { dg-options "-std=gnu99 -Wno-c++-compat -trigraphs" { target c } }
4 // { dg-options "-std=c++0x" { target c++ } }
9 typedef __CHAR16_TYPE__ char16_t
;
10 typedef __CHAR32_TYPE__ char32_t
;
23 const char s00
[] = R
"(a)" "(b)";
24 const char s01
[] = "(a)" R
"*(b)*";
25 const char s02
[] = R
"(a)" R
"(b)";
26 const char s03
[] = R
"-(a)-" u8
"(b)";
27 const char s04
[] = "(a)" u8R
"MNOPQRSTUVWXYZ(b)MNOPQRSTUVWXYZ";
28 const char s05
[] = R
"(a)" u8R
"wxyzABCDEFGHIJKL(b)wxyzABCDEFGHIJKL";
29 const char s06
[] = u8R
";[(a);[" "(b)";
30 const char s07
[] = u8
"(a)" R
"(b)";
31 const char s08
[] = u8R
"(a)" R
"_{}#[]<>%:;.?*+-(b)_{}#[]<>%:;.?*+-";
32 const char s09
[] = u8R
"/^&|~!=,"'(a)/^&|~!=,"'" u8"(b
)";
33 const char s10[] = u8"(a
)" u8R"0123456789abcdef(b
)0123456789abcdef
";
34 const char s11[] = u8R"ghijklmnopqrstuv(a
)ghijklmnopqrstuv
" u8R"w(b
)w
";
36 const char16_t u03[] = R"-(a
)-" u"(b
)";
37 const char16_t u04[] = "(a
)" uR"MNOPQRSTUVWXYZ(b
)MNOPQRSTUVWXYZ
";
38 const char16_t u05[] = R"(a
)" uR"wxyzABCDEFGHIJKL(b
)wxyzABCDEFGHIJKL
";
39 const char16_t u06[] = uR";[(a
);[" "(b
)";
40 const char16_t u07[] = u"(a
)" R"(b
)";
41 const char16_t u08[] = uR"(a
)" R"_
{}#[]<>%:;.?*+-(b)_{}#[]<>%:;.?*+-";
42 const char16_t u09[] = uR"/^&|~!=,"'(a)/^&|~!=,"'" u"(b)";
43 const char16_t u10[] = u"(a)" uR"0123456789abcdef(b)0123456789abcdef";
44 const char16_t u11[] = uR"ghijklmnopqrstuv(a)ghijklmnopqrstuv" uR"w(b)w";
46 const char32_t U03[] = R"-(a)-" U"(b)";
47 const char32_t U04[] = "(a)" UR"MNOPQRSTUVWXYZ(b)MNOPQRSTUVWXYZ";
48 const char32_t U05[] = R"(a)" UR"wxyzABCDEFGHIJKL(b)wxyzABCDEFGHIJKL";
49 const char32_t U06[] = UR";[(a);[" "(b)";
50 const char32_t U07[] = U"(a)" R"(b)";
51 const char32_t U08[] = UR"(a)" R"_{}#[]<>%:;.?*+-(b)_{}#[]<>%:;.?*+-";
52 const char32_t U09[] = UR"/^&|~!=,"'(a)/^&|~!=,"'" U"(b)";
53 const char32_t U10
[] = U
"(a)" UR
"0123456789abcdef(b)0123456789abcdef";
54 const char32_t U11
[] = UR
"ghijklmnopqrstuv(a)ghijklmnopqrstuv" UR
"w(b)w";
56 const wchar_t L03
[] = R
"-(a)-" L
"(b)";
57 const wchar_t L04
[] = "(a)" LR
"MNOPQRSTUVWXYZ(b)MNOPQRSTUVWXYZ";
58 const wchar_t L05
[] = R
"(a)" LR
"wxyzABCDEFGHIJKL(b)wxyzABCDEFGHIJKL";
59 const wchar_t L06
[] = LR
";[(a);[" "(b)";
60 const wchar_t L07
[] = L
"(a)" R
"(b)";
61 const wchar_t L08
[] = LR
"(a)" R
"_{}#[]<>%:;.?*+-(b)_{}#[]<>%:;.?*+-";
62 const wchar_t L09
[] = LR
"/^&|~!=,"'(a)/^&|~!=,"'" L"(b
)";
63 const wchar_t L10[] = L"(a
)" LR"0123456789abcdef(b
)0123456789abcdef
";
64 const wchar_t L11[] = LR"ghijklmnopqrstuv(a
)ghijklmnopqrstuv
" LR"w(b
)w
";
69 #define TEST(str, val) \
70 if (sizeof (str) != sizeof (val) \
71 || __builtin_memcmp (str, val, sizeof (str)) != 0) \