(root)/
gcc-13.2.0/
gcc/
testsuite/
g++.dg/
cpp0x/
range-for36.C
// PR c++/85515
// { dg-do compile { target c++11 } }

int a[10];

void
foo ()
{
  for (auto &i : a)
    if (i != *__for_begin		// { dg-error "was not declared in this scope" }
	|| &i == __for_end		// { dg-error "was not declared in this scope" }
	|| &__for_range[0] != &a[0])	// { dg-error "was not declared in this scope" }
      __builtin_abort ();
}

template <int N>
void
bar ()
{
  for (auto &i : a)
    if (i != *__for_begin		// { dg-error "was not declared in this scope" }
	|| &i == __for_end		// { dg-error "was not declared in this scope" }
	|| &__for_range[0] != &a[0])	// { dg-error "was not declared in this scope" }
      __builtin_abort ();
}

void
baz ()
{
  foo ();
  bar <0> ();
}