aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/error.c
diff options
context:
space:
mode:
authorPaolo Carlini <paolo@gcc.gnu.org>2014-09-30 17:10:35 +0000
committerPaolo Carlini <paolo@gcc.gnu.org>2014-09-30 17:10:35 +0000
commit75a0d320063941e878f65177f59d2c0e5515472a (patch)
tree5132174a9e3a445876514de05089e31579631785 /gcc/cp/error.c
parentcc811a8ae6c760955ac2dca51d8359d003c8e4f2 (diff)
downloadgcc-75a0d320063941e878f65177f59d2c0e5515472a.zip
gcc-75a0d320063941e878f65177f59d2c0e5515472a.tar.gz
gcc-75a0d320063941e878f65177f59d2c0e5515472a.tar.bz2
re PR c++/16564 (g++ seems to go into an infinite loop after errors)
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. From-SVN: r215733
Diffstat (limited to 'gcc/cp/error.c')
-rw-r--r--gcc/cp/error.c10
1 files changed, 0 insertions, 10 deletions
diff --git a/gcc/cp/error.c b/gcc/cp/error.c
index a03bfe1..57f3c31 100644
--- a/gcc/cp/error.c
+++ b/gcc/cp/error.c
@@ -3360,16 +3360,6 @@ maybe_print_instantiation_context (diagnostic_context *context)
record_last_problematic_instantiation ();
print_instantiation_full_context (context);
}
-
-/* Report the bare minimum context of a template instantiation. */
-void
-print_instantiation_context (void)
-{
- print_instantiation_partial_context
- (global_dc, current_instantiation (), input_location);
- pp_newline (global_dc->printer);
- diagnostic_flush_buffer (global_dc);
-}
/* Report what constexpr call(s) we're trying to expand, if any. */