[Bug fortran/69368] [6 Regression] spec2006 test case 416.gamess fails with the g++ 6.0 compiler starting with r232508

jakub at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Tue Feb 9 16:28:00 GMT 2016


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69368

--- Comment #36 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
As Richard said, you can do similar (invalid too) stuff in C too, say:
struct S { int a[10000]; } s;
in one TU and
struct S { int a[1]; } s;

int
foo (int x)
{
  return s.a[x];
}

int
bar (int x)
{
  return s.a[1 + x] + s.a[0] + s.a[x];
}

GCC 5 would compile it to what the author might have meant, while GCC 6 will
optimize bar into s.a[0] * 3;


More information about the Gcc-bugs mailing list