annotate gcc/testsuite/gcc.dg/Warray-bounds-20.c @ 111:04ced10e8804

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 /* { dg-do compile } */
kono
parents:
diff changeset
2 /* { dg-options "-O2 -Warray-bounds" } */
kono
parents:
diff changeset
3
kono
parents:
diff changeset
4 int t[1];
kono
parents:
diff changeset
5 int fct (int r, long e)
kono
parents:
diff changeset
6 {
kono
parents:
diff changeset
7 int d = 0;
kono
parents:
diff changeset
8 if (r == 4)
kono
parents:
diff changeset
9 r = 1;
kono
parents:
diff changeset
10 if (e < -52)
kono
parents:
diff changeset
11 d = r == 0 ? 1 : 2;
kono
parents:
diff changeset
12 else
kono
parents:
diff changeset
13 {
kono
parents:
diff changeset
14 int i, n = 53;
kono
parents:
diff changeset
15 if (__builtin_expect (e < 0, 0))
kono
parents:
diff changeset
16 n += e;
kono
parents:
diff changeset
17 for (i = 1 ; i < n / 64 + 1 ; i++)
kono
parents:
diff changeset
18 t[i] = 0; /* { dg-bogus "array bounds" } */
kono
parents:
diff changeset
19 }
kono
parents:
diff changeset
20 return d;
kono
parents:
diff changeset
21 }