103N_(
"Warning: the current language does not match this frame.");
118 _(
"The current source language is "
119 "\"auto; currently %s\".\n"),
123 _(
"The current source language is \"%s\".\n"),
147 if (strcmp (
language,
"local") == 0)
153 if (strcmp (lang->name (),
language) == 0)
168 catch (
const gdb_exception_error &ex)
192 internal_error (
"Couldn't find language `%s' in known languages list.",
218 internal_error (
"Unrecognized range check setting.");
222 _(
"Range checking is \"auto; currently %s\".\n"),
226 gdb_printf (file, _(
"Range checking is \"%s\".\n"),
232 warning (_(
"the current range check setting "
233 "does not match the language.\n"));
241 if (strcmp (
range,
"on") == 0)
246 else if (strcmp (
range,
"warn") == 0)
251 else if (strcmp (
range,
"off") == 0)
256 else if (strcmp (
range,
"auto") == 0)
264 internal_error (_(
"Unrecognized range check setting: \"%s\""),
range);
269 warning (_(
"the current range check setting "
270 "does not match the language.\n"));
281 const char *tmp = NULL;
292 internal_error (
"Unrecognized case-sensitive setting.");
296 _(
"Case sensitivity in "
297 "name search is \"auto; currently %s\".\n"),
302 _(
"Case sensitivity in name search is \"%s\".\n"),
306 warning (_(
"the current case sensitivity setting does not match "
333 internal_error (
"Unrecognized case-sensitive setting: \"%s\"",
338 warning (_(
"the current case sensitivity setting does not match "
368 return prev_language;
400 va_start (args,
string);
416 internal_error (_(
"bad switch"));
430 if (strcmp (lang->name (), str) == 0)
431 return lang->la_language;
433 if (strcmp (str,
"local") == 0)
445 gdb_assert (l !=
nullptr);
464 static const char **language_names;
473 const char **language_names_p = language_names;
476 *language_names_p++ =
"local";
478 const char **sort_begin = language_names_p;
485 *language_names_p++ = lang->name ();
487 *language_names_p = NULL;
488 std::sort (sort_begin, language_names_p, compare_cstrings);
492 for (
const char *
const &ext : lang->filename_extensions ())
498 doc.
printf (_(
"Set the current source language.\n"
499 "The currently understood settings are:\n\nlocal or "
500 "auto Automatic setting based on source file"));
511 doc.
printf (
"\n%-16s Use the %s language",
513 lang->natural_name ());
520 _(
"Show the current source language."),
535 CORE_ADDR real_pc = lang->skip_trampoline (frame, pc);
550gdb::unique_xmalloc_ptr<char>
552 const char *mangled,
int options)
575 return " \t\n!@#$%^&*()+=|~`}{[]\"';:?/>.<,-";
594gdb::unique_xmalloc_ptr<char>
596 CORE_ADDR addr)
const
601 return xstrprintf (
"* (%s *) %s",
name.c_str (), core_addr_to_string (addr));
625 (
struct value *val,
struct ui_file *stream,
int recurse,
650std::unique_ptr<compile_instance>
664 gdb::string_view
name = lookup_name.
name ();
666 = (comp_match_res != NULL ? &comp_match_res->
match_for_lcd : NULL);
674 if (comp_match_res != NULL)
675 comp_match_res->
set_match (symbol_search_name);
739 struct ui_file *stream,
int show,
int level,
742 error (_(
"type printing not implemented for language \"%s\""),
749 int options)
const override
760 error (_(
"value printing not implemented for language \"%s\""),
767 (
struct value *val,
struct ui_file *stream,
int recurse,
770 error (_(
"inner value printing not implemented for language \"%s\""),
778 error (_(
"expression parsing not implemented for language \"%s\""),
785 struct ui_file *stream,
int quoter)
const override
787 error (_(
"emit character not implemented for language \"%s\""),
794 struct ui_file *stream)
const override
796 error (_(
"print character not implemented for language \"%s\""),
803 const gdb_byte *
string,
unsigned int length,
804 const char *encoding,
int force_ellipses,
807 error (_(
"print string not implemented for language \"%s\""),
814 struct ui_file *stream)
const override
816 error (_(
"print typedef not implemented for language \"%s\""),
825 while (
type->
code () == TYPE_CODE_REF)
830 return (
type->
code () == TYPE_CODE_STRING);
850 const char *
name ()
const override
874 const char *
name ()
const override
875 {
return "unknown"; }
880 {
return "Unknown"; }
913 gdb_assert (lang !=
nullptr);
992 if (strcmp (tas.type ()->name (),
name) == 0)
1006 return tas->
type ();
1014 (gdb::function_view<
bool (
struct type *)> filter)
1018 if (filter (tas.type ()))
1033 return tas->
symbol (lang);
1065 gdb::function_view<
bool (
struct type *)> filter)
1081 (
"language = \"%s\", gdbarch @ %s, type = \"%s\")",
1088 host_address_to_string (sym));
1104 static const char *
const type_or_range_names[]
1105 = {
"on",
"off",
"warn",
"auto", NULL };
1107 static const char *
const case_sensitive_names[]
1108 = {
"on",
"off",
"auto", NULL };
1114 _(
"Set the status of the type/range checker."),
1115 _(
"Show the status of the type/range checker."),
1123 range = type_or_range_names[3];
1124 gdb_assert (strcmp (
range,
"auto") == 0);
1127 _(
"Set range checking (on/warn/off/auto)."),
1128 _(
"Show range checking (on/warn/off/auto)."),
1137Set case sensitivity in name search (on/off/auto)."), _(
"\
1138Show case sensitivity in name search (on/off/auto)."), _(
"\
1139For Fortran the default is off; for other languages the default is on."),
obstack * gdbarch_obstack(gdbarch *arch)
int c_parse(struct parser_state *par_state)
bool c_is_string_type_p(struct type *type)
void c_print_typedef(struct type *, struct symbol *, struct ui_file *)
void c_value_print_inner(struct value *, struct ui_file *, int, const struct value_print_options *)
void c_value_print(struct value *, struct ui_file *, const struct value_print_options *)
const struct lang_varobj_ops c_varobj_ops
const char * natural_name() const override
const char * name() const override
auto_or_unknown_language(enum language lang)
void value_print(struct value *val, struct ui_file *stream, const struct value_print_options *options) const override
void print_typedef(struct type *type, struct symbol *new_symbol, struct ui_file *stream) const override
void language_arch_info(struct gdbarch *gdbarch, struct language_arch_info *lai) const override
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
bool is_string_type_p(struct type *type) const override
void value_print_inner(struct value *val, struct ui_file *stream, int recurse, const struct value_print_options *options) const override
void printchar(int ch, struct type *chtype, struct ui_file *stream) const override
gdb::unique_xmalloc_ptr< char > demangle_symbol(const char *mangled, int options) const override
int parser(struct parser_state *ps) const override
const char * name_of_this() const override
void printstr(struct ui_file *stream, struct type *elttype, const gdb_byte *string, unsigned int length, const char *encoding, int force_ellipses, const struct value_print_options *options) const override
void emitchar(int ch, struct type *chtype, struct ui_file *stream, int quoter) const override
const ada_lookup_name_info & ada() const
gdb::string_view name() const
bool completion_mode() const
void set(unsigned key, void *datum)
const char * c_str() const
void printf(const char *,...) ATTRIBUTE_PRINTF(2
const char * name() const override
const char * natural_name() const override
bool store_sym_names_in_linkage_form_p() const override
struct cmd_list_element * showlist
struct cmd_list_element * setchecklist
struct cmd_list_element * setlist
struct cmd_list_element * showchecklist
struct cmd_list_element * add_alias_cmd(const char *name, cmd_list_element *target, enum command_class theclass, int abbrev_flag, struct cmd_list_element **list)
set_show_commands 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_func_ftype *set_func, show_value_ftype *show_func, struct cmd_list_element **set_list, struct cmd_list_element **show_list)
set_show_commands add_setshow_prefix_cmd(const char *name, command_class theclass, const char *set_doc, const char *show_doc, cmd_list_element **set_subcommands_list, cmd_list_element **show_subcommands_list, cmd_list_element **set_list, cmd_list_element **show_list)
gdb::unique_xmalloc_ptr< char > gdb_demangle(const char *name, int options)
static struct symbol * new_symbol(struct ctf_context *cp, struct type *type, ctf_id_t tid)
frame_info_ptr get_selected_frame(const char *message)
enum language get_frame_language(frame_info_ptr frame)
struct type * check_typedef(struct type *type)
mach_port_t kern_return_t mach_port_t mach_msg_type_name_t msgportsPoly mach_port_t kern_return_t pid_t pid mach_port_t kern_return_t mach_port_t task mach_port_t kern_return_t int flags
initialize_file_ftype _initialize_language
enum language language_enum(const char *str)
const char lang_frame_mismatch_warn[]
static void set_range_command(const char *ignore, int from_tty, struct cmd_list_element *c)
const char * language_str(enum language lang)
static const char * case_sensitive
static struct type * language_lookup_primitive_type_1(const struct language_defn *la, struct gdbarch *gdbarch, T arg)
const struct language_defn * language_def(enum language lang)
void range_error(const char *string,...)
static void set_range_case(void)
const struct language_defn * current_language
static void show_range_command(struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value)
static auto_language auto_language_defn
gdb::unique_xmalloc_ptr< char > language_demangle(const struct language_defn *current_language, const char *mangled, int options)
static language_gdbarch * get_language_gdbarch(struct gdbarch *gdbarch)
enum language set_language(enum language lang)
static void show_case_command(struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value)
static unknown_language unknown_language_defn
struct language_pass_by_ref_info language_pass_by_reference(struct type *type)
static void show_language_command(struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value)
struct type * language_bool_type(const struct language_defn *la, struct gdbarch *gdbarch)
struct type * language_string_char_type(const struct language_defn *la, struct gdbarch *gdbarch)
static const char * range
static const char * language
const struct language_defn * expected_language
static void set_case_command(const char *ignore, int from_tty, struct cmd_list_element *c)
static void add_set_language_command()
CORE_ADDR skip_language_trampoline(frame_info_ptr frame, CORE_ADDR pc)
static const registry< gdbarch >::key< language_gdbarch > language_gdbarch_data
static void set_language_command(const char *ignore, int from_tty, struct cmd_list_element *c)
static bool default_symbol_name_matcher(const char *symbol_search_name, const lookup_name_info &lookup_name, completion_match_result *comp_match_res)
const char * default_word_break_characters(void)
const struct language_defn * current_language
enum language set_language(enum language)
struct type * language_lookup_primitive_type(const struct language_defn *l, struct gdbarch *gdbarch, const char *name)
const struct language_defn * language_def(enum language)
struct symbol * language_lookup_primitive_type_as_symbol(const struct language_defn *l, struct gdbarch *gdbarch, const char *name)
void set_match(const char *m, const char *m_for_lcd=NULL)
completion_match_for_lcd match_for_lcd
void set_section_index(short idx)
void set_language(enum language language, struct obstack *obstack)
struct type * type() const
static struct symbol * alloc_type_symbol(enum language lang, struct type *type)
struct symbol * symbol(enum language lang)
struct type * m_bool_type_default
struct type * bool_type() const
void set_string_char_type(struct type *type)
struct symbol * lookup_primitive_type_as_symbol(const char *name, enum language lang)
std::vector< type_and_symbol > primitive_types_and_symbols
const char * m_bool_type_name
void set_bool_type(struct type *type, const char *name=nullptr)
type_and_symbol * lookup_primitive_type_and_symbol(const char *name)
struct type * lookup_primitive_type(const char *name)
struct type * string_char_type() const
virtual bool is_string_type_p(struct type *type) const
virtual symbol_name_matcher_ftype * get_symbol_name_matcher_inner(const lookup_name_info &lookup_name) const
virtual const struct lang_varobj_ops * varobj_ops() const
virtual struct language_pass_by_ref_info pass_by_reference_info(struct type *type) const
enum language la_language
virtual gdb::unique_xmalloc_ptr< char > watch_location_expression(struct type *type, CORE_ADDR addr) const
virtual const char * natural_name() const =0
virtual const char * name() const =0
virtual void print_array_index(struct type *index_type, LONGEST index_value, struct ui_file *stream, const value_print_options *options) const
symbol_name_matcher_ftype * get_symbol_name_matcher(const lookup_name_info &lookup_name) const
virtual void value_print(struct value *val, struct ui_file *stream, const struct value_print_options *options) const
static const struct language_defn * languages[nr_languages]
virtual bool range_checking_on_by_default() const
virtual int parser(struct parser_state *ps) const
virtual enum case_sensitivity case_sensitivity() const
virtual gdb::unique_xmalloc_ptr< char > demangle_symbol(const char *mangled, int options) const
virtual void print_typedef(struct type *type, struct symbol *new_symbol, struct ui_file *stream) const
virtual void value_print_inner(struct value *val, struct ui_file *stream, int recurse, const struct value_print_options *options) const
virtual std::unique_ptr< compile_instance > get_compile_instance() const
struct language_arch_info arch_info[nr_languages]
struct type * type() const
void set_aclass_index(unsigned int aclass_index)
void set_type(struct type *type)
void set_is_objfile_owned(bool is_objfile_owned)
void set_domain(domain_enum domain)
struct type * target_type() const
gdbarch * arch_owner() const
const char * name() const
bool is_objfile_owned() const
void add_filename_language(const char *ext, enum language lang)
void set_initial_language(void)
struct block_symbol lookup_symbol(const char *name, const struct block *block, domain_enum domain, struct field_of_this_result *is_a_field_of_this)
bool() symbol_name_matcher_ftype(const char *symbol_search_name, const lookup_name_info &lookup_name, completion_match_result *comp_match_res)
#define symbol_lookup_debug_printf(fmt,...)
std::string type_to_string(struct type *type)
void verror(const char *string, va_list args)
void gdb_vprintf(struct ui_file *stream, const char *format, va_list args)
int strncmp_iw_with_mode(const char *string1, const char *string2, size_t string2_len, strncmp_iw_mode mode, enum language language, completion_match_for_lcd *match_for_lcd, bool ignore_template_params)
void gdb_printf(struct ui_file *stream, const char *format,...)
void vwarning(const char *string, va_list args)
struct value * value_from_longest(struct type *type, LONGEST num)