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