| @@ -1,7 +1,39 @@ | | | @@ -1,7 +1,39 @@ |
1 | /* $NetBSD: msg_292.c,v 1.2 2021/02/21 09:07:58 rillig Exp $ */ | | 1 | /* $NetBSD: msg_292.c,v 1.3 2022/02/27 18:51:21 rillig Exp $ */ |
2 | # 3 "msg_292.c" | | 2 | # 3 "msg_292.c" |
3 | | | 3 | |
4 | // Test for message: cannot concatenate wide and regular string literals [292] | | 4 | // Test for message: cannot concatenate wide and regular string literals [292] |
5 | | | 5 | |
6 | TODO: "Add example code that triggers the above message." /* expect: 249 */ | | 6 | const char c_c_c_w_w_w[] = |
7 | TODO: "Add example code that almost triggers the above message." | | 7 | "c2" |
| | | 8 | "c 4" |
| | | 9 | "c 8" |
| | | 10 | /* expect+1: error: cannot concatenate wide and regular string literals [292] */ |
| | | 11 | L"w2" |
| | | 12 | /* expect+1: error: cannot concatenate wide and regular string literals [292] */ |
| | | 13 | L"w 4" |
| | | 14 | /* expect+1: error: cannot concatenate wide and regular string literals [292] */ |
| | | 15 | L"w 8"; |
| | | 16 | /* The 15 results from 2 + 4 + 8 + '\0'. */ |
| | | 17 | /* expect+1: error: negative array dimension (-15) [20] */ |
| | | 18 | typedef int reveal_sizeof_c_c_c_w_w_w[-(int)sizeof(c_c_c_w_w_w)]; |
| | | 19 | |
| | | 20 | const char c_w_c_w_c_w[] = |
| | | 21 | "c2" |
| | | 22 | L"w2" |
| | | 23 | /* expect+1: error: cannot concatenate wide and regular string literals [292] */ |
| | | 24 | "c 4" |
| | | 25 | L"w 4" |
| | | 26 | /* expect+1: error: cannot concatenate wide and regular string literals [292] */ |
| | | 27 | "c 8" |
| | | 28 | /* expect+1: error: cannot concatenate wide and regular string literals [292] */ |
| | | 29 | L"w 8"; |
| | | 30 | /* |
| | | 31 | * Concatenating L"w2" with "c4" fails, keeping L"w2". |
| | | 32 | * Concatenating L"w2" with L"w4" succeeds, resulting in L"w2w4". |
| | | 33 | * Concatenating L"w2w4" with "c8" fails, keeping L"w2w4". |
| | | 34 | * Concatenating L"w2w4" with L"w8" succeeds, resulting in L"w2w4w8". |
| | | 35 | * Concatenating "c2" with L"w2w4w8" fails, keeping "c2". |
| | | 36 | * The size of "c2" is 3. |
| | | 37 | */ |
| | | 38 | /* expect+1: error: negative array dimension (-3) [20] */ |
| | | 39 | typedef int reveal_sizeof_c_w_c_w_c_w[-(int)sizeof(c_w_c_w_c_w)]; |