1 /* { dg-do compile } */
2 /* { dg-options "-O2 -Warray-bounds" } */
3 
4 typedef struct
5 {
6   int len;
7   char data[1];
8 } rec;
9 
10 int
11 p(rec *r, int len);
12 
13 int
f(char prm1,char prm2)14 f (char prm1, char prm2)
15 {
16   char buf[10];
17 
18   rec *r1 = (rec *)&buf;
19 
20   r1->len = 10;
21   r1->data[0] = prm1;
22   r1->data[1] = prm2; /* { dg-bogus "above array bounds" } */
23 
24   return p(r1, r1->len);
25 }
26