GDB (xrefs)
Classes | Macros | Typedefs | Enumerations | Functions | Variables
/tmp/gdb-7.10/gdb/ada-lang.c File Reference
#include "defs.h"
#include <ctype.h>
#include "demangle.h"
#include "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 "c-lang.h"
#include "inferior.h"
#include "symfile.h"
#include "objfiles.h"
#include "breakpoint.h"
#include "gdbcore.h"
#include "hashtab.h"
#include "gdb_obstack.h"
#include "ada-lang.h"
#include "completer.h"
#include <sys/stat.h>
#include "ui-out.h"
#include "block.h"
#include "infcall.h"
#include "dictionary.h"
#include "annotate.h"
#include "valprint.h"
#include "source.h"
#include "observer.h"
#include "vec.h"
#include "stack.h"
#include "gdb_vecs.h"
#include "typeprint.h"
#include "psymtab.h"
#include "value.h"
#include "mi/mi-common.h"
#include "arch-utils.h"
#include "cli/cli-utils.h"

Go to the source code of this file.

Classes

struct  cache_entry
 
struct  ada_symbol_cache
 
struct  ada_inferior_data
 
struct  ada_pspace_data
 
struct  match_data
 
struct  add_partial_datum
 
struct  exception_support_info
 
struct  ada_catchpoint_location
 
struct  ada_catchpoint
 

Macros

#define TRUNCATION_TOWARDS_ZERO   ((-5 / 2) == -2)
 
#define HASH_SIZE   1009
 
#define MAX_ADA_DIMENS   (sizeof(bound_name) / (2*sizeof(char *)))
 
#define ADA_OPERATORS
 
#define OP_DEFN(op, len, args, binop)   case op: *oplenp = len; *argsp = args; break;
 
#define OP_DEFN(op, len, args, binop)   case op: return #op;
 
#define OP_DEFN(op, len, args, binop)   case op: *oplenp = len; *argsp = args; break;
 

Typedefs

typedef CORE_ADDRada_unhandled_exception_name_addr_ftype) (void)
 

Enumerations

enum  ada_primitive_types {
  ada_primitive_type_int, ada_primitive_type_long, ada_primitive_type_short, ada_primitive_type_char,
  ada_primitive_type_float, ada_primitive_type_double, ada_primitive_type_void, ada_primitive_type_long_long,
  ada_primitive_type_long_double, ada_primitive_type_natural, ada_primitive_type_positive, ada_primitive_type_system_address,
  nr_ada_primitive_types
}
 

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_type_match (struct type *, struct type *, int)
 
static int ada_args_match (struct symbol *, struct value **, int)
 
static int full_match (const char *, const char *)
 
static struct valuemake_array_descriptor (struct type *, struct value *)
 
static void ada_add_block_symbols (struct obstack *, const struct block *, const char *, domain_enum, struct objfile *, int)
 
static int is_nonfunction (struct ada_symbol_info *, int)
 
static void add_defn_to_vec (struct obstack *, struct symbol *, const struct block *)
 
static int num_defns_collected (struct obstack *)
 
static struct ada_symbol_infodefns_collected (struct obstack *, int)
 
static struct valueresolve_subexp (struct expression **, int *, int, struct type *)
 
static void replace_operator_with_call (struct expression **, int, int, int, struct symbol *, const struct block *)
 
static int possible_user_operator_p (enum exp_opcode, struct value **)
 
static char * ada_op_name (enum exp_opcode)
 
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 enum ada_renaming_category parse_old_style_renaming (struct type *, const char **, int *, const char **)
 
static struct symbolfind_old_style_renaming_symbol (const char *, const struct block *)
 
static struct typeada_lookup_struct_elt_type (struct type *, char *, int, int, int *)
 
static struct valueevaluate_subexp_type (struct expression *, 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_packed_array_type (struct type *)
 
static int ada_is_unconstrained_packed_array_type (struct type *)
 
static struct valuevalue_subscript_packed (struct value *, int, struct value **)
 
static void move_bits (gdb_byte *, int, const gdb_byte *, int, int, int)
 
static struct valuecoerce_unspec_val_to_type (struct value *, struct type *)
 
static struct valueget_var_value (char *, char *)
 
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 *, int)
 
static int wild_match (const char *, const char *)
 
static struct valueada_coerce_ref (struct value *)
 
static LONGEST pos_atr (struct value *)
 
static struct valuevalue_pos_atr (struct type *, struct value *)
 
static struct valuevalue_val_atr (struct type *, struct value *)
 
static struct symbolstandard_lookup (const char *, const struct block *, domain_enum)
 
static struct valueada_search_struct_field (char *, struct value *, int, struct type *)
 
static struct valueada_value_primitive_field (struct value *, int, int, struct type *)
 
static int find_struct_field (const char *, struct type *, int, struct type **, int *, int *, int *, int *)
 
static struct valueada_to_fixed_value_create (struct type *, CORE_ADDR, struct value *)
 
static int ada_resolve_function (struct ada_symbol_info *, int, struct value **, int, const char *, struct type *)
 
static int ada_is_direct_array_type (struct type *)
 
static void ada_language_arch_info (struct gdbarch *, struct language_arch_info *)
 
static struct valueada_index_struct_field (int, struct value *, int, struct type *)
 
static struct valueassign_aggregate (struct value *, struct value *, struct expression *, int *, enum noside)
 
static void aggregate_assign_from_choices (struct value *, struct value *, struct expression *, int *, LONGEST *, int *, int, LONGEST, LONGEST)
 
static void aggregate_assign_positional (struct value *, struct value *, struct expression *, int *, LONGEST *, int *, int, LONGEST, LONGEST)
 
static void aggregate_assign_others (struct value *, struct value *, struct expression *, int *, LONGEST *, int, LONGEST, LONGEST)
 
static void add_component_interval (LONGEST, LONGEST, LONGEST *, int *, int)
 
static struct valueada_evaluate_subexp (struct type *, struct expression *, int *, enum noside)
 
static void ada_forward_operator_length (struct expression *, int, int *, int *)
 
static struct typeada_find_any_type (const char *name)
 
static void ada_free_symbol_cache (struct ada_symbol_cache *sym_cache)
 
static void maint_set_ada_cmd (char *args, int from_tty)
 
static void maint_show_ada_cmd (char *args, int from_tty)
 
static void ada_inferior_data_cleanup (struct inferior *inf, void *arg)
 
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 void ada_pspace_data_cleanup (struct program_space *pspace, void *data)
 
static struct typeada_typedef_target_type (struct type *type)
 
static const char * ada_unqualified_name (const char *decoded_name)
 
static char * add_angle_brackets (const char *str)
 
static char * ada_get_gdb_completer_word_break_characters (void)
 
static void ada_print_array_index (struct value *index_value, struct ui_file *stream, const struct value_print_options *options)
 
void * grow_vect (void *vect, size_t *size, size_t min_size, int element_size)
 
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_bytecond_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
 
void ada_ensure_varsize_limit (const struct type *type)
 
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)
 
enum language ada_update_initial_language (enum language lang)
 
char * ada_main_name (void)
 
char * ada_encode (const char *decoded)
 
char * ada_fold_name (const char *name)
 
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 void ada_remove_Xbn_suffix (const char *encoded, int *len)
 
const char * ada_decode (const char *encoded)
 
const char * ada_decode_symbol (const struct general_symbol_info *arg)
 
static char * ada_la_decode (const char *encoded, int options)
 
static int match_name (const char *sym_name, const char *name, int wild)
 
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)
 
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)
 
int ada_is_constrained_packed_array_type (struct type *type)
 
static int has_negatives (struct type *type)
 
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)
 
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)
 
static 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)
 
static void resolve (struct expression **expp, int void_context_p)
 
static int return_match (struct type *func_type, struct type *context_type)
 
static int ada_resolve_function (struct ada_symbol_info syms[], int nsyms, struct value **args, int nargs, const char *name, struct type *context_type)
 
static int encoded_ordered_before (const char *N0, const char *N1)
 
static void sort_choices (struct ada_symbol_info syms[], int nsyms)
 
int user_select_syms (struct ada_symbol_info *syms, int nsyms, int max_results)
 
int get_selections (int *choices, int n_choices, int max_results, int is_all_choice, char *annotation_suffix)
 
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)
 
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_init_symbol_cache (struct ada_symbol_cache *sym_cache)
 
static struct ada_symbol_cacheada_get_symbol_cache (struct program_space *pspace)
 
static void ada_clear_symbol_cache (void)
 
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 int should_use_wild_match (const char *lookup_name)
 
static int is_nonfunction (struct ada_symbol_info syms[], int n)
 
struct bound_minimal_symbol ada_lookup_simple_minsym (const char *name)
 
static void add_symbols_from_enclosing_procs (struct obstack *obstackp, const char *name, domain_enum domain, int wild_match_p)
 
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 (struct ada_symbol_info *syms, int nsyms)
 
static int remove_extra_symbols (struct ada_symbol_info *syms, int nsyms)
 
static char * 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 int remove_irrelevant_renamings (struct ada_symbol_info *syms, int nsyms, const struct block *current_block)
 
static void ada_add_local_symbols (struct obstack *obstackp, const char *name, const struct block *block, domain_enum domain, int wild_match_p)
 
static int aux_add_nonlocal_symbols (struct block *block, struct symbol *sym, void *data0)
 
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 void add_nonlocal_symbols (struct obstack *obstackp, const char *name, domain_enum domain, int global, int is_wild_match)
 
static int ada_lookup_symbol_list_worker (const char *name0, const struct block *block0, domain_enum domain, struct ada_symbol_info **results, int full_search)
 
int ada_lookup_symbol_list (const char *name0, const struct block *block0, domain_enum domain, struct ada_symbol_info **results)
 
static void ada_iterate_over_symbols (const struct block *block, const char *name, domain_enum domain, symbol_found_callback_ftype *callback, void *data)
 
char * ada_name_for_lookup (const char *name)
 
void ada_lookup_encoded_symbol (const char *name, const struct block *block, domain_enum domain, struct ada_symbol_info *info)
 
struct symbolada_lookup_symbol (const char *name, const struct block *block0, domain_enum domain, int *is_a_field_of_this)
 
static struct symbolada_lookup_symbol_nonlocal (const struct language_defn *langdef, const char *name, const struct block *block, const domain_enum domain)
 
static int is_valid_name_for_wild_match (const char *name0)
 
static const char * symbol_completion_match (const char *sym_name, const char *text, int text_len, int wild_match_p, int encoded_p)
 
static void symbol_completion_add (VEC(char_ptr)**sv, const char *sym_name, const char *text, int text_len, const char *orig_text, const char *word, int wild_match_p, int encoded_p)
 
static int ada_complete_symbol_matcher (const char *name, void *user_data)
 
static VEC (char_ptr)
 
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)
 
struct typeada_tag_type (struct value *val)
 
static int is_ada95_tag (struct value *tag)
 
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 char * ada_tag_name_from_tsd (struct value *tsd)
 
const 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)
 
int ada_is_others_clause (struct type *type, int field_num)
 
char * ada_variant_discrim_name (struct type *type0)
 
int ada_scan_number (const char str[], int k, LONGEST *R, int *new_k)
 
int ada_in_variant (LONGEST val, struct type *type, int field_num)
 
static int num_visible_fields (struct type *type)
 
static struct valueada_index_struct_field_1 (int *, struct value *, int, struct type *)
 
struct valueada_value_struct_elt (struct value *arg, char *name, int no_err)
 
static int is_unchecked_variant (struct type *var_type, struct type *outer_type)
 
int ada_which_variant_applies (struct type *var_type, struct type *outer_type, const gdb_byte *outer_valaddr)
 
struct valueada_value_ind (struct value *val0)
 
static unsigned int align_value (unsigned int off, unsigned int alignment)
 
static unsigned int field_alignment (struct type *type, int f)
 
static struct symbolada_find_any_type_symbol (const char *name)
 
struct symbolada_find_renaming_symbol (struct symbol *name_sym, const struct block *block)
 
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)
 
struct valueada_to_fixed_value (struct value *val)
 
const char * ada_attribute_name (enum exp_opcode n)
 
int ada_is_character_type (struct type *type)
 
int 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_byteada_aligned_value_addr (struct type *type, const gdb_byte *valaddr)
 
const char * ada_enum_name (const char *name)
 
static struct valuecast_to_fixed (struct type *type, struct value *arg)
 
static struct valuecast_from_fixed (struct type *type, struct value *arg)
 
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)
 
static int num_component_specs (struct expression *exp, int pc)
 
static void assign_component (struct value *container, struct value *lhs, LONGEST index, struct expression *exp, int *pos)
 
static struct valueada_value_cast (struct type *type, struct value *arg2, enum noside noside)
 
static const char * fixed_type_info (struct type *type)
 
int ada_is_fixed_point_type (struct type *type)
 
int ada_is_system_address_type (struct type *type)
 
DOUBLEST ada_delta (struct type *type)
 
static DOUBLEST scaling_factor (struct type *type)
 
DOUBLEST ada_fixed_to_float (struct type *type, LONGEST x)
 
LONGEST ada_float_to_fixed (struct type *type, DOUBLEST x)
 
static int scan_discrim_bound (char *str, int k, struct value *dval, LONGEST *px, int *pnew_k)
 
LONGEST get_int_var_value (char *name, int *flag)
 
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 (struct frame_info *frame)
 
void ada_find_printable_frame (struct frame_info *fi)
 
static CORE_ADDR ada_exception_name_addr_1 (enum ada_exception_catchpoint_kind ex, struct breakpoint *b)
 
static CORE_ADDR ada_exception_name_addr (enum ada_exception_catchpoint_kind ex, struct breakpoint *b)
 
static char * ada_exception_catchpoint_cond_string (const char *excep_string)
 
static void ada_catchpoint_location_dtor (struct bp_location *bl)
 
static void create_excep_cond_exprs (struct ada_catchpoint *c)
 
static void dtor_exception (enum ada_exception_catchpoint_kind ex, struct breakpoint *b)
 
static struct bp_locationallocate_location_exception (enum ada_exception_catchpoint_kind ex, struct breakpoint *self)
 
static void re_set_exception (enum ada_exception_catchpoint_kind ex, struct breakpoint *b)
 
static int should_stop_exception (const struct bp_location *bl)
 
static void check_status_exception (enum ada_exception_catchpoint_kind ex, bpstat bs)
 
static enum print_stop_action print_it_exception (enum ada_exception_catchpoint_kind ex, bpstat bs)
 
static void print_one_exception (enum ada_exception_catchpoint_kind ex, struct breakpoint *b, struct bp_location **last_loc)
 
static void print_mention_exception (enum ada_exception_catchpoint_kind ex, struct breakpoint *b)
 
static void print_recreate_exception (enum ada_exception_catchpoint_kind ex, struct breakpoint *b, struct ui_file *fp)
 
static void dtor_catch_exception (struct breakpoint *b)
 
static struct bp_locationallocate_location_catch_exception (struct breakpoint *self)
 
static void re_set_catch_exception (struct breakpoint *b)
 
static void check_status_catch_exception (bpstat bs)
 
static enum print_stop_action print_it_catch_exception (bpstat bs)
 
static void print_one_catch_exception (struct breakpoint *b, struct bp_location **last_loc)
 
static void print_mention_catch_exception (struct breakpoint *b)
 
static void print_recreate_catch_exception (struct breakpoint *b, struct ui_file *fp)
 
static void dtor_catch_exception_unhandled (struct breakpoint *b)
 
static struct bp_locationallocate_location_catch_exception_unhandled (struct breakpoint *self)
 
static void re_set_catch_exception_unhandled (struct breakpoint *b)
 
static void check_status_catch_exception_unhandled (bpstat bs)
 
static enum print_stop_action print_it_catch_exception_unhandled (bpstat bs)
 
static void print_one_catch_exception_unhandled (struct breakpoint *b, struct bp_location **last_loc)
 
static void print_mention_catch_exception_unhandled (struct breakpoint *b)
 
static void print_recreate_catch_exception_unhandled (struct breakpoint *b, struct ui_file *fp)
 
static void dtor_catch_assert (struct breakpoint *b)
 
static struct bp_locationallocate_location_catch_assert (struct breakpoint *self)
 
static void re_set_catch_assert (struct breakpoint *b)
 
static void check_status_catch_assert (bpstat bs)
 
static enum print_stop_action print_it_catch_assert (bpstat bs)
 
static void print_one_catch_assert (struct breakpoint *b, struct bp_location **last_loc)
 
static void print_mention_catch_assert (struct breakpoint *b)
 
static void print_recreate_catch_assert (struct breakpoint *b, struct ui_file *fp)
 
static char * ada_get_next_arg (char **argsp)
 
static void catch_ada_exception_command_split (char *args, enum ada_exception_catchpoint_kind *ex, char **excep_string, char **cond_string)
 
static const char * ada_exception_sym_name (enum ada_exception_catchpoint_kind ex)
 
static const struct breakpoint_opsada_exception_breakpoint_ops (enum ada_exception_catchpoint_kind ex)
 
static struct symtab_and_line ada_exception_sal (enum ada_exception_catchpoint_kind ex, char *excep_string, char **addr_string, const struct breakpoint_ops **ops)
 
void create_ada_exception_catchpoint (struct gdbarch *gdbarch, enum ada_exception_catchpoint_kind ex_kind, char *excep_string, char *cond_string, int tempflag, int disabled, int from_tty)
 
static void catch_ada_exception_command (char *arg, int from_tty, struct cmd_list_element *command)
 
static void catch_ada_assert_command_split (char *args, char **cond_string)
 
static void catch_assert_command (char *arg, 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 int compare_ada_exception_info (const void *a, const void *b)
 
static void sort_remove_dups_ada_exceptions_list (VEC(ada_exc_info)**exceptions, int skip)
 
static int ada_exc_search_name_matches (const char *search_name, void *user_data)
 
static void ada_add_standard_exceptions (regex_t *preg, VEC(ada_exc_info)**exceptions)
 
static void ada_add_exceptions_from_frame (regex_t *preg, struct frame_info *frame, VEC(ada_exc_info)**exceptions)
 
static void ada_add_global_exceptions (regex_t *preg, VEC(ada_exc_info)**exceptions)
 
static VEC (ada_exc_info)
 
static void info_exceptions_command (char *regexp, int from_tty)
 
static void ada_operator_length (const struct expression *exp, int pc, int *oplenp, int *argsp)
 
static int ada_operator_check (struct expression *exp, int pos, int(*objfile_func)(struct objfile *objfile, void *data), void *data)
 
static int ada_dump_subexp_body (struct expression *exp, struct ui_file *stream, int elt)
 
static void ada_print_subexp (struct expression *exp, int *pos, struct ui_file *stream, enum precedence prec)
 
static void emit_char (int c, struct type *type, struct ui_file *stream, int quoter)
 
static int parse (struct parser_state *ps)
 
static symbol_name_cmp_ftype ada_get_symbol_name_cmp (const char *lookup_name)
 
static struct valueada_read_var_value (struct symbol *var, struct frame_info *frame)
 
static void set_ada_command (char *arg, int from_tty)
 
static void show_ada_command (char *args, int from_tty)
 
static void initialize_ada_catchpoint_ops (void)
 
static void ada_new_objfile_observer (struct objfile *objfile)
 
static void ada_free_objfile_observer (struct objfile *objfile)
 
void _initialize_ada_language (void)
 

Variables

static unsigned int varsize_limit
 
static 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 * known_runtime_file_name_patterns []
 
static const char * known_auxiliary_function_name_patterns []
 
static struct obstack symbol_list_obstack
 
static struct cmd_list_elementmaint_set_ada_cmdlist
 
static struct cmd_list_elementmaint_show_ada_cmdlist
 
static int ada_ignore_descriptive_types_p = 0
 
static const struct inferior_data * ada_inferior_data
 
static const struct program_space_data * ada_pspace_data_handle
 
const struct ada_opname_map ada_opname_table []
 
static struct htab * decoded_names_store
 
static char * bound_name []
 
static const char * attribute_names []
 
static int trust_pad_over_xvs = 1
 
static char * standard_exc []
 
static const struct exception_support_info default_exception_support_info
 
static const struct exception_support_info exception_support_info_fallback
 
static const struct bp_location_ops ada_catchpoint_location_ops
 
static struct breakpoint_ops catch_exception_breakpoint_ops
 
static struct breakpoint_ops catch_exception_unhandled_breakpoint_ops
 
static struct breakpoint_ops catch_assert_breakpoint_ops
 
static const struct op_print ada_op_print_tab []
 
static const struct exp_descriptor ada_exp_descriptor
 
const struct language_defn ada_language_defn
 
initialize_file_ftype _initialize_ada_language
 
static struct cmd_list_elementset_ada_list
 
static struct cmd_list_elementshow_ada_list
 

Macro Definition Documentation

#define ADA_OPERATORS
Value:
OP_DEFN (OP_VAR_VALUE, 4, 0, 0) \
OP_DEFN (BINOP_IN_BOUNDS, 3, 2, 0) \
OP_DEFN (TERNOP_IN_RANGE, 1, 3, 0) \
OP_DEFN (OP_ATR_FIRST, 1, 2, 0) \
OP_DEFN (OP_ATR_LAST, 1, 2, 0) \
OP_DEFN (OP_ATR_LENGTH, 1, 2, 0) \
OP_DEFN (OP_ATR_IMAGE, 1, 2, 0) \
OP_DEFN (OP_ATR_MAX, 1, 3, 0) \
OP_DEFN (OP_ATR_MIN, 1, 3, 0) \
OP_DEFN (OP_ATR_MODULUS, 1, 1, 0) \
OP_DEFN (OP_ATR_POS, 1, 2, 0) \
OP_DEFN (OP_ATR_SIZE, 1, 1, 0) \
OP_DEFN (OP_ATR_TAG, 1, 1, 0) \
OP_DEFN (OP_ATR_VAL, 1, 2, 0) \
OP_DEFN (UNOP_QUAL, 3, 1, 0) \
OP_DEFN (UNOP_IN_RANGE, 3, 1, 0) \
OP_DEFN (OP_OTHERS, 1, 1, 0) \
OP_DEFN (OP_POSITIONAL, 3, 1, 0) \
OP_DEFN (OP_DISCRETE_RANGE, 1, 2, 0)
#define OP_DEFN(op, len, args, binop)

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

Referenced by ada_forward_operator_length(), ada_op_name(), and ada_operator_length().

#define HASH_SIZE   1009

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

Referenced by cache_symbol(), and find_entry().

#define MAX_ADA_DIMENS   (sizeof(bound_name) / (2*sizeof(char *)))

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

#define OP_DEFN (   op,
  len,
  args,
  binop 
)    case op: *oplenp = len; *argsp = args; break;
#define OP_DEFN (   op,
  len,
  args,
  binop 
)    case op: return #op;
#define OP_DEFN (   op,
  len,
  args,
  binop 
)    case op: *oplenp = len; *argsp = args; break;
#define TRUNCATION_TOWARDS_ZERO   ((-5 / 2) == -2)

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

Referenced by ada_value_binop().

Typedef Documentation

typedef CORE_ADDR( ada_unhandled_exception_name_addr_ftype) (void)

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

Enumeration Type Documentation

Enumerator
ada_primitive_type_int 
ada_primitive_type_long 
ada_primitive_type_short 
ada_primitive_type_char 
ada_primitive_type_float 
ada_primitive_type_double 
ada_primitive_type_void 
ada_primitive_type_long_long 
ada_primitive_type_long_double 
ada_primitive_type_natural 
ada_primitive_type_positive 
ada_primitive_type_system_address 
nr_ada_primitive_types 

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

Function Documentation

void _initialize_ada_language ( void  )
static void ada_add_block_symbols ( struct obstack *  obstackp,
const struct block block,
const char *  name,
domain_enum  domain,
struct objfile objfile,
int  wild 
)
static
static void ada_add_exceptions_from_frame ( regex_t *  preg,
struct frame_info frame,
VEC(ada_exc_info)**  exceptions 
)
static
static void ada_add_global_exceptions ( regex_t *  preg,
VEC(ada_exc_info)**  exceptions 
)
static
static void ada_add_local_symbols ( struct obstack *  obstackp,
const char *  name,
const struct block block,
domain_enum  domain,
int  wild_match_p 
)
static
static void ada_add_standard_exceptions ( regex_t *  preg,
VEC(ada_exc_info)**  exceptions 
)
static
struct type* ada_aligned_type ( struct type type)
const gdb_byte* ada_aligned_value_addr ( struct type type,
const gdb_byte valaddr 
)
static int ada_args_match ( struct symbol func,
struct value **  actuals,
int  n_actuals 
)
static
int ada_array_arity ( struct type type)
static LONGEST ada_array_bound ( struct value arr,
int  n,
int  which 
)
static
static LONGEST ada_array_bound_from_type ( struct type arr_type,
int  n,
int  which 
)
static
struct type* ada_array_element_type ( struct type type,
int  nindices 
)
static LONGEST ada_array_length ( struct value arr,
int  n 
)
static
const char* ada_attribute_name ( enum exp_opcode  n)

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

Referenced by ada_evaluate_subexp(), and ada_print_subexp().

static void ada_catchpoint_location_dtor ( struct bp_location bl)
static

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

References ada_catchpoint_location::excep_cond_expr, and xfree().

struct type* ada_check_typedef ( struct type type)

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

References ada_check_typedef(), ada_find_any_type(), ada_typedef_target_type(), CHECK_TYPEDEF, is_thick_pntr(), name, type, TYPE_CODE, TYPE_CODE_ENUM, TYPE_CODE_TYPEDEF, TYPE_STUB, and TYPE_TAG_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_evaluate_subexp(), ada_fixup_array_indexes_type(), ada_get_decoded_value(), ada_index_struct_field_1(), ada_is_aligner_type(), ada_is_array_descriptor_type(), ada_is_direct_array_type(), ada_is_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_function(), ada_search_struct_field(), ada_template_to_fixed_record_type_1(), ada_to_fixed_type_1(), ada_type_match(), ada_type_of_array(), ada_val_print_1(), ada_value_binop(), ada_value_cast(), ada_value_primitive_field(), ada_value_primitive_packed_val(), ada_value_print(), 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(), 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().

static void ada_clear_symbol_cache ( void  )
static
static struct value * ada_coerce_ref ( struct value val0)
static
struct value* ada_coerce_to_simple_array ( struct value arr)
struct value* ada_coerce_to_simple_array_ptr ( struct value arr)
struct type* ada_coerce_to_simple_array_type ( struct type type)
static int ada_complete_symbol_matcher ( const char *  name,
void *  user_data 
)
static

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

References symbol_completion_match().

Referenced by VEC().

struct value* ada_convert_actual ( struct value actual,
struct type formal_type0 
)
const char* ada_decode ( const char *  encoded)
const char* ada_decode_symbol ( const struct general_symbol_info arg)
static const char * ada_decoded_op_name ( enum exp_opcode  op)
static

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

References _, ada_opname_map::decoded, ada_opname_map::encoded, and error().

Referenced by resolve_subexp().

DOUBLEST ada_delta ( struct type type)

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

References DOUBLEST_SCAN_FORMAT, encoding, and fixed_type_info().

Referenced by print_fixed_point_type().

LONGEST ada_discrete_type_high_bound ( struct type type)
LONGEST ada_discrete_type_low_bound ( struct type type)
static int ada_dump_subexp_body ( struct expression exp,
struct ui_file stream,
int  elt 
)
static
char* ada_encode ( const char *  decoded)
void ada_ensure_varsize_limit ( const struct type type)
const char* ada_enum_name ( const char *  name)

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

References GROW_VECT, name, and xsnprintf().

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

static struct value* ada_evaluate_subexp ( struct type expect_type,
struct expression exp,
int pos,
enum noside noside   
)
static

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

References _, ada_aligned_type(), ada_array_arity(), ada_array_bound(), ada_array_bound_from_type(), ada_array_element_type(), ada_array_length(), ada_attribute_name(), ada_check_typedef(), ada_coerce_ref(), ada_coerce_to_simple_array(), ada_coerce_to_simple_array_ptr(), ada_discrete_type_high_bound(), ada_discrete_type_low_bound(), ada_ensure_varsize_limit(), ada_find_parallel_type(), ada_forward_operator_length(), ada_index_type(), ada_is_aligner_type(), ada_is_array_descriptor_type(), ada_is_constrained_packed_array_type(), ada_is_fixed_point_type(), ada_is_modular_type(), ada_is_simple_array_type(), ada_is_tagged_type(), ada_lookup_struct_elt_type(), ada_modulus(), ada_tag_type(), ada_to_fixed_value(), ada_type_name(), ada_type_of_array(), ada_typedef_target_type(), ada_value_assign(), ada_value_binop(), ada_value_cast(), ada_value_equal(), ada_value_ind(), ada_value_ptr_subscript(), ada_value_slice(), ada_value_slice_from_ptr(), ada_value_struct_elt(), ada_value_subscript(), ada_value_tag(), allocate_value(), assign_aggregate(), binop_promote(), builtin_type::builtin_double, builtin_type::builtin_int, builtin_type(), BYTES_TO_EXP_ELEM, call_function_by_hand(), call_internal_function(), cast_from_fixed(), cast_to_fixed(), check_typedef(), coerce_for_assign(), coerce_ref(), decode_constrained_packed_array_type(), desc_base_type(), discrete_type_p(), dynamic_template_type(), expression::elts, empty_array(), error(), EVAL_AVOID_SIDE_EFFECTS, EVAL_NORMAL, EVAL_SKIP, evaluate_subexp(), evaluate_subexp_standard(), evaluate_subexp_with_coercion(), expression::gdbarch, internal_error(), is_integral_type(), language_bool_type(), expression::language_defn, lim_warning(), exp_element::longconst, longest_to_int(), lookup_pointer_type(), lval_internalvar, lval_memory, name, not_lval, NULL_TYPE, exp_element::opcode, static_unwrap_type(), exp_element::string, exp_element::symbol, SYMBOL_DOMAIN, SYMBOL_PRINT_NAME, SYMBOL_TYPE, TARGET_CHAR_BIT, to_fixed_array_type(), to_fixed_range_type(), to_static_fixed_type(), exp_element::type, type, TYPE_CODE, TYPE_CODE_ARRAY, TYPE_CODE_ENUM, TYPE_CODE_FLT, TYPE_CODE_FUNC, TYPE_CODE_INT, TYPE_CODE_INTERNAL_FUNCTION, TYPE_CODE_PTR, TYPE_CODE_RANGE, TYPE_CODE_REF, TYPE_CODE_STRING, TYPE_CODE_STRUCT, TYPE_CODE_TYPEDEF, TYPE_CODE_UNION, TYPE_FIELD_BITSIZE, type_from_tag(), TYPE_GNU_IFUNC, TYPE_HIGH_BOUND, TYPE_LENGTH, TYPE_LOW_BOUND, TYPE_TARGET_TYPE, UNDEF_DOMAIN, unop_promote(), unwrap_value(), value_addr(), value_as_address(), value_as_long(), value_at_lazy(), value_binop(), value_cast(), value_equal(), value_from_longest(), value_ind(), value_less(), VALUE_LVAL, value_neg(), value_pos_atr(), value_ref(), value_type(), value_val_atr(), and value_zero().

Referenced by aggregate_assign_from_choices(), aggregate_assign_others(), aggregate_assign_positional(), assign_aggregate(), assign_component(), and num_component_specs().

static int ada_exc_search_name_matches ( const char *  search_name,
void *  user_data 
)
static

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

References ada_decode().

Referenced by ada_add_global_exceptions().

static const struct breakpoint_ops* ada_exception_breakpoint_ops ( enum ada_exception_catchpoint_kind  ex)
static
static char * ada_exception_catchpoint_cond_string ( const char *  excep_string)
static

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

References standard_exc, and xstrprintf().

Referenced by create_excep_cond_exprs().

static CORE_ADDR ada_exception_name_addr ( enum ada_exception_catchpoint_kind  ex,
struct breakpoint b 
)
static

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

References _, ada_exception_name_addr_1(), CATCH, END_CATCH, RETURN_MASK_ERROR, TRY, and warning().

Referenced by print_it_exception().

static CORE_ADDR ada_exception_name_addr_1 ( enum ada_exception_catchpoint_kind  ex,
struct breakpoint b 
)
static
static struct symtab_and_line ada_exception_sal ( enum ada_exception_catchpoint_kind  ex,
char *  excep_string,
char **  addr_string,
const struct breakpoint_ops **  ops 
)
static
static void ada_exception_support_info_sniffer ( void  )
static
static const char* ada_exception_sym_name ( enum ada_exception_catchpoint_kind  ex)
static
static struct type * ada_find_any_type ( const char *  name)
static
static struct symbol* ada_find_any_type_symbol ( const char *  name)
static
struct type* ada_find_parallel_type ( struct type type,
const char *  suffix 
)
static struct type * ada_find_parallel_type_with_name ( struct type type,
const char *  name 
)
static
void ada_find_printable_frame ( struct frame_info fi)

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

References get_prev_frame(), is_known_support_routine(), and select_frame().

Referenced by print_it_exception(), and task_command_1().

struct symbol* ada_find_renaming_symbol ( struct symbol name_sym,
const struct block block 
)
DOUBLEST ada_fixed_to_float ( struct type type,
LONGEST  x 
)
void ada_fixup_array_indexes_type ( struct type index_desc_type)
LONGEST ada_float_to_fixed ( struct type type,
DOUBLEST  x 
)

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

References scaling_factor().

Referenced by cast_to_fixed().

char* ada_fold_name ( const char *  name)

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

References GROW_VECT, and len.

Referenced by ada_lookup_symbol(), and ada_name_for_lookup().

static void ada_forward_operator_length ( struct expression exp,
int  pc,
int oplenp,
int argsp 
)
static
static void ada_free_objfile_observer ( struct objfile objfile)
static

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

References ada_clear_symbol_cache().

Referenced by _initialize_ada_language().

static void ada_free_symbol_cache ( struct ada_symbol_cache sym_cache)
static

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

References ada_symbol_cache::cache_space, and xfree().

Referenced by ada_pspace_data_cleanup().

struct type* ada_get_base_type ( struct type raw_type)
struct type* ada_get_decoded_type ( struct type type)
struct value* ada_get_decoded_value ( struct value value)
int ada_get_field_index ( const struct type type,
const char *  field_name,
int  maybe_missing 
)
static char* ada_get_gdb_completer_word_break_characters ( void  )
static

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

References ada_completer_word_break_characters.

static char* ada_get_next_arg ( char **  argsp)
static

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

References skip_spaces(), skip_to_space, and xmalloc().

Referenced by catch_ada_exception_command_split().

static struct ada_symbol_cache* ada_get_symbol_cache ( struct program_space pspace)
static
static symbol_name_cmp_ftype ada_get_symbol_name_cmp ( const char *  lookup_name)
static

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

References compare_names(), should_use_wild_match(), and wild_match().

static struct value* ada_get_tsd_from_tag ( struct value tag)
static
static struct type* ada_get_tsd_type ( struct inferior inf)
static
static int ada_has_this_exception_support ( const struct exception_support_info einfo)
static
static int ada_identical_enum_types_p ( struct type type1,
struct type type2 
)
static
int ada_in_variant ( LONGEST  val,
struct type type,
int  field_num 
)

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

References ada_scan_number(), L, name, and TYPE_FIELD_NAME.

Referenced by ada_which_variant_applies().

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

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

References ada_index_struct_field_1().

Referenced by assign_component().

static struct value * ada_index_struct_field_1 ( int index_p,
struct value arg,
int  offset,
struct type type 
)
static
static struct type* ada_index_type ( struct type type,
int  n,
const char *  name 
)
static
static void ada_inferior_data_cleanup ( struct inferior inf,
void *  arg 
)
static

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

References xfree().

Referenced by _initialize_ada_language(), and ada_inferior_exit().

static void ada_inferior_exit ( struct inferior inf)
static

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

References ada_inferior_data_cleanup().

Referenced by _initialize_ada_language().

static void ada_init_symbol_cache ( struct ada_symbol_cache sym_cache)
static
int ada_is_aligner_type ( struct type type)
int ada_is_array_descriptor_type ( struct type type)
static int ada_is_array_type ( struct type type)
static
int ada_is_bogus_array_descriptor ( struct type type)
int ada_is_character_type ( struct type type)
int ada_is_constrained_packed_array_type ( struct type type)
static int ada_is_direct_array_type ( struct type type)
static
static int ada_is_dispatch_table_ptr_type ( struct type type)
static

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

References name, TYPE_CODE, TYPE_CODE_PTR, TYPE_NAME, and TYPE_TARGET_TYPE.

Referenced by ada_is_ignored_field().

static int ada_is_exception_sym ( struct symbol sym)
static
int ada_is_fixed_point_type ( struct type type)
int ada_is_ignored_field ( struct type type,
int  field_num 
)
static int ada_is_interface_tag ( struct type type)
static

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

References name, and TYPE_NAME.

Referenced by ada_is_ignored_field().

int ada_is_modular_type ( struct type type)
static int ada_is_non_standard_exception_sym ( struct symbol sym)
static

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

References ada_is_exception_sym(), and SYMBOL_LINKAGE_NAME.

Referenced by ada_add_global_exceptions().

int ada_is_others_clause ( struct type type,
int  field_num 
)

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

References name, and TYPE_FIELD_NAME.

Referenced by ada_which_variant_applies().

static int ada_is_packed_array_type ( struct type type)
static
int ada_is_parent_field ( struct type type,
int  field_num 
)
int ada_is_range_type_name ( const char *  name)

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

Referenced by ada_print_type().

static int ada_is_redundant_index_type_desc ( struct type array_type,
struct type desc_type 
)
static
static int ada_is_redundant_range_encoding ( struct type range_type,
struct type encoding_type 
)
static
int ada_is_simple_array_type ( struct type type)
int ada_is_string_type ( struct type type)
int ada_is_system_address_type ( struct type type)

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

References TYPE_NAME.

Referenced by ada_val_print_num().

int ada_is_tag_type ( struct type type)
int ada_is_tagged_type ( struct type type,
int  refok 
)
static int ada_is_unconstrained_packed_array_type ( struct type type)
static

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

References ada_is_array_descriptor_type(), and ada_is_packed_array_type().

Referenced by ada_type_of_array().

int ada_is_variant_part ( struct type type,
int  field_num 
)
int ada_is_wrapper_field ( struct type type,
int  field_num 
)
static void ada_iterate_over_symbols ( const struct block block,
const char *  name,
domain_enum  domain,
symbol_found_callback_ftype callback,
void *  data 
)
static

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

References ada_lookup_symbol_list_worker(), and ada_symbol_info::sym.

static char* ada_la_decode ( const char *  encoded,
int  options 
)
static

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

References ada_decode().

static void ada_language_arch_info ( struct gdbarch gdbarch,
struct language_arch_info lai 
)
static
void ada_lookup_encoded_symbol ( const char *  name,
const struct block block,
domain_enum  domain,
struct ada_symbol_info info 
)
struct bound_minimal_symbol ada_lookup_simple_minsym ( const char *  name)
static struct type * ada_lookup_struct_elt_type ( struct type type,
char *  name,
int  refok,
int  noerr,
int dispp 
)
static
struct symbol* ada_lookup_symbol ( const char *  name,
const struct block block0,
domain_enum  domain,
int is_a_field_of_this 
)
int ada_lookup_symbol_list ( const char *  name0,
const struct block block0,
domain_enum  domain,
struct ada_symbol_info **  results 
)
static int ada_lookup_symbol_list_worker ( const char *  name0,
const struct block block0,
domain_enum  domain,
struct ada_symbol_info **  results,
int  full_search 
)
static
static struct symbol* ada_lookup_symbol_nonlocal ( const struct language_defn langdef,
const char *  name,
const struct block block,
const domain_enum  domain 
)
static
char* ada_main_name ( void  )
ULONGEST ada_modulus ( struct type type)

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

References TYPE_HIGH_BOUND.

Referenced by ada_evaluate_subexp(), ada_print_type(), and decode_constrained_packed_array().

char* ada_name_for_lookup ( const char *  name)

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

References ada_encode(), ada_fold_name(), and xmalloc().

Referenced by find_linespec_symbols().

int ada_name_prefix_len ( const char *  name)
static void ada_new_objfile_observer ( struct objfile objfile)
static

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

References ada_clear_symbol_cache().

Referenced by _initialize_ada_language().

static char * ada_op_name ( enum exp_opcode  opcode)
static

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

References ADA_OPERATORS, and op_name_standard().

static int ada_operator_check ( struct expression exp,
int  pos,
int(*)(struct objfile *objfile, void *data)  objfile_func,
void *  data 
)
static
static void ada_operator_length ( const struct expression exp,
int  pc,
int oplenp,
int argsp 
)
static
struct type* ada_parent_type ( struct type type)
enum ada_renaming_category ada_parse_renaming ( struct symbol sym,
const char **  renamed_entity,
int len,
const char **  renaming_expr 
)
int ada_prefer_type ( struct type type0,
struct type type1 
)
static void ada_print_array_index ( struct value index_value,
struct ui_file stream,
const struct value_print_options options 
)
static

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

References fprintf_filtered(), and LA_VALUE_PRINT.

static void ada_print_subexp ( struct expression exp,
int pos,
struct ui_file stream,
enum precedence  prec 
)
static
static struct value* ada_promote_array_of_integrals ( struct type type,
struct value val 
)
static
static void ada_pspace_data_cleanup ( struct program_space pspace,
void *  data 
)
static

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

References ada_free_symbol_cache(), ada_pspace_data::sym_cache, and xfree().

Referenced by _initialize_ada_language().

static struct value* ada_read_renaming_var_value ( struct symbol renaming_sym,
const struct block block 
)
static
static struct value* ada_read_var_value ( struct symbol var,
struct frame_info frame 
)
static
static void ada_remove_po_subprogram_suffix ( const char *  encoded,
int len 
)
static

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

Referenced by ada_decode(), and find_old_style_renaming_symbol().

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

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

References startswith().

Referenced by ada_decode(), ada_identical_enum_types_p(), and find_old_style_renaming_symbol().

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

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

Referenced by find_old_style_renaming_symbol().

static int ada_resolve_function ( struct ada_symbol_info ,
int  ,
struct value **  ,
int  ,
const char *  ,
struct type  
)
static

Referenced by resolve_subexp().

static int ada_resolve_function ( struct ada_symbol_info  syms[],
int  nsyms,
struct value **  args,
int  nargs,
const char *  name,
struct type context_type 
)
static
static int ada_same_array_size_p ( struct type t1,
struct type t2 
)
static

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

References _, error(), and get_array_bounds().

Referenced by coerce_for_assign().

int ada_scan_number ( const char  str[],
int  k,
LONGEST R,
int new_k 
)
static struct value * ada_search_struct_field ( char *  name,
struct value arg,
int  offset,
struct type type 
)
static
const char* ada_tag_name ( struct value tag)
static char* ada_tag_name_from_tsd ( struct value tsd)
static

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

References ada_value_struct_elt(), name, read_memory_string(), and value_as_address().

Referenced by ada_tag_name().

struct type* ada_tag_type ( struct value val)

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

References ada_lookup_struct_elt_type(), and value_type().

Referenced by ada_evaluate_subexp().

struct value* ada_tag_value_at_base_address ( struct value obj)
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 
)
struct type* ada_to_fixed_type ( struct type type,
const gdb_byte valaddr,
CORE_ADDR  address,
struct value dval,
int  check_tag 
)
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
struct value* ada_to_fixed_value ( struct value val)
static struct value * ada_to_fixed_value_create ( struct type type0,
CORE_ADDR  address,
struct value val0 
)
static

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

References ada_to_fixed_type(), and value_from_contents_and_address().

Referenced by ada_to_fixed_value().

static int ada_type_match ( struct type ftype,
struct type atype,
int  may_deref 
)
static
const char* ada_type_name ( struct type type)
struct type* ada_type_of_array ( struct value arr,
int  bounds 
)
static struct type* ada_typedef_target_type ( struct type type)
static
static CORE_ADDR ada_unhandled_exception_name_addr ( void  )
static

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

References parse_and_eval_address().

static CORE_ADDR ada_unhandled_exception_name_addr_from_raise ( void  )
static
static const char* ada_unqualified_name ( const char *  decoded_name)
static

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

Referenced by symbol_completion_match().

enum language ada_update_initial_language ( enum language  lang)

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

References language_ada, and lookup_minimal_symbol().

Referenced by ada_exception_support_info_sniffer().

static struct value* ada_value_assign ( struct value toval,
struct value fromval 
)
static
static struct value* ada_value_binop ( struct value arg1,
struct value arg2,
enum exp_opcode  op 
)
static
static struct value* ada_value_cast ( struct type type,
struct value arg2,
enum noside  noside 
)
static
static int ada_value_equal ( struct value arg1,
struct value arg2 
)
static
struct value* ada_value_ind ( struct value val0)
static struct value * ada_value_primitive_field ( struct value arg1,
int  offset,
int  fieldno,
struct type arg_type 
)
static
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 
)
static struct value* ada_value_ptr_subscript ( struct value arr,
int  arity,
struct value **  ind 
)
static
static struct value* ada_value_slice ( struct value array,
int  low,
int  high 
)
static
static struct value* ada_value_slice_from_ptr ( struct value array_ptr,
struct type type,
int  low,
int  high 
)
static
struct value* ada_value_struct_elt ( struct value arg,
char *  name,
int  no_err 
)
struct value* ada_value_subscript ( struct value arr,
int  arity,
struct value **  ind 
)
struct value* ada_value_tag ( struct value val)

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

References ada_value_struct_elt().

Referenced by ada_evaluate_subexp(), and ada_tag_value_at_base_address().

char* ada_variant_discrim_name ( struct type type0)
struct type* ada_variant_discrim_type ( struct type var_type,
struct type outer_type 
)

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

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

Referenced by print_variant_clauses().

int ada_which_variant_applies ( struct type var_type,
struct type outer_type,
const gdb_byte outer_valaddr 
)
static char* add_angle_brackets ( const char *  str)
static

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

References xfree(), and xstrprintf().

Referenced by symbol_completion_match().

static void add_component_interval ( LONGEST  low,
LONGEST  high,
LONGEST indices,
int size,
int  max_size 
)
static

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

References _, error(), and size.

Referenced by aggregate_assign_from_choices(), and aggregate_assign_positional().

static void add_defn_to_vec ( struct obstack *  obstackp,
struct symbol sym,
const struct block block 
)
static
static void add_nonlocal_symbols ( struct obstack *  obstackp,
const char *  name,
domain_enum  domain,
int  global,
int  is_wild_match 
)
static
static void add_symbols_from_enclosing_procs ( struct obstack *  obstackp,
const char *  name,
domain_enum  domain,
int  wild_match_p 
)
static

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

Referenced by ada_add_local_symbols().

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

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

References name, and startswith().

Referenced by wild_match().

static void aggregate_assign_from_choices ( struct value container,
struct value lhs,
struct expression exp,
int pos,
LONGEST indices,
int num_indices,
int  max_indices,
LONGEST  low,
LONGEST  high 
)
static
static void aggregate_assign_others ( struct value container,
struct value lhs,
struct expression exp,
int pos,
LONGEST indices,
int  num_indices,
LONGEST  low,
LONGEST  high 
)
static

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

References ada_evaluate_subexp(), assign_component(), and EVAL_SKIP.

Referenced by assign_aggregate().

static void aggregate_assign_positional ( struct value container,
struct value lhs,
struct expression exp,
int pos,
LONGEST indices,
int num_indices,
int  max_indices,
LONGEST  low,
LONGEST  high 
)
static
static unsigned int align_value ( unsigned int  off,
unsigned int  alignment 
)
static

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

Referenced by ada_template_to_fixed_record_type_1().

static struct bp_location* allocate_location_catch_assert ( struct breakpoint self)
static

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

References ada_catch_assert, and allocate_location_exception().

Referenced by initialize_ada_catchpoint_ops().

static struct bp_location* allocate_location_catch_exception ( struct breakpoint self)
static

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

References ada_catch_exception, and allocate_location_exception().

Referenced by initialize_ada_catchpoint_ops().

static struct bp_location* allocate_location_catch_exception_unhandled ( struct breakpoint self)
static
static struct bp_location* allocate_location_exception ( enum ada_exception_catchpoint_kind  ex,
struct breakpoint self 
)
static
static struct value* assign_aggregate ( struct value container,
struct value lhs,
struct expression exp,
int pos,
enum noside noside   
)
static
static void assign_component ( struct value container,
struct value lhs,
LONGEST  index,
struct expression exp,
int pos 
)
static
static int aux_add_nonlocal_symbols ( struct block block,
struct symbol sym,
void *  data0 
)
static
static void cache_symbol ( const char *  name,
domain_enum  domain,
struct symbol sym,
const struct block block 
)
static
static struct value* cast_from_fixed ( struct type type,
struct value arg 
)
static
static struct value* cast_to_fixed ( struct type type,
struct value arg 
)
static
static void catch_ada_assert_command_split ( char *  args,
char **  cond_string 
)
static

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

References _, error(), skip_spaces(), and startswith().

Referenced by catch_assert_command().

static void catch_ada_exception_command ( char *  arg,
int  from_tty,
struct cmd_list_element command 
)
static
static void catch_ada_exception_command_split ( char *  args,
enum ada_exception_catchpoint_kind ex,
char **  excep_string,
char **  cond_string 
)
static
static void catch_assert_command ( char *  arg,
int  from_tty,
struct cmd_list_element command 
)
static
static void check_status_catch_assert ( bpstat  bs)
static

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

References ada_catch_assert, and check_status_exception().

Referenced by initialize_ada_catchpoint_ops().

static void check_status_catch_exception ( bpstat  bs)
static

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

References ada_catch_exception, and check_status_exception().

Referenced by initialize_ada_catchpoint_ops().

static void check_status_catch_exception_unhandled ( bpstat  bs)
static

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

References ada_catch_exception_unhandled, and check_status_exception().

Referenced by initialize_ada_catchpoint_ops().

static void check_status_exception ( enum ada_exception_catchpoint_kind  ex,
bpstat  bs 
)
static
static struct value* coerce_for_assign ( struct type type,
struct value val 
)
static
static struct value * coerce_unspec_val_to_type ( struct value val,
struct type type 
)
static
static int compare_ada_exception_info ( const void *  a,
const void *  b 
)
static

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

References ada_exc_info::addr, and ada_exc_info::name.

Referenced by sort_remove_dups_ada_exceptions_list().

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

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

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

Referenced by compare_names().

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

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

References offset.

Referenced by ada_template_to_fixed_record_type_1(), and to_record_with_fixed_variant_part().

static CORE_ADDR cond_offset_target ( CORE_ADDR  address,
long  offset 
)
static

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

References offset.

Referenced by ada_template_to_fixed_record_type_1(), and to_record_with_fixed_variant_part().

static struct type * constrained_packed_array_type ( struct type type,
long *  elt_bits 
)
static
void create_ada_exception_catchpoint ( struct gdbarch gdbarch,
enum ada_exception_catchpoint_kind  ex_kind,
char *  excep_string,
char *  cond_string,
int  tempflag,
int  disabled,
int  from_tty 
)
static void create_excep_cond_exprs ( struct ada_catchpoint c)
static
static struct value * decode_constrained_packed_array ( struct value arr)
static
static struct type * decode_constrained_packed_array_type ( struct type type)
static
static long decode_packed_array_bitsize ( struct type type)
static
static struct ada_symbol_info * defns_collected ( struct obstack *  obstackp,
int  finish 
)
static
static int desc_arity ( struct type type)
static

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

References desc_base_type(), and TYPE_NFIELDS.

Referenced by ada_array_arity(), and ada_is_array_descriptor_type().

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

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

References desc_base_type(), and TYPE_FIELD_BITPOS.

Referenced by make_array_descriptor().

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

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

References desc_base_type(), TYPE_FIELD_BITSIZE, TYPE_FIELD_TYPE, and TYPE_LENGTH.

Referenced by make_array_descriptor().

static struct value * desc_bounds ( struct value arr)
static
static struct type * desc_bounds_type ( struct type type)
static
static struct value * desc_data ( struct value arr)
static
static struct type * desc_data_target_type ( struct type type)
static
static struct type * desc_index_type ( struct type type,
int  i 
)
static

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

References bound_name, desc_base_type(), lookup_struct_elt_type(), TYPE_CODE, and TYPE_CODE_STRUCT.

Referenced by ada_index_type().

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

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

References _, bound_name, and value_struct_elt().

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

static int discrete_type_p ( struct type type)
static
static void dtor_catch_assert ( struct breakpoint b)
static

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

References ada_catch_assert, and dtor_exception().

Referenced by initialize_ada_catchpoint_ops().

static void dtor_catch_exception ( struct breakpoint b)
static

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

References ada_catch_exception, and dtor_exception().

Referenced by initialize_ada_catchpoint_ops().

static void dtor_catch_exception_unhandled ( struct breakpoint b)
static

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

References ada_catch_exception_unhandled, and dtor_exception().

Referenced by initialize_ada_catchpoint_ops().

static void dtor_exception ( enum ada_exception_catchpoint_kind  ex,
struct breakpoint b 
)
static
static struct type* dynamic_template_type ( struct type type)
static
static void emit_char ( int  c,
struct type type,
struct ui_file stream,
int  quoter 
)
static

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

References ada_emit_char().

static struct value* empty_array ( struct type arr_type,
int  low 
)
static
static struct type* empty_record ( struct type templ)
static
static int encoded_ordered_before ( const char *  N0,
const char *  N1 
)
static

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

Referenced by sort_choices().

static struct value* ensure_lval ( struct value val)
static
static int equiv_types ( struct type type0,
struct type type1 
)
static

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

References ada_type_name(), TYPE_CODE, TYPE_CODE_ENUM, and TYPE_CODE_STRUCT.

Referenced by lesseq_defined_than().

static struct value * evaluate_subexp_type ( struct expression exp,
int pos 
)
static

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

References EVAL_AVOID_SIDE_EFFECTS, evaluate_subexp(), and NULL_TYPE.

Referenced by resolve_subexp().

static int fat_pntr_bounds_bitpos ( struct type type)
static

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

References desc_base_type(), and TYPE_FIELD_BITPOS.

Referenced by make_array_descriptor().

static int fat_pntr_bounds_bitsize ( struct type type)
static
static int fat_pntr_data_bitpos ( struct type type)
static

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

References desc_base_type(), and TYPE_FIELD_BITPOS.

Referenced by make_array_descriptor().

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

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

References len, name, startswith(), TARGET_CHAR_BIT, and TYPE_FIELD_NAME.

Referenced by ada_template_to_fixed_record_type_1().

static int field_name_match ( const char *  field_name,
const char *  target 
)
static
static struct cache_entry** find_entry ( const char *  name,
domain_enum  domain 
)
static
static struct symbol * find_old_style_renaming_symbol ( const char *  name,
const struct block block 
)
static
static struct type* find_parallel_type_by_descriptive_type ( struct type type,
const char *  name 
)
static
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
static const char* fixed_type_info ( struct type type)
static
static int full_match ( const char *  sym_name,
const char *  search_name 
)
static

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

References match_name().

Referenced by ada_add_block_symbols(), and add_nonlocal_symbols().

static struct ada_inferior_data* get_ada_inferior_data ( struct inferior inf)
static
static struct ada_pspace_data* get_ada_pspace_data ( struct program_space pspace)
static

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

References ada_pspace_data_handle.

Referenced by ada_get_symbol_cache().

static struct type* get_base_type ( struct type type)
static
LONGEST get_int_var_value ( char *  name,
int flag 
)
int get_selections ( int choices,
int  n_choices,
int  max_results,
int  is_all_choice,
char *  annotation_suffix 
)

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

References _, command_line_input(), error(), error_no_arg(), and skip_spaces().

Referenced by user_select_syms().

static struct value * get_var_value ( char *  name,
char *  err_msg 
)
static
void* grow_vect ( void *  vect,
size_t *  size,
size_t  min_size,
int  element_size 
)

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

References xrealloc().

static int has_negatives ( struct type type)
static
static void info_exceptions_command ( char *  regexp,
int  from_tty 
)
static
static void initialize_ada_catchpoint_ops ( void  )
static
static int integer_type_p ( struct type type)
static

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

References TYPE_CODE, TYPE_CODE_INT, TYPE_CODE_RANGE, and TYPE_TARGET_TYPE.

Referenced by possible_user_operator_p(), and value_val_atr().

static int is_ada95_tag ( struct value tag)
static

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

References ada_value_struct_elt().

Referenced by ada_tag_value_at_base_address().

static int is_dynamic_field ( struct type templ_type,
int  field_num 
)
static
static int is_known_support_routine ( struct frame_info frame)
static
static int is_lower_alphanum ( const char  c)
static

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

Referenced by ada_decode().

static int is_name_suffix ( const char *  str)
static

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

References len.

Referenced by ada_add_block_symbols(), compare_names_with_case(), match_name(), and wild_match().

static int is_nondebugging_type ( struct type type)
static

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

References ada_type_name(), and name.

Referenced by remove_extra_symbols().

static int is_nonfunction ( struct ada_symbol_info ,
int   
)
static
static int is_nonfunction ( struct ada_symbol_info  syms[],
int  n 
)
static

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

References LOC_CONST, SYMBOL_CLASS, SYMBOL_TYPE, TYPE_CODE, TYPE_CODE_ENUM, and TYPE_CODE_FUNC.

static int is_package_name ( const char *  name)
static

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

References standard_lookup(), VAR_DOMAIN, and xstrprintf().

Referenced by old_renaming_is_invisible().

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

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

Referenced by is_thin_pntr(), and thin_descriptor_type().

static int is_thick_pntr ( struct type type)
static
static int is_thin_pntr ( struct type type)
static
static int is_unchecked_variant ( struct type var_type,
struct type outer_type 
)
static

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

References ada_lookup_struct_elt_type(), and ada_variant_discrim_name().

Referenced by to_fixed_variant_branch_type().

static int is_valid_name_for_wild_match ( const char *  name0)
static

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

References ada_decode().

Referenced by wild_match().

static int lesseq_defined_than ( struct symbol sym0,
struct symbol sym1 
)
static
static void static void lim_warning ( const char *  format,
  ... 
)
static
static int lookup_cached_symbol ( const char *  name,
domain_enum  domain,
struct symbol **  sym,
const struct block **  block 
)
static

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

References find_entry().

Referenced by ada_lookup_symbol_list_worker(), and standard_lookup().

static void maint_set_ada_cmd ( char *  args,
int  from_tty 
)
static

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

References all_commands, gdb_stdout, and help_list().

Referenced by _initialize_ada_language().

static void maint_show_ada_cmd ( char *  args,
int  from_tty 
)
static

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

References cmd_show_list().

Referenced by _initialize_ada_language().

static struct value * make_array_descriptor ( struct type type,
struct value arr 
)
static
static int match_name ( const char *  sym_name,
const char *  name,
int  wild 
)
static

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

References is_name_suffix(), startswith(), and wild_match().

Referenced by ada_lookup_simple_minsym(), and full_match().

static LONGEST max_of_size ( int  size)
static

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

Referenced by max_of_type(), and min_of_size().

static LONGEST max_of_type ( struct type t)
static

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

References max_of_size(), TYPE_LENGTH, TYPE_UNSIGNED, and umax_of_size().

Referenced by ada_discrete_type_high_bound().

static LONGEST min_of_size ( int  size)
static

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

References max_of_size().

Referenced by min_of_type().

static LONGEST min_of_type ( struct type t)
static

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

References min_of_size(), TYPE_LENGTH, and TYPE_UNSIGNED.

Referenced by ada_discrete_type_low_bound().

static void move_bits ( gdb_byte target,
int  targ_offset,
const gdb_byte source,
int  src_offset,
int  n,
int  bits_big_endian_p 
)
static

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

References HOST_CHAR_BIT.

Referenced by ada_value_assign(), and value_assign_to_component().

static int num_component_specs ( struct expression exp,
int  pc 
)
static
static int num_defns_collected ( struct obstack *  obstackp)
static
static int num_visible_fields ( struct type type)
static

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

References find_struct_field().

Referenced by assign_aggregate().

static int numeric_type_p ( struct type type)
static

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

References TYPE_CODE, TYPE_CODE_FLT, TYPE_CODE_INT, TYPE_CODE_RANGE, and TYPE_TARGET_TYPE.

Referenced by possible_user_operator_p().

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

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

References ada_parse(), and warnings_issued.

Referenced by mi_cmd_execute(), and mi_parse().

static enum ada_renaming_category parse_old_style_renaming ( struct type type,
const char **  renamed_entity,
int len,
const char **  renaming_expr 
)
static
static LONGEST pos_atr ( struct value arg)
static
static int possible_user_operator_p ( enum  exp_opcode,
struct value **   
)
static

Referenced by resolve_subexp().

static int possible_user_operator_p ( enum exp_opcode  op,
struct value args[] 
)
static
static enum print_stop_action print_it_catch_assert ( bpstat  bs)
static

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

References ada_catch_assert, and print_it_exception().

Referenced by initialize_ada_catchpoint_ops().

static enum print_stop_action print_it_catch_exception ( bpstat  bs)
static

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

References ada_catch_exception, and print_it_exception().

Referenced by initialize_ada_catchpoint_ops().

static enum print_stop_action print_it_catch_exception_unhandled ( bpstat  bs)
static

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

References ada_catch_exception_unhandled, and print_it_exception().

Referenced by initialize_ada_catchpoint_ops().

static enum print_stop_action print_it_exception ( enum ada_exception_catchpoint_kind  ex,
bpstat  bs 
)
static
static void print_mention_catch_assert ( struct breakpoint b)
static

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

References ada_catch_assert, and print_mention_exception().

Referenced by initialize_ada_catchpoint_ops().

static void print_mention_catch_exception ( struct breakpoint b)
static

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

References ada_catch_exception, and print_mention_exception().

Referenced by initialize_ada_catchpoint_ops().

static void print_mention_catch_exception_unhandled ( struct breakpoint b)
static
static void print_mention_exception ( enum ada_exception_catchpoint_kind  ex,
struct breakpoint b 
)
static
static void print_one_catch_assert ( struct breakpoint b,
struct bp_location **  last_loc 
)
static

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

References ada_catch_assert, and print_one_exception().

Referenced by initialize_ada_catchpoint_ops().

static void print_one_catch_exception ( struct breakpoint b,
struct bp_location **  last_loc 
)
static

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

References ada_catch_exception, and print_one_exception().

Referenced by initialize_ada_catchpoint_ops().

static void print_one_catch_exception_unhandled ( struct breakpoint b,
struct bp_location **  last_loc 
)
static

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

References ada_catch_exception_unhandled, and print_one_exception().

Referenced by initialize_ada_catchpoint_ops().

static void print_one_exception ( enum ada_exception_catchpoint_kind  ex,
struct breakpoint b,
struct bp_location **  last_loc 
)
static
static void print_recreate_catch_assert ( struct breakpoint b,
struct ui_file fp 
)
static

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

References ada_catch_assert, and print_recreate_exception().

Referenced by initialize_ada_catchpoint_ops().

static void print_recreate_catch_exception ( struct breakpoint b,
struct ui_file fp 
)
static

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

References ada_catch_exception, and print_recreate_exception().

Referenced by initialize_ada_catchpoint_ops().

static void print_recreate_catch_exception_unhandled ( struct breakpoint b,
struct ui_file fp 
)
static
static void print_recreate_exception ( enum ada_exception_catchpoint_kind  ex,
struct breakpoint b,
struct ui_file fp 
)
static
static void re_set_catch_assert ( struct breakpoint b)
static

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

References ada_catch_assert, and re_set_exception().

Referenced by initialize_ada_catchpoint_ops().

static void re_set_catch_exception ( struct breakpoint b)
static

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

References ada_catch_exception, and re_set_exception().

Referenced by initialize_ada_catchpoint_ops().

static void re_set_catch_exception_unhandled ( struct breakpoint b)
static

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

References ada_catch_exception_unhandled, and re_set_exception().

Referenced by initialize_ada_catchpoint_ops().

static void re_set_exception ( enum ada_exception_catchpoint_kind  ex,
struct breakpoint b 
)
static
static int remove_extra_symbols ( struct ada_symbol_info syms,
int  nsyms 
)
static
static int remove_irrelevant_renamings ( struct ada_symbol_info syms,
int  nsyms,
const struct block current_block 
)
static
static void replace_operator_with_call ( struct expression **  expp,
int  pc,
int  nargs,
int  oplen,
struct symbol sym,
const struct block block 
)
static
static void resolve ( struct expression **  expp,
int  void_context_p 
)
static

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

References builtin_type(), builtin_type::builtin_void, and resolve_subexp().

static struct value * resolve_subexp ( struct expression **  expp,
int pos,
int  deprocedure_p,
struct type context_type 
)
static
static int return_match ( struct type func_type,
struct type context_type 
)
static
static int scalar_type_p ( struct type type)
static

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

References TYPE_CODE, TYPE_CODE_ENUM, TYPE_CODE_FLT, TYPE_CODE_INT, and TYPE_CODE_RANGE.

Referenced by possible_user_operator_p().

static DOUBLEST scaling_factor ( struct type type)
static

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

References DOUBLEST_SCAN_FORMAT, encoding, and fixed_type_info().

Referenced by ada_fixed_to_float(), and ada_float_to_fixed().

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

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

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

Referenced by to_fixed_range_type().

static void set_ada_command ( char *  arg,
int  from_tty 
)
static

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

References _, all_commands, gdb_stdout, help_list(), and printf_unfiltered().

Referenced by _initialize_ada_language().

static int should_stop_exception ( const struct bp_location bl)
static
static int should_use_wild_match ( const char *  lookup_name)
static
static void show_ada_command ( char *  args,
int  from_tty 
)
static

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

References cmd_show_list().

Referenced by _initialize_ada_language().

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

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

References encoded_ordered_before(), ada_symbol_info::sym, and SYMBOL_LINKAGE_NAME.

Referenced by user_select_syms().

static void sort_remove_dups_ada_exceptions_list ( VEC(ada_exc_info)**  exceptions,
int  skip 
)
static

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

References compare_ada_exception_info(), qsort, VEC_address, VEC_length, and VEC_truncate.

Referenced by VEC().

static struct symbol * standard_lookup ( const char *  name,
const struct block block,
domain_enum  domain 
)
static
static struct type * static_unwrap_type ( struct type type)
static
static void symbol_completion_add ( VEC(char_ptr)**  sv,
const char *  sym_name,
const char *  text,
int  text_len,
const char *  orig_text,
const char *  word,
int  wild_match_p,
int  encoded_p 
)
static

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

References symbol_completion_match(), VEC_safe_push, word, and xmalloc().

Referenced by VEC().

static const char* symbol_completion_match ( const char *  sym_name,
const char *  text,
int  text_len,
int  wild_match_p,
int  encoded_p 
)
static
static int symbols_are_identical_enums ( struct ada_symbol_info syms,
int  nsyms 
)
static
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 8238 of file ada-lang.c.

References ada_template_to_fixed_record_type_1().

Referenced by to_fixed_record_type().

static struct type* template_to_static_fixed_type ( struct type type0)
static
static struct value* thin_data_pntr ( struct value val)
static
static struct type* thin_descriptor_type ( struct type type)
static
static struct type * to_fixed_array_type ( struct type type0,
struct value dval,
int  ignore_too_big 
)
static
static struct type * to_fixed_range_type ( struct type raw_type,
struct value dval 
)
static
static struct type* to_fixed_record_type ( struct type type0,
const gdb_byte valaddr,
CORE_ADDR  address,
struct value dval 
)
static
static struct type * to_fixed_variant_branch_type ( struct type var_type0,
const gdb_byte valaddr,
CORE_ADDR  address,
struct value dval 
)
static
static struct type* to_record_with_fixed_variant_part ( struct type type,
const gdb_byte valaddr,
CORE_ADDR  address,
struct value dval0 
)
static
static struct type * to_static_fixed_type ( struct type type0)
static
static struct type* type_from_tag ( struct value tag)
static
static ULONGEST umax_of_size ( int  size)
static

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

Referenced by max_of_type().

static struct value * unwrap_value ( struct value val)
static
int user_select_syms ( struct ada_symbol_info syms,
int  nsyms,
int  max_results 
)
static void value_assign_to_component ( struct value container,
struct value component,
struct value val 
)
static
static CORE_ADDR value_pointer ( struct value value,
struct type type 
)
static
static struct value * value_pos_atr ( struct type type,
struct value arg 
)
static

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

References pos_atr(), and value_from_longest().

Referenced by ada_evaluate_subexp().

static struct value * value_subscript_packed ( struct value arr,
int  arity,
struct value **  ind 
)
static
static struct value* value_tag_from_contents_and_address ( struct type type,
const gdb_byte valaddr,
CORE_ADDR  address 
)
static
static struct value * value_val_atr ( struct type type,
struct value arg 
)
static
static int variant_field_index ( struct type type)
static
static VEC ( char_ptr  )
static
VEC ( ada_exc_info  )
static
static int wild_match ( const char *  name,
const char *  patn 
)
static
static char* xget_renaming_scope ( struct type renaming_type)
static

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

References name, type_name_no_tag(), and xmalloc().

Referenced by old_renaming_is_invisible().

Variable Documentation

initialize_file_ftype _initialize_ada_language
const struct bp_location_ops ada_catchpoint_location_ops
static
Initial value:
=
{
}
static void ada_catchpoint_location_dtor(struct bp_location *bl)
Definition: ada-lang.c:12000

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

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

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

Referenced by ada_get_gdb_completer_word_break_characters().

const struct exp_descriptor ada_exp_descriptor
static
Initial value:
= {
}
static void ada_operator_length(const struct expression *exp, int pc, int *oplenp, int *argsp)
Definition: ada-lang.c:13280
static void ada_print_subexp(struct expression *exp, int *pos, struct ui_file *stream, enum precedence prec)
Definition: ada-lang.c:13471
static struct value * ada_evaluate_subexp(struct type *, struct expression *, int *, enum noside)
Definition: ada-lang.c:10183
static int ada_dump_subexp_body(struct expression *exp, struct ui_file *stream, int elt)
Definition: ada-lang.c:13399
static char * ada_op_name(enum exp_opcode)
Definition: ada-lang.c:13337
static int ada_operator_check(struct expression *exp, int pos, int(*objfile_func)(struct objfile *objfile, void *data), void *data)
Definition: ada-lang.c:13309

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

int ada_ignore_descriptive_types_p = 0
static

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

Referenced by _initialize_ada_language(), and find_parallel_type_by_descriptive_type().

const struct inferior_data* ada_inferior_data
static

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

const struct language_defn ada_language_defn

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

const char ADA_MAIN_PROGRAM_SYMBOL_NAME[] = "__gnat_ada_main_program_name"
static

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

Referenced by ada_main_name().

const struct op_print ada_op_print_tab[]
static

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

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

Referenced by is_ada_operator().

const struct program_space_data* ada_pspace_data_handle
static

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

Referenced by _initialize_ada_language(), and get_ada_pspace_data().

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

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

char* bound_name[]
static
Initial value:
= {
"LB0", "UB0", "LB1", "UB1", "LB2", "UB2", "LB3", "UB3",
"LB4", "UB4", "LB5", "UB5", "LB6", "UB6", "LB7", "UB7"
}

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

Referenced by desc_index_type(), and desc_one_bound().

struct breakpoint_ops catch_assert_breakpoint_ops
static

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

Referenced by ada_exception_breakpoint_ops(), and initialize_ada_catchpoint_ops().

struct breakpoint_ops catch_exception_breakpoint_ops
static

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

Referenced by ada_exception_breakpoint_ops(), and initialize_ada_catchpoint_ops().

struct breakpoint_ops catch_exception_unhandled_breakpoint_ops
static

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

Referenced by ada_exception_breakpoint_ops(), and initialize_ada_catchpoint_ops().

struct htab* decoded_names_store
static

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

Referenced by _initialize_ada_language(), and ada_decode_symbol().

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

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

Referenced by ada_exception_support_info_sniffer().

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",
}
static CORE_ADDR ada_unhandled_exception_name_addr_from_raise(void)
Definition: ada-lang.c:11863

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

Referenced by ada_exception_support_info_sniffer().

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

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

Referenced by is_known_support_routine().

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

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

Referenced by is_known_support_routine().

struct cmd_list_element* maint_set_ada_cmdlist
static

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

struct cmd_list_element* maint_show_ada_cmdlist
static

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

struct cmd_list_element* set_ada_list
static

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

struct cmd_list_element* show_ada_list
static

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

char* 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_exception_catchpoint_cond_string().

struct obstack symbol_list_obstack
static

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

Referenced by _initialize_ada_language(), and ada_lookup_symbol_list_worker().

int trust_pad_over_xvs = 1
static

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

unsigned int varsize_limit
static
int warning_limit = 2
static

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

Referenced by lim_warning().

int warnings_issued = 0
static

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

Referenced by lim_warning(), and parse().