http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56377
Paul Smith <pl.smith.mail at gmail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |REOPENED Resolution|FIXED | --- Comment #5 from Paul Smith <pl.smith.mail at gmail dot com> 2013-02-23 15:15:47 UTC --- There can still be <missing> arguments before the substitution: template <int N> void f() { f<N + 1>(); } int main() { f<0>(); } Output: test.cpp:3:11: error: template instantiation depth exceeds maximum of 900 (use -ftemplate-depth= to increase the maximum) substituting ‘template<int N> void f() [with int N = <missing>]’ f<N + 1>(); ^ ...