aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/g++.dg/warn/Warray-bounds-6.C
blob: f2e5f2f597aa27b30ab2964e277220766641d5b8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// { dg-do compile }
// { dg-options "-O3 -Warray-bounds" }

struct type {
    bool a, b;
    bool get_b() { return b; }
};

type stuff[9u];

void bar();

void foo()
{
  for(unsigned i = 0u; i < 9u; i++)
    {
      if(!stuff[i].a)
	continue;

      bar();

      for(unsigned j = i + 1u; j < 9u; j++)
	if(stuff[j].a && stuff[j].get_b()) // { dg-bogus "above array bounds" }
	  return;
    }
}