language_demangle (const struct language_defn *current_language,
const char *mangled, int options)
{
- if (current_language != NULL && current_language->la_demangle)
- return current_language->la_demangle (mangled, options);
+ if (current_language != NULL)
+ return current_language->demangle (mangled, options);
return NULL;
}
"function unk_lang_printstr called."));
}
-static void
-unk_lang_print_type (struct type *type, const char *varstring,
- struct ui_file *stream, int show, int level,
- const struct type_print_options *flags)
-{
- error (_("internal error - unimplemented "
- "function unk_lang_print_type called."));
-}
-
static void
unk_lang_value_print_inner (struct value *val,
struct ui_file *stream, int recurse,
return 0;
}
-/* Unknown languages just use the cplus demangler. */
-static char *unk_lang_demangle (const char *mangled, int options)
-{
- return gdb_demangle (mangled, options);
-}
-
static char *unk_lang_class_name (const char *mangled)
{
return NULL;
unk_lang_printchar, /* Print character constant */
unk_lang_printstr,
unk_lang_emit_char,
- unk_lang_print_type, /* Print a type using appropriate syntax */
default_print_typedef, /* Print a typedef using appropriate syntax */
unk_lang_value_print_inner, /* la_value_print_inner */
unk_lang_value_print, /* Print a top-level value */
"this", /* name_of_this */
true, /* store_sym_names_in_linkage_form_p */
basic_lookup_symbol_nonlocal, /* lookup_symbol_nonlocal */
- unk_lang_demangle, /* Language specific symbol demangler */
unk_lang_class_name, /* Language specific
class_name_from_physname */
unk_op_print_tab, /* expression operators for printing */
{
unknown_language_arch_info (gdbarch, lai);
}
+
+ /* See language.h. */
+
+ void print_type (struct type *type, const char *varstring,
+ struct ui_file *stream, int show, int level,
+ const struct type_print_options *flags) const override
+ {
+ error (_("unimplemented unknown_language::print_type called"));
+ }
+
+ /* See language.h. */
+
+ char *demangle (const char *mangled, int options) const override
+ {
+ /* The unknown language just uses the C++ demangler. */
+ return gdb_demangle (mangled, options);
+ }
};
/* Single instance of the unknown language class. */
unk_lang_printchar, /* Print character constant */
unk_lang_printstr,
unk_lang_emit_char,
- unk_lang_print_type, /* Print a type using appropriate syntax */
default_print_typedef, /* Print a typedef using appropriate syntax */
unk_lang_value_print_inner, /* la_value_print_inner */
unk_lang_value_print, /* Print a top-level value */
"this", /* name_of_this */
false, /* store_sym_names_in_linkage_form_p */
basic_lookup_symbol_nonlocal, /* lookup_symbol_nonlocal */
- unk_lang_demangle, /* Language specific symbol demangler */
unk_lang_class_name, /* Language specific
class_name_from_physname */
unk_op_print_tab, /* expression operators for printing */
{
unknown_language_arch_info (gdbarch, lai);
}
+
+ /* See language.h. */
+
+ void print_type (struct type *type, const char *varstring,
+ struct ui_file *stream, int show, int level,
+ const struct type_print_options *flags) const override
+ {
+ error (_("unimplemented auto_language::print_type called"));
+ }
+
+ /* See language.h. */
+
+ char *demangle (const char *mangled, int options) const override
+ {
+ /* The auto language just uses the C++ demangler. */
+ return gdb_demangle (mangled, options);
+ }
};
/* Single instance of the fake "auto" language. */