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)14f (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