4 // Concatenation of string literals, some prefixed, all prefixed ones have same prefix. Allowed.
6 const char *str1
= u8
"testu8" "test" u8
"testu8";
7 const char *str2
= u8
"testu8" u8
"testu8";
8 const char *str3
= u8
"testu8" u8
"testu8" u8
"testu8";
9 const char16_t
*str4
= u
"testu8" "test";
10 const char32_t
*str5
= U
"testu8" "test";
13 // Concatenation of string literals, some prefixed, prefixed have different prefixes. Implementation-defined in C11, C17. Requires diagnostic in C23.
15 const char *str1
= u8
"testu8" "test" u
"testu"; /* WARNING(SDCC) */ /* IGNORE(GCC) */
19 const char *str1
= u8
"testu8" "test" L
"testL"; /* WARNING(SDCC) */ /* IGNORE(GCC) */
23 const char *str1
= L
"testuL" "test" u
"testu"; /* WARNING(SDCC) */ /* IGNORE(GCC) */
27 const char32_t
*str1
= U
"testU" "test" u
"testu"; /* WARNING(SDCC) */ /* IGNORE(GCC) */
31 const char32_t
*str1
= U
"testU" u
"testu"; /* WARNING(SDCC) */ /* IGNORE(GCC) */
35 const char32_t
*str1
= U
"testU" L
"testL"; /* WARNING(SDCC) */ /* IGNORE(GCC) */
39 const wchar_t *str1
= L
"testL" u
"testu"; /* WARNING(SDCC) */ /* IGNORE(GCC) */