GDB (xrefs)
Loading...
Searching...
No Matches
Classes | Namespaces | Typedefs | Functions | Variables
ada-lang.c File Reference
#include "defs.h"
#include <ctype.h>
#include "gdbsupport/gdb_regex.h"
#include "frame.h"
#include "symtab.h"
#include "gdbtypes.h"
#include "gdbcmd.h"
#include "expression.h"
#include "parser-defs.h"
#include "language.h"
#include "varobj.h"
#include "inferior.h"
#include "symfile.h"
#include "objfiles.h"
#include "breakpoint.h"
#include "gdbcore.h"
#include "hashtab.h"
#include "gdbsupport/gdb_obstack.h"
#include "ada-lang.h"
#include "completer.h"
#include "ui-out.h"
#include "block.h"
#include "infcall.h"
#include "annotate.h"
#include "valprint.h"
#include "source.h"
#include "observable.h"
#include "stack.h"
#include "typeprint.h"
#include "namespace.h"
#include "cli/cli-style.h"
#include "cli/cli-decode.h"
#include "value.h"
#include "mi/mi-common.h"
#include "arch-utils.h"
#include "cli/cli-utils.h"
#include "gdbsupport/function-view.h"
#include "gdbsupport/byte-vector.h"
#include "gdbsupport/selftest.h"
#include <algorithm>
#include "ada-exp.h"
#include "charset.h"
#include "ax-gdb.h"
#include "ada-casefold.h"

Go to the source code of this file.

Classes

struct  utf8_entry
 
struct  ada_inferior_data
 
struct  cache_entry
 
struct  cache_entry_search
 
struct  match_data
 
struct  exception_support_info
 
struct  ada_catchpoint
 
class  ada_catchpoint_location
 
class  ada_language
 

Namespaces

namespace  expr
 

Typedefs

typedef CORE_ADDR ada_unhandled_exception_name_addr_ftype(void)
 

Functions

static struct typedesc_base_type (struct type *)
 
static struct typedesc_bounds_type (struct type *)
 
static struct valuedesc_bounds (struct value *)
 
static int fat_pntr_bounds_bitpos (struct type *)
 
static int fat_pntr_bounds_bitsize (struct type *)
 
static struct typedesc_data_target_type (struct type *)
 
static struct valuedesc_data (struct value *)
 
static int fat_pntr_data_bitpos (struct type *)
 
static int fat_pntr_data_bitsize (struct type *)
 
static struct valuedesc_one_bound (struct value *, int, int)
 
static int desc_bound_bitpos (struct type *, int, int)
 
static int desc_bound_bitsize (struct type *, int, int)
 
static struct typedesc_index_type (struct type *, int)
 
static int desc_arity (struct type *)
 
static int ada_args_match (struct symbol *, struct value **, int)
 
static struct valuemake_array_descriptor (struct type *, struct value *)
 
static void ada_add_block_symbols (std::vector< struct block_symbol > &, const struct block *, const lookup_name_info &lookup_name, domain_enum, struct objfile *)
 
static void ada_add_all_symbols (std::vector< struct block_symbol > &, const struct block *, const lookup_name_info &lookup_name, domain_enum, int, int *)
 
static int is_nonfunction (const std::vector< struct block_symbol > &)
 
static void add_defn_to_vec (std::vector< struct block_symbol > &, struct symbol *, const struct block *)
 
static int possible_user_operator_p (enum exp_opcode, struct value **)
 
static const char * ada_decoded_op_name (enum exp_opcode)
 
static int numeric_type_p (struct type *)
 
static int integer_type_p (struct type *)
 
static int scalar_type_p (struct type *)
 
static int discrete_type_p (struct type *)
 
static struct typeada_lookup_struct_elt_type (struct type *, const char *, int, int)
 
static struct typeada_find_parallel_type_with_name (struct type *, const char *)
 
static int is_dynamic_field (struct type *, int)
 
static struct typeto_fixed_variant_branch_type (struct type *, const gdb_byte *, CORE_ADDR, struct value *)
 
static struct typeto_fixed_array_type (struct type *, struct value *, int)
 
static struct typeto_fixed_range_type (struct type *, struct value *)
 
static struct typeto_static_fixed_type (struct type *)
 
static struct typestatic_unwrap_type (struct type *type)
 
static struct valueunwrap_value (struct value *)
 
static struct typeconstrained_packed_array_type (struct type *, long *)
 
static struct typedecode_constrained_packed_array_type (struct type *)
 
static long decode_packed_array_bitsize (struct type *)
 
static struct valuedecode_constrained_packed_array (struct value *)
 
static int ada_is_unconstrained_packed_array_type (struct type *)
 
static struct valuevalue_subscript_packed (struct value *, int, struct value **)
 
static struct valuecoerce_unspec_val_to_type (struct value *, struct type *)
 
static int lesseq_defined_than (struct symbol *, struct symbol *)
 
static int equiv_types (struct type *, struct type *)
 
static int is_name_suffix (const char *)
 
static int advance_wild_match (const char **, const char *, char)
 
static bool wild_match (const char *name, const char *patn)
 
static struct valueada_coerce_ref (struct value *)
 
static LONGEST pos_atr (struct value *)
 
static struct valueval_atr (struct type *, LONGEST)
 
static struct symbolstandard_lookup (const char *, const struct block *, domain_enum)
 
static struct valueada_search_struct_field (const char *, struct value *, int, struct type *)
 
static int find_struct_field (const char *, struct type *, int, struct type **, int *, int *, int *, int *)
 
static int ada_resolve_function (std::vector< struct block_symbol > &, struct value **, int, const char *, struct type *, bool)
 
static int ada_is_direct_array_type (struct type *)
 
static struct valueada_index_struct_field (int, struct value *, int, struct type *)
 
static void add_component_interval (LONGEST, LONGEST, std::vector< LONGEST > &)
 
static struct typeada_find_any_type (const char *name)
 
static symbol_name_matcher_ftypeada_get_symbol_name_matcher (const lookup_name_info &lookup_name)
 
static int symbols_are_identical_enums (const std::vector< struct block_symbol > &syms)
 
static int ada_identical_enum_types_p (struct type *type1, struct type *type2)
 
static struct ada_inferior_dataget_ada_inferior_data (struct inferior *inf)
 
static void ada_inferior_exit (struct inferior *inf)
 
static hashval_t hash_cache_entry (const void *v)
 
static int eq_cache_entry (const void *a, const void *b)
 
static htab_t get_ada_pspace_data (struct program_space *pspace)
 
static struct typeada_typedef_target_type (struct type *type)
 
static const char * ada_unqualified_name (const char *decoded_name)
 
static std::string add_angle_brackets (const char *str)
 
static int field_name_match (const char *field_name, const char *target)
 
int ada_get_field_index (const struct type *type, const char *field_name, int maybe_missing)
 
int ada_name_prefix_len (const char *name)
 
static int is_suffix (const char *str, const char *suffix)
 
static const gdb_byte * cond_offset_host (const gdb_byte *valaddr, long offset)
 
static CORE_ADDR cond_offset_target (CORE_ADDR address, long offset)
 
static void lim_warning (const char *format,...) ATTRIBUTE_PRINTF(1
 
static LONGEST max_of_size (int size)
 
static LONGEST min_of_size (int size)
 
static ULONGEST umax_of_size (int size)
 
static LONGEST max_of_type (struct type *t)
 
static LONGEST min_of_type (struct type *t)
 
LONGEST ada_discrete_type_high_bound (struct type *type)
 
LONGEST ada_discrete_type_low_bound (struct type *type)
 
static struct typeget_base_type (struct type *type)
 
struct valueada_get_decoded_value (struct value *value)
 
struct typeada_get_decoded_type (struct type *type)
 
const char * ada_main_name ()
 
static bool is_compiler_suffix (const char *str)
 
static void append_hex_encoded (std::string &result, uint32_t one_char)
 
template<typename T >
std::string copy_and_hex_encode (struct obstack *storage)
 
static std::string ada_encode_1 (const char *decoded, bool throw_errors)
 
static const utf8_entryfind_case_fold_entry (uint32_t c)
 
static const char * ada_fold_name (gdb::string_view name, bool throw_on_error=false)
 
std::string ada_encode (const char *decoded, bool fold)
 
static int is_lower_alphanum (const char c)
 
static void ada_remove_trailing_digits (const char *encoded, int *len)
 
static void ada_remove_po_subprogram_suffix (const char *encoded, int *len)
 
static int remove_compiler_suffix (const char *encoded, int *len)
 
static bool convert_hex (const char *str, int n, uint32_t *out)
 
static bool convert_from_hex_encoded (std::string &out, const char *str, int n)
 
std::string ada_decode (const char *encoded, bool wrap, bool operators)
 
const char * ada_decode_symbol (const struct general_symbol_info *arg)
 
void ada_fixup_array_indexes_type (struct type *index_desc_type)
 
static int is_thin_pntr (struct type *type)
 
static struct typethin_descriptor_type (struct type *type)
 
static struct valuethin_data_pntr (struct value *val)
 
static int is_thick_pntr (struct type *type)
 
static int ada_is_array_type (struct type *type)
 
int ada_is_simple_array_type (struct type *type)
 
int ada_is_array_descriptor_type (struct type *type)
 
static struct typeada_type_of_array (struct value *arr, int bounds)
 
struct valueada_coerce_to_simple_array_ptr (struct value *arr)
 
struct valueada_coerce_to_simple_array (struct value *arr)
 
struct typeada_coerce_to_simple_array_type (struct type *type)
 
static int ada_is_gnat_encoded_packed_array_type (struct type *type)
 
int ada_is_constrained_packed_array_type (struct type *type)
 
static bool ada_is_any_packed_array_type (struct type *type)
 
static LONGEST recursively_update_array_bitsize (struct type *type)
 
static int has_negatives (struct type *type)
 
static void ada_unpack_from_contents (const gdb_byte *src, int bit_offset, int bit_size, gdb_byte *unpacked, int unpacked_len, int is_big_endian, int is_signed_type, int is_scalar)
 
struct valueada_value_primitive_packed_val (struct value *obj, const gdb_byte *valaddr, long offset, int bit_offset, int bit_size, struct type *type)
 
static struct valueada_value_assign (struct value *toval, struct value *fromval)
 
static void value_assign_to_component (struct value *container, struct value *component, struct value *val)
 
bool ada_is_access_to_unconstrained_array (struct type *type)
 
struct valueada_value_subscript (struct value *arr, int arity, struct value **ind)
 
static struct valueada_value_ptr_subscript (struct value *arr, int arity, struct value **ind)
 
static struct valueada_value_slice_from_ptr (struct value *array_ptr, struct type *type, int low, int high)
 
static struct valueada_value_slice (struct value *array, int low, int high)
 
int ada_array_arity (struct type *type)
 
struct typeada_array_element_type (struct type *type, int nindices)
 
struct typeada_index_type (struct type *type, int n, const char *name)
 
static LONGEST ada_array_bound_from_type (struct type *arr_type, int n, int which)
 
static LONGEST ada_array_bound (struct value *arr, int n, int which)
 
static LONGEST ada_array_length (struct value *arr, int n)
 
static struct valueempty_array (struct type *arr_type, int low, int high)
 
static int encoded_ordered_before (const char *N0, const char *N1)
 
static void sort_choices (struct block_symbol syms[], int nsyms)
 
static void ada_print_symbol_signature (struct ui_file *stream, struct symbol *sym, const struct type_print_options *flags)
 
static int get_selections (int *choices, int n_choices, int max_results, int is_all_choice, const char *annotation_suffix)
 
static int user_select_syms (struct block_symbol *syms, int nsyms, int max_results)
 
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)
 
static int ada_resolve_enum (std::vector< struct block_symbol > &syms, const char *name, struct type *context_type, bool parse_completion)
 
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)
 
static int ada_type_match (struct type *ftype, struct type *atype)
 
static int return_match (struct type *func_type, struct type *context_type)
 
static int possible_user_operator_p (enum exp_opcode op, struct value *args[])
 
enum ada_renaming_category ada_parse_renaming (struct symbol *sym, const char **renamed_entity, int *len, const char **renaming_expr)
 
static struct valueada_read_renaming_var_value (struct symbol *renaming_sym, const struct block *block)
 
static struct valueensure_lval (struct value *val)
 
static struct valueada_value_struct_elt (struct value *arg, const char *name, int no_err)
 
struct valueada_convert_actual (struct value *actual, struct type *formal_type0)
 
static CORE_ADDR value_pointer (struct value *value, struct type *type)
 
static void ada_clear_symbol_cache (program_space *pspace)
 
static int lookup_cached_symbol (const char *name, domain_enum domain, struct symbol **sym, const struct block **block)
 
static void cache_symbol (const char *name, domain_enum domain, struct symbol *sym, const struct block *block)
 
static symbol_name_match_type name_match_type_from_name (const char *lookup_name)
 
struct bound_minimal_symbol ada_lookup_simple_minsym (const char *name, struct objfile *objfile)
 
static int is_nondebugging_type (struct type *type)
 
static void remove_extra_symbols (std::vector< struct block_symbol > &syms)
 
static std::string xget_renaming_scope (struct type *renaming_type)
 
static int is_package_name (const char *name)
 
static int old_renaming_is_invisible (const struct symbol *sym, const char *function_name)
 
static void remove_irrelevant_renamings (std::vector< struct block_symbol > *syms, const struct block *current_block)
 
static void ada_add_local_symbols (std::vector< struct block_symbol > &result, const lookup_name_info &lookup_name, const struct block *block, domain_enum domain)
 
static int ada_add_block_renamings (std::vector< struct block_symbol > &result, const struct block *block, const lookup_name_info &lookup_name, domain_enum domain)
 
static int compare_names_with_case (const char *string1, const char *string2, enum case_sensitivity casing)
 
static int compare_names (const char *string1, const char *string2)
 
static const char * ada_lookup_name (const lookup_name_info &lookup_name)
 
static void map_matching_symbols (struct objfile *objfile, const lookup_name_info &lookup_name, bool is_wild_match, domain_enum domain, int global, match_data &data)
 
static void add_nonlocal_symbols (std::vector< struct block_symbol > &result, const lookup_name_info &lookup_name, domain_enum domain, int global)
 
static std::vector< struct block_symbolada_lookup_symbol_list_worker (const lookup_name_info &lookup_name, const struct block *block, domain_enum domain, int full_search)
 
std::vector< struct block_symbolada_lookup_symbol_list (const char *name, const struct block *block, domain_enum domain)
 
void ada_lookup_encoded_symbol (const char *name, const struct block *block, domain_enum domain, struct block_symbol *info)
 
struct block_symbol ada_lookup_symbol (const char *name, const struct block *block0, domain_enum domain)
 
static int is_valid_name_for_wild_match (const char *name0)
 
static int ada_is_dispatch_table_ptr_type (struct type *type)
 
static int ada_is_interface_tag (struct type *type)
 
int ada_is_ignored_field (struct type *type, int field_num)
 
int ada_is_tagged_type (struct type *type, int refok)
 
int ada_is_tag_type (struct type *type)
 
static struct typeada_tag_type (struct value *val)
 
static int is_ada95_tag (struct value *tag)
 
static struct valueada_value_tag (struct value *val)
 
static struct valuevalue_tag_from_contents_and_address (struct type *type, const gdb_byte *valaddr, CORE_ADDR address)
 
static struct typetype_from_tag (struct value *tag)
 
struct valueada_tag_value_at_base_address (struct value *obj)
 
static struct typeada_get_tsd_type (struct inferior *inf)
 
static struct valueada_get_tsd_from_tag (struct value *tag)
 
static gdb::unique_xmalloc_ptr< char > ada_tag_name_from_tsd (struct value *tsd)
 
gdb::unique_xmalloc_ptr< char > ada_tag_name (struct value *tag)
 
struct typeada_parent_type (struct type *type)
 
int ada_is_parent_field (struct type *type, int field_num)
 
int ada_is_wrapper_field (struct type *type, int field_num)
 
int ada_is_variant_part (struct type *type, int field_num)
 
struct typeada_variant_discrim_type (struct type *var_type, struct type *outer_type)
 
static int ada_is_others_clause (struct type *type, int field_num)
 
const char * ada_variant_discrim_name (struct type *type0)
 
int ada_scan_number (const char str[], int k, LONGEST *R, int *new_k)
 
static int ada_in_variant (LONGEST val, struct type *type, int field_num)
 
struct valueada_value_primitive_field (struct value *arg1, int offset, int fieldno, struct type *arg_type)
 
static int num_visible_fields (struct type *type)
 
static struct valueada_index_struct_field_1 (int *, struct value *, int, struct type *)
 
static std::string type_as_string (struct type *type)
 
static int is_unchecked_variant (struct type *var_type, struct type *outer_type)
 
int ada_which_variant_applies (struct type *var_type, struct value *outer)
 
struct valueada_value_ind (struct value *val0)
 
static unsigned int field_alignment (struct type *type, int f)
 
static struct symbolada_find_any_type_symbol (const char *name)
 
static bool ada_is_renaming_symbol (struct symbol *name_sym)
 
int ada_prefer_type (struct type *type0, struct type *type1)
 
const char * ada_type_name (struct type *type)
 
static struct typefind_parallel_type_by_descriptive_type (struct type *type, const char *name)
 
struct typeada_find_parallel_type (struct type *type, const char *suffix)
 
static struct typedynamic_template_type (struct type *type)
 
static int variant_field_index (struct type *type)
 
static struct typeempty_record (struct type *templ)
 
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)
 
static struct typetemplate_to_fixed_record_type (struct type *type, const gdb_byte *valaddr, CORE_ADDR address, struct value *dval0)
 
static struct typetemplate_to_static_fixed_type (struct type *type0)
 
static struct typeto_record_with_fixed_variant_part (struct type *type, const gdb_byte *valaddr, CORE_ADDR address, struct value *dval0)
 
static struct typeto_fixed_record_type (struct type *type0, const gdb_byte *valaddr, CORE_ADDR address, struct value *dval)
 
static int ada_is_redundant_range_encoding (struct type *range_type, struct type *encoding_type)
 
static int ada_is_redundant_index_type_desc (struct type *array_type, struct type *desc_type)
 
static struct typeada_to_fixed_type_1 (struct type *type, const gdb_byte *valaddr, CORE_ADDR address, struct value *dval, int check_tag)
 
struct typeada_to_fixed_type (struct type *type, const gdb_byte *valaddr, CORE_ADDR address, struct value *dval, int check_tag)
 
struct typeada_check_typedef (struct type *type)
 
static struct valueada_to_fixed_value_create (struct type *type0, CORE_ADDR address, struct value *val0)
 
struct valueada_to_fixed_value (struct value *val)
 
struct valueada_pos_atr (struct type *expect_type, struct expression *exp, enum noside noside, enum exp_opcode op, struct value *arg)
 
struct valueada_val_atr (struct expression *exp, enum noside noside, struct type *type, struct value *arg)
 
struct valueada_atr_enum_rep (struct expression *exp, enum noside noside, struct type *type, struct value *arg)
 
struct valueada_atr_enum_val (struct expression *exp, enum noside noside, struct type *type, struct value *arg)
 
bool ada_is_character_type (struct type *type)
 
bool ada_is_string_type (struct type *type)
 
int ada_is_aligner_type (struct type *type)
 
struct typeada_get_base_type (struct type *raw_type)
 
struct typeada_aligned_type (struct type *type)
 
const gdb_byte * ada_aligned_value_addr (struct type *type, const gdb_byte *valaddr)
 
const char * ada_enum_name (const char *name)
 
static struct typefind_base_type (struct type *type)
 
static int ada_same_array_size_p (struct type *t1, struct type *t2)
 
static struct valueada_promote_array_of_integrals (struct type *type, struct value *val)
 
static struct valuecoerce_for_assign (struct type *type, struct value *val)
 
static struct valueada_value_binop (struct value *arg1, struct value *arg2, enum exp_opcode op)
 
static int ada_value_equal (struct value *arg1, struct value *arg2)
 
bool expr::check_objfile (const std::unique_ptr< ada_component > &comp, struct objfile *objfile)
 
static void expr::assign_component (struct value *container, struct value *lhs, LONGEST index, struct expression *exp, operation_up &arg)
 
static struct valueada_value_cast (struct type *type, struct value *arg2)
 
static valueeval_ternop_in_range (struct type *expect_type, struct expression *exp, enum noside noside, value *arg1, value *arg2, value *arg3)
 
valueada_unop_neg (struct type *expect_type, struct expression *exp, enum noside noside, enum exp_opcode op, struct value *arg1)
 
valueada_unop_in_range (struct type *expect_type, struct expression *exp, enum noside noside, enum exp_opcode op, struct value *arg1, struct type *type)
 
valueada_atr_tag (struct type *expect_type, struct expression *exp, enum noside noside, enum exp_opcode op, struct value *arg1)
 
valueada_atr_size (struct type *expect_type, struct expression *exp, enum noside noside, enum exp_opcode op, struct value *arg1)
 
valueada_abs (struct type *expect_type, struct expression *exp, enum noside noside, enum exp_opcode op, struct value *arg1)
 
valueada_mult_binop (struct type *expect_type, struct expression *exp, enum noside noside, enum exp_opcode op, struct value *arg1, struct value *arg2)
 
valueada_equal_binop (struct type *expect_type, struct expression *exp, enum noside noside, enum exp_opcode op, struct value *arg1, struct value *arg2)
 
valueada_ternop_slice (struct expression *exp, enum noside noside, struct value *array, struct value *low_bound_val, struct value *high_bound_val)
 
valueada_binop_in_bounds (struct expression *exp, enum noside noside, struct value *arg1, struct value *arg2, int n)
 
static valueada_unop_atr (struct expression *exp, enum noside noside, enum exp_opcode op, struct value *arg1, struct type *type_arg, int tem)
 
struct valueada_binop_minmax (struct type *expect_type, struct expression *exp, enum noside noside, enum exp_opcode op, struct value *arg1, struct value *arg2)
 
struct valueada_binop_exp (struct type *expect_type, struct expression *exp, enum noside noside, enum exp_opcode op, struct value *arg1, struct value *arg2)
 
static LONGEST expr::convert_char_literal (struct type *type, LONGEST val)
 
int ada_is_system_address_type (struct type *type)
 
static int scan_discrim_bound (const char *str, int k, struct value *dval, LONGEST *px, int *pnew_k)
 
static struct valueget_var_value (const char *name, const char *err_msg)
 
bool get_int_var_value (const char *name, LONGEST &value)
 
int ada_is_range_type_name (const char *name)
 
int ada_is_modular_type (struct type *type)
 
ULONGEST ada_modulus (struct type *type)
 
static CORE_ADDR ada_unhandled_exception_name_addr (void)
 
static CORE_ADDR ada_unhandled_exception_name_addr_from_raise (void)
 
static int ada_has_this_exception_support (const struct exception_support_info *einfo)
 
static void ada_exception_support_info_sniffer (void)
 
static int is_known_support_routine (frame_info_ptr frame)
 
void ada_find_printable_frame (frame_info_ptr fi)
 
static CORE_ADDR ada_exception_name_addr_1 (enum ada_exception_catchpoint_kind ex)
 
static gdb::unique_xmalloc_ptr< char > ada_exception_message_1 (void)
 
static gdb::unique_xmalloc_ptr< char > ada_exception_message (void)
 
static CORE_ADDR ada_exception_name_addr (enum ada_exception_catchpoint_kind ex)
 
static std::string ada_exception_catchpoint_cond_string (const char *excep_string, enum ada_exception_catchpoint_kind ex)
 
static struct symtab_and_line ada_exception_sal (enum ada_exception_catchpoint_kind ex)
 
bool is_ada_exception_catchpoint (breakpoint *bp)
 
static void catch_ada_exception_command_split (const char *args, bool is_catch_handlers_cmd, enum ada_exception_catchpoint_kind *ex, std::string *excep_string, std::string *cond_string)
 
static const char * ada_exception_sym_name (enum ada_exception_catchpoint_kind ex)
 
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)
 
static void catch_ada_exception_command (const char *arg_entry, int from_tty, struct cmd_list_element *command)
 
static void catch_ada_handlers_command (const char *arg_entry, int from_tty, struct cmd_list_element *command)
 
static void catch_ada_completer (struct cmd_list_element *cmd, completion_tracker &tracker, const char *text, const char *word)
 
static void catch_ada_assert_command_split (const char *args, std::string &cond_string)
 
static void catch_assert_command (const char *arg_entry, int from_tty, struct cmd_list_element *command)
 
static int ada_is_exception_sym (struct symbol *sym)
 
static int ada_is_non_standard_exception_sym (struct symbol *sym)
 
static void sort_remove_dups_ada_exceptions_list (std::vector< ada_exc_info > *exceptions, int skip)
 
static void ada_add_standard_exceptions (compiled_regex *preg, std::vector< ada_exc_info > *exceptions)
 
static void ada_add_exceptions_from_frame (compiled_regex *preg, frame_info_ptr frame, std::vector< ada_exc_info > *exceptions)
 
static bool name_matches_regex (const char *name, compiled_regex *preg)
 
static void ada_add_global_exceptions (compiled_regex *preg, std::vector< ada_exc_info > *exceptions)
 
static std::vector< ada_exc_infoada_exceptions_list_1 (compiled_regex *preg)
 
std::vector< ada_exc_infoada_exceptions_list (const char *regexp)
 
static void info_exceptions_command (const char *regexp, int from_tty)
 
static bool do_wild_match (const char *symbol_search_name, const lookup_name_info &lookup_name, completion_match_result *comp_match_res)
 
static bool do_full_match (const char *symbol_search_name, const lookup_name_info &lookup_name, completion_match_result *comp_match_res)
 
static bool do_exact_match (const char *symbol_search_name, const lookup_name_info &lookup_name, completion_match_result *comp_match_res)
 
static bool ada_symbol_name_matches (const char *symbol_search_name, const lookup_name_info &lookup_name, completion_match_result *comp_match_res)
 
static bool literal_symbol_name_matcher (const char *symbol_search_name, const lookup_name_info &lookup_name, completion_match_result *comp_match_res)
 
static void ada_new_objfile_observer (struct objfile *objfile)
 
static void ada_free_objfile_observer (struct objfile *objfile)
 
void _initialize_ada_language ()
 

Variables

static const char * ada_source_charset
 
static const char ada_utf8 [] = "UTF-8"
 
static const utf8_entry ada_case_fold []
 
static const char ada_completer_word_break_characters []
 
static const char ADA_MAIN_PROGRAM_SYMBOL_NAME [] = "__gnat_ada_main_program_name"
 
static int warning_limit = 2
 
static int warnings_issued = 0
 
static const char *const known_runtime_file_name_patterns []
 
static const char *const known_auxiliary_function_name_patterns []
 
static struct cmd_list_elementmaint_set_ada_cmdlist
 
static struct cmd_list_elementmaint_show_ada_cmdlist
 
static bool ada_ignore_descriptive_types_p = false
 
static const registry< inferior >::key< ada_inferior_data > ada_inferior_data
 
static const registry< program_space >::key< htab, htab_deleter > ada_pspace_data_handle
 
const struct ada_opname_map ada_opname_table []
 
static struct htab * decoded_names_store
 
static bool print_signatures = true
 
static bool trust_pad_over_xvs = true
 
static const char *const standard_exc []
 
static const struct exception_support_info default_exception_support_info
 
static const struct exception_support_info exception_support_info_v0
 
static const struct exception_support_info exception_support_info_fallback
 
static ada_language ada_language_defn
 
static struct cmd_list_elementset_ada_list
 
static struct cmd_list_elementshow_ada_list
 
static const char *const gnat_source_charsets []
 

Typedef Documentation

◆ ada_unhandled_exception_name_addr_ftype

typedef CORE_ADDR ada_unhandled_exception_name_addr_ftype(void)

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

Function Documentation

◆ _initialize_ada_language()

void _initialize_ada_language ( )

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

Referenced by initialize_all_files().

◆ ada_abs()

value * ada_abs ( struct type * expect_type,
struct expression * exp,
enum noside noside noside ,
enum exp_opcode op,
struct value * arg1 )

◆ ada_add_all_symbols()

static void ada_add_all_symbols ( std::vector< struct block_symbol > & result,
const struct block * block,
const lookup_name_info & lookup_name,
domain_enum domain,
int full_search,
int * made_global_lookup_p )
static

◆ ada_add_block_renamings()

static int ada_add_block_renamings ( std::vector< struct block_symbol > & result,
const struct block * block,
const lookup_name_info & lookup_name,
domain_enum domain )
static

◆ ada_add_block_symbols()

static void ada_add_block_symbols ( std::vector< struct block_symbol > & result,
const struct block * block,
const lookup_name_info & lookup_name,
domain_enum domain,
struct objfile * objfile )
static

◆ ada_add_exceptions_from_frame()

static void ada_add_exceptions_from_frame ( compiled_regex * preg,
frame_info_ptr frame,
std::vector< ada_exc_info > * exceptions )
static

◆ ada_add_global_exceptions()

static void ada_add_global_exceptions ( compiled_regex * preg,
std::vector< ada_exc_info > * exceptions )
static

◆ ada_add_local_symbols()

static void ada_add_local_symbols ( std::vector< struct block_symbol > & result,
const lookup_name_info & lookup_name,
const struct block * block,
domain_enum domain )
static

◆ ada_add_standard_exceptions()

static void ada_add_standard_exceptions ( compiled_regex * preg,
std::vector< ada_exc_info > * exceptions )
static

◆ ada_aligned_type()

struct type * ada_aligned_type ( struct type * type)

◆ ada_aligned_value_addr()

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

◆ ada_args_match()

static int ada_args_match ( struct symbol * func,
struct value ** actuals,
int n_actuals )
static

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

References ada_check_typedef(), ada_type_match(), func, and LOC_CONST.

Referenced by ada_resolve_function().

◆ ada_array_arity()

int ada_array_arity ( struct type * type)

◆ ada_array_bound()

static LONGEST ada_array_bound ( struct value * arr,
int n,
int which )
static

◆ ada_array_bound_from_type()

static LONGEST ada_array_bound_from_type ( struct type * arr_type,
int n,
int which )
static

◆ ada_array_element_type()

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

◆ ada_array_length()

static LONGEST ada_array_length ( struct value * arr,
int n )
static

◆ ada_atr_enum_rep()

struct value * ada_atr_enum_rep ( struct expression * exp,
enum noside noside noside ,
struct type * type,
struct value * arg )

◆ ada_atr_enum_val()

struct value * ada_atr_enum_val ( struct expression * exp,
enum noside noside noside ,
struct type * type,
struct value * arg )

◆ ada_atr_size()

value * ada_atr_size ( struct type * expect_type,
struct expression * exp,
enum noside noside noside ,
enum exp_opcode op,
struct value * arg1 )

◆ ada_atr_tag()

value * ada_atr_tag ( struct type * expect_type,
struct expression * exp,
enum noside noside noside ,
enum exp_opcode op,
struct value * arg1 )

◆ ada_binop_exp()

struct value * ada_binop_exp ( struct type * expect_type,
struct expression * exp,
enum noside noside noside ,
enum exp_opcode op,
struct value * arg1,
struct value * arg2 )

◆ ada_binop_in_bounds()

value * ada_binop_in_bounds ( struct expression * exp,
enum noside noside noside ,
struct value * arg1,
struct value * arg2,
int n )

◆ ada_binop_minmax()

struct value * ada_binop_minmax ( struct type * expect_type,
struct expression * exp,
enum noside noside noside ,
enum exp_opcode op,
struct value * arg1,
struct value * arg2 )

◆ ada_check_typedef()

struct type * ada_check_typedef ( struct type * type)

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

static void ada_clear_symbol_cache ( program_space * pspace)
static

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

References ada_pspace_data_handle.

Referenced by ada_free_objfile_observer(), and ada_new_objfile_observer().

◆ ada_coerce_ref()

static struct value * ada_coerce_ref ( struct value * val0)
static

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

◆ ada_coerce_to_simple_array_type()

struct type * ada_coerce_to_simple_array_type ( struct type * type)

◆ ada_convert_actual()

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

◆ ada_decode()

std::string ada_decode ( const char * encoded,
bool wrap,
bool operators )

◆ ada_decode_symbol()

const char * ada_decode_symbol ( const struct general_symbol_info * arg)

◆ ada_decoded_op_name()

static const char * ada_decoded_op_name ( enum exp_opcode op)
static

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

References ada_opname_table, ada_opname_map::decoded, and ada_opname_map::encoded.

Referenced by ada_find_operator_symbol().

◆ ada_discrete_type_high_bound()

LONGEST ada_discrete_type_high_bound ( struct type * type)

◆ ada_discrete_type_low_bound()

LONGEST ada_discrete_type_low_bound ( struct type * type)

◆ ada_encode()

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

◆ ada_encode_1()

static std::string ada_encode_1 ( const char * decoded,
bool throw_errors )
static

◆ ada_enum_name()

const char * ada_enum_name ( const char * name)

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

value * ada_equal_binop ( struct type * expect_type,
struct expression * exp,
enum noside noside noside ,
enum exp_opcode op,
struct value * arg1,
struct value * arg2 )

◆ ada_exception_catchpoint_cond_string()

static std::string ada_exception_catchpoint_cond_string ( const char * excep_string,
enum ada_exception_catchpoint_kind ex )
static

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

References ada_catch_handlers, name, and standard_exc.

Referenced by ada_catchpoint::re_set().

◆ ada_exception_message()

static gdb::unique_xmalloc_ptr< char > ada_exception_message ( void )
static

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

References ada_exception_message_1().

Referenced by ada_catchpoint::print_it().

◆ ada_exception_message_1()

static gdb::unique_xmalloc_ptr< char > ada_exception_message_1 ( void )
static

◆ ada_exception_name_addr()

static CORE_ADDR ada_exception_name_addr ( enum ada_exception_catchpoint_kind ex)
static

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

References ada_exception_name_addr_1().

Referenced by ada_catchpoint::print_it().

◆ ada_exception_name_addr_1()

static CORE_ADDR ada_exception_name_addr_1 ( enum ada_exception_catchpoint_kind ex)
static

◆ ada_exception_sal()

static struct symtab_and_line ada_exception_sal ( enum ada_exception_catchpoint_kind ex)
static

◆ ada_exception_support_info_sniffer()

static void ada_exception_support_info_sniffer ( void )
static

◆ ada_exception_sym_name()

static const char * ada_exception_sym_name ( enum ada_exception_catchpoint_kind ex)
static

◆ ada_exceptions_list()

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

◆ ada_exceptions_list_1()

static std::vector< ada_exc_info > ada_exceptions_list_1 ( compiled_regex * preg)
static

◆ ada_find_any_type()

static struct type * ada_find_any_type ( const char * name)
static

◆ ada_find_any_type_symbol()

static struct symbol * ada_find_any_type_symbol ( const char * name)
static

◆ ada_find_operator_symbol()

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

◆ ada_find_parallel_type()

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

◆ ada_find_parallel_type_with_name()

static struct type * ada_find_parallel_type_with_name ( struct type * type,
const char * name )
static

◆ ada_find_printable_frame()

void ada_find_printable_frame ( frame_info_ptr fi)

◆ ada_fixup_array_indexes_type()

void ada_fixup_array_indexes_type ( struct type * index_desc_type)

◆ ada_fold_name()

static const char * ada_fold_name ( gdb::string_view name,
bool throw_on_error = false )
static

◆ ada_free_objfile_observer()

static void ada_free_objfile_observer ( struct objfile * objfile)
static

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

References ada_clear_symbol_cache(), and objfile::pspace.

◆ ada_get_base_type()

struct type * ada_get_base_type ( struct type * raw_type)

◆ ada_get_decoded_type()

struct type * ada_get_decoded_type ( struct type * type)

◆ ada_get_decoded_value()

struct value * ada_get_decoded_value ( struct value * value)

◆ ada_get_field_index()

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

◆ ada_get_symbol_name_matcher()

static symbol_name_matcher_ftype * ada_get_symbol_name_matcher ( const lookup_name_info & lookup_name)
static

◆ ada_get_tsd_from_tag()

static struct value * ada_get_tsd_from_tag ( struct value * tag)
static

◆ ada_get_tsd_type()

static struct type * ada_get_tsd_type ( struct inferior * inf)
static

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

References ada_find_any_type(), and get_ada_inferior_data().

Referenced by ada_get_tsd_from_tag().

◆ ada_has_this_exception_support()

static int ada_has_this_exception_support ( const struct exception_support_info * einfo)
static

◆ ada_identical_enum_types_p()

static int ada_identical_enum_types_p ( struct type * type1,
struct type * type2 )
static

◆ ada_in_variant()

static int ada_in_variant ( LONGEST val,
struct type * type,
int field_num )
static

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

References ada_scan_number(), type::field(), L, name, and field::name().

Referenced by ada_which_variant_applies().

◆ ada_index_struct_field()

static struct value * ada_index_struct_field ( int index,
struct value * arg,
int offset,
struct type * type )
static

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

References ada_index_struct_field_1(), and value::offset().

Referenced by expr::assign_component().

◆ ada_index_struct_field_1()

static struct value * ada_index_struct_field_1 ( int * index_p,
struct value * arg,
int offset,
struct type * type )
static

◆ ada_index_type()

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

◆ ada_inferior_exit()

static void ada_inferior_exit ( struct inferior * inf)
static

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

◆ ada_is_access_to_unconstrained_array()

bool ada_is_access_to_unconstrained_array ( struct type * type)

◆ ada_is_aligner_type()

int ada_is_aligner_type ( struct type * type)

◆ ada_is_any_packed_array_type()

static bool ada_is_any_packed_array_type ( struct type * type)
static

◆ ada_is_array_descriptor_type()

int ada_is_array_descriptor_type ( struct type * type)

◆ ada_is_array_type()

static int ada_is_array_type ( struct type * type)
static

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

References ada_is_direct_array_type(), type::code(), and type::target_type().

Referenced by possible_user_operator_p().

◆ ada_is_character_type()

bool ada_is_character_type ( struct type * type)

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)

◆ ada_is_direct_array_type()

static int ada_is_direct_array_type ( struct type * type)
static

◆ ada_is_dispatch_table_ptr_type()

static int ada_is_dispatch_table_ptr_type ( struct type * type)
static

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

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

Referenced by ada_is_ignored_field().

◆ ada_is_exception_sym()

static int ada_is_exception_sym ( struct symbol * sym)
static

◆ ada_is_gnat_encoded_packed_array_type()

static int ada_is_gnat_encoded_packed_array_type ( struct type * type)
static

◆ ada_is_ignored_field()

int ada_is_ignored_field ( struct type * type,
int field_num )

◆ ada_is_interface_tag()

static int ada_is_interface_tag ( struct type * type)
static

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

References name, and type::name().

Referenced by ada_is_ignored_field().

◆ ada_is_modular_type()

int ada_is_modular_type ( struct type * type)

◆ ada_is_non_standard_exception_sym()

static int ada_is_non_standard_exception_sym ( struct symbol * sym)
static

◆ ada_is_others_clause()

static int ada_is_others_clause ( struct type * type,
int field_num )
static

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

References type::field(), name, and field::name().

Referenced by ada_which_variant_applies().

◆ ada_is_parent_field()

int ada_is_parent_field ( struct type * type,
int field_num )

◆ ada_is_range_type_name()

int ada_is_range_type_name ( const char * name)

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

References name.

Referenced by ada_print_type().

◆ ada_is_redundant_index_type_desc()

static int ada_is_redundant_index_type_desc ( struct type * array_type,
struct type * desc_type )
static

◆ ada_is_redundant_range_encoding()

static int ada_is_redundant_range_encoding ( struct type * range_type,
struct type * encoding_type )
static

◆ ada_is_renaming_symbol()

static bool ada_is_renaming_symbol ( struct symbol * name_sym)
static

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

References general_symbol_info::linkage_name(), and name.

Referenced by ada_language::read_var_value().

◆ ada_is_simple_array_type()

int ada_is_simple_array_type ( struct type * type)

◆ ada_is_string_type()

bool ada_is_string_type ( struct type * type)

◆ ada_is_system_address_type()

int ada_is_system_address_type ( struct type * type)

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)

◆ ada_is_tagged_type()

int ada_is_tagged_type ( struct type * type,
int refok )

◆ ada_is_unconstrained_packed_array_type()

static int ada_is_unconstrained_packed_array_type ( struct type * type)
static

◆ ada_is_variant_part()

int ada_is_variant_part ( struct type * type,
int field_num )

◆ ada_is_wrapper_field()

int ada_is_wrapper_field ( struct type * type,
int field_num )

◆ ada_lookup_encoded_symbol()

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

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

static const char * ada_lookup_name ( const lookup_name_info & lookup_name)
static

◆ ada_lookup_simple_minsym()

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

◆ ada_lookup_struct_elt_type()

static struct type * ada_lookup_struct_elt_type ( struct type * type,
const char * name,
int refok,
int noerr )
static

◆ ada_lookup_symbol()

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

◆ ada_lookup_symbol_list()

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

◆ ada_lookup_symbol_list_worker()

static std::vector< struct block_symbol > ada_lookup_symbol_list_worker ( const lookup_name_info & lookup_name,
const struct block * block,
domain_enum domain,
int full_search )
static

◆ ada_main_name()

const char * ada_main_name ( )

◆ ada_modulus()

ULONGEST ada_modulus ( struct type * type)

◆ ada_mult_binop()

value * ada_mult_binop ( struct type * expect_type,
struct expression * exp,
enum noside noside noside ,
enum exp_opcode op,
struct value * arg1,
struct value * arg2 )

◆ ada_name_prefix_len()

int ada_name_prefix_len ( const char * name)

◆ ada_new_objfile_observer()

static void ada_new_objfile_observer ( struct objfile * objfile)
static

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

References ada_clear_symbol_cache(), and objfile::pspace.

◆ ada_parent_type()

struct type * ada_parent_type ( struct type * type)

◆ ada_parse_renaming()

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

◆ ada_pos_atr()

struct value * ada_pos_atr ( struct type * expect_type,
struct expression * exp,
enum noside noside noside ,
enum exp_opcode op,
struct value * arg )

◆ ada_prefer_type()

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

◆ ada_print_symbol_signature()

static void ada_print_symbol_signature ( struct ui_file * stream,
struct symbol * sym,
const struct type_print_options * flags )
static

◆ ada_promote_array_of_integrals()

static struct value * ada_promote_array_of_integrals ( struct type * type,
struct value * val )
static

◆ ada_read_renaming_var_value()

static struct value * ada_read_renaming_var_value ( struct symbol * renaming_sym,
const struct block * block )
static

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

References general_symbol_info::linkage_name(), and parse_exp_1().

Referenced by ada_language::read_var_value().

◆ ada_remove_po_subprogram_suffix()

static void ada_remove_po_subprogram_suffix ( const char * encoded,
int * len )
static

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

Referenced by ada_decode().

◆ ada_remove_trailing_digits()

static void ada_remove_trailing_digits ( const char * encoded,
int * len )
static

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

Referenced by ada_decode(), and ada_identical_enum_types_p().

◆ ada_resolve_enum()

static int ada_resolve_enum ( std::vector< struct block_symbol > & syms,
const char * name,
struct type * context_type,
bool parse_completion )
static

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

◆ ada_resolve_function()

static int ada_resolve_function ( std::vector< struct block_symbol > & syms,
struct value ** args,
int nargs,
const char * name,
struct type * context_type,
bool parse_completion )
static

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

◆ ada_same_array_size_p()

static int ada_same_array_size_p ( struct type * t1,
struct type * t2 )
static

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

References get_array_bounds().

Referenced by coerce_for_assign().

◆ ada_scan_number()

int ada_scan_number ( const char str[],
int k,
LONGEST * R,
int * new_k )

◆ ada_search_struct_field()

static struct value * ada_search_struct_field ( const char * name,
struct value * arg,
int offset,
struct type * type )
static

◆ ada_symbol_name_matches()

static bool ada_symbol_name_matches ( const char * symbol_search_name,
const lookup_name_info & lookup_name,
completion_match_result * comp_match_res )
static

◆ ada_tag_name()

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

◆ ada_tag_name_from_tsd()

static gdb::unique_xmalloc_ptr< char > ada_tag_name_from_tsd ( struct value * tsd)
static

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

References ada_fold_name(), ada_value_struct_elt(), target_read_string(), and value_as_address().

Referenced by ada_tag_name().

◆ ada_tag_type()

static struct type * ada_tag_type ( struct value * val)
static

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

References ada_lookup_struct_elt_type(), and value::type().

Referenced by ada_atr_tag().

◆ ada_tag_value_at_base_address()

struct value * ada_tag_value_at_base_address ( struct value * obj)

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

◆ ada_ternop_slice()

value * ada_ternop_slice ( struct expression * exp,
enum noside noside noside ,
struct value * array,
struct value * low_bound_val,
struct value * high_bound_val )

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

◆ ada_to_fixed_type_1()

static struct type * ada_to_fixed_type_1 ( struct type * type,
const gdb_byte * valaddr,
CORE_ADDR address,
struct value * dval,
int check_tag )
static

◆ ada_to_fixed_value()

struct value * ada_to_fixed_value ( struct value * val)

◆ ada_to_fixed_value_create()

static struct value * ada_to_fixed_value_create ( struct type * type0,
CORE_ADDR address,
struct value * val0 )
static

◆ ada_type_match()

static int ada_type_match ( struct type * ftype,
struct type * atype )
static

◆ ada_type_name()

const char * ada_type_name ( struct type * type)

◆ ada_type_of_array()

static struct type * ada_type_of_array ( struct value * arr,
int bounds )
static

◆ ada_typedef_target_type()

static struct type * ada_typedef_target_type ( struct type * type)
static

◆ ada_unhandled_exception_name_addr()

static CORE_ADDR ada_unhandled_exception_name_addr ( void )
static

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

References parse_and_eval_address().

◆ ada_unhandled_exception_name_addr_from_raise()

static CORE_ADDR ada_unhandled_exception_name_addr_from_raise ( void )
static

◆ ada_unop_atr()

static value * ada_unop_atr ( struct expression * exp,
enum noside noside,
enum exp_opcode op,
struct value * arg1,
struct type * type_arg,
int tem )
static

◆ ada_unop_in_range()

value * ada_unop_in_range ( struct type * expect_type,
struct expression * exp,
enum noside noside noside ,
enum exp_opcode op,
struct value * arg1,
struct type * type )

◆ ada_unop_neg()

value * ada_unop_neg ( struct type * expect_type,
struct expression * exp,
enum noside noside noside ,
enum exp_opcode op,
struct value * arg1 )

◆ ada_unpack_from_contents()

static void ada_unpack_from_contents ( const gdb_byte * src,
int bit_offset,
int bit_size,
gdb_byte * unpacked,
int unpacked_len,
int is_big_endian,
int is_signed_type,
int is_scalar )
static

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

References type::bit_offset(), and type::bit_size().

Referenced by ada_value_primitive_packed_val().

◆ ada_unqualified_name()

static const char * ada_unqualified_name ( const char * decoded_name)
static

◆ ada_val_atr()

struct value * ada_val_atr ( struct expression * exp,
enum noside noside noside ,
struct type * type,
struct value * arg )

◆ ada_value_assign()

static struct value * ada_value_assign ( struct value * toval,
struct value * fromval )
static

◆ ada_value_binop()

static struct value * ada_value_binop ( struct value * arg1,
struct value * arg2,
enum exp_opcode op )
static

◆ ada_value_cast()

static struct value * ada_value_cast ( struct type * type,
struct value * arg2 )
static

◆ ada_value_equal()

static int ada_value_equal ( struct value * arg1,
struct value * arg2 )
static

◆ ada_value_ind()

struct value * ada_value_ind ( struct value * val0)

◆ ada_value_primitive_field()

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

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

◆ ada_value_ptr_subscript()

static struct value * ada_value_ptr_subscript ( struct value * arr,
int arity,
struct value ** ind )
static

◆ ada_value_slice()

static struct value * ada_value_slice ( struct value * array,
int low,
int high )
static

◆ ada_value_slice_from_ptr()

static struct value * ada_value_slice_from_ptr ( struct value * array_ptr,
struct type * type,
int low,
int high )
static

◆ ada_value_struct_elt()

static struct value * ada_value_struct_elt ( struct value * arg,
const char * name,
int no_err )
static

◆ ada_value_subscript()

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

◆ ada_value_tag()

static struct value * ada_value_tag ( struct value * val)
static

◆ ada_variant_discrim_name()

const char * ada_variant_discrim_name ( struct type * type0)

◆ ada_variant_discrim_type()

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

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 )

◆ add_angle_brackets()

static std::string add_angle_brackets ( const char * str)
static

◆ add_component_interval()

static void add_component_interval ( LONGEST low,
LONGEST high,
std::vector< LONGEST > & indices )
static

◆ add_defn_to_vec()

static void add_defn_to_vec ( std::vector< struct block_symbol > & result,
struct symbol * sym,
const struct block * block )
static

◆ add_nonlocal_symbols()

static void add_nonlocal_symbols ( std::vector< struct block_symbol > & result,
const lookup_name_info & lookup_name,
domain_enum domain,
int global )
static

◆ advance_wild_match()

static int advance_wild_match ( const char ** namep,
const char * name0,
char target0 )
static

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

References name.

Referenced by wild_match().

◆ append_hex_encoded()

static void append_hex_encoded ( std::string & result,
uint32_t one_char )
static

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

Referenced by copy_and_hex_encode().

◆ cache_symbol()

static void cache_symbol ( const char * name,
domain_enum domain,
struct symbol * sym,
const struct block * block )
static

◆ catch_ada_assert_command_split()

static void catch_ada_assert_command_split ( const char * args,
std::string & cond_string )
static

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

Referenced by catch_assert_command().

◆ catch_ada_completer()

static void catch_ada_completer ( struct cmd_list_element * cmd,
completion_tracker & tracker,
const char * text,
const char * word )
static

◆ catch_ada_exception_command()

static void catch_ada_exception_command ( const char * arg_entry,
int from_tty,
struct cmd_list_element * command )
static

◆ catch_ada_exception_command_split()

static void catch_ada_exception_command_split ( const char * args,
bool is_catch_handlers_cmd,
enum ada_exception_catchpoint_kind * ex,
std::string * excep_string,
std::string * cond_string )
static

◆ catch_ada_handlers_command()

static void catch_ada_handlers_command ( const char * arg_entry,
int from_tty,
struct cmd_list_element * command )
static

◆ catch_assert_command()

static void catch_assert_command ( const char * arg_entry,
int from_tty,
struct cmd_list_element * command )
static

◆ coerce_for_assign()

static struct value * coerce_for_assign ( struct type * type,
struct value * val )
static

◆ coerce_unspec_val_to_type()

static struct value * coerce_unspec_val_to_type ( struct value * val,
struct type * type )
static

◆ compare_names()

static int compare_names ( const char * string1,
const char * string2 )
static

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

References case_sensitive_off, case_sensitive_on, and compare_names_with_case().

Referenced by map_matching_symbols().

◆ compare_names_with_case()

static int compare_names_with_case ( const char * string1,
const char * string2,
enum case_sensitivity casing )
static

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

References c1, c2, case_sensitive_off, is_name_suffix(), and strcmp_iw_ordered().

Referenced by compare_names().

◆ cond_offset_host()

static const gdb_byte * cond_offset_host ( const gdb_byte * valaddr,
long offset )
static

◆ cond_offset_target()

static CORE_ADDR cond_offset_target ( CORE_ADDR address,
long offset )
static

◆ constrained_packed_array_type()

static struct type * constrained_packed_array_type ( struct type * type,
long * elt_bits )
static

◆ convert_from_hex_encoded()

static bool convert_from_hex_encoded ( std::string & out,
const char * str,
int n )
static

◆ convert_hex()

static bool convert_hex ( const char * str,
int n,
uint32_t * out )
static

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

Referenced by convert_from_hex_encoded().

◆ copy_and_hex_encode()

template<typename T >
std::string copy_and_hex_encode ( struct obstack * storage)

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

References append_hex_encoded().

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

◆ decode_constrained_packed_array()

static struct value * decode_constrained_packed_array ( struct value * arr)
static

◆ decode_constrained_packed_array_type()

static struct type * decode_constrained_packed_array_type ( struct type * type)
static

◆ decode_packed_array_bitsize()

static long decode_packed_array_bitsize ( struct type * type)
static

◆ desc_arity()

static int desc_arity ( struct type * type)
static

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

References desc_base_type(), and type::num_fields().

Referenced by ada_array_arity(), and ada_is_array_descriptor_type().

◆ desc_base_type()

static struct type * desc_base_type ( struct type * type)
static

◆ desc_bound_bitpos()

static int desc_bound_bitpos ( struct type * type,
int i,
int which )
static

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

References desc_base_type(), type::field(), and field::loc_bitpos().

Referenced by make_array_descriptor().

◆ desc_bound_bitsize()

static int desc_bound_bitsize ( struct type * type,
int i,
int which )
static

◆ desc_bounds()

static struct value * desc_bounds ( struct value * arr)
static

◆ desc_bounds_type()

static struct type * desc_bounds_type ( struct type * type)
static

◆ desc_data()

static struct value * desc_data ( struct value * arr)
static

◆ desc_data_target_type()

static struct type * desc_data_target_type ( struct type * type)
static

◆ desc_index_type()

static struct type * desc_index_type ( struct type * type,
int i )
static

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

References type::code(), desc_base_type(), and lookup_struct_elt_type().

Referenced by ada_index_type().

◆ desc_one_bound()

static struct value * desc_one_bound ( struct value * bounds,
int i,
int which )
static

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

References value_struct_elt().

Referenced by ada_array_bound(), ada_array_length(), and ada_type_of_array().

◆ discrete_type_p()

static int discrete_type_p ( struct type * type)
static

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

References type::code().

Referenced by ada_unop_atr(), ada_val_atr(), pos_atr(), and val_atr().

◆ do_exact_match()

static bool do_exact_match ( const char * symbol_search_name,
const lookup_name_info & lookup_name,
completion_match_result * comp_match_res )
static

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

References ada_lookup_name().

Referenced by ada_get_symbol_name_matcher().

◆ do_full_match()

static bool do_full_match ( const char * symbol_search_name,
const lookup_name_info & lookup_name,
completion_match_result * comp_match_res )
static

◆ do_wild_match()

static bool do_wild_match ( const char * symbol_search_name,
const lookup_name_info & lookup_name,
completion_match_result * comp_match_res )
static

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

References ada_lookup_name(), and wild_match().

Referenced by ada_get_symbol_name_matcher().

◆ dynamic_template_type()

static struct type * dynamic_template_type ( struct type * type)
static

◆ empty_array()

static struct value * empty_array ( struct type * arr_type,
int low,
int high )
static

◆ empty_record()

static struct type * empty_record ( struct type * templ)
static

◆ encoded_ordered_before()

static int encoded_ordered_before ( const char * N0,
const char * N1 )
static

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

References n1.

Referenced by sort_choices().

◆ ensure_lval()

static struct value * ensure_lval ( struct value * val)
static

◆ eq_cache_entry()

static int eq_cache_entry ( const void * a,
const void * b )
static

◆ equiv_types()

static int equiv_types ( struct type * type0,
struct type * type1 )
static

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

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

Referenced by lesseq_defined_than().

◆ eval_ternop_in_range()

static value * eval_ternop_in_range ( struct type * expect_type,
struct expression * exp,
enum noside noside,
value * arg1,
value * arg2,
value * arg3 )
static

◆ fat_pntr_bounds_bitpos()

static int fat_pntr_bounds_bitpos ( struct type * type)
static

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

References desc_base_type(), type::field(), and field::loc_bitpos().

Referenced by make_array_descriptor().

◆ fat_pntr_bounds_bitsize()

static int fat_pntr_bounds_bitsize ( struct type * type)
static

◆ fat_pntr_data_bitpos()

static int fat_pntr_data_bitpos ( struct type * type)
static

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

References desc_base_type(), type::field(), and field::loc_bitpos().

Referenced by make_array_descriptor().

◆ fat_pntr_data_bitsize()

static int fat_pntr_data_bitsize ( struct type * type)
static

◆ field_alignment()

static unsigned int field_alignment ( struct type * type,
int f )
static

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

References f(), type::field(), name, and field::name().

Referenced by ada_template_to_fixed_record_type_1().

◆ field_name_match()

static int field_name_match ( const char * field_name,
const char * target )
static

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

References field_name().

Referenced by ada_get_field_index(), ada_search_struct_field(), and find_struct_field().

◆ find_base_type()

static struct type * find_base_type ( struct type * type)
static

◆ find_case_fold_entry()

static const utf8_entry * find_case_fold_entry ( uint32_t c)
static

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

References ada_case_fold.

Referenced by ada_fold_name().

◆ find_parallel_type_by_descriptive_type()

static struct type * find_parallel_type_by_descriptive_type ( struct type * type,
const char * name )
static

◆ find_struct_field()

static int find_struct_field ( const char * name,
struct type * type,
int offset,
struct type ** field_type_p,
int * byte_offset_p,
int * bit_offset_p,
int * bit_size_p,
int * index_p )
static

◆ get_ada_inferior_data()

static struct ada_inferior_data * get_ada_inferior_data ( struct inferior * inf)
static

◆ get_ada_pspace_data()

static htab_t get_ada_pspace_data ( struct program_space * pspace)
static

◆ get_base_type()

static struct type * get_base_type ( struct type * type)
static

◆ get_int_var_value()

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

◆ get_selections()

static int get_selections ( int * choices,
int n_choices,
int max_results,
int is_all_choice,
const char * annotation_suffix )
static

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

References command_line_input(), and error_no_arg().

Referenced by user_select_syms().

◆ get_var_value()

static struct value * get_var_value ( const char * name,
const char * err_msg )
static

◆ has_negatives()

static int has_negatives ( struct type * type)
static

◆ hash_cache_entry()

static hashval_t hash_cache_entry ( const void * v)
static

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

Referenced by get_ada_pspace_data().

◆ info_exceptions_command()

static void info_exceptions_command ( const char * regexp,
int from_tty )
static

◆ integer_type_p()

static int integer_type_p ( struct type * type)
static

◆ is_ada95_tag()

static int is_ada95_tag ( struct value * tag)
static

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

References ada_value_struct_elt().

Referenced by ada_tag_value_at_base_address().

◆ is_ada_exception_catchpoint()

bool is_ada_exception_catchpoint ( breakpoint * bp)

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

References bp.

Referenced by print_one_breakpoint(), and print_one_breakpoint_location().

◆ is_compiler_suffix()

static bool is_compiler_suffix ( const char * str)
static

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

Referenced by ada_encode_1().

◆ is_dynamic_field()

static int is_dynamic_field ( struct type * templ_type,
int field_num )
static

◆ is_known_support_routine()

static int is_known_support_routine ( frame_info_ptr frame)
static

◆ is_lower_alphanum()

static int is_lower_alphanum ( const char c)
static

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

Referenced by ada_decode().

◆ is_name_suffix()

static int is_name_suffix ( const char * str)
static

◆ is_nondebugging_type()

static int is_nondebugging_type ( struct type * type)
static

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

References ada_type_name(), and name.

Referenced by remove_extra_symbols().

◆ is_nonfunction()

static int is_nonfunction ( const std::vector< struct block_symbol > & syms)
static

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

References LOC_CONST.

Referenced by ada_add_local_symbols().

◆ is_package_name()

static int is_package_name ( const char * name)
static

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

References name, standard_lookup(), and VAR_DOMAIN.

Referenced by old_renaming_is_invisible().

◆ is_suffix()

static int is_suffix ( const char * str,
const char * suffix )
static

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

Referenced by is_thin_pntr(), and thin_descriptor_type().

◆ is_thick_pntr()

static int is_thick_pntr ( struct type * type)
static

◆ is_thin_pntr()

static int is_thin_pntr ( struct type * type)
static

◆ is_unchecked_variant()

static int is_unchecked_variant ( struct type * var_type,
struct type * outer_type )
static

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

References ada_lookup_struct_elt_type(), and ada_variant_discrim_name().

Referenced by to_fixed_variant_branch_type().

◆ is_valid_name_for_wild_match()

static int is_valid_name_for_wild_match ( const char * name0)
static

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

References ada_decode().

Referenced by wild_match().

◆ lesseq_defined_than()

static int lesseq_defined_than ( struct symbol * sym0,
struct symbol * sym1 )
static

◆ lim_warning()

static void static void lim_warning ( const char * format,
... )
static

◆ literal_symbol_name_matcher()

static bool literal_symbol_name_matcher ( const char * symbol_search_name,
const lookup_name_info & lookup_name,
completion_match_result * comp_match_res )
static

◆ lookup_cached_symbol()

static int lookup_cached_symbol ( const char * name,
domain_enum domain,
struct symbol ** sym,
const struct block ** block )
static

◆ make_array_descriptor()

static struct value * make_array_descriptor ( struct type * type,
struct value * arr )
static

◆ map_matching_symbols()

static void map_matching_symbols ( struct objfile * objfile,
const lookup_name_info & lookup_name,
bool is_wild_match,
domain_enum domain,
int global,
match_data & data )
static

◆ max_of_size()

static LONGEST max_of_size ( int size)
static

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

References size.

Referenced by max_of_type(), and min_of_size().

◆ max_of_type()

static LONGEST max_of_type ( struct type * t)
static

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

References type::is_unsigned(), type::length(), max_of_size(), and umax_of_size().

Referenced by ada_discrete_type_high_bound().

◆ min_of_size()

static LONGEST min_of_size ( int size)
static

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

References max_of_size(), and size.

Referenced by min_of_type().

◆ min_of_type()

static LONGEST min_of_type ( struct type * t)
static

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

References type::is_unsigned(), type::length(), and min_of_size().

Referenced by ada_discrete_type_low_bound().

◆ name_match_type_from_name()

static symbol_name_match_type name_match_type_from_name ( const char * lookup_name)
static

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

References FULL, and WILD.

Referenced by ada_add_standard_exceptions(), ada_lookup_simple_minsym(), and ada_lookup_symbol_list().

◆ name_matches_regex()

static bool name_matches_regex ( const char * name,
compiled_regex * preg )
static

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

References ada_decode(), and name.

Referenced by ada_add_global_exceptions().

◆ num_visible_fields()

static int num_visible_fields ( struct type * type)
static

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

References find_struct_field().

Referenced by expr::ada_aggregate_operation::assign_aggregate().

◆ numeric_type_p()

static int numeric_type_p ( struct type * type)
static

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

References type::code(), numeric_type_p(), and type::target_type().

Referenced by numeric_type_p(), and possible_user_operator_p().

◆ old_renaming_is_invisible()

static int old_renaming_is_invisible ( const struct symbol * sym,
const char * function_name )
static

◆ pos_atr()

static LONGEST pos_atr ( struct value * arg)
static

◆ possible_user_operator_p() [1/2]

static int possible_user_operator_p ( enum exp_opcode op,
struct value * args[] )
static

◆ possible_user_operator_p() [2/2]

static int possible_user_operator_p ( enum exp_opcode,
struct value **  )
static

◆ recursively_update_array_bitsize()

static LONGEST recursively_update_array_bitsize ( struct type * type)
static

◆ remove_compiler_suffix()

static int remove_compiler_suffix ( const char * encoded,
int * len )
static

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

Referenced by ada_decode().

◆ remove_extra_symbols()

static void remove_extra_symbols ( std::vector< struct block_symbol > & syms)
static

◆ remove_irrelevant_renamings()

static void remove_irrelevant_renamings ( std::vector< struct block_symbol > * syms,
const struct block * current_block )
static

◆ return_match()

static int return_match ( struct type * func_type,
struct type * context_type )
static

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

References type::code(), and get_base_type().

Referenced by ada_resolve_function().

◆ scalar_type_p()

static int scalar_type_p ( struct type * type)
static

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

References type::code().

Referenced by possible_user_operator_p().

◆ scan_discrim_bound()

static int scan_discrim_bound ( const char * str,
int k,
struct value * dval,
LONGEST * px,
int * pnew_k )
static

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

References ada_search_struct_field(), value::type(), and value_as_long().

Referenced by to_fixed_range_type().

◆ sort_choices()

static void sort_choices ( struct block_symbol syms[],
int nsyms )
static

◆ sort_remove_dups_ada_exceptions_list()

static void sort_remove_dups_ada_exceptions_list ( std::vector< ada_exc_info > * exceptions,
int skip )
static

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

Referenced by ada_exceptions_list_1().

◆ standard_lookup()

static struct symbol * standard_lookup ( const char * name,
const struct block * block,
domain_enum domain )
static

◆ static_unwrap_type()

static struct type * static_unwrap_type ( struct type * type)
static

◆ symbols_are_identical_enums()

static int symbols_are_identical_enums ( const std::vector< struct block_symbol > & syms)
static

◆ template_to_fixed_record_type()

static struct type * template_to_fixed_record_type ( struct type * type,
const gdb_byte * valaddr,
CORE_ADDR address,
struct value * dval0 )
static

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

References ada_template_to_fixed_record_type_1().

Referenced by to_fixed_record_type().

◆ template_to_static_fixed_type()

static struct type * template_to_static_fixed_type ( struct type * type0)
static

◆ thin_data_pntr()

static struct value * thin_data_pntr ( struct value * val)
static

◆ thin_descriptor_type()

static struct type * thin_descriptor_type ( struct type * type)
static

◆ to_fixed_array_type()

static struct type * to_fixed_array_type ( struct type * type0,
struct value * dval,
int ignore_too_big )
static

◆ to_fixed_range_type()

static struct type * to_fixed_range_type ( struct type * raw_type,
struct value * dval )
static

◆ to_fixed_record_type()

static struct type * to_fixed_record_type ( struct type * type0,
const gdb_byte * valaddr,
CORE_ADDR address,
struct value * dval )
static

◆ to_fixed_variant_branch_type()

static struct type * to_fixed_variant_branch_type ( struct type * var_type0,
const gdb_byte * valaddr,
CORE_ADDR address,
struct value * dval )
static

◆ to_record_with_fixed_variant_part()

static struct type * to_record_with_fixed_variant_part ( struct type * type,
const gdb_byte * valaddr,
CORE_ADDR address,
struct value * dval0 )
static

◆ to_static_fixed_type()

static struct type * to_static_fixed_type ( struct type * type0)
static

◆ type_as_string()

static std::string type_as_string ( struct type * type)
static

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

References string_file::release(), and type_print().

Referenced by ada_lookup_struct_elt_type().

◆ type_from_tag()

static struct type * type_from_tag ( struct value * tag)
static

◆ umax_of_size()

static ULONGEST umax_of_size ( int size)
static

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

References size.

Referenced by max_of_type().

◆ unwrap_value()

static struct value * unwrap_value ( struct value * val)
static

◆ user_select_syms()

static int user_select_syms ( struct block_symbol * syms,
int nsyms,
int max_results )
static

◆ val_atr()

static struct value * val_atr ( struct type * type,
LONGEST val )
static

◆ value_assign_to_component()

static void value_assign_to_component ( struct value * container,
struct value * component,
struct value * val )
static

◆ value_pointer()

static CORE_ADDR value_pointer ( struct value * value,
struct type * type )
static

◆ value_subscript_packed()

static struct value * value_subscript_packed ( struct value * arr,
int arity,
struct value ** ind )
static

◆ value_tag_from_contents_and_address()

static struct value * value_tag_from_contents_and_address ( struct type * type,
const gdb_byte * valaddr,
CORE_ADDR address )
static

◆ variant_field_index()

static int variant_field_index ( struct type * type)
static

◆ wild_match()

static bool wild_match ( const char * name,
const char * patn )
static

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

References advance_wild_match(), is_name_suffix(), is_valid_name_for_wild_match(), and name.

Referenced by do_wild_match().

◆ xget_renaming_scope()

static std::string xget_renaming_scope ( struct type * renaming_type)
static

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

References name, and type::name().

Referenced by old_renaming_is_invisible().

Variable Documentation

◆ ada_case_fold

const utf8_entry ada_case_fold[]
static
Initial value:
=
{
}

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

Referenced by find_case_fold_entry().

◆ ada_completer_word_break_characters

const char ada_completer_word_break_characters[]
static
Initial value:
=
" \t\n!@#$%^&*()+=|~`}{[]\";:?/,-"

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

Referenced by ada_language::word_break_characters().

◆ ada_ignore_descriptive_types_p

bool ada_ignore_descriptive_types_p = false
static

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

Referenced by find_parallel_type_by_descriptive_type().

◆ ada_inferior_data

const registry<inferior>::key<ada_inferior_data> ada_inferior_data
static

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

◆ ada_language_defn

ada_language ada_language_defn
static

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

◆ ADA_MAIN_PROGRAM_SYMBOL_NAME

const char ADA_MAIN_PROGRAM_SYMBOL_NAME[] = "__gnat_ada_main_program_name"
static

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

Referenced by ada_main_name().

◆ ada_opname_table

const struct ada_opname_map ada_opname_table[]
Initial value:
= {
{"Oadd", "\"+\"", BINOP_ADD},
{"Osubtract", "\"-\"", BINOP_SUB},
{"Omultiply", "\"*\"", BINOP_MUL},
{"Odivide", "\"/\"", BINOP_DIV},
{"Omod", "\"mod\"", BINOP_MOD},
{"Orem", "\"rem\"", BINOP_REM},
{"Oexpon", "\"**\"", BINOP_EXP},
{"Olt", "\"<\"", BINOP_LESS},
{"Ole", "\"<=\"", BINOP_LEQ},
{"Ogt", "\">\"", BINOP_GTR},
{"Oge", "\">=\"", BINOP_GEQ},
{"Oeq", "\"=\"", BINOP_EQUAL},
{"One", "\"/=\"", BINOP_NOTEQUAL},
{"Oand", "\"and\"", BINOP_BITWISE_AND},
{"Oor", "\"or\"", BINOP_BITWISE_IOR},
{"Oxor", "\"xor\"", BINOP_BITWISE_XOR},
{"Oconcat", "\"&\"", BINOP_CONCAT},
{"Oabs", "\"abs\"", UNOP_ABS},
{"Onot", "\"not\"", UNOP_LOGICAL_NOT},
{"Oadd", "\"+\"", UNOP_PLUS},
{"Osubtract", "\"-\"", UNOP_NEG},
{NULL, NULL}
}

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

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

◆ ada_pspace_data_handle

const registry<program_space>::key<htab, htab_deleter> ada_pspace_data_handle
static

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

Referenced by ada_clear_symbol_cache(), and get_ada_pspace_data().

◆ ada_source_charset

const char* ada_source_charset
static

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

Referenced by ada_encode_1(), ada_fold_name(), and convert_from_hex_encoded().

◆ ada_utf8

const char ada_utf8[] = "UTF-8"
static

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

Referenced by ada_encode_1(), ada_fold_name(), and convert_from_hex_encoded().

◆ decoded_names_store

struct htab* decoded_names_store
static

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

Referenced by ada_decode_symbol().

◆ default_exception_support_info

const struct exception_support_info default_exception_support_info
static
Initial value:
=
{
"__gnat_debug_raise_exception",
"__gnat_unhandled_exception",
"__gnat_debug_raise_assert_failure",
"__gnat_begin_handler_v1",
}
static CORE_ADDR ada_unhandled_exception_name_addr(void)
Definition ada-lang.c:11870

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

Referenced by ada_exception_support_info_sniffer().

◆ exception_support_info_fallback

const struct exception_support_info exception_support_info_fallback
static
Initial value:
=
{
"__gnat_raise_nodefer_with_msg",
"__gnat_unhandled_exception",
"system__assertions__raise_assert_failure",
"__gnat_begin_handler",
}
static CORE_ADDR ada_unhandled_exception_name_addr_from_raise(void)
Definition ada-lang.c:11881

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

Referenced by ada_exception_support_info_sniffer().

◆ exception_support_info_v0

const struct exception_support_info exception_support_info_v0
static
Initial value:
=
{
"__gnat_debug_raise_exception",
"__gnat_unhandled_exception",
"__gnat_debug_raise_assert_failure",
"__gnat_begin_handler",
}

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

Referenced by ada_exception_support_info_sniffer().

◆ gnat_source_charsets

const char* const gnat_source_charsets[]
static
Initial value:
=
{
"ISO-8859-1",
"ISO-8859-2",
"ISO-8859-3",
"ISO-8859-4",
"ISO-8859-5",
"ISO-8859-15",
"CP437",
"CP850",
nullptr
}
static const char ada_utf8[]
Definition ada-lang.c:216

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

◆ known_auxiliary_function_name_patterns

const char* const known_auxiliary_function_name_patterns[]
static
Initial value:
= {
}
#define ADA_KNOWN_AUXILIARY_FUNCTION_NAME_PATTERNS
Definition ada-lang.h:52

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

Referenced by is_known_support_routine().

◆ known_runtime_file_name_patterns

const char* const known_runtime_file_name_patterns[]
static
Initial value:
= {
}
#define ADA_KNOWN_RUNTIME_FILE_NAME_PATTERNS
Definition ada-lang.h:44

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

Referenced by is_known_support_routine().

◆ maint_set_ada_cmdlist

struct cmd_list_element* maint_set_ada_cmdlist
static

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

◆ maint_show_ada_cmdlist

struct cmd_list_element* maint_show_ada_cmdlist
static

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

◆ print_signatures

bool print_signatures = true
static

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

Referenced by ada_print_symbol_signature().

◆ set_ada_list

struct cmd_list_element* set_ada_list
static

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

◆ show_ada_list

struct cmd_list_element* show_ada_list
static

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

◆ standard_exc

const char* const standard_exc[]
static
Initial value:
= {
"constraint_error",
"program_error",
"storage_error",
"tasking_error"
}

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

Referenced by ada_add_standard_exceptions(), ada_exception_catchpoint_cond_string(), and ada_is_non_standard_exception_sym().

◆ trust_pad_over_xvs

bool trust_pad_over_xvs = true
static

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

Referenced by ada_is_aligner_type().

◆ warning_limit

int warning_limit = 2
static

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

Referenced by lim_warning().

◆ warnings_issued

int warnings_issued = 0
static

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

Referenced by lim_warning(), and ada_language::parser().