PR c++/71696 testcase.
authorMarcel Böhme <boehme.marcel@gmail.com>
Thu, 4 Aug 2016 16:53:18 +0000 (16:53 +0000)
committerMark Wielaard <mark@klomp.org>
Fri, 18 Nov 2016 10:06:17 +0000 (11:06 +0100)
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.

libiberty/testsuite/demangle-expected

index 535f2c143eeca032500117c2e9b4af05fea7271a..a5a658a7095948fd17edf5a11bfb88a1b83d8f05 100644 (file)
@@ -4587,3 +4587,8 @@ _Z80800000000000000000000
 
 __t2m05B500000000000000000_
 __t2m05B500000000000000000_
+#
+# Tests stack overflow PR71696
+
+__10%0__S4_0T0T0
+%0<>::%0(%0<>)
This page took 0.025828 seconds and 4 git commands to generate.