Fix for PR c++/13447:
commit77097adf402207f4c51caf4caa344a6b677716a7
authorian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 19 Dec 2003 21:14:35 +0000 (19 21:14 +0000)
committerian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 19 Dec 2003 21:14:35 +0000 (19 21:14 +0000)
tree2898ae6a39aee060a86e93479b4188a9f81276ba
parentc3932a15930eaebf578fb6285943fa51a2353df3
Fix for PR c++/13447:
* cp-demangle.c (enum d_comp_type): Add D_COMP_LOCAL_NAME.
(d_dump, d_make_comp): Handle D_COMP_LOCAL_NAME.
(is_ctor_dtor_or_conversion): Handle D_COMP_LOCAL_NAME like
D_COMP_QUAL_NAME.
(is_ctor_or_dtor): Likewise.
(d_local_name): Use D_COMP_LOCAL_NAME rather than
D_COMP_QUAL_NAME.
(d_print_comp) [D_COMP_LOCAL_NAME]: New.
(d_prinT_comp) [D_COMP_TYPED_NAME]: If the left tree is
D_COMP_LOCAL_NAME, pull any qualifiers off its right subtree.
(d_print_mod_list): Handle D_COMP_LOCAL_NAME.
* testsuite/demangle-expected: Add two test cases.

* cp-demangle.c (d_print_function_type): Clear the global modifier
list when printing the modifiers, not just when printing the
function parameters.
* testsuite/demangle-expected: Add two test cases.

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