GDB (xrefs)
Loading...
Searching...
No Matches
Classes | Namespaces | Macros | 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 <algorithm>
#include "ada-exp.h"
#include "charset.h"
#include "ada-casefold.h"

Go to the source code of this file.

Classes

struct  utf8_entry
 
struct  cache_entry
 
struct  ada_symbol_cache
 
struct  ada_inferior_data
 
struct  ada_pspace_data
 
struct  match_data
 
struct  exception_support_info
 
struct  ada_catchpoint
 
class  ada_catchpoint_location
 
class  ada_language
 

Namespaces

namespace  expr
 

Macros

#define TRUNCATION_TOWARDS_ZERO   ((-5 / 2) == -2)
 
#define HASH_SIZE   1009
 

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 struct ada_inferior_dataget_ada_inferior_data (struct inferior *inf)
 
static void ada_inferior_exit (struct inferior *inf)
 
static struct ada_pspace_dataget_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)
 
static enum language ada_update_initial_language (enum language lang)
 
char * ada_main_name (void)
 
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)
 
int ada_is_bogus_array_descriptor (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 struct ada_symbol_cacheada_get_symbol_cache (struct program_space *pspace)
 
static void ada_clear_symbol_cache ()
 
static struct cache_entry ** find_entry (const char *name, domain_enum domain)
 
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 int ada_identical_enum_types_p (struct type *type1, struct type *type2)
 
static int symbols_are_identical_enums (const std::vector< struct block_symbol > &syms)
 
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)
 
static const char * ada_attribute_name (enum exp_opcode n)
 
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 (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 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 void create_excep_cond_exprs (struct ada_catchpoint *c, enum ada_exception_catchpoint_kind ex)
 
static bool should_stop_exception (const struct bp_location *bl)
 
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)
 
static struct symtab_and_line ada_exception_sal (enum ada_exception_catchpoint_kind ex, std::string *addr_string)
 
void create_ada_exception_catchpoint (struct gdbarch *gdbarch, enum ada_exception_catchpoint_kind ex_kind, const std::string &excep_string, const std::string &cond_string, int tempflag, int disabled, 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_dataada_inferior_data
 
static const registry< program_space >::key< ada_pspace_dataada_pspace_data_handle
 
const struct ada_opname_map ada_opname_table []
 
static struct htab * decoded_names_store
 
static bool print_signatures = true
 
static const char *const attribute_names []
 
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 []
 

Macro Definition Documentation

◆ HASH_SIZE

#define HASH_SIZE   1009

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

◆ TRUNCATION_TOWARDS_ZERO

#define TRUNCATION_TOWARDS_ZERO   ((-5 / 2) == -2)

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

Typedef Documentation

◆ ada_unhandled_exception_name_addr_ftype

typedef CORE_ADDR() ada_unhandled_exception_name_addr_ftype(void)

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

Function Documentation

◆ _initialize_ada_language()

void _initialize_ada_language ( )

Definition at line 13977 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 3966 of file ada-lang.c.

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

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_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_attribute_name()

static const char * ada_attribute_name ( enum exp_opcode  n)
static

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

References attribute_names.

Referenced by ada_unop_atr().

◆ 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 8805 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, and type::name().

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_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 ( )
static

◆ 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 9131 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 12691 of file ada-lang.c.

References ada_catch_handlers, name, and standard_exc.

Referenced by create_excep_cond_exprs().

◆ ada_exception_message()

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

Definition at line 12061 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 12083 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,
std::string *  addr_string 
)
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 13950 of file ada-lang.c.

References ada_clear_symbol_cache().

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

static struct ada_symbol_cache * ada_get_symbol_cache ( struct program_space pspace)
static

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

References get_ada_pspace_data(), and ada_pspace_data::sym_cache.

Referenced by cache_symbol(), and find_entry().

◆ 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 6548 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 6875 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 7241 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 363 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 2042 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_bogus_array_descriptor()

int ada_is_bogus_array_descriptor ( struct type type)

◆ ada_is_character_type()

bool ada_is_character_type ( struct type type)

Definition at line 8982 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 6266 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 6283 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 6770 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 11546 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 7625 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 11349 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 5780 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()

char * ada_main_name ( void  )

◆ 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 13942 of file ada-lang.c.

References ada_clear_symbol_cache().

◆ 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

◆ ada_remove_po_subprogram_suffix()

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

Definition at line 1205 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 1182 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

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

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

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

◆ ada_tag_type()

static struct type * ada_tag_type ( struct value val)
static

Definition at line 6376 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 11928 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 2637 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

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

Referenced by ada_lookup_name_info::matches().

◆ ada_update_initial_language()

static enum language ada_update_initial_language ( enum language  lang)
static

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

References language_ada, and lookup_minimal_symbol().

Referenced by ada_exception_support_info_sniffer().

◆ ada_val_atr()

struct value * ada_val_atr ( 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 6758 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 5990 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 882 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 12890 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 5541 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 5476 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

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

References value::offset.

Referenced by ada_template_to_fixed_record_type_1(), and to_record_with_fixed_variant_part().

◆ 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 1245 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 907 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,
const std::string &  excep_string,
const std::string &  cond_string,
int  tempflag,
int  disabled,
int  from_tty 
)

◆ create_excep_cond_exprs()

static void create_excep_cond_exprs ( struct ada_catchpoint c,
enum ada_exception_catchpoint_kind  ex 
)
static

◆ 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 2015 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 1973 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 1997 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 1959 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 4160 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 13329 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 13265 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

◆ equiv_types()

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

Definition at line 4800 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 1869 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 1935 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 7560 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

◆ find_case_fold_entry()

static const utf8_entry * find_case_fold_entry ( uint32_t  c)
static

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

References ada_case_fold.

Referenced by ada_fold_name().

◆ find_entry()

static struct cache_entry ** find_entry ( const char *  name,
domain_enum  domain 
)
static

◆ 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 struct ada_pspace_data * get_ada_pspace_data ( struct program_space pspace)
static

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

References ada_pspace_data_handle, and registry< T >::get().

Referenced by ada_clear_symbol_cache(), and ada_get_symbol_cache().

◆ 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

◆ 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 6385 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 12573 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 870 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 1164 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 4940 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 4785 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 534 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 7443 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 5967 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

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

References cache_entry::domain, find_entry(), name, and cache_entry::sym.

Referenced by ada_add_all_symbols(), and standard_lookup().

◆ 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 621 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 646 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 630 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 656 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 4756 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 13104 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 7133 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 4089 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 1228 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 4002 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 4135 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 11365 of file ada-lang.c.

References ada_search_struct_field(), value_as_long(), and value_type().

Referenced by to_fixed_range_type().

◆ should_stop_exception()

static bool should_stop_exception ( const struct bp_location bl)
static

◆ 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 13001 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 8086 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 7291 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 637 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 6042 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 238 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 283 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 316 of file ada-lang.c.

Referenced by find_parallel_type_by_descriptive_type().

◆ ada_inferior_data

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

◆ ada_language_defn

ada_language ada_language_defn
static

Definition at line 13933 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 291 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 840 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<ada_pspace_data> ada_pspace_data_handle
static

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

Referenced by get_ada_pspace_data().

◆ ada_source_charset

const char* ada_source_charset
static

Definition at line 214 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 218 of file ada-lang.c.

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

◆ attribute_names

const char* const attribute_names[]
static
Initial value:
= {
"<?>",
"first",
"last",
"length",
"image",
"max",
"min",
"modulus",
"pos",
"size",
"tag",
"val",
0
}

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

Referenced by ada_attribute_name().

◆ decoded_names_store

struct htab* decoded_names_store
static

Definition at line 1593 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:11928

Definition at line 11666 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:11939

Definition at line 11692 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 11679 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:218

Definition at line 13956 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 305 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 301 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 311 of file ada-lang.c.

◆ maint_show_ada_cmdlist

struct cmd_list_element* maint_show_ada_cmdlist
static

Definition at line 312 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 13936 of file ada-lang.c.

◆ show_ada_list

struct cmd_list_element* show_ada_list
static

Definition at line 13937 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 11622 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 9032 of file ada-lang.c.

Referenced by ada_is_aligner_type().

◆ warning_limit

int warning_limit = 2
static

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

Referenced by lim_warning().

◆ warnings_issued

int warnings_issued = 0
static

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

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