http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48075
--- Comment #4 from Patrick Marlier <patrick.marlier at gmail dot com> 2011-12-03 03:53:02 UTC --- Created attachment 25976 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=25976 reduced and without transaction relaxed I am hesitating to mark it as invalid since limiting the template-depth seems to show the error. I let C++ guru if they think it is invalid (limit depth to 4 but it is quadratic expansion). Patrick Marlier. $ g++ inf.C -O0 -ftemplate-depth=4 inf.C:7:31: error: template instantiation depth exceeds maximum of 4 (use -ftemplate-depth= to increase the maximum) instantiating ‘class list<list<list<list<list<int>::Building*, allocator<list<int>::Building*> >::Building*, allocator<list<list<int>::Building*, allocator<list<int>::Building*> >::Building*> >::Building*, allocator<list<list<list<int>::Building*, allocator<list<int>::Building*> >::Building*, allocator<list<list<int>::Building*, allocator<list<int>::Building*> >::Building*> >::Building*> >::Building*, allocator<list<list<list<list<int>::Building*, allocator<list<int>::Building*> >::Building*, allocator<list<list<int>::Building*, allocator<list<int>::Building*> >::Building*> >::Building*, allocator<list<list<list<int>::Building*, allocator<list<int>::Building*> >::Building*, allocator<list<list<int>::Building*, allocator<list<int>::Building*> >::Building*> >::Building*> >::Building*> >’ inf.C:7:31: recursively required from ‘class list<list<int>::Building*, allocator<list<int>::Building*> >’ inf.C:7:31: required from ‘class list<int>’ inf.C:12:12: required from here