Remove language_demangle
I noticed that language_demangle shadows the global "current_language". When I went to fix this, though, I then saw that language_demangle is only called in two places, and has a comment saying it should be removed. This patch removes it. Note that the NULL check in language_demangle is not needed by either of the existing callers. Regression tested on x86-64 Fedora 36. Approved-By: Simon Marchi <simon.marchi@efficios.com>
This commit is contained in:
parent
6f214d0f39
commit
9497d69fc0
4 changed files with 2 additions and 22 deletions
|
@ -202,7 +202,7 @@ demangle_command (const char *args, int from_tty)
|
||||||
lang = current_language;
|
lang = current_language;
|
||||||
|
|
||||||
gdb::unique_xmalloc_ptr<char> demangled
|
gdb::unique_xmalloc_ptr<char> demangled
|
||||||
= language_demangle (lang, name, DMGL_ANSI | DMGL_PARAMS);
|
= lang->demangle_symbol (name, DMGL_ANSI | DMGL_PARAMS);
|
||||||
if (demangled != NULL)
|
if (demangled != NULL)
|
||||||
gdb_printf ("%s\n", demangled.get ());
|
gdb_printf ("%s\n", demangled.get ());
|
||||||
else
|
else
|
||||||
|
|
|
@ -540,21 +540,6 @@ skip_language_trampoline (frame_info_ptr frame, CORE_ADDR pc)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Return demangled language symbol, or NULL.
|
|
||||||
FIXME: Options are only useful for certain languages and ignored
|
|
||||||
by others, so it would be better to remove them here and have a
|
|
||||||
more flexible demangler for the languages that need it.
|
|
||||||
FIXME: Sometimes the demangler is invoked when we don't know the
|
|
||||||
language, so we can't use this everywhere. */
|
|
||||||
gdb::unique_xmalloc_ptr<char>
|
|
||||||
language_demangle (const struct language_defn *current_language,
|
|
||||||
const char *mangled, int options)
|
|
||||||
{
|
|
||||||
if (current_language != NULL)
|
|
||||||
return current_language->demangle_symbol (mangled, options);
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Return information about whether TYPE should be passed
|
/* Return information about whether TYPE should be passed
|
||||||
(and returned) by reference at the language level. */
|
(and returned) by reference at the language level. */
|
||||||
|
|
||||||
|
|
|
@ -791,11 +791,6 @@ extern const char *language_str (enum language);
|
||||||
|
|
||||||
extern CORE_ADDR skip_language_trampoline (frame_info_ptr, CORE_ADDR pc);
|
extern CORE_ADDR skip_language_trampoline (frame_info_ptr, CORE_ADDR pc);
|
||||||
|
|
||||||
/* Return demangled language symbol, or NULL. */
|
|
||||||
extern gdb::unique_xmalloc_ptr<char> language_demangle
|
|
||||||
(const struct language_defn *current_language,
|
|
||||||
const char *mangled, int options);
|
|
||||||
|
|
||||||
/* Return information about whether TYPE should be passed
|
/* Return information about whether TYPE should be passed
|
||||||
(and returned) by reference at the language level. */
|
(and returned) by reference at the language level. */
|
||||||
struct language_pass_by_ref_info language_pass_by_reference (struct type *type);
|
struct language_pass_by_ref_info language_pass_by_reference (struct type *type);
|
||||||
|
|
|
@ -1909,7 +1909,7 @@ fprintf_symbol (struct ui_file *stream, const char *name,
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
gdb::unique_xmalloc_ptr<char> demangled
|
gdb::unique_xmalloc_ptr<char> demangled
|
||||||
= language_demangle (language_def (lang), name, arg_mode);
|
= language_def (lang)->demangle_symbol (name, arg_mode);
|
||||||
gdb_puts (demangled ? demangled.get () : name, stream);
|
gdb_puts (demangled ? demangled.get () : name, stream);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue