GDB (xrefs)
Loading...
Searching...
No Matches
Classes | Macros | Enumerations | Functions | Variables
language.h File Reference
#include "symtab.h"
#include "gdbsupport/function-view.h"
#include "expression.h"

Go to the source code of this file.

Classes

struct  language_arch_info
 
struct  language_arch_info::type_and_symbol
 
struct  language_pass_by_ref_info
 
struct  language_defn
 
class  scoped_restore_current_language
 
class  scoped_switch_to_sym_language_if_auto
 

Macros

#define MAX_FORTRAN_DIMS   7 /* Maximum number of F77 array dims. */
 
#define RANGE_CHECK   (range_check != range_check_off)
 
#define CAST_IS_CONVERSION(LANG)
 
#define PRINT_LITERAL_FORM(c)
 

Enumerations

enum  range_check { range_check_off , range_check_warn , range_check_on }
 
enum  array_ordering { array_row_major , array_column_major }
 
enum  case_sensitivity { case_sensitive_on , case_sensitive_off }
 
enum  macro_expansion { macro_expansion_no , macro_expansion_c }
 
enum  language_mode { language_mode_auto , language_mode_manual }
 

Functions

const char * default_word_break_characters (void)
 
struct typelanguage_bool_type (const struct language_defn *l, struct gdbarch *gdbarch)
 
struct typelanguage_string_char_type (const struct language_defn *l, struct gdbarch *gdbarch)
 
struct typelanguage_lookup_primitive_type (const struct language_defn *l, struct gdbarch *gdbarch, const char *name)
 
struct typelanguage_lookup_primitive_type (const struct language_defn *la, struct gdbarch *gdbarch, gdb::function_view< bool(struct type *)> filter)
 
struct symbollanguage_lookup_primitive_type_as_symbol (const struct language_defn *l, struct gdbarch *gdbarch, const char *name)
 
void language_info ()
 
void set_language (enum language lang)
 
void range_error (const char *,...) ATTRIBUTE_PRINTF(1
 
void enum language language_enum (const char *str)
 
const struct language_defnlanguage_def (enum language)
 
const char * language_str (enum language)
 
CORE_ADDR skip_language_trampoline (const frame_info_ptr &, CORE_ADDR pc)
 
struct language_pass_by_ref_info language_pass_by_reference (struct type *type)
 
void c_get_string (struct value *value, gdb::unique_xmalloc_ptr< gdb_byte > *buffer, int *length, struct type **char_type, const char **charset)
 
symbol_name_matcher_ftypeget_symbol_name_matcher (const language_defn *lang, const lookup_name_info &lookup_name)
 

Variables

enum range_check range_check
 
enum array_ordering array_ordering
 
enum case_sensitivity case_sensitivity
 
const struct language_defncurrent_language
 
const struct language_defnexpected_language
 
const char lang_frame_mismatch_warn []
 
enum language_mode language_mode
 

Macro Definition Documentation

◆ CAST_IS_CONVERSION

#define CAST_IS_CONVERSION ( LANG)
Value:
((LANG)->la_language == language_c || \
(LANG)->la_language == language_cplus || \
(LANG)->la_language == language_objc)
@ language_cplus
Definition defs.h:216
@ language_c
Definition defs.h:213
@ language_objc
Definition defs.h:214

Definition at line 772 of file language.h.

Referenced by expr::var_value_operation::evaluate_with_coercion().

◆ MAX_FORTRAN_DIMS

#define MAX_FORTRAN_DIMS   7 /* Maximum number of F77 array dims. */

Definition at line 43 of file language.h.

◆ PRINT_LITERAL_FORM

#define PRINT_LITERAL_FORM ( c)
Value:
((c) >= 0x20 \
&& ((c) < 0x7F || (c) >= 0xA0) \
&& (!sevenbit_strings || (c) < 0x80))
bool sevenbit_strings
Definition utils.c:108

Definition at line 791 of file language.h.

Referenced by m2_language::emitchar(), pascal_language::print_one_char(), and pascal_language::printstr().

◆ RANGE_CHECK

#define RANGE_CHECK   (range_check != range_check_off)

Definition at line 768 of file language.h.

Referenced by parse_number(), and parse_number().

Enumeration Type Documentation

◆ array_ordering

Enumerator
array_row_major 
array_column_major 

Definition at line 60 of file language.h.

◆ case_sensitivity

Enumerator
case_sensitive_on 
case_sensitive_off 

Definition at line 71 of file language.h.

◆ language_mode

Enumerator
language_mode_auto 
language_mode_manual 

Definition at line 716 of file language.h.

◆ macro_expansion

Enumerator
macro_expansion_no 
macro_expansion_c 

Definition at line 82 of file language.h.

◆ range_check

Enumerator
range_check_off 
range_check_warn 
range_check_on 

Definition at line 50 of file language.h.

Function Documentation

◆ c_get_string()

void c_get_string ( struct value * value,
gdb::unique_xmalloc_ptr< gdb_byte > * buffer,
int * length,
struct type ** char_type,
const char ** charset )

◆ default_word_break_characters()

const char * default_word_break_characters ( void )
extern

Definition at line 553 of file language.c.

Referenced by init_main(), and language_defn::word_break_characters().

◆ get_symbol_name_matcher()

symbol_name_matcher_ftype * get_symbol_name_matcher ( const language_defn * lang,
const lookup_name_info & lookup_name )

◆ language_bool_type()

struct type * language_bool_type ( const struct language_defn * l,
struct gdbarch * gdbarch )

◆ language_def()

const struct language_defn * language_def ( enum language)
extern

◆ language_enum()

void enum language language_enum ( const char * str)
extern

◆ language_info()

void language_info ( )
extern

◆ language_lookup_primitive_type() [1/2]

struct type * language_lookup_primitive_type ( const struct language_defn * l,
struct gdbarch * gdbarch,
const char * name )

◆ language_lookup_primitive_type() [2/2]

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().

◆ language_lookup_primitive_type_as_symbol()

struct symbol * language_lookup_primitive_type_as_symbol ( const struct language_defn * l,
struct gdbarch * gdbarch,
const char * name )

◆ language_pass_by_reference()

struct language_pass_by_ref_info language_pass_by_reference ( struct type * type)

◆ language_str()

const char * language_str ( enum language)
extern

◆ language_string_char_type()

struct type * language_string_char_type ( const struct language_defn * l,
struct gdbarch * gdbarch )

◆ range_error()

void range_error ( const char * ,
... )
extern

◆ set_language()

void set_language ( enum language lang)
extern

◆ skip_language_trampoline()

CORE_ADDR skip_language_trampoline ( const frame_info_ptr & frame,
CORE_ADDR pc )
extern

Definition at line 526 of file language.c.

References language_defn::languages.

Referenced by process_event_stop_test().

Variable Documentation

◆ array_ordering

◆ case_sensitivity

◆ current_language

const struct language_defn* current_language
extern

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().

◆ expected_language

const struct language_defn* expected_language
extern

◆ lang_frame_mismatch_warn

const char lang_frame_mismatch_warn[]
extern

Definition at line 100 of file language.c.

Referenced by check_frame_language_change(), and show_language_command().

◆ language_mode

◆ range_check