diff options
author | Marcel Böhme <boehme.marcel@gmail.com> | 2016-08-04 16:53:18 +0000 |
---|---|---|
committer | Mark Wielaard <mark@klomp.org> | 2016-11-18 11:06:17 +0100 |
commit | 9d2cdc86574bda0f1013be8cdc166d86b6d032bc (patch) | |
tree | bfa085b494595539fe9b7f8b871cd4cb8a70ba4f /libiberty | |
parent | c2c4ff8d52a2cd3263a547b0384692498714aa1b (diff) | |
download | fsf-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-expected | 5 |
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<>) |