Skip analyzer strndup test on hppa*-*-hpux*
[official-gcc.git] / gcc / testsuite / gcc.dg / Warray-bounds-47.c
blob848ef3651633974865ed77ef2fb10cfc31159597
1 /* PR middle-end/91830 - Bogus -Warray-bounds on strcpy into a member
2 of a subobject compiling binutils
3 { dg-do compile }
4 { dg-options "-O2 -Wall -Wno-stringop-overflow -ftrack-macro-expansion=0" } */
6 extern char* strcpy (char*, const char*);
7 extern void sink (void*);
9 #define S36 "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
11 #define S(N) (S36 + sizeof (S36) - N - 1)
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)
26 struct A { char a[3]; char b[5]; };
27 struct B { char c[7]; struct A a; struct A a2[2]; };
29 extern struct B b[];
31 void array_nowarn (int i)
33 struct B *pb = b;
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" }
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" }
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" }
47 T (pb[i].a, a, 0);
48 T (pb[i].a, a, 1);
49 T (pb[i].a, a, 2);
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" }
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" }
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" }
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);
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" }
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" }
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" }
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" }
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);
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);
114 void array_warn (int i)
116 struct B *pb = b;
118 T (pb[0].a, a, 3); // { dg-warning "\\\[-Warray-bounds" }
119 T (pb[0].a, a, 4); // { dg-warning "\\\[-Warray-bounds" }
121 T (pb[1].a, a, 5); // { dg-warning "\\\[-Warray-bounds" }
122 T (pb[1].a, a, 6); // { dg-warning "\\\[-Warray-bounds" }
124 T (pb[789].a, a, 5); // { dg-warning "\\\[-Warray-bounds" }
125 T (pb[789].a, a, 6); // { dg-warning "\\\[-Warray-bounds" }
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 *-*-* } }
131 T (pb[0].a, b, 5); // { dg-warning "\\\[-Warray-bounds" }
132 T (pb[0].a, b, 6); // { dg-warning "\\\[-Warray-bounds" }
134 T (pb[1].a, b, 5); // { dg-warning "\\\[-Warray-bounds" }
135 T (pb[1].a, b, 6); // { dg-warning "\\\[-Warray-bounds" }
137 T (pb[789].a, b, 5); // { dg-warning "\\\[-Warray-bounds" }
138 T (pb[789].a, b, 6); // { dg-warning "\\\[-Warray-bounds" }
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 *-*-* } }
144 T (pb[0].a2[0], b, 5); // { dg-warning "\\\[-Warray-bounds" }
145 T (pb[0].a2[0], b, 6); // { dg-warning "\\\[-Warray-bounds" }
147 T (pb[1].a2[0], b, 5); // { dg-warning "\\\[-Warray-bounds" }
148 T (pb[1].a2[0], b, 6); // { dg-warning "\\\[-Warray-bounds" }
150 T (pb[789].a2[0], b, 5); // { dg-warning "\\\[-Warray-bounds" }
151 T (pb[789].a2[0], b, 6); // { dg-warning "\\\[-Warray-bounds" }
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 *-*-* } }
156 T (pb[0].a2[1], b, 5); // { dg-warning "\\\[-Warray-bounds" }
157 T (pb[0].a2[1], b, 6); // { dg-warning "\\\[-Warray-bounds" }
159 T (pb[1].a2[1], b, 5); // { dg-warning "\\\[-Warray-bounds" }
160 T (pb[1].a2[1], b, 6); // { dg-warning "\\\[-Warray-bounds" }
162 T (pb[789].a2[1], b, 5); // { dg-warning "\\\[-Warray-bounds" }
163 T (pb[789].a2[1], b, 6); // { dg-warning "\\\[-Warray-bounds" }
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 *-*-* } }
169 void ptr_nowarn (struct B *pb, int i)
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" }
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" }
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" }
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" }
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" }
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" }
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" }
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" }
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" }
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" }
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" }
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" }
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" }
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);
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" }
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" }
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" }
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" }
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" }
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" }
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);
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" }
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" }
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" }
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" }
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" }
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" }
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);
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);
334 void ptr_warn (struct B *pb, int i)
336 T (pb[-987].a, a, 8); // { dg-warning "\\\[-Warray-bounds" }
337 T (pb[-654].a, a, 7); // { dg-warning "\\\[-Warray-bounds" }
339 T (pb[-2].a, a, 6); // { dg-warning "\\\[-Warray-bounds" }
340 T (pb[-2].a, a, 5); // { dg-warning "\\\[-Warray-bounds" }
342 T (pb[-1].a, a, 3); // { dg-warning "\\\[-Warray-bounds" }
343 T (pb[-1].a, a, 4); // { dg-warning "\\\[-Warray-bounds" }
345 T (pb[0].a, a, 3); // { dg-warning "\\\[-Warray-bounds" }
346 T (pb[0].a, a, 4); // { dg-warning "\\\[-Warray-bounds" }
348 T (pb[1].a, a, 5); // { dg-warning "\\\[-Warray-bounds" }
349 T (pb[1].a, a, 6); // { dg-warning "\\\[-Warray-bounds" }
351 T (pb[789].a, a, 7); // { dg-warning "\\\[-Warray-bounds" }
352 T (pb[789].a, a, 8); // { dg-warning "\\\[-Warray-bounds" }
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 *-*-* } }
359 T (pb[-987].a, b, 10); // { dg-warning "\\\[-Warray-bounds" }
360 T (pb[-654].a, b, 9); // { dg-warning "\\\[-Warray-bounds" }
362 T (pb[-2].a, b, 8); // { dg-warning "\\\[-Warray-bounds" }
363 T (pb[-2].a, b, 7); // { dg-warning "\\\[-Warray-bounds" }
365 T (pb[-1].a, b, 6); // { dg-warning "\\\[-Warray-bounds" }
366 T (pb[-1].a, b, 5); // { dg-warning "\\\[-Warray-bounds" }
368 T (pb[0].a, b, 5); // { dg-warning "\\\[-Warray-bounds" }
369 T (pb[0].a, b, 6); // { dg-warning "\\\[-Warray-bounds" }
371 T (pb[1].a, b, 7); // { dg-warning "\\\[-Warray-bounds" }
372 T (pb[1].a, b, 8); // { dg-warning "\\\[-Warray-bounds" }
374 T (pb[789].a, b, 9); // { dg-warning "\\\[-Warray-bounds" }
375 T (pb[789].a, b, 10); // { dg-warning "\\\[-Warray-bounds" }
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 *-*-* } }
382 T (pb[-987].a2[0], b, 10); // { dg-warning "\\\[-Warray-bounds" }
383 T (pb[-654].a2[0], b, 9); // { dg-warning "\\\[-Warray-bounds" }
385 T (pb[-2].a2[0], b, 8); // { dg-warning "\\\[-Warray-bounds" }
386 T (pb[-2].a2[0], b, 7); // { dg-warning "\\\[-Warray-bounds" }
388 T (pb[-1].a2[0], b, 6); // { dg-warning "\\\[-Warray-bounds" }
389 T (pb[-1].a2[0], b, 5); // { dg-warning "\\\[-Warray-bounds" }
391 T (pb[0].a2[0], b, 5); // { dg-warning "\\\[-Warray-bounds" }
392 T (pb[0].a2[0], b, 6); // { dg-warning "\\\[-Warray-bounds" }
394 T (pb[1].a2[0], b, 7); // { dg-warning "\\\[-Warray-bounds" }
395 T (pb[1].a2[0], b, 8); // { dg-warning "\\\[-Warray-bounds" }
397 T (pb[789].a2[0], b, 9); // { dg-warning "\\\[-Warray-bounds" }
398 T (pb[789].a2[0], b, 10); // { dg-warning "\\\[-Warray-bounds" }
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 *-*-* } }
404 T (pb[-987].a2[1], b, 10); // { dg-warning "\\\[-Warray-bounds" }
405 T (pb[-654].a2[1], b, 9); // { dg-warning "\\\[-Warray-bounds" }
407 T (pb[-2].a2[1], b, 8); // { dg-warning "\\\[-Warray-bounds" }
408 T (pb[-2].a2[1], b, 7); // { dg-warning "\\\[-Warray-bounds" }
410 T (pb[-1].a2[1], b, 6); // { dg-warning "\\\[-Warray-bounds" }
411 T (pb[-1].a2[1], b, 5); // { dg-warning "\\\[-Warray-bounds" }
413 T (pb[0].a2[1], b, 5); // { dg-warning "\\\[-Warray-bounds" }
414 T (pb[0].a2[1], b, 6); // { dg-warning "\\\[-Warray-bounds" }
416 T (pb[1].a2[1], b, 7); // { dg-warning "\\\[-Warray-bounds" }
417 T (pb[1].a2[1], b, 8); // { dg-warning "\\\[-Warray-bounds" }
419 T (pb[789].a2[1], b, 9); // { dg-warning "\\\[-Warray-bounds" }
420 T (pb[789].a2[1], b, 10); // { dg-warning "\\\[-Warray-bounds" }
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 *-*-* } }
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 *-*-* } }