// { dg-do assemble } // { dg-options "-ftemplate-depth-10" } // Test for catching infinitely recursive instantiations. // Origin: Jason Merrill template void f() { f(); // { dg-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<11>(); int main() { f<0>(); } // { dg-prune-output "note" }