GDB (xrefs)
Classes | Macros | Enumerations | Functions | Variables
/tmp/gdb-8.1/gdb/language.h File Reference
#include "symtab.h"
#include "common/function-view.h"
#include "expression.h"

Go to the source code of this file.

Classes

struct  language_arch_info
 
struct  language_defn
 
class  scoped_restore_current_language
 

Macros

#define MAX_FORTRAN_DIMS   7 /* Maximum number of F77 array dims. */
 
#define LANG_MAGIC   910823L
 
#define RANGE_CHECK   (range_check != range_check_off)
 
#define CAST_IS_CONVERSION(LANG)
 
#define LA_PRINT_TYPE(type, varstring, stream, show, level, flags)   (current_language->la_print_type(type,varstring,stream,show,level,flags))
 
#define LA_PRINT_TYPEDEF(type, new_symbol, stream)   (current_language->la_print_typedef(type,new_symbol,stream))
 
#define LA_VALUE_PRINT(val, stream, options)   (current_language->la_value_print(val,stream,options))
 
#define LA_PRINT_CHAR(ch, type, stream)   (current_language->la_printchar(ch, type, stream))
 
#define LA_PRINT_STRING(stream, elttype, string, length, encoding, force_ellipses, options)
 
#define LA_EMIT_CHAR(ch, type, stream, quoter)   (current_language->la_emitchar(ch, type, stream, quoter))
 
#define LA_GET_STRING(value, buffer, length, chartype, encoding)   (current_language->la_get_string(value, buffer, length, chartype, encoding))
 
#define LA_PRINT_ARRAY_INDEX(index_value, stream, options)   (current_language->la_print_array_index(index_value, stream, options))
 
#define LA_ITERATE_OVER_SYMBOLS(BLOCK, NAME, DOMAIN, CALLBACK)   (current_language->la_iterate_over_symbols (BLOCK, NAME, DOMAIN, CALLBACK))
 
#define PRINT_LITERAL_FORM(c)
 

Enumerations

enum  range_mode { range_mode_auto, range_mode_manual }
 
enum  range_check { range_check_off, range_check_warn, range_check_on }
 
enum  case_mode { case_mode_auto, case_mode_manual }
 
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

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 symbollanguage_lookup_primitive_type_as_symbol (const struct language_defn *l, struct gdbarch *gdbarch, const char *name)
 
void language_info (int)
 
enum language set_language (enum language)
 
int pointer_type (struct type *)
 
void range_error (const char *,...) ATTRIBUTE_PRINTF(1
 
void int value_true (struct value *)
 
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 (struct frame_info *, CORE_ADDR pc)
 
char * language_demangle (const struct language_defn *current_language, const char *mangled, int options)
 
int language_sniff_from_mangled_name (const struct language_defn *lang, const char *mangled, char **demangled)
 
char * language_class_name_from_physname (const struct language_defn *, const char *physname)
 
const char * default_word_break_characters (void)
 
void default_print_array_index (struct value *index_value, struct ui_file *stream, const struct value_print_options *options)
 
int language_pass_by_reference (struct type *type)
 
int default_pass_by_reference (struct type *type)
 
void default_print_typedef (struct type *type, struct symbol *new_symbol, struct ui_file *stream)
 
void default_get_string (struct value *value, gdb_byte **buffer, int *length, struct type **char_type, const char **charset)
 
unsigned int default_search_name_hash (const char *search_name)
 
void c_get_string (struct value *value, gdb_byte **buffer, int *length, struct type **char_type, const char **charset)
 
bool default_symbol_name_matcher (const char *symbol_search_name, const lookup_name_info &lookup_name, completion_match_result *comp_match_res)
 
symbol_name_matcher_ftypeget_symbol_name_matcher (const language_defn *lang, const lookup_name_info &lookup_name)
 

Variables

enum range_mode range_mode
 
enum range_check range_check
 
enum case_mode case_mode
 
enum array_ordering array_ordering
 
enum case_sensitivity case_sensitivity
 
const struct language_defncurrent_language
 
const struct language_defnexpected_language
 
enum language_mode language_mode
 
const struct language_defn auto_language_defn
 
const struct language_defn unknown_language_defn
 
const struct language_defn minimal_language_defn
 
const struct language_defn ada_language_defn
 
const struct language_defn asm_language_defn
 
const struct language_defn c_language_defn
 
const struct language_defn cplus_language_defn
 
const struct language_defn d_language_defn
 
const struct language_defn f_language_defn
 
const struct language_defn go_language_defn
 
const struct language_defn m2_language_defn
 
const struct language_defn objc_language_defn
 
const struct language_defn opencl_language_defn
 
const struct language_defn pascal_language_defn
 
const struct language_defn rust_language_defn
 

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)

Definition at line 504 of file language.h.

Referenced by evaluate_subexp_with_coercion().

◆ LA_EMIT_CHAR

#define LA_EMIT_CHAR (   ch,
  type,
  stream,
  quoter 
)    (current_language->la_emitchar(ch, type, stream, quoter))

◆ LA_GET_STRING

#define LA_GET_STRING (   value,
  buffer,
  length,
  chartype,
  encoding 
)    (current_language->la_get_string(value, buffer, length, chartype, encoding))

Definition at line 534 of file language.h.

Referenced by gdbscm_value_to_string(), and valpy_string().

◆ LA_ITERATE_OVER_SYMBOLS

#define LA_ITERATE_OVER_SYMBOLS (   BLOCK,
  NAME,
  DOMAIN,
  CALLBACK 
)    (current_language->la_iterate_over_symbols (BLOCK, NAME, DOMAIN, CALLBACK))

Definition at line 540 of file language.h.

Referenced by iterate_over_file_blocks().

◆ LA_PRINT_ARRAY_INDEX

#define LA_PRINT_ARRAY_INDEX (   index_value,
  stream,
  options 
)    (current_language->la_print_array_index(index_value, stream, options))

Definition at line 537 of file language.h.

Referenced by maybe_print_array_index().

◆ LA_PRINT_CHAR

#define LA_PRINT_CHAR (   ch,
  type,
  stream 
)    (current_language->la_printchar(ch, type, stream))

◆ LA_PRINT_STRING

#define LA_PRINT_STRING (   stream,
  elttype,
  string,
  length,
  encoding,
  force_ellipses,
  options 
)
Value:
(current_language->la_printstr(stream, elttype, string, length, \
encoding, force_ellipses,options))
const struct language_defn * current_language
Definition: language.c:81
void(* la_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 *)
Definition: language.h:190

Definition at line 529 of file language.h.

Referenced by c_val_print_array(), f_val_print(), m2_val_print(), pascal_val_print(), ppscm_print_string_repr(), print_string_repr(), print_subexp_standard(), val_print_string(), and varobj_value_get_print_value().

◆ LA_PRINT_TYPE

#define LA_PRINT_TYPE (   type,
  varstring,
  stream,
  show,
  level,
  flags 
)    (current_language->la_print_type(type,varstring,stream,show,level,flags))

◆ LA_PRINT_TYPEDEF

#define LA_PRINT_TYPEDEF (   type,
  new_symbol,
  stream 
)    (current_language->la_print_typedef(type,new_symbol,stream))

Definition at line 521 of file language.h.

Referenced by typedef_print().

◆ LA_VALUE_PRINT

#define LA_VALUE_PRINT (   val,
  stream,
  options 
)    (current_language->la_value_print(val,stream,options))

Definition at line 524 of file language.h.

Referenced by ada_print_array_index(), default_print_array_index(), and value_print().

◆ LANG_MAGIC

#define LANG_MAGIC   910823L

Definition at line 438 of file language.h.

◆ MAX_FORTRAN_DIMS

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

Definition at line 42 of file language.h.

Referenced by evaluate_subexp_standard(), and f77_print_array().

◆ PRINT_LITERAL_FORM

#define PRINT_LITERAL_FORM (   c)
Value:
((c) >= 0x20 \
&& ((c) < 0x7F || (c) >= 0xA0) \
&& (!sevenbit_strings || (c) < 0x80))
int sevenbit_strings

Definition at line 549 of file language.h.

Referenced by m2_emit_char(), pascal_one_char(), and pascal_printstr().

◆ RANGE_CHECK

#define RANGE_CHECK   (range_check != range_check_off)

Definition at line 500 of file language.h.

Referenced by parse_number().

Enumeration Type Documentation

◆ array_ordering

Enumerator
array_row_major 
array_column_major 

Definition at line 79 of file language.h.

◆ case_mode

enum case_mode
Enumerator
case_mode_auto 
case_mode_manual 

Definition at line 69 of file language.h.

◆ case_sensitivity

Enumerator
case_sensitive_on 
case_sensitive_off 

Definition at line 90 of file language.h.

◆ language_mode

Enumerator
language_mode_auto 
language_mode_manual 

Definition at line 468 of file language.h.

◆ macro_expansion

Enumerator
macro_expansion_no 
macro_expansion_c 

Definition at line 101 of file language.h.

◆ range_check

Enumerator
range_check_off 
range_check_warn 
range_check_on 

Definition at line 59 of file language.h.

◆ range_mode

enum range_mode
Enumerator
range_mode_auto 
range_mode_manual 

Definition at line 48 of file language.h.

Function Documentation

◆ c_get_string()

void c_get_string ( struct value value,
gdb_byte **  buffer,
int *  length,
struct type **  char_type,
const char **  charset 
)

◆ default_get_string()

void default_get_string ( struct value value,
gdb_byte **  buffer,
int *  length,
struct type **  char_type,
const char **  charset 
)

Definition at line 696 of file language.c.

References _, and error().

◆ default_pass_by_reference()

int default_pass_by_reference ( struct type type)

Definition at line 669 of file language.c.

◆ default_print_array_index()

void default_print_array_index ( struct value index_value,
struct ui_file stream,
const struct value_print_options options 
)

Definition at line 687 of file language.c.

References fprintf_filtered(), and LA_VALUE_PRINT.

◆ default_print_typedef()

void default_print_typedef ( struct type type,
struct symbol new_symbol,
struct ui_file stream 
)

Definition at line 344 of file typeprint.c.

References _, and error().

◆ default_search_name_hash()

unsigned int default_search_name_hash ( const char *  search_name)

Definition at line 769 of file dictionary.c.

References hash(), msymbol_hash_iw(), startswith(), string, and SYMBOL_HASH_NEXT.

◆ default_symbol_name_matcher()

bool default_symbol_name_matcher ( const char *  symbol_search_name,
const lookup_name_info lookup_name,
completion_match_result comp_match_res 
)

◆ default_word_break_characters()

const char* default_word_break_characters ( void  )

Definition at line 679 of file language.c.

Referenced by f_word_break_characters(), and init_main().

◆ 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_class_name_from_physname()

char* language_class_name_from_physname ( const struct language_defn ,
const char *  physname 
)

◆ language_def()

const struct language_defn* language_def ( enum  language)

◆ language_demangle()

char* language_demangle ( const struct language_defn current_language,
const char *  mangled,
int  options 
)

Definition at line 622 of file language.c.

References current_language, and language_defn::la_demangle.

Referenced by demangle_command(), and fprintf_symbol_filtered().

◆ language_enum()

enum language language_enum ( const char *  str)

Definition at line 479 of file language.c.

References language_auto, language_unknown, and languages.

Referenced by demangle_command(), mi_parse(), and set_ext_lang_command().

◆ language_info()

void language_info ( int  )

◆ language_lookup_primitive_type()

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

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

int language_pass_by_reference ( struct type type)

◆ language_sniff_from_mangled_name()

int language_sniff_from_mangled_name ( const struct language_defn lang,
const char *  mangled,
char **  demangled 
)

Definition at line 633 of file language.c.

References gdb_assert, and language_defn::la_sniff_from_mangled_name.

Referenced by symbol_find_demangled_name().

◆ language_str()

const char* language_str ( enum  language)

◆ language_string_char_type()

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

◆ pointer_type()

int pointer_type ( struct type )

◆ range_error()

void range_error ( const char *  ,
  ... 
)

◆ set_language()

enum language set_language ( enum  language)

◆ skip_language_trampoline()

CORE_ADDR skip_language_trampoline ( struct frame_info ,
CORE_ADDR  pc 
)

Definition at line 599 of file language.c.

References languages.

Referenced by process_event_stop_test().

◆ value_true()

void int value_true ( struct value )

Variable Documentation

◆ ada_language_defn

const struct language_defn ada_language_defn

◆ array_ordering

◆ asm_language_defn

const struct language_defn asm_language_defn

◆ auto_language_defn

const struct language_defn auto_language_defn

Definition at line 894 of file language.c.

Referenced by add_set_language_command().

◆ c_language_defn

const struct language_defn c_language_defn

◆ case_mode

◆ case_sensitivity

◆ cplus_language_defn

const struct language_defn cplus_language_defn

◆ current_language

const struct language_defn* current_language

Definition at line 81 of file language.c.

Referenced by ada_val_print(), ada_value_print(), ada_varobj_get_value_image(), advance_to_expression_complete_word_point(), allocate_repeat_value(), bpfinishpy_handle_exit(), bpfinishpy_handle_stop(), bppy_init(), break_command_1(), break_range_command(), dtrace_probe::build_arg_exprs(), c_type_print_base_1(), c_type_print_varspec_suffix(), c_value_print(), check_frame_language_change(), cmdpy_completer(), cmdpy_completer_handle_brkchars(), cmdpy_destroyer(), cmdpy_function(), coerce_array(), collect_symbol_completion_matches(), collect_symbol_completion_matches_type(), compile_to_object(), complete_files_symbols(), complete_line_internal_1(), cp_print_static_field(), cp_print_value(), cp_print_value_fields(), cp_type_print_method_args(), 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(), f77_print_array_1(), f_val_print(), finalize_python(), find_slot_in_mapped_hash(), dw2_debug_names_iterator::find_vec_in_debug_names(), ftrace_command(), gdb_init(), gdbpy_apply_frame_filter(), gdbpy_apply_type_printers(), gdbpy_before_prompt_hook(), gdbpy_breakpoint_cond_says_stop(), gdbpy_breakpoint_has_cond(), gdbpy_clone_xmethod_worker_data(), gdbpy_eval_from_control_command(), gdbpy_execute_objfile_script(), gdbpy_finish_initialization(), gdbpy_free_type_printers(), gdbpy_free_xmethod_worker_data(), gdbpy_get_matching_xmethod_workers(), gdbpy_get_xmethod_arg_types(), gdbpy_get_xmethod_result_type(), gdbpy_invoke_xmethod(), gdbpy_run_events(), gdbpy_source_objfile_script(), gdbpy_source_script(), gdbpy_start_type_printers(), gdbscm_make_value(), gdbscm_register_breakpoint_x(), gdbscm_value_call(), gdbscm_value_print(), gdbscm_value_subscript(), generic_val_print_ref(), get_current_search_block(), get_set_value(), get_show_value(), get_symbol_name_matcher(), info_address_command(), info_scope_command(), init_raw_breakpoint_without_location(), language_demangle(), 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(), m2_val_print(), mi_cmd_break_insert_1(), mi_cmd_data_evaluate_expression(), mt_registers_info(), op_string(), output_register(), parse_exp_in_context_1(), parse_expression_with_language(), pascal_object_print_static_field(), pascal_object_print_value_fields(), pascal_val_print(), pascal_value_print(), print_frame_arg(), print_unpacked_pointer(), print_variable_and_value(), print_variable_at_address(), print_variable_or_computed(), printf_wide_c_string(), psymtab_search_name(), py_free_objfile(), py_free_pspace(), python_command(), python_inferior_exit(), python_interactive_command(), python_new_objfile(), python_on_inferior_call_post(), python_on_inferior_call_pre(), python_on_memory_change(), python_on_normal_stop(), python_on_register_change(), python_on_resume(), pyuw_sniffer(), resolve_dynamic_struct(), rust_val_print(), save_objfile_types(), select_frame(), set_case_command(), set_initial_language(), set_language(), set_language_command(), set_range_case(), set_range_command(), sh64_do_register(), show_case_command(), show_language_command(), show_range_command(), skip_quoted_chars(), strace_command(), tic6x_return_value(), trace_command(), tyscm_lookup_typename(), ui_printf(), until_break_command(), val_print_array_elements(), val_print_packed_array_elements(), val_print_scalar_formatted(), val_print_struct(), value_arg_coerce(), value_array(), value_cast(), value_cstring(), value_print(), value_string(), value_struct_elt_for_reference(), value_subscript(), value_user_defined_op(), varobj_value_get_print_value(), vlscm_binop(), vlscm_print_value_smob(), vlscm_rich_compare(), vlscm_unop(), watch_command_1(), and whatis_exp().

◆ d_language_defn

const struct language_defn d_language_defn

◆ expected_language

const struct language_defn* expected_language

◆ f_language_defn

const struct language_defn f_language_defn

◆ go_language_defn

const struct language_defn go_language_defn

◆ language_mode

◆ m2_language_defn

const struct language_defn m2_language_defn

◆ minimal_language_defn

const struct language_defn minimal_language_defn

◆ objc_language_defn

const struct language_defn objc_language_defn

◆ opencl_language_defn

const struct language_defn opencl_language_defn

◆ pascal_language_defn

const struct language_defn pascal_language_defn

◆ range_check

◆ range_mode

◆ rust_language_defn

const struct language_defn rust_language_defn

◆ unknown_language_defn

const struct language_defn unknown_language_defn