GDB (xrefs)
|
#include "defs.h"
#include <ctype.h>
#include "symtab.h"
#include "gdbtypes.h"
#include "value.h"
#include "gdbcmd.h"
#include "expression.h"
#include "language.h"
#include "varobj.h"
#include "target.h"
#include "parser-defs.h"
#include "demangle.h"
#include "symfile.h"
#include "cp-support.h"
#include "frame.h"
#include "c-lang.h"
#include <algorithm>
#include "gdbarch.h"
Go to the source code of this file.
Classes | |
class | unknown_language |
struct | language_gdbarch |
Enumerations | |
enum | range_mode { range_mode_auto , range_mode_manual } |
enum | case_mode { case_mode_auto , case_mode_manual } |
Functions | |
static void | set_range_case (void) |
static void | show_language_command (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value) |
static void | set_language (const char *language) |
static const char * | get_language () |
static void | show_range_command (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value) |
static void | set_range_command (const char *ignore, int from_tty, struct cmd_list_element *c) |
static void | show_case_command (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value) |
static void | set_case_command (const char *ignore, int from_tty, struct cmd_list_element *c) |
void | set_language (enum language lang) |
void | language_info () |
void | range_error (const char *string,...) |
enum language | language_enum (const char *str) |
const struct language_defn * | language_def (enum language lang) |
const char * | language_str (enum language lang) |
static void | add_set_language_command () |
CORE_ADDR | skip_language_trampoline (const frame_info_ptr &frame, CORE_ADDR pc) |
struct language_pass_by_ref_info | language_pass_by_reference (struct type *type) |
const char * | default_word_break_characters (void) |
static bool | default_symbol_name_matcher (const char *symbol_search_name, const lookup_name_info &lookup_name, completion_match_result *comp_match_res) |
static language_gdbarch * | get_language_gdbarch (struct gdbarch *gdbarch) |
struct type * | language_string_char_type (const struct language_defn *la, struct gdbarch *gdbarch) |
struct type * | language_bool_type (const struct language_defn *la, struct gdbarch *gdbarch) |
template<typename T > | |
static struct type * | language_lookup_primitive_type_1 (const struct language_defn *la, struct gdbarch *gdbarch, T arg) |
struct type * | language_lookup_primitive_type (const struct language_defn *la, struct gdbarch *gdbarch, const char *name) |
struct type * | language_lookup_primitive_type (const struct language_defn *la, struct gdbarch *gdbarch, gdb::function_view< bool(struct type *)> filter) |
struct symbol * | language_lookup_primitive_type_as_symbol (const struct language_defn *la, struct gdbarch *gdbarch, const char *name) |
void | _initialize_language () |
Variables | |
static enum range_mode | range_mode = range_mode_auto |
enum range_check | range_check = range_check_off |
static enum case_mode | case_mode = case_mode_auto |
enum case_sensitivity | case_sensitivity = case_sensitive_on |
const struct language_defn * | current_language = nullptr |
enum language_mode | language_mode = language_mode_auto |
const struct language_defn * | expected_language |
static const char * | range |
static const char * | case_sensitive |
const char | lang_frame_mismatch_warn [] |
static unknown_language | unknown_language_defn |
static const registry< gdbarch >::key< language_gdbarch > | language_gdbarch_data |
enum case_mode |
Enumerator | |
---|---|
case_mode_auto | |
case_mode_manual |
Definition at line 65 of file language.c.
enum range_mode |
Enumerator | |
---|---|
range_mode_auto | |
range_mode_manual |
Definition at line 56 of file language.c.
void _initialize_language | ( | ) |
Definition at line 1055 of file language.c.
Referenced by initialize_all_files().
|
static |
Definition at line 459 of file language.c.
References add_filename_language(), add_setshow_enum_cmd(), string_file::c_str(), class_support, get_language(), language_def(), language_unknown, language_defn::languages, language_defn::name(), ui_file::printf(), set_language(), setlist, show_language_command(), and showlist.
|
static |
Definition at line 640 of file language.c.
References lookup_name_info::completion_mode(), language_minimal, completion_match_result::match_for_lcd, MATCH_PARAMS, name, lookup_name_info::name(), NORMAL, completion_match_result::set_match(), and strncmp_iw_with_mode().
Referenced by language_defn::get_symbol_name_matcher_inner().
const char * default_word_break_characters | ( | void | ) |
Definition at line 553 of file language.c.
Referenced by init_main(), and language_defn::word_break_characters().
|
static |
Definition at line 193 of file language.c.
References current_language, language_mode_auto, and language_defn::name().
Referenced by add_set_language_command(), and language_info().
|
static |
Definition at line 848 of file language.c.
References language_gdbarch::arch_info, registry< T >::get(), language_gdbarch_data, language_defn::languages, and registry< T >::set().
Referenced by language_bool_type(), language_lookup_primitive_type_1(), language_lookup_primitive_type_as_symbol(), and language_string_char_type().
struct type * language_bool_type | ( | const struct language_defn * | la, |
struct gdbarch * | gdbarch ) |
Definition at line 888 of file language.c.
References language_gdbarch::arch_info, language_arch_info::bool_type(), get_language_gdbarch(), and language_defn::la_language.
Referenced by ada_binop_in_bounds(), ada_equal_binop(), ada_unop_in_range(), eval_op_equal(), eval_op_geq(), eval_op_gtr(), eval_op_leq(), eval_op_less(), eval_op_lognot(), eval_op_notequal(), eval_ternop_in_range(), expr::opencl_logical_binop_operation::evaluate(), expr::bool_operation::evaluate(), expr::logical_and_operation::evaluate(), expr::logical_or_operation::evaluate(), fixed_point_binop(), fortran_associated(), opencl_logical_not(), opencl_relop(), rust_range(), vlscm_convert_typed_value_from_scheme(), and vlscm_unop_gdbthrow().
const struct language_defn * language_def | ( | enum language | lang | ) |
Definition at line 439 of file language.c.
References language_defn::languages.
Referenced by ada_tag_value_at_base_address(), ada_val_print_ref(), ada_val_print_struct_union(), ada_value_print_inner(), ada_value_print_num(), ada_value_print_ptr(), add_set_language_command(), compare_symbol_name(), cp_lookup_symbol_imports_or_template(), d_lookup_symbol(), demangle_command(), demangle_for_lookup(), dict_create_hashed(), dict_create_hashed_expandable(), dict_create_linear(), dict_create_linear_expandable(), expr::op_this_operation::do_generate_ax(), dw2_expand_symtabs_matching_symbol(), cooked_index_functions::expand_matching_symbols(), extract_sym(), find_methods(), fprintf_symbol(), frapy_language(), inspect_type(), type::is_array_like(), type::is_string_like(), iterate_over_minimal_symbols(), dwarf2_cu::lang(), language_str(), list_arg_or_local(), lookup_minimal_symbol(), lookup_opencl_vector_type(), lookup_symbol_aux(), print_variable_and_value_data::operator()(), parse_exp_in_context(), pending_framepy_language(), prepare_one_comp_unit(), print_frame_arg(), psymbol_name_matches(), py_print_single_arg(), read_var_value(), search_name_hash(), set_language(), stap_parse_argument(), symbol_find_demangled_name(), symbol_matches_search_name(), and value_to_array().
enum language language_enum | ( | const char * | str | ) |
Definition at line 427 of file language.c.
References language_unknown, and language_defn::languages.
Referenced by demangle_command(), set_ext_lang_command(), and mi_parse::set_language().
void language_info | ( | ) |
Definition at line 375 of file language.c.
References current_language, expected_language, gdb_printf(), gdb_stdout, get_language(), and show_language_command().
Referenced by check_frame_language_change().
struct type * language_lookup_primitive_type | ( | const struct language_defn * | la, |
struct gdbarch * | gdbarch, | ||
const char * | name ) |
Definition at line 1006 of file language.c.
References language_lookup_primitive_type_1(), and name.
Referenced by ada_tag_value_at_base_address(), classify_name(), find_primitive_type(), rust_parser::get_type(), lex_one_token(), lookup_opencl_vector_type(), processInt(), rust_parser::rust_lookup_type(), rust_subscript(), type_for_char(), type_system_address(), yylex(), and yylex().
struct type * language_lookup_primitive_type | ( | const struct language_defn * | la, |
struct gdbarch * | gdbarch, | ||
gdb::function_view< bool(struct type *)> | filter ) |
Definition at line 1016 of file language.c.
References language_lookup_primitive_type_1().
|
static |
Definition at line 995 of file language.c.
References language_gdbarch::arch_info, get_language_gdbarch(), language_defn::la_language, and language_arch_info::lookup_primitive_type().
Referenced by language_lookup_primitive_type(), and language_lookup_primitive_type().
struct symbol * language_lookup_primitive_type_as_symbol | ( | const struct language_defn * | la, |
struct gdbarch * | gdbarch, | ||
const char * | name ) |
Definition at line 1026 of file language.c.
References language_gdbarch::arch_info, get_language_gdbarch(), language_defn::la_language, language_arch_info::lookup_primitive_type_as_symbol(), name, language_defn::name(), and symbol_lookup_debug_printf.
Referenced by cp_lookup_bare_symbol(), d_lookup_symbol(), language_defn::lookup_symbol_nonlocal(), and ada_language::lookup_symbol_nonlocal().
struct language_pass_by_ref_info language_pass_by_reference | ( | struct type * | type | ) |
Definition at line 543 of file language.c.
References current_language, and language_defn::pass_by_reference_info().
Referenced by aarch64_return_in_memory(), amd64_classify_aggregate(), arm_return_in_memory(), call_function_by_hand_dummy(), default_return_in_first_hidden_param_p(), ppc64_sysv_abi_return_value(), and tic6x_return_value().
const char * language_str | ( | enum language | lang | ) |
Definition at line 449 of file language.c.
References language_def(), and language_defn::name().
Referenced by dump_symtab_1(), info_ext_lang_command(), info_frame_command_core(), info_source_command(), and lookup_symbol_aux().
struct type * language_string_char_type | ( | const struct language_defn * | la, |
struct gdbarch * | gdbarch ) |
Definition at line 868 of file language.c.
References language_gdbarch::arch_info, get_language_gdbarch(), language_defn::la_language, and language_arch_info::string_char_type().
Referenced by expr::ada_string_operation::evaluate(), expr::c_string_operation::evaluate(), expr::string_operation::evaluate(), read_tag_string_type(), type_for_char(), language_defn::value_string(), ada_language::value_string(), and f_language::value_string().
void range_error | ( | const char * | string, |
... ) |
Definition at line 396 of file language.c.
References gdb_printf(), gdb_stderr, gdb_vprintf(), range_check_off, range_check_on, range_check_warn, verror(), and vwarning().
Referenced by parse_number(), and parse_number().
|
static |
Definition at line 318 of file language.c.
References case_mode_auto, case_mode_manual, case_sensitive, case_sensitive_off, case_sensitive_on, language_defn::case_sensitivity(), current_language, and set_range_case().
|
static |
Definition at line 140 of file language.c.
References current_language, expected_language, get_frame_language(), get_selected_frame(), language_mode_auto, language_mode_manual, language_unknown, language_defn::languages, set_initial_language(), set_language(), and set_range_case().
Referenced by add_set_language_command(), breakpoint_re_set_one(), dump_symtab(), gdb_init(), mi_cmd_execute(), parse_exp_in_context(), parse_expression_with_language(), scoped_restore_current_thread::restore(), select_frame(), set_initial_language(), set_language(), and scoped_restore_selected_frame::~scoped_restore_selected_frame().
void set_language | ( | enum language | lang | ) |
Definition at line 365 of file language.c.
References current_language, language_def(), and set_range_case().
Referenced by scoped_switch_to_sym_language_if_auto::scoped_switch_to_sym_language_if_auto(), scoped_restore_current_language::~scoped_restore_current_language(), and scoped_switch_to_sym_language_if_auto::~scoped_switch_to_sym_language_if_auto().
|
static |
Definition at line 352 of file language.c.
References case_mode_auto, language_defn::case_sensitivity(), current_language, range_check_off, range_check_on, language_defn::range_checking_on_by_default(), and range_mode_auto.
Referenced by set_case_command(), set_language(), set_language(), and set_range_command().
|
static |
Definition at line 243 of file language.c.
References current_language, range_check_off, range_check_on, range_check_warn, language_defn::range_checking_on_by_default(), range_mode_auto, range_mode_manual, and set_range_case().
|
static |
Definition at line 281 of file language.c.
References case_mode_auto, case_sensitive_off, case_sensitive_on, language_defn::case_sensitivity(), current_language, and gdb_printf().
|
static |
Definition at line 109 of file language.c.
References current_language, gdb_printf(), get_frame_language(), get_selected_frame(), has_stack_frames(), language_defn::la_language, lang_frame_mismatch_warn, language_mode_auto, language_mode_manual, language_unknown, and language_defn::name().
Referenced by add_set_language_command(), and language_info().
|
static |
Definition at line 204 of file language.c.
References current_language, gdb_printf(), range_check_off, range_check_on, range_check_warn, language_defn::range_checking_on_by_default(), and range_mode_auto.
CORE_ADDR skip_language_trampoline | ( | const frame_info_ptr & | frame, |
CORE_ADDR | pc ) |
Definition at line 526 of file language.c.
References language_defn::languages.
Referenced by process_event_stop_test().
|
static |
Definition at line 77 of file language.c.
|
static |
Definition at line 97 of file language.c.
Referenced by set_case_command().
Definition at line 78 of file language.c.
const struct language_defn* current_language = nullptr |
Definition at line 82 of file language.c.
Referenced by ada_print_scalar(), ada_value_print(), ada_varobj_get_value_image(), advance_to_expression_complete_word_point(), allocate_repeat_value(), bppy_init(), break_command_1(), break_range_command(), dtrace_probe::build_arg_exprs(), c_type_print_base(), c_value_print(), c_value_print_array(), c_value_print_int(), check_frame_language_change(), check_valid_shift_count(), coerce_array(), collect_symbol_completion_matches(), collect_symbol_completion_matches_type(), compile_to_object(), complete_files_symbols(), complete_line_internal_1(), convert_value_from_python(), cp_print_static_field(), cp_print_value(), cp_print_value_fields(), cp_print_value_fields_pp(), create_tracepoint_from_upload(), decode_line_1(), decode_line_full(), decode_line_with_current_source(), decode_line_with_last_displayed(), default_collect_symbol_completion_matches_break_on(), default_completer_handle_brkchars(), default_print_one_register_info(), demangle_command(), dprintf_command(), edit_command(), extract_sym(), find_array_element_type(), dw2_debug_names_iterator::find_vec_in_debug_names(), fixed_point_binop(), ftrace_command(), gcc_cplus_convert_symbol(), gdb_init(), gdbpy_print_insn(), gdbscm_make_value(), gdbscm_register_breakpoint_x(), gdbscm_value_call(), gdbscm_value_print(), gdbscm_value_subscript(), generic_val_print_ref(), generic_value_print_char(), get_language(), language_defn::get_symbol_name_matcher(), gnuv3_print_method_ptr(), incomplete_type_hint(), info_address_command(), info_scope_command(), python_xmethod_worker::invoke(), iterate_over_file_blocks(), language_info(), language_pass_by_reference(), language_search_unquoted_string(), linespec_complete(), linespec_lex_to_end(), linkage_name_str(), list_command(), location_completer(), lookup_symbol(), lookup_symbol_in_objfile_from_linkage_name(), lookup_transparent_type(), m2_print_array_contents(), maybe_print_array_index(), mi_cmd_break_insert_1(), mi_cmd_data_evaluate_expression(), output_register(), parse_exp_in_context(), parse_expression_with_language(), pascal_object_print_static_field(), pascal_object_print_value_fields(), print_binary_chars(), print_frame_arg(), print_symbol(), print_type_scalar(), print_unpacked_pointer(), print_variable_and_value(), print_variable_at_address(), print_variable_or_computed(), printf_wide_c_string(), fortran_array_printer_impl::process_element(), resolve_dynamic_struct(), resolve_dynamic_type_internal(), riscv_print_one_register_info(), scoped_restore_current_thread::scoped_restore_current_thread(), scoped_restore_selected_frame::scoped_restore_selected_frame(), scoped_switch_to_sym_language_if_auto::scoped_switch_to_sym_language_if_auto(), select_frame(), set_case_command(), set_initial_language(), set_language(), set_language(), set_range_case(), set_range_command(), show_case_command(), show_language_command(), show_range_command(), skip_quoted_chars(), str_value_from_setting(), strace_command(), tic6x_return_value(), trace_command(), type_print(), typedef_print(), typy_lookup_typename(), typy_repr(), typy_str(), tyscm_lookup_typename(), tyscm_type_name(), ui_printf(), until_break_command(), val_print_packed_array_elements(), val_print_string(), valpy_format_string(), valpy_str(), value_arg_coerce(), value_array(), value_cast(), value_concat(), value_cstring(), value_from_setting(), value_of_internalvar(), value_print(), pascal_language::value_print(), value_print_array_elements(), f_language::value_print_inner(), m2_language::value_print_inner(), pascal_language::value_print_inner(), value_print_scalar_formatted(), value_string(), value_struct_elt(), value_struct_elt_for_reference(), value_subscript(), value_user_defined_op(), varobj_value_get_print_value(), vlscm_binop_gdbthrow(), vlscm_print_value_smob(), vlscm_rich_compare(), vlscm_unop_gdbthrow(), watch_command_1(), and whatis_exp().
const struct language_defn* expected_language |
Definition at line 88 of file language.c.
Referenced by check_frame_language_change(), gdb_init(), language_info(), set_initial_language(), and set_language().
const char lang_frame_mismatch_warn[] |
Definition at line 100 of file language.c.
Referenced by check_frame_language_change(), and show_language_command().
|
static |
Definition at line 845 of file language.c.
Referenced by get_language_gdbarch().
Definition at line 83 of file language.c.
|
static |
Definition at line 96 of file language.c.
Referenced by btrace_find_line_range(), btrace_line_range_add(), btrace_mk_line_range(), extract_bp_or_bp_range(), find_pc_sect_compunit_symtab(), list_command(), m2_is_long_set(), m2_is_long_set_of_type(), m2_print_long_set(), prepare_for_detach(), start_step_over(), and upgrade_type().
Definition at line 76 of file language.c.
|
static |
Definition at line 75 of file language.c.
|
static |
Definition at line 833 of file language.c.