1// { dg-do assemble } 2// { dg-options "-ftemplate-depth-10" } 3// Test for catching infinitely recursive instantiations. 4// Origin: Jason Merrill <jason@redhat.com> 5 6 7template <int i> void f() 8{ 9 f<i+1>(); // { dg-error "" } excessive recursion 10} 11 12// We should never need this specialization because we should issue an 13// error first about the recursive template instantions. But, in case 14// the compiler fails to catch the error, this will keep it from 15// running forever instantiating more and more templates. 16template <> void f<11>(); 17 18int main() 19{ 20 f<0>(); 21} 22