blob: 22f00739c8761f527c824abd007cef93cc9f2b04 [file] [log] [blame]
// Test for catching infinitely recursive instantiations.
// Origin: Jason Merrill <jason@redhat.com>
template <int i> void f()
{
f<i+1>(); // ERROR - excessive recursion
}
// We should never need this specialization because we should issue an
// error first about the recursive template instantions. But, in case
// the compiler fails to catch the error, this will keep it from
// running forever instantiating more and more templates.
template <> void f<100>();
int main()
{
f<0>(); // ERROR - starting here
}