annotate gcc/testsuite/gcc.dg/Warray-bounds-18.c @ 158:494b0b89df80 default tip

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 25 May 2020 18:13:55 +0900
parents 1830386684a0
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 /* { dg-do compile } */
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 111
diff changeset
2 /* { dg-options "-O2 -Warray-bounds -Wno-stringop-overflow" } */
111
kono
parents:
diff changeset
3
kono
parents:
diff changeset
4 typedef struct
kono
parents:
diff changeset
5 {
kono
parents:
diff changeset
6 int len;
kono
parents:
diff changeset
7 char data[1];
kono
parents:
diff changeset
8 } rec;
kono
parents:
diff changeset
9
kono
parents:
diff changeset
10 int
kono
parents:
diff changeset
11 p(rec *r, int len);
kono
parents:
diff changeset
12
kono
parents:
diff changeset
13 int
kono
parents:
diff changeset
14 f (char prm1, char prm2)
kono
parents:
diff changeset
15 {
kono
parents:
diff changeset
16 char buf[10];
kono
parents:
diff changeset
17
kono
parents:
diff changeset
18 rec *r1 = (rec *)&buf;
kono
parents:
diff changeset
19
kono
parents:
diff changeset
20 r1->len = 10;
kono
parents:
diff changeset
21 r1->data[0] = prm1;
kono
parents:
diff changeset
22 r1->data[1] = prm2; /* { dg-bogus "above array bounds" } */
kono
parents:
diff changeset
23
kono
parents:
diff changeset
24 return p(r1, r1->len);
kono
parents:
diff changeset
25 }