mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-05-31 01:45:52 +08:00
gdb: Remove a cleanup from find_overload_match
This patch changes cp-support.c:cp_func_name to return a 'gdb::unique_xmalloc_ptr<char>' instead of a 'char *'. This allows a cleanup to be removed from valops.c:find_overload_match. gdb/ChangeLog: * compile/compile-cplus-types.c (compile_cplus_instance::decl_name): Handle changes to cp_func_name. * cp-support.c (cp_func_name): Update header comment, update return type. * cp-support.h (cp_func_name): Update return type in declaration. * valops.c (find_overload_match): Move temp_func local to top level of function and change its type. Use temp_func to hold and delete temporary string obtained from cp_func_name.
This commit is contained in:
@ -808,10 +808,9 @@ method_name_from_physname (const char *physname)
|
||||
/* If FULL_NAME is the demangled name of a C++ function (including an
|
||||
arg list, possibly including namespace/class qualifications),
|
||||
return a new string containing only the function name (without the
|
||||
arg list/class qualifications). Otherwise, return NULL. The
|
||||
caller is responsible for freeing the memory in question. */
|
||||
arg list/class qualifications). Otherwise, return NULL. */
|
||||
|
||||
char *
|
||||
gdb::unique_xmalloc_ptr<char>
|
||||
cp_func_name (const char *full_name)
|
||||
{
|
||||
gdb::unique_xmalloc_ptr<char> ret;
|
||||
@ -820,14 +819,14 @@ cp_func_name (const char *full_name)
|
||||
|
||||
info = cp_demangled_name_to_comp (full_name, NULL);
|
||||
if (!info)
|
||||
return NULL;
|
||||
return nullptr;
|
||||
|
||||
ret_comp = unqualified_name_from_comp (info->tree);
|
||||
|
||||
if (ret_comp != NULL)
|
||||
ret = cp_comp_to_string (ret_comp, 10);
|
||||
|
||||
return ret.release ();
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* Helper for cp_remove_params. DEMANGLED_NAME is the name of a
|
||||
|
Reference in New Issue
Block a user