PR c++/71696 testcase.

Add libiberty/testsuite/demangle-expected testcase for:

	PR c++/71696
	* cplus-dem.c: Prevent infinite recursion when there is a cycle
	in the referencing of remembered mangled types.
	(work_stuff): New stack to keep track of the remembered mangled
	types that are currently being processed.
	(push_processed_type): New method to push currently processed
	remembered type onto the stack.
	(pop_processed_type): New method to pop currently processed
	remembered type from the stack.
	(work_stuff_copy_to_from): Copy values of new variables.
	(delete_non_B_K_work_stuff): Free stack memory.
	(demangle_args): Push/Pop currently processed remembered type.
	(do_type): Do not demangle a cyclic reference and push/pop
	referenced remembered type.
This commit is contained in:
Marcel Böhme 2016-08-04 16:53:18 +00:00 committed by Mark Wielaard
parent c2c4ff8d52
commit 9d2cdc8657
1 changed files with 5 additions and 0 deletions

View File

@ -4587,3 +4587,8 @@ _Z80800000000000000000000
__t2m05B500000000000000000_
__t2m05B500000000000000000_
#
# Tests stack overflow PR71696
__10%0__S4_0T0T0
%0<>::%0(%0<>)