Add constructor and destructor to demangle_parse_info
authorTom Tromey <tom@tromey.com>
Tue, 29 Nov 2016 04:39:47 +0000 (21:39 -0700)
committerTom Tromey <tom@tromey.com>
Wed, 11 Jan 2017 02:14:15 +0000 (19:14 -0700)
commitc8b23b3f89fbb0ed28d6b78f775b0038d8604798
tree79c2e34a7eee05122c813fd6e3c04e5e2fd7044e
parent1ac32117f7224620f44ac966b5ca53df6e4fc5bd
Add constructor and destructor to demangle_parse_info

This adds a constructor and destructor to demangle_parse_info, and
then changes all the users to use them.  This removes
make_cleanup_cp_demangled_name_parse_free and its single use.

2017-01-10  Tom Tromey  <tom@tromey.com>

* python/py-type.c (typy_legacy_template_argument): Update.
* cp-support.h (struct demangle_parse_info) (demangle_parse_info,
~demangle_parse_info): Declare new members.
(cp_demangled_name_to_comp): Return unique_ptr.
(cp_demangled_name_parse_free)
(make_cleanup_cp_demangled_name_parse_free)
(cp_new_demangle_parse_info): Remove.
* cp-support.c (do_demangled_name_parse_free_cleanup)
(make_cleanup_cp_demangled_name_parse_free): Remove.
(inspect_type, cp_canonicalize_string_full)
(cp_canonicalize_string): Update.
(mangled_name_to_comp): Change return type.
(cp_class_name_from_physname, method_name_from_physname)
(cp_func_name, cp_remove_params): Update.
* cp-name-parser.y (demangle_parse_info): New constructor, from
cp_new_demangle_parse_info.
(~demangle_parse_info): New destructor, from
cp_demangled_name_parse_free.
(cp_merge_demangle_parse_infos): Update.
(cp_demangled_name_to_comp): Change return type.
gdb/ChangeLog
gdb/cp-name-parser.y
gdb/cp-support.c
gdb/cp-support.h
gdb/python/py-type.c