1 /* PR middle-end/91830 - Bogus -Warray-bounds on strcpy into a member
2 of a subobject compiling binutils
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) \
19 struct A *pa = &obj; \
20 const char a[] = S36; \
21 strcpy (pa->mem, a + sizeof a - n - 1); \
26 struct A
{ char a
[3]; char b
[5]; };
27 struct B
{ char c
[7]; struct A a
; struct A a2
[2]; };
31 void array_nowarn (int i
)
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" }
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" }
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
)
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" }
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 *-*-* } }