GDB (xrefs)
Loading...
Searching...
No Matches
Classes | Macros | Typedefs | Enumerations | Functions | Variables
ada-lang.h File Reference
#include "value.h"
#include "gdbtypes.h"
#include "breakpoint.h"

Go to the source code of this file.

Classes

struct  ada_opname_map
 
struct  ada_task_info
 
struct  ada_exc_info
 

Macros

#define ADA_KNOWN_RUNTIME_FILE_NAME_PATTERNS
 
#define ADA_KNOWN_AUXILIARY_FUNCTION_NAME_PATTERNS
 
#define MAX_ENCLOSING_FRAME_LEVELS   7
 
#define MAX_RENAMING_CHAIN_LENGTH   10
 

Typedefs

typedef gdb::function_view< void(struct ada_task_info *task) ada_task_list_iterator_ftype)
 

Enumerations

enum  ada_renaming_category {
  ADA_NOT_RENAMING , ADA_OBJECT_RENAMING , ADA_EXCEPTION_RENAMING , ADA_PACKAGE_RENAMING ,
  ADA_SUBPROGRAM_RENAMING
}
 
enum  ada_exception_catchpoint_kind { ada_catch_exception , ada_catch_exception_unhandled , ada_catch_assert , ada_catch_handlers }
 

Functions

int ada_get_field_index (const struct type *type, const char *field_name, int maybe_missing)
 
int ada_parse (struct parser_state *)
 
void ada_print_type (struct type *, const char *, struct ui_file *, int, int, const struct type_print_options *)
 
void ada_print_typedef (struct type *type, struct symbol *new_symbol, struct ui_file *stream)
 
void ada_value_print_inner (struct value *, struct ui_file *, int, const struct value_print_options *)
 
void ada_value_print (struct value *, struct ui_file *, const struct value_print_options *)
 
void ada_emit_char (int, struct type *, struct ui_file *, int, int)
 
void ada_printchar (int, struct type *, struct ui_file *)
 
void ada_printstr (struct ui_file *, struct type *, const gdb_byte *, unsigned int, const char *, int, const struct value_print_options *)
 
struct valueada_convert_actual (struct value *actual, struct type *formal_type0)
 
bool ada_is_access_to_unconstrained_array (struct type *type)
 
struct valueada_value_subscript (struct value *, int, struct value **)
 
void ada_fixup_array_indexes_type (struct type *index_desc_type)
 
struct typeada_array_element_type (struct type *, int)
 
int ada_array_arity (struct type *)
 
struct valueada_coerce_to_simple_array_ptr (struct value *)
 
struct valueada_coerce_to_simple_array (struct value *)
 
int ada_is_simple_array_type (struct type *)
 
int ada_is_array_descriptor_type (struct type *)
 
LONGEST ada_discrete_type_low_bound (struct type *)
 
LONGEST ada_discrete_type_high_bound (struct type *)
 
struct valueada_get_decoded_value (struct value *value)
 
struct typeada_get_decoded_type (struct type *type)
 
const char * ada_decode_symbol (const struct general_symbol_info *)
 
std::string ada_decode (const char *name, bool wrap=true, bool operators=true)
 
std::vector< struct block_symbolada_lookup_symbol_list (const char *, const struct block *, domain_enum)
 
struct block_symbol ada_lookup_symbol (const char *, const struct block *, domain_enum)
 
void ada_lookup_encoded_symbol (const char *name, const struct block *block, domain_enum domain, struct block_symbol *symbol_info)
 
struct bound_minimal_symbol ada_lookup_simple_minsym (const char *, objfile *)
 
int ada_scan_number (const char *, int, LONGEST *, int *)
 
struct valueada_value_primitive_field (struct value *arg1, int offset, int fieldno, struct type *arg_type)
 
struct typeada_parent_type (struct type *)
 
int ada_is_ignored_field (struct type *, int)
 
int ada_is_constrained_packed_array_type (struct type *)
 
struct valueada_value_primitive_packed_val (struct value *, const gdb_byte *, long, int, int, struct type *)
 
struct typeada_coerce_to_simple_array_type (struct type *)
 
bool ada_is_character_type (struct type *)
 
bool ada_is_string_type (struct type *)
 
int ada_is_tagged_type (struct type *, int)
 
int ada_is_tag_type (struct type *)
 
gdb::unique_xmalloc_ptr< char > ada_tag_name (struct value *)
 
struct valueada_tag_value_at_base_address (struct value *obj)
 
int ada_is_parent_field (struct type *, int)
 
int ada_is_wrapper_field (struct type *, int)
 
int ada_is_variant_part (struct type *, int)
 
struct typeada_variant_discrim_type (struct type *, struct type *)
 
const char * ada_variant_discrim_name (struct type *)
 
int ada_is_aligner_type (struct type *)
 
struct typeada_aligned_type (struct type *)
 
const gdb_byte * ada_aligned_value_addr (struct type *, const gdb_byte *)
 
int ada_is_system_address_type (struct type *)
 
int ada_which_variant_applies (struct type *, struct value *)
 
struct typeada_to_fixed_type (struct type *, const gdb_byte *, CORE_ADDR, struct value *, int check_tag)
 
struct valueada_to_fixed_value (struct value *val)
 
struct typeada_template_to_fixed_record_type_1 (struct type *type, const gdb_byte *valaddr, CORE_ADDR address, struct value *dval0, int keep_dynamic_fields)
 
int ada_name_prefix_len (const char *)
 
const char * ada_type_name (struct type *)
 
struct typeada_find_parallel_type (struct type *, const char *suffix)
 
bool get_int_var_value (const char *, LONGEST &value)
 
int ada_prefer_type (struct type *, struct type *)
 
struct typeada_get_base_type (struct type *)
 
struct typeada_check_typedef (struct type *)
 
std::string ada_encode (const char *, bool fold=true)
 
const char * ada_enum_name (const char *)
 
int ada_is_modular_type (struct type *)
 
ULONGEST ada_modulus (struct type *)
 
struct valueada_value_ind (struct value *)
 
void ada_print_scalar (struct type *, LONGEST, struct ui_file *)
 
int ada_is_range_type_name (const char *)
 
enum ada_renaming_category ada_parse_renaming (struct symbol *, const char **, int *, const char **)
 
void ada_find_printable_frame (frame_info_ptr fi)
 
const char * ada_main_name ()
 
void create_ada_exception_catchpoint (struct gdbarch *gdbarch, enum ada_exception_catchpoint_kind ex_kind, std::string &&excep_string, const std::string &cond_string, int tempflag, int enabled, int from_tty)
 
bool is_ada_exception_catchpoint (breakpoint *bp)
 
std::vector< ada_exc_infoada_exceptions_list (const char *regexp)
 
int valid_task_id (int)
 
struct ada_task_infoada_get_task_info_from_ptid (ptid_t ptid)
 
int ada_get_task_number (thread_info *thread)
 
void iterate_over_live_ada_tasks (ada_task_list_iterator_ftype iterator)
 
const char * ada_get_tcb_types_info (void)
 
void print_ada_task_info (struct ui_out *uiout, const char *taskno_str, struct inferior *inf)
 
block_symbol ada_find_operator_symbol (enum exp_opcode op, bool parse_completion, int nargs, value *argvec[])
 
block_symbol ada_resolve_funcall (struct symbol *sym, const struct block *block, struct type *context_type, bool parse_completion, int nargs, value *argvec[], innermost_block_tracker *tracker)
 
block_symbol ada_resolve_variable (struct symbol *sym, const struct block *block, struct type *context_type, bool parse_completion, int deprocedure_p, innermost_block_tracker *tracker)
 
struct typeada_index_type (struct type *type, int n, const char *name)
 

Variables

const struct ada_opname_map ada_opname_table []
 

Macro Definition Documentation

◆ ADA_KNOWN_AUXILIARY_FUNCTION_NAME_PATTERNS

#define ADA_KNOWN_AUXILIARY_FUNCTION_NAME_PATTERNS
Value:
"___clean[.$a-zA-Z0-9_]*$", \
"___finalizer[.$a-zA-Z0-9_]*$",

Definition at line 52 of file ada-lang.h.

◆ ADA_KNOWN_RUNTIME_FILE_NAME_PATTERNS

#define ADA_KNOWN_RUNTIME_FILE_NAME_PATTERNS
Value:
"^unwind-seh.c$", \
"^[agis]-.*\\.ad[bs]$",

Definition at line 44 of file ada-lang.h.

◆ MAX_ENCLOSING_FRAME_LEVELS

#define MAX_ENCLOSING_FRAME_LEVELS   7

Definition at line 59 of file ada-lang.h.

◆ MAX_RENAMING_CHAIN_LENGTH

#define MAX_RENAMING_CHAIN_LENGTH   10

Definition at line 64 of file ada-lang.h.

Referenced by write_var_or_type().

Typedef Documentation

◆ ada_task_list_iterator_ftype

typedef gdb::function_view<void (struct ada_task_info *task) ada_task_list_iterator_ftype)

Definition at line 374 of file ada-lang.h.

Enumeration Type Documentation

◆ ada_exception_catchpoint_kind

Enumerator
ada_catch_exception 
ada_catch_exception_unhandled 
ada_catch_assert 
ada_catch_handlers 

Definition at line 106 of file ada-lang.h.

◆ ada_renaming_category

Enumerator
ADA_NOT_RENAMING 
ADA_OBJECT_RENAMING 
ADA_EXCEPTION_RENAMING 
ADA_PACKAGE_RENAMING 
ADA_SUBPROGRAM_RENAMING 

Definition at line 82 of file ada-lang.h.

Function Documentation

◆ ada_aligned_type()

struct type * ada_aligned_type ( struct type * type)
extern

◆ ada_aligned_value_addr()

const gdb_byte * ada_aligned_value_addr ( struct type * type,
const gdb_byte * valaddr )
extern

◆ ada_array_arity()

int ada_array_arity ( struct type * type)
extern

◆ ada_array_element_type()

struct type * ada_array_element_type ( struct type * type,
int nindices )
extern

◆ ada_check_typedef()

struct type * ada_check_typedef ( struct type * type)
extern

Definition at line 8704 of file ada-lang.c.

References ada_check_typedef(), ada_find_any_type(), ada_is_access_to_unconstrained_array(), check_typedef(), type::code(), type::is_stub(), name, type::name(), and type.

Referenced by ada_args_match(), ada_array_arity(), ada_array_element_type(), ada_check_typedef(), ada_coerce_to_simple_array_type(), ada_convert_actual(), ada_fixup_array_indexes_type(), ada_funcall(), ada_get_decoded_value(), ada_index_struct_field_1(), ada_index_type(), ada_is_aligner_type(), ada_is_array_descriptor_type(), ada_is_direct_array_type(), ada_is_gnat_encoded_packed_array_type(), ada_is_parent_field(), ada_is_simple_array_type(), ada_is_string_type(), ada_is_tag_type(), ada_lookup_struct_elt_type(), ada_parent_type(), ada_print_scalar(), ada_print_type(), ada_print_typedef(), ada_resolve_enum(), ada_resolve_function(), ada_search_struct_field(), ada_template_to_fixed_record_type_1(), ada_ternop_slice(), ada_to_fixed_type_1(), ada_type_match(), ada_type_of_array(), ada_val_print_enum(), ada_value_binop(), ada_value_cast(), ada_value_equal(), ada_value_primitive_field(), ada_value_primitive_packed_val(), ada_value_print(), ada_value_print_array(), ada_value_print_inner(), ada_value_print_num(), ada_value_print_ptr(), ada_value_slice(), ada_value_slice_from_ptr(), ada_value_struct_elt(), ada_value_subscript(), ada_varobj_decode_var(), coerce_for_assign(), coerce_unspec_val_to_type(), constrained_packed_array_type(), decode_constrained_packed_array(), decode_constrained_packed_array_type(), decode_packed_array_bitsize(), desc_base_type(), desc_bounds(), desc_bounds_type(), desc_data_target_type(), dynamic_template_type(), empty_array(), ensure_lval(), expr::ada_unop_ind_operation::evaluate(), expr::ada_funcall_operation::evaluate(), fat_pntr_bounds_bitsize(), find_base_type(), find_struct_field(), make_array_descriptor(), possible_user_operator_p(), static_unwrap_type(), template_to_static_fixed_type(), thin_data_pntr(), to_fixed_array_type(), to_static_fixed_type(), unwrap_value(), and value_subscript_packed().

◆ ada_coerce_to_simple_array()

struct value * ada_coerce_to_simple_array ( struct value * arr)

◆ ada_coerce_to_simple_array_ptr()

struct value * ada_coerce_to_simple_array_ptr ( struct value * arr)
extern

◆ ada_coerce_to_simple_array_type()

struct type * ada_coerce_to_simple_array_type ( struct type * type)
extern

◆ ada_convert_actual()

struct value * ada_convert_actual ( struct value * actual,
struct type * formal_type0 )

◆ ada_decode()

std::string ada_decode ( const char * name,
bool wrap = true,
bool operators = true )
extern

◆ ada_decode_symbol()

const char * ada_decode_symbol ( const struct general_symbol_info * arg)
extern

◆ ada_discrete_type_high_bound()

LONGEST ada_discrete_type_high_bound ( struct type * type)
extern

◆ ada_discrete_type_low_bound()

LONGEST ada_discrete_type_low_bound ( struct type * type)
extern

◆ ada_emit_char()

void ada_emit_char ( int c,
struct type * type,
struct ui_file * stream,
int quoter,
int type_len )
extern

Definition at line 261 of file ada-valprint.c.

References gdb_printf().

Referenced by ada_printchar(), ada_language::emitchar(), and printstr().

◆ ada_encode()

std::string ada_encode ( const char * decoded,
bool fold = true )
extern

◆ ada_enum_name()

const char * ada_enum_name ( const char * name)
extern

Definition at line 9048 of file ada-lang.c.

References name.

Referenced by ada_print_scalar(), ada_val_print_enum(), and print_enum_type().

◆ ada_exceptions_list()

std::vector< ada_exc_info > ada_exceptions_list ( const char * regexp)
extern

◆ ada_find_operator_symbol()

block_symbol ada_find_operator_symbol ( enum exp_opcode op,
bool parse_completion,
int nargs,
value * argvec[] )
extern

◆ ada_find_parallel_type()

struct type * ada_find_parallel_type ( struct type * type,
const char * suffix )
extern

◆ ada_find_printable_frame()

void ada_find_printable_frame ( frame_info_ptr fi)
extern

◆ ada_fixup_array_indexes_type()

void ada_fixup_array_indexes_type ( struct type * index_desc_type)
extern

◆ ada_get_base_type()

struct type * ada_get_base_type ( struct type * raw_type)
extern

◆ ada_get_decoded_type()

struct type * ada_get_decoded_type ( struct type * type)
extern

◆ ada_get_decoded_value()

struct value * ada_get_decoded_value ( struct value * value)
extern

◆ ada_get_field_index()

int ada_get_field_index ( const struct type * type,
const char * field_name,
int maybe_missing )
extern

◆ ada_get_task_info_from_ptid()

struct ada_task_info * ada_get_task_info_from_ptid ( ptid_t ptid)
extern

◆ ada_get_task_number()

int ada_get_task_number ( thread_info * thread)
extern

◆ ada_get_tcb_types_info()

const char * ada_get_tcb_types_info ( void )
extern

◆ ada_index_type()

struct type * ada_index_type ( struct type * type,
int n,
const char * name )
extern

◆ ada_is_access_to_unconstrained_array()

bool ada_is_access_to_unconstrained_array ( struct type * type)
extern

◆ ada_is_aligner_type()

int ada_is_aligner_type ( struct type * type)
extern

◆ ada_is_array_descriptor_type()

int ada_is_array_descriptor_type ( struct type * type)
extern

◆ ada_is_character_type()

bool ada_is_character_type ( struct type * type)
extern

Definition at line 8899 of file ada-lang.c.

References ada_type_name(), type::code(), and name.

Referenced by ada_is_string_type(), and ada_value_print_num().

◆ ada_is_constrained_packed_array_type()

int ada_is_constrained_packed_array_type ( struct type * type)
extern

◆ ada_is_ignored_field()

int ada_is_ignored_field ( struct type * type,
int field_num )
extern

◆ ada_is_modular_type()

int ada_is_modular_type ( struct type * type)
extern

◆ ada_is_parent_field()

int ada_is_parent_field ( struct type * type,
int field_num )
extern

◆ ada_is_range_type_name()

int ada_is_range_type_name ( const char * name)
extern

Definition at line 11517 of file ada-lang.c.

References name.

Referenced by ada_print_type().

◆ ada_is_simple_array_type()

int ada_is_simple_array_type ( struct type * type)
extern

◆ ada_is_string_type()

bool ada_is_string_type ( struct type * type)
extern

◆ ada_is_system_address_type()

int ada_is_system_address_type ( struct type * type)
extern

Definition at line 11318 of file ada-lang.c.

References type::name().

Referenced by ada_value_print_num().

◆ ada_is_tag_type()

int ada_is_tag_type ( struct type * type)
extern

◆ ada_is_tagged_type()

int ada_is_tagged_type ( struct type * type,
int refok )
extern

◆ ada_is_variant_part()

int ada_is_variant_part ( struct type * type,
int field_num )
extern

◆ ada_is_wrapper_field()

int ada_is_wrapper_field ( struct type * type,
int field_num )
extern

◆ ada_lookup_encoded_symbol()

void ada_lookup_encoded_symbol ( const char * name,
const struct block * block,
domain_enum domain,
struct block_symbol * symbol_info )
extern

Definition at line 5776 of file ada-lang.c.

References ada_lookup_symbol(), add_angle_brackets(), symbol::domain(), and name.

Referenced by standard_lookup(), and write_object_renaming().

◆ ada_lookup_simple_minsym()

struct bound_minimal_symbol ada_lookup_simple_minsym ( const char * name,
objfile * objfile )
extern

◆ ada_lookup_symbol()

struct block_symbol ada_lookup_symbol ( const char * name,
const struct block * block0,
domain_enum domain )
extern

◆ ada_lookup_symbol_list()

std::vector< struct block_symbol > ada_lookup_symbol_list ( const char * name,
const struct block * block,
domain_enum domain )
extern

◆ ada_main_name()

const char * ada_main_name ( )
extern

◆ ada_modulus()

ULONGEST ada_modulus ( struct type * type)
extern

◆ ada_name_prefix_len()

int ada_name_prefix_len ( const char * name)
extern

◆ ada_parent_type()

struct type * ada_parent_type ( struct type * type)
extern

◆ ada_parse()

int ada_parse ( struct parser_state * par_state)
extern

◆ ada_parse_renaming()

enum ada_renaming_category ada_parse_renaming ( struct symbol * sym,
const char ** renamed_entity,
int * len,
const char ** renaming_expr )
extern

◆ ada_prefer_type()

int ada_prefer_type ( struct type * type0,
struct type * type1 )
extern

◆ ada_print_scalar()

void ada_print_scalar ( struct type * type,
LONGEST val,
struct ui_file * stream )
extern

◆ ada_print_type()

void ada_print_type ( struct type * type0,
const char * varstring,
struct ui_file * stream,
int show,
int level,
const struct type_print_options * flags )
extern

◆ ada_print_typedef()

void ada_print_typedef ( struct type * type,
struct symbol * new_symbol,
struct ui_file * stream )
extern

◆ ada_printchar()

void ada_printchar ( int c,
struct type * type,
struct ui_file * stream )
extern

Definition at line 361 of file ada-valprint.c.

References ada_emit_char(), gdb_puts(), and type::length().

Referenced by ada_value_print_num(), and ada_language::printchar().

◆ ada_printstr()

void ada_printstr ( struct ui_file * stream,
struct type * type,
const gdb_byte * string,
unsigned int length,
const char * encoding,
int force_ellipses,
const struct value_print_options * options )
extern

Definition at line 525 of file ada-valprint.c.

References type::length(), and printstr().

Referenced by ada_language::printstr().

◆ ada_resolve_funcall()

block_symbol ada_resolve_funcall ( struct symbol * sym,
const struct block * block,
struct type * context_type,
bool parse_completion,
int nargs,
value * argvec[],
innermost_block_tracker * tracker )
extern

◆ ada_resolve_variable()

block_symbol ada_resolve_variable ( struct symbol * sym,
const struct block * block,
struct type * context_type,
bool parse_completion,
int deprocedure_p,
innermost_block_tracker * tracker )
extern

◆ ada_scan_number()

int ada_scan_number ( const char * ,
int ,
LONGEST * ,
int *  )
extern

◆ ada_tag_name()

gdb::unique_xmalloc_ptr< char > ada_tag_name ( struct value * tag)
extern

◆ ada_tag_value_at_base_address()

struct value * ada_tag_value_at_base_address ( struct value * obj)
extern

◆ ada_template_to_fixed_record_type_1()

struct type * ada_template_to_fixed_record_type_1 ( struct type * type,
const gdb_byte * valaddr,
CORE_ADDR address,
struct value * dval0,
int keep_dynamic_fields )
extern

◆ ada_to_fixed_type()

struct type * ada_to_fixed_type ( struct type * type,
const gdb_byte * valaddr,
CORE_ADDR address,
struct value * dval,
int check_tag )
extern

◆ ada_to_fixed_value()

struct value * ada_to_fixed_value ( struct value * val)
extern

◆ ada_type_name()

const char * ada_type_name ( struct type * type)
extern

◆ ada_value_ind()

struct value * ada_value_ind ( struct value * val0)
extern

◆ ada_value_primitive_field()

struct value * ada_value_primitive_field ( struct value * arg1,
int offset,
int fieldno,
struct type * arg_type )
extern

◆ ada_value_primitive_packed_val()

struct value * ada_value_primitive_packed_val ( struct value * obj,
const gdb_byte * valaddr,
long offset,
int bit_offset,
int bit_size,
struct type * type )
extern

◆ ada_value_print()

void ada_value_print ( struct value * val0,
struct ui_file * stream,
const struct value_print_options * options )
extern

◆ ada_value_print_inner()

void ada_value_print_inner ( struct value * val,
struct ui_file * stream,
int recurse,
const struct value_print_options * options )
extern

◆ ada_value_subscript()

struct value * ada_value_subscript ( struct value * arr,
int arity,
struct value ** ind )
extern

◆ ada_variant_discrim_name()

const char * ada_variant_discrim_name ( struct type * type0)
extern

◆ ada_variant_discrim_type()

struct type * ada_variant_discrim_type ( struct type * var_type,
struct type * outer_type )
extern

Definition at line 6739 of file ada-lang.c.

References ada_lookup_struct_elt_type(), ada_variant_discrim_name(), and name.

Referenced by print_variant_clauses().

◆ ada_which_variant_applies()

int ada_which_variant_applies ( struct type * var_type,
struct value * outer )
extern

◆ create_ada_exception_catchpoint()

void create_ada_exception_catchpoint ( struct gdbarch * gdbarch,
enum ada_exception_catchpoint_kind ex_kind,
std::string && excep_string,
const std::string & cond_string,
int tempflag,
int enabled,
int from_tty )
extern

◆ get_int_var_value()

bool get_int_var_value ( const char * name,
LONGEST & value )
extern

◆ is_ada_exception_catchpoint()

bool is_ada_exception_catchpoint ( breakpoint * bp)
extern

Definition at line 12502 of file ada-lang.c.

References bp.

Referenced by print_one_breakpoint(), and print_one_breakpoint_location().

◆ iterate_over_live_ada_tasks()

void iterate_over_live_ada_tasks ( ada_task_list_iterator_ftype iterator)
extern

◆ print_ada_task_info()

void print_ada_task_info ( struct ui_out * uiout,
const char * taskno_str,
struct inferior * inf )
extern

◆ valid_task_id()

int valid_task_id ( int task_num)
extern

Variable Documentation

◆ ada_opname_table

const struct ada_opname_map ada_opname_table[]
extern

Definition at line 841 of file ada-lang.c.

Referenced by ada_decode(), ada_decoded_op_name(), ada_encode_1(), and is_ada_operator().