view gcc/testsuite/g++.dg/warn/Warray-bounds-6.C @ 158:494b0b89df80 default tip

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 25 May 2020 18:13:55 +0900
parents 04ced10e8804
children
line wrap: on
line source

// { 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;
    }
}