aboutsummaryrefslogtreecommitdiff
path: root/libiberty
diff options
context:
space:
mode:
authorMarcel Böhme <boehme.marcel@gmail.com>2016-08-04 16:53:18 +0000
committerMark Wielaard <mark@klomp.org>2016-11-18 11:06:17 +0100
commit9d2cdc86574bda0f1013be8cdc166d86b6d032bc (patch)
treebfa085b494595539fe9b7f8b871cd4cb8a70ba4f /libiberty
parentc2c4ff8d52a2cd3263a547b0384692498714aa1b (diff)
downloadfsf-binutils-gdb-9d2cdc86574bda0f1013be8cdc166d86b6d032bc.zip
fsf-binutils-gdb-9d2cdc86574bda0f1013be8cdc166d86b6d032bc.tar.gz
fsf-binutils-gdb-9d2cdc86574bda0f1013be8cdc166d86b6d032bc.tar.bz2
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.
Diffstat (limited to 'libiberty')
-rw-r--r--libiberty/testsuite/demangle-expected5
1 files changed, 5 insertions, 0 deletions
diff --git a/libiberty/testsuite/demangle-expected b/libiberty/testsuite/demangle-expected
index 535f2c1..a5a658a 100644
--- a/libiberty/testsuite/demangle-expected
+++ b/libiberty/testsuite/demangle-expected
@@ -4587,3 +4587,8 @@ _Z80800000000000000000000
__t2m05B500000000000000000_
__t2m05B500000000000000000_
+#
+# Tests stack overflow PR71696
+
+__10%0__S4_0T0T0
+%0<>::%0(%0<>)