[Bug c++/16564] g++ seems to go into an infinite loop after errors
paolo at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Tue Sep 30 17:12:00 GMT 2014
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=16564
--- Comment #26 from paolo at gcc dot gnu.org <paolo at gcc dot gnu.org> ---
Author: paolo
Date: Tue Sep 30 17:11:38 2014
New Revision: 215734
URL: https://gcc.gnu.org/viewcvs?rev=215734&root=gcc&view=rev
Log:
cp/
2014-09-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
PR c++/16564
* error.c (print_instantiation_context): Delete.
* typeck2.c (build_x_arrow): Record location when pushing
template instantiation.
* pt.c (push_tinst_level): Make it a wrapper around ...
(push_tinst_level_loc): ... this. New function. Make excessive
template instantiation depth a fatal error. Record location. Use
bool as return type.
(instantiate_pending_templates): Make excessive
template instantiation depth a fatal error.
(problematic_instantiation_changed): Use bool as return type.
* cp-tree.h (print_instantiation_context): Delete.
(push_tinst_level): Update declaration.
(problematic_instantiation_changed): Likewise.
(push_tinst_level_loc): New.
testsuite/
2014-09-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
PR c++/16564
* lib/gcc.exp: Accept "fatal error:" as error prefix.
* lib/g++.exp: Likewise.
* lib/obj-c++.exp: Likewise.
* lib/objc.exp: Likewise.
* g++.dg/template/pr16564.C: New test.
2014-09-30 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/16564
* g++.dg/cpp0x/decltype26.C: Adjust.
* g++.dg/cpp0x/decltype28.C: Likewise.
* g++.dg/cpp0x/decltype29.C: Likewise.
* g++.dg/cpp0x/decltype32.C: Likewise.
* g++.dg/cpp0x/enum11.C: Likewise.
* g++.dg/template/arrow1.C: Likewise.
* g++.dg/template/pr23510.C: Likewise.
* g++.dg/template/recurse.C: Likewise.
* g++.dg/template/recurse2.C: Likewise.
* g++.dg/template/vtable2.C: Likewise.
* g++.old-deja/g++.pt/infinite1.C: Likewise.
Added:
trunk/gcc/testsuite/g++.dg/template/pr16564.C
More information about the Gcc-bugs
mailing list