libiberty/ 2013-10-25 Gary Benson <gbenson@redhat.com>
authorgary <gary@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 25 Oct 2013 13:56:51 +0000 (13:56 +0000)
committerTom Tromey <tromey@redhat.com>
Fri, 8 Nov 2013 18:11:41 +0000 (11:11 -0700)
commit9548bbede51868a9a780d7d21ae16ac13e8bdf9b
tree14f29c8f5dc99e8be5a547a9a73a180a961e59d2
parentae6da67e35733eb8be443ae46ca9a24f8037a75d
libiberty/ 2013-10-25 Gary Benson <gbenson@redhat.com>

* cp-demangle.c (struct d_saved_scope): New structure.
(struct d_print_info): New fields saved_scopes and
num_saved_scopes.
(d_print_init): Initialize the above.
(d_print_free): New function.
(cplus_demangle_print_callback): Call the above.
(d_copy_templates): New function.
(d_print_comp): New variables saved_templates and
need_template_restore.
[DEMANGLE_COMPONENT_REFERENCE,
DEMANGLE_COMPONENT_RVALUE_REFERENCE]: Capture scope the first
time the component is traversed, and use the captured scope for
subsequent traversals.
* testsuite/demangle-expected: Add regression test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204068 138bc75d-0d04-0410-961f-82ee72b054a4
libiberty/ChangeLog
libiberty/cp-demangle.c
libiberty/testsuite/demangle-expected