diff options
author | Marcel Böhme <boehme.marcel@gmail.com> | 2016-08-04 16:53:18 +0000 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 2016-08-04 10:53:18 -0600 |
commit | 1841e25ca581e68d4a331135fc5bdee2da7b6514 (patch) | |
tree | bd35487dce4bd0a9442cecd0fbd76b70a3e759cc /gcc | |
parent | da84183c71bfd681545d046d1d81ab46fe96a818 (diff) | |
download | gcc-1841e25ca581e68d4a331135fc5bdee2da7b6514.zip gcc-1841e25ca581e68d4a331135fc5bdee2da7b6514.tar.gz gcc-1841e25ca581e68d4a331135fc5bdee2da7b6514.tar.bz2 |
re PR c++/71696 (Libiberty Demangler segfaults (6))
2016-08-04 Marcel Böhme <boehme.marcel@gmail.com>
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.
From-SVN: r239143
Diffstat (limited to 'gcc')
0 files changed, 0 insertions, 0 deletions