This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
$ make test-cp-name-parser cp-name-parser.y:2018: undefined reference to `make_cleanup'
+ result = ((struct demangle_parse_info *) + malloc (sizeof (struct demangle_parse_info)));
This cast seems redundant to me.
+ info = ((struct demangle_parse_info *) + xmalloc (sizeof (struct demangle_parse_info)));
Redundant cast.
I guess you have been considering it but anyway:
Its ->tree items can reference for s_name the original string being demangled, as you even state in some comments. Due to it it also requires later explicit handling of `free_list'. Could this struct already have the original string duplicated and this struct would track its freeing? cp_merge_demangle_parse_infos would then track all the source strings in the merged destination demangle_parse_info.
ChangeLog 2011-08-09 Keith Seitz <keiths@redhat.com>
* cp-name-parser.y (struct demangle_info): Remove unused member PREV. (d_grab): Likewise. (allocate_info): Change return type to struct demangle_info *. Always allocate a new demangle_info. Remove unused PREV pointer. (cp_new_demangle_parse_info): New function. (cp_demangled_name_parse_free): New function. (do_demangled_name_parse_free_cleanup): New function. (make_cleanup_cp_demangled_name_parse_free): New function. (cp_demangled_name_to_comp): Change return type to struct demangle_parse_info *. Allocate a new storage for each call. (main): Update usage for cp_demangled_name_to_comp API change. * cp-support.h (struct demangle_parse_info): New structure. (cp_demangled_name_to_comp): Update API change for return type. (cp_new_demangle_parse_info): Declare. (make_cleanup_cp_demangled_name_parse_free): New declaration. (cp_demangled_name_parse_free): Declare. * cp-support.c (cp_canonicalize_string): Update API change for cp_demangled_name_to_comp. (mangled_name_to_comp): Likewise. Return struct demangle_parse_info, too. (cp_class_name_from_physname): Update mangled_name_to_comp API change. (method_name_from_physname): Likewise. (cp_func_name): Update API change for cp_demangled_name_to_comp. (cp_remove_params): Likewise. * python/py-type.c (typy_legacy_template_argument): Likewise.
Attachment:
cp_demangled_name_parse_free-5.patch
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |