Mon Mar 29 22:42:10 2021 UTC ()
tests/lint: demonstrate assertion failures for union initialization


(rillig)
diff -r1.22 -r1.23 src/tests/usr.bin/xlint/lint1/d_c99_init.c

cvs diff -r1.22 -r1.23 src/tests/usr.bin/xlint/lint1/d_c99_init.c (expand / switch to unified diff)

--- src/tests/usr.bin/xlint/lint1/d_c99_init.c 2021/03/29 22:36:31 1.22
+++ src/tests/usr.bin/xlint/lint1/d_c99_init.c 2021/03/29 22:42:10 1.23
@@ -1,14 +1,14 @@ @@ -1,14 +1,14 @@
1/* $NetBSD: d_c99_init.c,v 1.22 2021/03/29 22:36:31 rillig Exp $ */ 1/* $NetBSD: d_c99_init.c,v 1.23 2021/03/29 22:42:10 rillig Exp $ */
2# 3 "d_c99_init.c" 2# 3 "d_c99_init.c"
3 3
4/* 4/*
5 * Test C99 initializers. 5 * Test C99 initializers.
6 * 6 *
7 * See C99 6.7.8 "Initialization". 7 * See C99 6.7.8 "Initialization".
8*/ 8*/
9 9
10 10
11void use(const void *); 11void use(const void *);
12 12
13typedef struct any { 13typedef struct any {
14 const void *value; 14 const void *value;
@@ -337,13 +337,30 @@ struct point unknown_member_name_beginni @@ -337,13 +337,30 @@ struct point unknown_member_name_beginni
337}; 337};
338 338
339struct point unknown_member_name_middle = { 339struct point unknown_member_name_middle = {
340 .x = 4, 340 .x = 4,
341 .r = 5, /* expect: undefined struct/union member: r */ 341 .r = 5, /* expect: undefined struct/union member: r */
342 .y = 3, 342 .y = 3,
343}; 343};
344 344
345struct point unknown_member_name_end = { 345struct point unknown_member_name_end = {
346 .x = 4, 346 .x = 4,
347 .y = 3, 347 .y = 3,
348 .r = 5, /* expect: undefined struct/union member: r */ 348 .r = 5, /* expect: undefined struct/union member: r */
349}; 349};
 350
 351union value {
 352 int int_value;
 353 void *pointer_value;
 354};
 355
 356union value unknown_union_member_name_first = {
 357 // FIXME: assertion "bl->bl_type != NULL" failed in initialization_push
 358 // .unknown_value = 4,
 359 .int_value = 3,
 360};
 361
 362union value unknown_union_member_name_second = {
 363 .int_value = 3,
 364 // FIXME: assertion "bl->bl_type->t_tspec == ARRAY" failed in brace_level_extend_if_array_of_unknown_size
 365 // .unknown_value = 4,
 366};