OSDN Git Service

* cp-demangle.c (struct d_print_mod): Add templates field.
authorian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 26 Nov 2003 23:33:05 +0000 (23:33 +0000)
committerian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 26 Nov 2003 23:33:05 +0000 (23:33 +0000)
commitc1ea6f0c2b9b0f5d21932420b70d2e472865dfba
tree95205da54408be1cfef383f01ef800b7b65396ed
parentab50a10ec2e897d41d85f4ead7a04caf8d5c1de8
* cp-demangle.c (struct d_print_mod): Add templates field.
(d_make_builtin_type): Check for NULL type.
(d_make_extended_operator): Check for NULL name.
(d_make_ctor, d_make_dtor): Likewise.
(d_mangled_name): Add top_level parameter.  Change all callers.
(d_encoding): If DMGL_PARAMS is not set, strip off initial
CV-qualifiers.
(d_type): Check some return values we rely on.
(d_bare_function_type, d_array_type): Likewise.
(d_pointer_to_member_type, d_template_args): Likewise.
(d_add_substitution): Fail if argument is NULL.
(d_print_resize): Check whether buf is NULL.
(d_print_comp): Save current templates list with each modifier.
Don't pass the modifier list down when printing a template.
(d_print_cast): Don't pass the modifier list down when printing a
template.
(d_print_mod_list): Temporarily set templates list while printing
a modifier.
(d_print_mod): Check that buf is not NULL before using it.
(d_print_function_type): Print parens if there is no modifier.
(d_init_info): Permit as many substitutions as there are
characters in the mangled name.
* testsuite/demangle-expected: Add two new test cases.

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