42 #ifndef DEFAULT_DEMANGLING_STYLE 43 #define DEFAULT_DEMANGLING_STYLE AUTO_DEMANGLING_STYLE_STRING 54 _(
"Demangling of encoded C++/ObjC names " 55 "when displaying symbols is %s.\n"),
67 _(
"Demangling of C++/ObjC names in " 68 "disassembly listings is %s.\n"),
110 const struct demangler_engine *dem;
118 for (dem = libiberty_demanglers, i = 0;
119 dem->demangling_style != unknown_demangling;
123 dem->demangling_style_name) == 0)
125 current_demangling_style = dem->demangling_style;
134 gdb_assert (dem->demangling_style != unknown_demangling);
165 const char *arg_start;
166 int processing_args = 1;
170 arg_start = arg_buf.c_str ();
173 while (processing_args
174 && *arg_start ==
'-')
178 if (strncmp (arg_start,
"-l", p - arg_start) == 0)
180 else if (strncmp (arg_start,
"--", p - arg_start) == 0)
185 error (
_(
"Unrecognized option '%s' to demangle command. " 186 "Try \"help demangle\"."), option.c_str ());
195 error (
_(
"Usage: demangle [-l language] [--] name"));
197 if (!lang_name.empty ())
203 error (
_(
"Unknown language \"%s\""), lang_name.c_str ());
210 if (demangled != NULL)
227 libiberty_demanglers[ndems].demangling_style != unknown_demangling;
232 libiberty_demanglers[i].demangling_style != unknown_demangling;
236 = xstrdup (libiberty_demanglers[i].demangling_style_name);
244 Set demangling of encoded C++/ObjC names when displaying symbols."),
_(
"\ 245 Show demangling of encoded C++/ObjC names when displaying symbols."), NULL,
251 Set demangling of C++/ObjC names in disassembly listings."),
_(
"\ 252 Show demangling of C++/ObjC names in disassembly listings."), NULL,
260 Set the current C++ demangling style."),
_(
"\ 261 Show the current C++ demangling style."),
_(
"\ 262 Use `set demangle-style' without arguments for a list of demangling styles."),
268 Demangle a mangled name.\n\ 269 Usage: demangle [-l language] [--] name\n\ 270 If LANGUAGE is not specified, NAME is demangled in the current language."),
static void demangle_command(const char *args, int from_tty)
#define DEFAULT_DEMANGLING_STYLE
std::string extract_arg(const char **arg)
const struct language_defn * language_def(enum language lang)
void add_setshow_enum_cmd(const char *name, enum command_class theclass, const char *const *enumlist, const char **var, const char *set_doc, const char *show_doc, const char *help_doc, cmd_const_sfunc_ftype *set_func, show_value_ftype *show_func, struct cmd_list_element **set_list, struct cmd_list_element **show_list)
struct cmd_list_element * add_cmd(const char *name, enum command_class theclass, const char *doc, struct cmd_list_element **list)
enum language language_enum(const char *str)
struct cmd_list_element * cmdlist
char * skip_spaces(char *chp)
void printf_filtered(const char *format,...)
static char cplus_markers[]
static const char * current_demangling_style_string
struct cmd_list_element * setlist
int is_cplus_marker(int c)
void fprintf_filtered(struct ui_file *stream, const char *format,...)
struct cmd_list_element * showlist
const char * skip_to_space(const char *chp)
struct cmd_list_element * setprintlist
void _initialize_demangler(void)
static void show_asm_demangle(struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value)
static void set_demangling_command(const char *ignore, int from_tty, struct cmd_list_element *c)
static void show_demangling_style_names(struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value)
const struct language_defn * current_language
char * language_demangle(const struct language_defn *current_language, const char *mangled, int options)
void add_setshow_boolean_cmd(const char *name, enum command_class theclass, int *var, const char *set_doc, const char *show_doc, const char *help_doc, cmd_const_sfunc_ftype *set_func, show_value_ftype *show_func, struct cmd_list_element **set_list, struct cmd_list_element **show_list)
struct cmd_list_element * showprintlist
static int ignore(struct target_ops *ops, struct gdbarch *gdbarch, struct bp_target_info *bp_tgt)
static void show_demangle(struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value)
void error(const char *fmt,...)
static const char ** demangling_style_names