/* { dg-do run } */
/* { dg-options "-g" } */

void __attribute__((noinline))
optimize_me_not ()
{
  __asm__ volatile ("" : : : "memory");
}
char a;
short b[7][1];
int main()
{
  int i, c;
  a = 0;
  i = 0;
  for (; i < 7; i++) {
      c = 0;
      for (; c < 1; c++)
	b[i][c] = 0;
  }
  /* i may very well be optimized out, so we cannot test for i == 7.
     Instead test i + 1 which will make the test UNSUPPORTED if i
     is optimized out.  Since the test previously had wrong debug
     with i == 0 this is acceptable.  Optimally we'd produce a
     debug stmt for the final value of the loop during loop distribution
     which would fix the UNSUPPORTED cases.
     c is optimized out at -Og for no obvious reason.  */
  optimize_me_not(); /* { dg-final { gdb-test . "i + 1" "8" { xfail { aarch64*-*-* && { any-opts "-fno-fat-lto-objects" } } } } } */
    /* { dg-final { gdb-test .-1 "c + 1" "2" { xfail { aarch64*-*-* && { any-opts "-fno-fat-lto-objects" } } } } } */
  return 0;
}
