]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/testsuite/gcc.dg/Warray-bounds-47.c
Update copyright years.
[thirdparty/gcc.git] / gcc / testsuite / gcc.dg / Warray-bounds-47.c
CommitLineData
81011859
MS
1/* PR middle-end/91830 - Bogus -Warray-bounds on strcpy into a member
2 of a subobject compiling binutils
3 { dg-do compile }
ef29b12c 4 { dg-options "-O2 -Wall -Wno-stringop-overflow -ftrack-macro-expansion=0" } */
81011859
MS
5
6extern char* strcpy (char*, const char*);
7extern void sink (void*);
8
9#define S36 "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
10
11#define S(N) (S36 + sizeof (S36) - N - 1)
12
13/* In the test macro, prevent the strcpy to memcpy transformation
14 by using a local array initialized with the string literal. Without
15 it, GCC transforms the strcpy call with memcpy which (unfortunately)
16 permits accesses that cross subobject boundaries. */
17#define T(obj, mem, n) \
18 do { \
19 struct A *pa = &obj; \
20 const char a[] = S36; \
21 strcpy (pa->mem, a + sizeof a - n - 1); \
22 sink (&obj); \
23 } while (0)
24
25
26struct A { char a[3]; char b[5]; };
27struct B { char c[7]; struct A a; struct A a2[2]; };
28
29extern struct B b[];
30
31void array_nowarn (int i)
32{
33 struct B *pb = b;
34
35 T (pb[0].a, a, 0); // { dg-bogus "\\\[-W" }
36 T (pb[0].a, a, 1); // { dg-bogus "\\\[-W" }
37 T (pb[0].a, a, 2); // { dg-bogus "\\\[-W" }
38
39 T (pb[1].a, a, 0); // { dg-bogus "\\\[-W" }
40 T (pb[1].a, a, 1); // { dg-bogus "\\\[-W" }
41 T (pb[1].a, a, 2); // { dg-bogus "\\\[-W" }
42
43 T (pb[123].a, a, 0); // { dg-bogus "\\\[-W" }
44 T (pb[123].a, a, 1); // { dg-bogus "\\\[-W" }
45 T (pb[123].a, a, 2); // { dg-bogus "\\\[-W" }
46
47 T (pb[i].a, a, 0);
48 T (pb[i].a, a, 1);
49 T (pb[i].a, a, 2);
50
51
52 T (pb[0].a, b, 0); // { dg-bogus "\\\[-W" }
53 T (pb[0].a, b, 1); // { dg-bogus "\\\[-W" }
54 T (pb[0].a, b, 2); // { dg-bogus "\\\[-W" }
55 T (pb[0].a, b, 3); // { dg-bogus "\\\[-W" }
56 T (pb[0].a, b, 4); // { dg-bogus "\\\[-W" }
57
58 T (pb[1].a, b, 0); // { dg-bogus "\\\[-W" }
59 T (pb[1].a, b, 1); // { dg-bogus "\\\[-W" }
60 T (pb[1].a, b, 2); // { dg-bogus "\\\[-W" }
61 T (pb[1].a, b, 3); // { dg-bogus "\\\[-W" }
62 T (pb[1].a, b, 4); // { dg-bogus "\\\[-W" }
63
64 T (pb[123].a, b, 0); // { dg-bogus "\\\[-W" }
65 T (pb[123].a, b, 1); // { dg-bogus "\\\[-W" }
66 T (pb[123].a, b, 2); // { dg-bogus "\\\[-W" }
67 T (pb[123].a, b, 3); // { dg-bogus "\\\[-W" }
68 T (pb[123].a, b, 4); // { dg-bogus "\\\[-W" }
69
70 T (pb[i].a, b, 0);
71 T (pb[i].a, b, 1);
72 T (pb[i].a, b, 2);
73 T (pb[i].a, b, 3);
74 T (pb[i].a, b, 4);
75
76
77 T (pb[0].a2[0], b, 0); // { dg-bogus "\\\[-W" }
78 T (pb[0].a2[0], b, 1); // { dg-bogus "\\\[-W" }
79 T (pb[0].a2[0], b, 2); // { dg-bogus "\\\[-W" }
80 T (pb[0].a2[0], b, 3); // { dg-bogus "\\\[-W" }
81 T (pb[0].a2[0], b, 4); // { dg-bogus "\\\[-W" }
82
83 T (pb[1].a2[0], b, 0); // { dg-bogus "\\\[-W" }
84 T (pb[1].a2[0], b, 1); // { dg-bogus "\\\[-W" }
85 T (pb[1].a2[0], b, 2); // { dg-bogus "\\\[-W" }
86 T (pb[1].a2[0], b, 3); // { dg-bogus "\\\[-W" }
87 T (pb[1].a2[0], b, 4); // { dg-bogus "\\\[-W" }
88
89 T (pb[123].a2[0], b, 0); // { dg-bogus "\\\[-W" }
90 T (pb[123].a2[0], b, 1); // { dg-bogus "\\\[-W" }
91 T (pb[123].a2[0], b, 2); // { dg-bogus "\\\[-W" }
92 T (pb[123].a2[0], b, 3); // { dg-bogus "\\\[-W" }
93 T (pb[123].a2[0], b, 4); // { dg-bogus "\\\[-W" }
94
95 T (pb[123].a2[1], b, 0); // { dg-bogus "\\\[-W" }
96 T (pb[123].a2[1], b, 1); // { dg-bogus "\\\[-W" }
97 T (pb[123].a2[1], b, 2); // { dg-bogus "\\\[-W" }
98 T (pb[123].a2[1], b, 3); // { dg-bogus "\\\[-W" }
99 T (pb[123].a2[1], b, 4); // { dg-bogus "\\\[-W" }
100
101 T (pb[i].a2[0], b, 0);
102 T (pb[i].a2[0], b, 1);
103 T (pb[i].a2[0], b, 2);
104 T (pb[i].a2[0], b, 3);
105 T (pb[i].a2[0], b, 4);
106
107 T (pb[i].a2[1], b, 0);
108 T (pb[i].a2[1], b, 1);
109 T (pb[i].a2[1], b, 2);
110 T (pb[i].a2[1], b, 3);
111 T (pb[i].a2[1], b, 4);
112}
113
114void array_warn (int i)
115{
116 struct B *pb = b;
117
118 T (pb[0].a, a, 3); // { dg-warning "\\\[-Warray-bounds" }
119 T (pb[0].a, a, 4); // { dg-warning "\\\[-Warray-bounds" }
120
121 T (pb[1].a, a, 5); // { dg-warning "\\\[-Warray-bounds" }
122 T (pb[1].a, a, 6); // { dg-warning "\\\[-Warray-bounds" }
123
124 T (pb[789].a, a, 5); // { dg-warning "\\\[-Warray-bounds" }
125 T (pb[789].a, a, 6); // { dg-warning "\\\[-Warray-bounds" }
126
127 T (pb[i].a, a, 7); // { dg-warning "\\\[-Warray-bounds" "pr91848" { xfail *-*-* } }
128 T (pb[i].a, a, 8); // { dg-warning "\\\[-Warray-bounds" "pr91848" { xfail *-*-* } }
129
130
131 T (pb[0].a, b, 5); // { dg-warning "\\\[-Warray-bounds" }
132 T (pb[0].a, b, 6); // { dg-warning "\\\[-Warray-bounds" }
133
134 T (pb[1].a, b, 5); // { dg-warning "\\\[-Warray-bounds" }
135 T (pb[1].a, b, 6); // { dg-warning "\\\[-Warray-bounds" }
136
137 T (pb[789].a, b, 5); // { dg-warning "\\\[-Warray-bounds" }
138 T (pb[789].a, b, 6); // { dg-warning "\\\[-Warray-bounds" }
139
140 T (pb[i].a, b, 5); // { dg-warning "\\\[-Warray-bounds" "pr91848" { xfail *-*-* } }
141 T (pb[i].a, b, 6); // { dg-warning "\\\[-Warray-bounds" "pr91848" { xfail *-*-* } }
142
143
144 T (pb[0].a2[0], b, 5); // { dg-warning "\\\[-Warray-bounds" }
145 T (pb[0].a2[0], b, 6); // { dg-warning "\\\[-Warray-bounds" }
146
147 T (pb[1].a2[0], b, 5); // { dg-warning "\\\[-Warray-bounds" }
148 T (pb[1].a2[0], b, 6); // { dg-warning "\\\[-Warray-bounds" }
149
150 T (pb[789].a2[0], b, 5); // { dg-warning "\\\[-Warray-bounds" }
151 T (pb[789].a2[0], b, 6); // { dg-warning "\\\[-Warray-bounds" }
152
153 T (pb[i].a2[0], b, 5); // { dg-warning "\\\[-Warray-bounds" "pr91848" { xfail *-*-* } }
154 T (pb[i].a2[0], b, 6); // { dg-warning "\\\[-Warray-bounds" "pr91848" { xfail *-*-* } }
155
156 T (pb[0].a2[1], b, 5); // { dg-warning "\\\[-Warray-bounds" }
157 T (pb[0].a2[1], b, 6); // { dg-warning "\\\[-Warray-bounds" }
158
159 T (pb[1].a2[1], b, 5); // { dg-warning "\\\[-Warray-bounds" }
160 T (pb[1].a2[1], b, 6); // { dg-warning "\\\[-Warray-bounds" }
161
162 T (pb[789].a2[1], b, 5); // { dg-warning "\\\[-Warray-bounds" }
163 T (pb[789].a2[1], b, 6); // { dg-warning "\\\[-Warray-bounds" }
164
165 T (pb[i].a2[1], b, 5); // { dg-warning "\\\[-Warray-bounds" "pr91848" { xfail *-*-* } }
166 T (pb[i].a2[1], b, 6); // { dg-warning "\\\[-Warray-bounds" "pr91848" { xfail *-*-* } }
167}
168
169void ptr_nowarn (struct B *pb, int i)
170{
171 T (pb[-123].a, a, 0); // { dg-bogus "\\\[-W" }
172 T (pb[-123].a, a, 1); // { dg-bogus "\\\[-W" }
173 T (pb[-123].a, a, 2); // { dg-bogus "\\\[-W" }
174
175 T (pb[-2].a, a, 0); // { dg-bogus "\\\[-W" }
176 T (pb[-2].a, a, 1); // { dg-bogus "\\\[-W" }
177 T (pb[-2].a, a, 2); // { dg-bogus "\\\[-W" }
178
179 T (pb[-1].a, a, 0); // { dg-bogus "\\\[-W" }
180 T (pb[-1].a, a, 1); // { dg-bogus "\\\[-W" }
181 T (pb[-1].a, a, 2); // { dg-bogus "\\\[-W" }
182
183 T (pb[0].a, a, 0); // { dg-bogus "\\\[-W" }
184 T (pb[0].a, a, 1); // { dg-bogus "\\\[-W" }
185 T (pb[0].a, a, 2); // { dg-bogus "\\\[-W" }
186
187 T (pb[1].a, a, 0); // { dg-bogus "\\\[-W" }
188 T (pb[1].a, a, 1); // { dg-bogus "\\\[-W" }
189 T (pb[1].a, a, 2); // { dg-bogus "\\\[-W" }
190
191 T (pb[123].a, a, 0); // { dg-bogus "\\\[-W" }
192 T (pb[123].a, a, 1); // { dg-bogus "\\\[-W" }
193 T (pb[123].a, a, 2); // { dg-bogus "\\\[-W" }
194
195 T (pb[i].a, a, 0); // { dg-bogus "\\\[-W" }
196 T (pb[i].a, a, 1); // { dg-bogus "\\\[-W" }
197 T (pb[i].a, a, 2); // { dg-bogus "\\\[-W" }
198
199
200 T (pb[-123].a, b, 0); // { dg-bogus "\\\[-W" }
201 T (pb[-123].a, b, 1); // { dg-bogus "\\\[-W" }
202 T (pb[-123].a, b, 2); // { dg-bogus "\\\[-W" }
203 T (pb[-123].a, b, 3); // { dg-bogus "\\\[-W" }
204 T (pb[-123].a, b, 4); // { dg-bogus "\\\[-W" }
205
206 T (pb[-2].a, b, 0); // { dg-bogus "\\\[-W" }
207 T (pb[-2].a, b, 1); // { dg-bogus "\\\[-W" }
208 T (pb[-2].a, b, 2); // { dg-bogus "\\\[-W" }
209 T (pb[-2].a, b, 3); // { dg-bogus "\\\[-W" }
210 T (pb[-2].a, b, 4); // { dg-bogus "\\\[-W" }
211
212 T (pb[-1].a, b, 0); // { dg-bogus "\\\[-W" }
213 T (pb[-1].a, b, 1); // { dg-bogus "\\\[-W" }
214 T (pb[-1].a, b, 2); // { dg-bogus "\\\[-W" }
215 T (pb[-1].a, b, 3); // { dg-bogus "\\\[-W" }
216 T (pb[-1].a, b, 4); // { dg-bogus "\\\[-W" }
217
218 T (pb[0].a, b, 0); // { dg-bogus "\\\[-W" }
219 T (pb[0].a, b, 1); // { dg-bogus "\\\[-W" }
220 T (pb[0].a, b, 2); // { dg-bogus "\\\[-W" }
221 T (pb[0].a, b, 3); // { dg-bogus "\\\[-W" }
222 T (pb[0].a, b, 4); // { dg-bogus "\\\[-W" }
223
224 T (pb[1].a, b, 0); // { dg-bogus "\\\[-W" }
225 T (pb[1].a, b, 1); // { dg-bogus "\\\[-W" }
226 T (pb[1].a, b, 2); // { dg-bogus "\\\[-W" }
227 T (pb[1].a, b, 3); // { dg-bogus "\\\[-W" }
228 T (pb[1].a, b, 4); // { dg-bogus "\\\[-W" }
229
230 T (pb[123].a, b, 0); // { dg-bogus "\\\[-W" }
231 T (pb[123].a, b, 1); // { dg-bogus "\\\[-W" }
232 T (pb[123].a, b, 2); // { dg-bogus "\\\[-W" }
233 T (pb[123].a, b, 3); // { dg-bogus "\\\[-W" }
234 T (pb[123].a, b, 4); // { dg-bogus "\\\[-W" }
235
236 T (pb[i].a, b, 0);
237 T (pb[i].a, b, 1);
238 T (pb[i].a, b, 2);
239 T (pb[i].a, b, 3);
240 T (pb[i].a, b, 4);
241
242
243 T (pb[-123].a2[0], b, 0); // { dg-bogus "\\\[-W" }
244 T (pb[-123].a2[0], b, 1); // { dg-bogus "\\\[-W" }
245 T (pb[-123].a2[0], b, 2); // { dg-bogus "\\\[-W" }
246 T (pb[-123].a2[0], b, 3); // { dg-bogus "\\\[-W" }
247 T (pb[-123].a2[0], b, 4); // { dg-bogus "\\\[-W" }
248
249 T (pb[-2].a2[0], b, 0); // { dg-bogus "\\\[-W" }
250 T (pb[-2].a2[0], b, 1); // { dg-bogus "\\\[-W" }
251 T (pb[-2].a2[0], b, 2); // { dg-bogus "\\\[-W" }
252 T (pb[-2].a2[0], b, 3); // { dg-bogus "\\\[-W" }
253 T (pb[-2].a2[0], b, 4); // { dg-bogus "\\\[-W" }
254
255 T (pb[-1].a2[0], b, 0); // { dg-bogus "\\\[-W" }
256 T (pb[-1].a2[0], b, 1); // { dg-bogus "\\\[-W" }
257 T (pb[-1].a2[0], b, 2); // { dg-bogus "\\\[-W" }
258 T (pb[-1].a2[0], b, 3); // { dg-bogus "\\\[-W" }
259 T (pb[-1].a2[0], b, 4); // { dg-bogus "\\\[-W" }
260
261 T (pb[0].a2[0], b, 0); // { dg-bogus "\\\[-W" }
262 T (pb[0].a2[0], b, 1); // { dg-bogus "\\\[-W" }
263 T (pb[0].a2[0], b, 2); // { dg-bogus "\\\[-W" }
264 T (pb[0].a2[0], b, 3); // { dg-bogus "\\\[-W" }
265 T (pb[0].a2[0], b, 4); // { dg-bogus "\\\[-W" }
266
267 T (pb[1].a2[0], b, 0); // { dg-bogus "\\\[-W" }
268 T (pb[1].a2[0], b, 1); // { dg-bogus "\\\[-W" }
269 T (pb[1].a2[0], b, 2); // { dg-bogus "\\\[-W" }
270 T (pb[1].a2[0], b, 3); // { dg-bogus "\\\[-W" }
271 T (pb[1].a2[0], b, 4); // { dg-bogus "\\\[-W" }
272
273 T (pb[123].a2[0], b, 0); // { dg-bogus "\\\[-W" }
274 T (pb[123].a2[0], b, 1); // { dg-bogus "\\\[-W" }
275 T (pb[123].a2[0], b, 2); // { dg-bogus "\\\[-W" }
276 T (pb[123].a2[0], b, 3); // { dg-bogus "\\\[-W" }
277 T (pb[123].a2[0], b, 4); // { dg-bogus "\\\[-W" }
278
279 T (pb[i].a2[0], b, 0);
280 T (pb[i].a2[0], b, 1);
281 T (pb[i].a2[0], b, 2);
282 T (pb[i].a2[0], b, 3);
283 T (pb[i].a2[0], b, 4);
284
285 T (pb[-123].a2[1], b, 0); // { dg-bogus "\\\[-W" }
286 T (pb[-123].a2[1], b, 1); // { dg-bogus "\\\[-W" }
287 T (pb[-123].a2[1], b, 2); // { dg-bogus "\\\[-W" }
288 T (pb[-123].a2[1], b, 3); // { dg-bogus "\\\[-W" }
289 T (pb[-123].a2[1], b, 4); // { dg-bogus "\\\[-W" }
290
291 T (pb[-2].a2[1], b, 0); // { dg-bogus "\\\[-W" }
292 T (pb[-2].a2[1], b, 1); // { dg-bogus "\\\[-W" }
293 T (pb[-2].a2[1], b, 2); // { dg-bogus "\\\[-W" }
294 T (pb[-2].a2[1], b, 3); // { dg-bogus "\\\[-W" }
295 T (pb[-2].a2[1], b, 4); // { dg-bogus "\\\[-W" }
296
297 T (pb[-1].a2[1], b, 0); // { dg-bogus "\\\[-W" }
298 T (pb[-1].a2[1], b, 1); // { dg-bogus "\\\[-W" }
299 T (pb[-1].a2[1], b, 2); // { dg-bogus "\\\[-W" }
300 T (pb[-1].a2[1], b, 3); // { dg-bogus "\\\[-W" }
301 T (pb[-1].a2[1], b, 4); // { dg-bogus "\\\[-W" }
302
303 T (pb[0].a2[1], b, 0); // { dg-bogus "\\\[-W" }
304 T (pb[0].a2[1], b, 1); // { dg-bogus "\\\[-W" }
305 T (pb[0].a2[1], b, 2); // { dg-bogus "\\\[-W" }
306 T (pb[0].a2[1], b, 3); // { dg-bogus "\\\[-W" }
307 T (pb[0].a2[1], b, 4); // { dg-bogus "\\\[-W" }
308
309 T (pb[1].a2[1], b, 0); // { dg-bogus "\\\[-W" }
310 T (pb[1].a2[1], b, 1); // { dg-bogus "\\\[-W" }
311 T (pb[1].a2[1], b, 2); // { dg-bogus "\\\[-W" }
312 T (pb[1].a2[1], b, 3); // { dg-bogus "\\\[-W" }
313 T (pb[1].a2[1], b, 4); // { dg-bogus "\\\[-W" }
314
315 T (pb[123].a2[1], b, 0); // { dg-bogus "\\\[-W" }
316 T (pb[123].a2[1], b, 1); // { dg-bogus "\\\[-W" }
317 T (pb[123].a2[1], b, 2); // { dg-bogus "\\\[-W" }
318 T (pb[123].a2[1], b, 3); // { dg-bogus "\\\[-W" }
319 T (pb[123].a2[1], b, 4); // { dg-bogus "\\\[-W" }
320
321 T (pb[i].a2[1], b, 0);
322 T (pb[i].a2[1], b, 1);
323 T (pb[i].a2[1], b, 2);
324 T (pb[i].a2[1], b, 3);
325 T (pb[i].a2[1], b, 4);
326
327 T (pb[i].a2[i], b, 0);
328 T (pb[i].a2[i], b, 1);
329 T (pb[i].a2[i], b, 2);
330 T (pb[i].a2[i], b, 3);
331 T (pb[i].a2[i], b, 4);
332}
333
334void ptr_warn (struct B *pb, int i)
335{
336 T (pb[-987].a, a, 8); // { dg-warning "\\\[-Warray-bounds" }
337 T (pb[-654].a, a, 7); // { dg-warning "\\\[-Warray-bounds" }
338
339 T (pb[-2].a, a, 6); // { dg-warning "\\\[-Warray-bounds" }
340 T (pb[-2].a, a, 5); // { dg-warning "\\\[-Warray-bounds" }
341
342 T (pb[-1].a, a, 3); // { dg-warning "\\\[-Warray-bounds" }
343 T (pb[-1].a, a, 4); // { dg-warning "\\\[-Warray-bounds" }
344
345 T (pb[0].a, a, 3); // { dg-warning "\\\[-Warray-bounds" }
346 T (pb[0].a, a, 4); // { dg-warning "\\\[-Warray-bounds" }
347
348 T (pb[1].a, a, 5); // { dg-warning "\\\[-Warray-bounds" }
349 T (pb[1].a, a, 6); // { dg-warning "\\\[-Warray-bounds" }
350
351 T (pb[789].a, a, 7); // { dg-warning "\\\[-Warray-bounds" }
352 T (pb[789].a, a, 8); // { dg-warning "\\\[-Warray-bounds" }
353
354 T (pb[i].a, a, 3); // { dg-warning "\\\[-Warray-bounds" "pr91848" { xfail *-*-* } }
355 T (pb[i].a, a, 4); // { dg-warning "\\\[-Warray-bounds" "pr91848" { xfail *-*-* } }
356 T (pb[i].a, a, 5); // { dg-warning "\\\[-Warray-bounds" "pr91848" { xfail *-*-* } }
357
358
359 T (pb[-987].a, b, 10); // { dg-warning "\\\[-Warray-bounds" }
360 T (pb[-654].a, b, 9); // { dg-warning "\\\[-Warray-bounds" }
361
362 T (pb[-2].a, b, 8); // { dg-warning "\\\[-Warray-bounds" }
363 T (pb[-2].a, b, 7); // { dg-warning "\\\[-Warray-bounds" }
364
365 T (pb[-1].a, b, 6); // { dg-warning "\\\[-Warray-bounds" }
366 T (pb[-1].a, b, 5); // { dg-warning "\\\[-Warray-bounds" }
367
368 T (pb[0].a, b, 5); // { dg-warning "\\\[-Warray-bounds" }
369 T (pb[0].a, b, 6); // { dg-warning "\\\[-Warray-bounds" }
370
371 T (pb[1].a, b, 7); // { dg-warning "\\\[-Warray-bounds" }
372 T (pb[1].a, b, 8); // { dg-warning "\\\[-Warray-bounds" }
373
374 T (pb[789].a, b, 9); // { dg-warning "\\\[-Warray-bounds" }
375 T (pb[789].a, b, 10); // { dg-warning "\\\[-Warray-bounds" }
376
377 T (pb[i].a, b, 5); // { dg-warning "\\\[-Warray-bounds" "pr91848" { xfail *-*-* } }
378 T (pb[i].a, b, 6); // { dg-warning "\\\[-Warray-bounds" "pr91848" { xfail *-*-* } }
379 T (pb[i].a, b, 7); // { dg-warning "\\\[-Warray-bounds" "pr91848" { xfail *-*-* } }
380
381
382 T (pb[-987].a2[0], b, 10); // { dg-warning "\\\[-Warray-bounds" }
383 T (pb[-654].a2[0], b, 9); // { dg-warning "\\\[-Warray-bounds" }
384
385 T (pb[-2].a2[0], b, 8); // { dg-warning "\\\[-Warray-bounds" }
386 T (pb[-2].a2[0], b, 7); // { dg-warning "\\\[-Warray-bounds" }
387
388 T (pb[-1].a2[0], b, 6); // { dg-warning "\\\[-Warray-bounds" }
389 T (pb[-1].a2[0], b, 5); // { dg-warning "\\\[-Warray-bounds" }
390
391 T (pb[0].a2[0], b, 5); // { dg-warning "\\\[-Warray-bounds" }
392 T (pb[0].a2[0], b, 6); // { dg-warning "\\\[-Warray-bounds" }
393
394 T (pb[1].a2[0], b, 7); // { dg-warning "\\\[-Warray-bounds" }
395 T (pb[1].a2[0], b, 8); // { dg-warning "\\\[-Warray-bounds" }
396
397 T (pb[789].a2[0], b, 9); // { dg-warning "\\\[-Warray-bounds" }
398 T (pb[789].a2[0], b, 10); // { dg-warning "\\\[-Warray-bounds" }
399
400 T (pb[i].a2[0], b, 5); // { dg-warning "\\\[-Warray-bounds" "pr91848" { xfail *-*-* } }
401 T (pb[i].a2[0], b, 6); // { dg-warning "\\\[-Warray-bounds" "pr91848" { xfail *-*-* } }
402 T (pb[i].a2[0], b, 7); // { dg-warning "\\\[-Warray-bounds" "pr91848" { xfail *-*-* } }
403
404 T (pb[-987].a2[1], b, 10); // { dg-warning "\\\[-Warray-bounds" }
405 T (pb[-654].a2[1], b, 9); // { dg-warning "\\\[-Warray-bounds" }
406
407 T (pb[-2].a2[1], b, 8); // { dg-warning "\\\[-Warray-bounds" }
408 T (pb[-2].a2[1], b, 7); // { dg-warning "\\\[-Warray-bounds" }
409
410 T (pb[-1].a2[1], b, 6); // { dg-warning "\\\[-Warray-bounds" }
411 T (pb[-1].a2[1], b, 5); // { dg-warning "\\\[-Warray-bounds" }
412
413 T (pb[0].a2[1], b, 5); // { dg-warning "\\\[-Warray-bounds" }
414 T (pb[0].a2[1], b, 6); // { dg-warning "\\\[-Warray-bounds" }
415
416 T (pb[1].a2[1], b, 7); // { dg-warning "\\\[-Warray-bounds" }
417 T (pb[1].a2[1], b, 8); // { dg-warning "\\\[-Warray-bounds" }
418
419 T (pb[789].a2[1], b, 9); // { dg-warning "\\\[-Warray-bounds" }
420 T (pb[789].a2[1], b, 10); // { dg-warning "\\\[-Warray-bounds" }
421
422 T (pb[i].a2[1], b, 5); // { dg-warning "\\\[-Warray-bounds" "pr91848" { xfail *-*-* } }
423 T (pb[i].a2[1], b, 6); // { dg-warning "\\\[-Warray-bounds" "pr91848" { xfail *-*-* } }
424 T (pb[i].a2[1], b, 7); // { dg-warning "\\\[-Warray-bounds" "pr91848" { xfail *-*-* } }
425
426 T (pb[i].a2[i], b, 5); // { dg-warning "\\\[-Warray-bounds" "pr91848" { xfail *-*-* } }
427 T (pb[i].a2[i], b, 6); // { dg-warning "\\\[-Warray-bounds" "pr91848" { xfail *-*-* } }
428 T (pb[i].a2[i], b, 7); // { dg-warning "\\\[-Warray-bounds" "pr91848" { xfail *-*-* } }
429}