101N_(
"Warning: the current language does not match this frame.");
116 _(
"The current source language is "
117 "\"auto; currently %s\".\n"),
121 _(
"The current source language is \"%s\".\n"),
158 catch (
const gdb_exception_error &ex)
175 if (strcmp (lang->name (),
language) != 0)
186 internal_error (
"Couldn't find language `%s' in known languages list.",
223 internal_error (
"Unrecognized range check setting.");
227 _(
"Range checking is \"auto; currently %s\".\n"),
231 gdb_printf (file, _(
"Range checking is \"%s\".\n"),
237 warning (_(
"the current range check setting "
238 "does not match the language."));
246 if (strcmp (
range,
"on") == 0)
251 else if (strcmp (
range,
"warn") == 0)
256 else if (strcmp (
range,
"off") == 0)
261 else if (strcmp (
range,
"auto") == 0)
269 internal_error (_(
"Unrecognized range check setting: \"%s\""),
range);
274 warning (_(
"the current range check setting "
275 "does not match the language."));
286 const char *tmp = NULL;
297 internal_error (
"Unrecognized case-sensitive setting.");
301 _(
"Case sensitivity in "
302 "name search is \"auto; currently %s\".\n"),
307 _(
"Case sensitivity in name search is \"%s\".\n"),
311 warning (_(
"the current case sensitivity setting does not match "
338 internal_error (
"Unrecognized case-sensitive setting: \"%s\"",
343 warning (_(
"the current case sensitivity setting does not match "
400 va_start (args,
string);
416 internal_error (_(
"bad switch"));
430 if (strcmp (lang->name (), str) == 0)
431 return lang->la_language;
442 gdb_assert (l !=
nullptr);
461 static const char **language_names;
470 const char **language_names_p = language_names;
471 *language_names_p++ =
"auto";
472 *language_names_p++ =
"local";
474 const char **sort_begin = language_names_p;
480 *language_names_p++ = lang->name ();
482 *language_names_p = NULL;
483 std::sort (sort_begin, language_names_p, compare_cstrings);
487 for (
const char *
const &ext : lang->filename_extensions ())
493 doc.
printf (_(
"Set the current source language.\n"
494 "The currently understood settings are:\n\nlocal or "
495 "auto Automatic setting based on source file"));
505 doc.
printf (
"\n%-16s Use the %s language",
507 lang->natural_name ());
513 _(
"Show the current source language."),
530 CORE_ADDR real_pc = lang->skip_trampoline (frame, pc);
555 return " \t\n!@#$%^&*()+=|~`}{[]\"';:?/>.<,-";
574gdb::unique_xmalloc_ptr<char>
576 CORE_ADDR addr)
const
581 return xstrprintf (
"* (%s *) %s",
name.c_str (), core_addr_to_string (addr));
605 (
struct value *val,
struct ui_file *stream,
int recurse,
630std::unique_ptr<compile_instance>
644 gdb::string_view
name = lookup_name.
name ();
646 = (comp_match_res != NULL ? &comp_match_res->
match_for_lcd : NULL);
654 if (comp_match_res != NULL)
655 comp_match_res->
set_match (symbol_search_name);
716 struct ui_file *stream,
int show,
int level,
719 error (_(
"type printing not implemented for language \"%s\""),
726 int options)
const override
737 error (_(
"value printing not implemented for language \"%s\""),
744 (
struct value *val,
struct ui_file *stream,
int recurse,
747 error (_(
"inner value printing not implemented for language \"%s\""),
755 error (_(
"expression parsing not implemented for language \"%s\""),
762 struct ui_file *stream,
int quoter)
const override
764 error (_(
"emit character not implemented for language \"%s\""),
771 struct ui_file *stream)
const override
773 error (_(
"print character not implemented for language \"%s\""),
780 const gdb_byte *
string,
unsigned int length,
781 const char *encoding,
int force_ellipses,
784 error (_(
"print string not implemented for language \"%s\""),
791 struct ui_file *stream)
const override
793 error (_(
"print typedef not implemented for language \"%s\""),
802 while (
type->
code () == TYPE_CODE_REF)
807 return (
type->
code () == TYPE_CODE_STRING);
817 const char *
name ()
const override
818 {
return "unknown"; }
823 {
return "Unknown"; }
856 gdb_assert (lang !=
nullptr);
879 const char *ptr, ssize_t len)
const
945 if (strcmp (tas.type ()->name (),
name) == 0)
967 (gdb::function_view<
bool (
struct type *)> filter)
971 if (filter (tas.type ()))
986 return tas->
symbol (lang);
1018 gdb::function_view<
bool (
struct type *)> filter)
1034 (
"language = \"%s\", gdbarch @ %s, type = \"%s\")",
1041 host_address_to_string (sym));
1057 static const char *
const type_or_range_names[]
1058 = {
"on",
"off",
"warn",
"auto", NULL };
1060 static const char *
const case_sensitive_names[]
1061 = {
"on",
"off",
"auto", NULL };
1067 _(
"Set the status of the type/range checker."),
1068 _(
"Show the status of the type/range checker."),
1076 range = type_or_range_names[3];
1077 gdb_assert (strcmp (
range,
"auto") == 0);
1080 _(
"Set range checking (on/warn/off/auto)."),
1081 _(
"Show range checking (on/warn/off/auto)."),
1090Set case sensitivity in name search (on/off/auto)."), _(
"\
1091Show case sensitivity in name search (on/off/auto)."), _(
"\
1092For 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 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
void value_print(struct value *val, struct ui_file *stream, const struct value_print_options *options) const override
const char * natural_name() const override
void language_arch_info(struct gdbarch *gdbarch, struct language_arch_info *lai) const override
void value_print_inner(struct value *val, struct ui_file *stream, int recurse, const struct value_print_options *options) const override
int parser(struct parser_state *ps) const override
bool is_string_type_p(struct type *type) 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 store_sym_names_in_linkage_form_p() const override
gdb::unique_xmalloc_ptr< char > demangle_symbol(const char *mangled, int options) 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
void printchar(int ch, struct type *chtype, struct ui_file *stream) const override
const char * name_of_this() const override
void print_typedef(struct type *type, struct symbol *new_symbol, struct ui_file *stream) 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)
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_language(const char *language)
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 const char * get_language()
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 language_gdbarch * get_language_gdbarch(struct gdbarch *gdbarch)
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)
CORE_ADDR skip_language_trampoline(const frame_info_ptr &frame, CORE_ADDR pc)
static const char * range
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()
static const registry< gdbarch >::key< language_gdbarch > language_gdbarch_data
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
struct type * language_lookup_primitive_type(const struct language_defn *l, struct gdbarch *gdbarch, const char *name)
struct type * language_string_char_type(const struct language_defn *l, struct gdbarch *gdbarch)
struct symbol * language_lookup_primitive_type_as_symbol(const struct language_defn *l, struct gdbarch *gdbarch, const char *name)
static struct symbol * new_symbol(struct die_info *, struct type *, struct dwarf2_cu *, struct symbol *=NULL)
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 * 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 struct value * value_string(struct gdbarch *gdbarch, const char *ptr, ssize_t len) const
virtual bool range_checking_on_by_default() const
virtual int parser(struct parser_state *ps) const
virtual enum case_sensitivity case_sensitivity() 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)
#define symbol_lookup_debug_printf(fmt,...)
bool symbol_name_matcher_ftype(const char *symbol_search_name, const lookup_name_info &lookup_name, completion_match_result *comp_match_res)
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_cstring(const gdb_byte *ptr, ssize_t count, struct type *char_type)
struct value * value_from_longest(struct type *type, LONGEST num)