1f08c3bdfSopenharmony_cistatic int ref[] = {
2f08c3bdfSopenharmony_ci	[1] = 3,
3f08c3bdfSopenharmony_ci	[2] = 3,
4f08c3bdfSopenharmony_ci	[3] = 3,
5f08c3bdfSopenharmony_ci	[2] = 2,		/* check-should-warn */
6f08c3bdfSopenharmony_ci	[1] = 1,		/* check-should-warn */
7f08c3bdfSopenharmony_ci};
8f08c3bdfSopenharmony_ci
9f08c3bdfSopenharmony_cistatic int foo[] = {
10f08c3bdfSopenharmony_ci	[1 ... 3] = 3,
11f08c3bdfSopenharmony_ci};
12f08c3bdfSopenharmony_ci
13f08c3bdfSopenharmony_cistatic int foz[4] = {
14f08c3bdfSopenharmony_ci	[0 ... 3] = 3,
15f08c3bdfSopenharmony_ci	[0] = 0,
16f08c3bdfSopenharmony_ci	[1] = 0,
17f08c3bdfSopenharmony_ci	[2 ... 3] = 1,
18f08c3bdfSopenharmony_ci	[2] = 3,		/* check-should-warn */
19f08c3bdfSopenharmony_ci	[3] = 3,		/* check-should-warn */
20f08c3bdfSopenharmony_ci};
21f08c3bdfSopenharmony_ci
22f08c3bdfSopenharmony_cistatic int bar[] = {
23f08c3bdfSopenharmony_ci	[1 ... 3] = 3,
24f08c3bdfSopenharmony_ci	[1]       = 1,		/* check-should-warn */
25f08c3bdfSopenharmony_ci	[2]       = 2,		/* check-should-warn */
26f08c3bdfSopenharmony_ci	[2 ... 4] = 2,		/* check-should-warn */
27f08c3bdfSopenharmony_ci	[2 ... 3] = 2,		/* check-should-warn */
28f08c3bdfSopenharmony_ci	[4] = 4,		/* check-should-warn */
29f08c3bdfSopenharmony_ci	[0] = 0,
30f08c3bdfSopenharmony_ci	[5] = 5,
31f08c3bdfSopenharmony_ci};
32f08c3bdfSopenharmony_ci
33f08c3bdfSopenharmony_cistatic int baz[3][3] = {
34f08c3bdfSopenharmony_ci	[0 ... 2][0 ... 2] = 0,
35f08c3bdfSopenharmony_ci	[0] = { 0, 0, 0, },	/* check-should-warn */
36f08c3bdfSopenharmony_ci	[0][0] = 1,		/* check-should-warn */
37f08c3bdfSopenharmony_ci	[1] = { 0, 0, 0, },	/* check-should-warn */
38f08c3bdfSopenharmony_ci	[1][0] = 1,		/* check-should-warn */
39f08c3bdfSopenharmony_ci	[1][1] = 1,		/* check-should-warn */
40f08c3bdfSopenharmony_ci	[1 ... 2][1 ... 2] = 2,
41f08c3bdfSopenharmony_ci};
42f08c3bdfSopenharmony_ci
43f08c3bdfSopenharmony_ci
44f08c3bdfSopenharmony_cistruct s {
45f08c3bdfSopenharmony_ci	int i;
46f08c3bdfSopenharmony_ci	int a[2];
47f08c3bdfSopenharmony_ci};
48f08c3bdfSopenharmony_ci
49f08c3bdfSopenharmony_cistatic struct s s = {
50f08c3bdfSopenharmony_ci	.a[0] = 0,
51f08c3bdfSopenharmony_ci	.a[1] = 1,
52f08c3bdfSopenharmony_ci};
53f08c3bdfSopenharmony_ci
54f08c3bdfSopenharmony_cistatic struct s a[2] = {
55f08c3bdfSopenharmony_ci	[0].i = 0,
56f08c3bdfSopenharmony_ci	[1].i = 1,
57f08c3bdfSopenharmony_ci	[0].a[0] = 2,
58f08c3bdfSopenharmony_ci	[0].a[1] = 3,
59f08c3bdfSopenharmony_ci};
60f08c3bdfSopenharmony_ci
61f08c3bdfSopenharmony_cistatic struct s b[2] = {
62f08c3bdfSopenharmony_ci	[0 ... 1] = { 0, { 1, 2 }, },
63f08c3bdfSopenharmony_ci	[0].i = 0,
64f08c3bdfSopenharmony_ci	[1].i = 1,
65f08c3bdfSopenharmony_ci	[0].a[0] = 2,
66f08c3bdfSopenharmony_ci	[0].a[1] = 3,
67f08c3bdfSopenharmony_ci};
68f08c3bdfSopenharmony_ci
69f08c3bdfSopenharmony_ci/*
70f08c3bdfSopenharmony_ci * check-name: field-override
71f08c3bdfSopenharmony_ci * check-command: sparse -Woverride-init -Woverride-init-all $file
72f08c3bdfSopenharmony_ci *
73f08c3bdfSopenharmony_ci * check-error-start
74f08c3bdfSopenharmony_cifield-override.c:2:10: warning: Initializer entry defined twice
75f08c3bdfSopenharmony_cifield-override.c:6:10:   also defined here
76f08c3bdfSopenharmony_cifield-override.c:3:10: warning: Initializer entry defined twice
77f08c3bdfSopenharmony_cifield-override.c:5:10:   also defined here
78f08c3bdfSopenharmony_cifield-override.c:17:10: warning: Initializer entry defined twice
79f08c3bdfSopenharmony_cifield-override.c:18:10:   also defined here
80f08c3bdfSopenharmony_cifield-override.c:17:10: warning: Initializer entry defined twice
81f08c3bdfSopenharmony_cifield-override.c:19:10:   also defined here
82f08c3bdfSopenharmony_cifield-override.c:23:10: warning: Initializer entry defined twice
83f08c3bdfSopenharmony_cifield-override.c:24:10:   also defined here
84f08c3bdfSopenharmony_cifield-override.c:23:10: warning: Initializer entry defined twice
85f08c3bdfSopenharmony_cifield-override.c:25:10:   also defined here
86f08c3bdfSopenharmony_cifield-override.c:23:10: warning: Initializer entry defined twice
87f08c3bdfSopenharmony_cifield-override.c:26:10:   also defined here
88f08c3bdfSopenharmony_cifield-override.c:26:10: warning: Initializer entry defined twice
89f08c3bdfSopenharmony_cifield-override.c:27:10:   also defined here
90f08c3bdfSopenharmony_cifield-override.c:26:10: warning: Initializer entry defined twice
91f08c3bdfSopenharmony_cifield-override.c:28:10:   also defined here
92f08c3bdfSopenharmony_cifield-override.c:35:10: warning: Initializer entry defined twice
93f08c3bdfSopenharmony_cifield-override.c:36:10:   also defined here
94f08c3bdfSopenharmony_cifield-override.c:37:10: warning: Initializer entry defined twice
95f08c3bdfSopenharmony_cifield-override.c:38:10:   also defined here
96f08c3bdfSopenharmony_cifield-override.c:37:10: warning: Initializer entry defined twice
97f08c3bdfSopenharmony_cifield-override.c:39:10:   also defined here
98f08c3bdfSopenharmony_cifield-override.c:37:10: warning: Initializer entry defined twice
99f08c3bdfSopenharmony_cifield-override.c:40:10:   also defined here
100f08c3bdfSopenharmony_ci * check-error-end
101f08c3bdfSopenharmony_ci */
102