35 #include "aout/stab_gnu.h" 37 #include "aout/aout64.h" 174 _(
"bad register number %d (max %d) in symbol %s"),
175 regnum, num_regs - 1, sym);
206 #define STABS_CONTINUE(pp,objfile) \ 208 if (**(pp) == '\\' || (**(pp) == '?' && (*(pp))[1] == '\0')) \ 209 *(pp) = next_symbol_text (objfile); \ 227 #define INITIAL_TYPE_VECTOR_LENGTH 160 237 static struct type **
240 int filenum = typenums[0];
241 int index = typenums[1];
253 _(
"Invalid symbol data: type number " 254 "(%d,%d) out of range at symtab pos %d."),
268 static struct type *temp_type;
302 static struct type *temp_type;
304 warning (
_(
"GDB internal error: bad real_filenum"));
313 f_orig_length = f->
length;
314 if (index >= f_orig_length)
316 while (index >= f->
length)
323 (f->
length - f_orig_length) * sizeof (
struct type *));
325 return (&f->
vector[index]);
338 struct type **type_addr;
340 if (typenums[0] == -1)
364 const struct floatformat **format;
393 for (ii = 0; ii < stabs->
count; ++ii)
396 pp = (
char *) strchr (
name,
':');
401 pp = (
char *) strchr (pp,
':');
424 if (*(pp - 1) ==
'F' || *(pp - 1) ==
'f')
441 if (*(pp - 1) ==
'F' || *(pp - 1) ==
'f')
490 #define VISIBILITY_PRIVATE '0' 491 #define VISIBILITY_PROTECTED '1' 492 #define VISIBILITY_PUBLIC '2' 493 #define VISIBILITY_IGNORE '9' 505 #define MAX_CHUNK_REFS 100 506 #define REF_CHUNK_SIZE (MAX_CHUNK_REFS * sizeof (struct ref_map)) 507 #define REF_MAP_SIZE(ref_chunk) ((ref_chunk) * REF_CHUNK_SIZE) 579 while (*p && isdigit (*p))
581 refnum = refnum * 10 + *p -
'0';
677 _(
"Bad stabs string '%s'"),
string);
684 nameless = (p ==
string || ((
string[0] ==
' ') && (
string[1] ==
':')));
741 char *
name = (
char *) alloca (p -
string + 1);
743 memcpy (
name,
string, p -
string);
747 if (!new_name.empty ())
750 new_name.c_str (), new_name.length (),
771 if (!strchr (
"cfFGpPrStTvVXCR", *p))
773 if (isdigit (*p) || *p ==
'(' || *p ==
'-')
802 struct type *dbl_type;
847 if (quote !=
'\'' && quote !=
'"')
857 while (*p && *p != quote)
859 if (*p ==
'\\' && p[1] == quote)
861 string_local[ind] = (
gdb_byte) quote;
867 string_local[ind] = (
gdb_byte) (*p);
882 string_local[ind] = 0;
892 memcpy (string_value, string_local, ind + 1);
952 process_function_types:
969 process_prototype_types:
995 if (p[0] ==
'0' && p[1] ==
'\0')
1021 goto process_function_types;
1111 goto process_prototype_types;
1194 if (msym.minsym != NULL)
1332 synonym = *p ==
't';
1359 *typedef_sym = *sym;
1386 if (msym.minsym != NULL)
1489 static struct type *
1493 _(
"couldn't parse type; debugger out of date?"));
1497 while (**pp !=
'\0')
1503 if ((*pp)[-1] ==
'\\' || (*pp)[-1] ==
'?')
1522 static struct type *
1528 char type_descriptor;
1543 if ((**pp >=
'0' && **pp <=
'9')
1575 typenums[0] = typenums[1] = -1;
1580 type_descriptor = (*pp)[-1];
1581 switch (type_descriptor)
1595 const char *from, *p, *q1, *q2;
1614 _(
"Unrecognized cross-reference type `%c'"),
1621 q1 = strchr (*pp,
'<');
1622 p = strchr (*pp,
':');
1625 if (q1 && p > q1 && p[1] ==
':')
1627 int nesting_level = 0;
1629 for (q2 = q1; *q2; q2++)
1633 else if (*q2 ==
'>')
1635 else if (*q2 ==
':' && nesting_level == 0)
1645 char *
name = (
char *) alloca (p - *pp + 1);
1647 memcpy (
name, *pp, p - *pp);
1648 name[p - *pp] =
'\0';
1651 if (!new_name.empty ())
1656 new_name.length ());
1659 if (type_name == NULL)
1661 char *to = type_name = (
char *)
1681 for (i = 0; i < ppt->
nsyms; i++)
1692 if (typenums[0] != -1)
1743 else if (type_size >= 0 || is_string)
1820 const char *type_start = (*pp) - 1;
1827 struct type_list *next;
1831 while (**pp && **pp !=
'#')
1834 struct type_list *newobj = XALLOCA (
struct type_list);
1835 newobj->type = arg_type;
1836 newobj->next = arg_types;
1845 _(
"Prototyped function type didn't " 1846 "end arguments with `#':\n%s"),
1853 && ! arg_types->next
1859 num_args *
sizeof (
struct field));
1863 struct type_list *t;
1868 for (t = arg_types, i = num_args - 1; t; t = t->next, i--)
1891 if (isdigit (**pp) || **pp ==
'(' || **pp ==
'-')
1896 struct type *memtype;
1910 const char *attr = *pp;
1913 while (**pp !=
';' && **pp !=
'\0')
1923 type_size = atoi (attr + 1);
1949 if ((*pp)[0] ==
'#')
1952 struct type *return_type;
1956 if (*(*pp)++ !=
';')
1958 _(
"invalid (minimal) member type " 1959 "data format at symtab pos %d."),
1962 if (typenums[0] != -1)
1968 struct type *return_type;
1990 if (typenums[0] != -1)
1998 if (typenums[0] != -1)
2005 if (typenums[0] != -1)
2012 if (typenums[0] != -1)
2021 switch (type_descriptor)
2050 if (typenums[0] != -1)
2062 warning (
_(
"GDB internal error, type is NULL in stabsread.c."));
2067 if (type_size != -1)
2078 static struct type *
2081 struct type **negative_types
2085 #define NUMBER_RECOGNIZED 34 2086 struct type *rettype = NULL;
2094 if (!negative_types)
2102 if (negative_types[-typenum] != NULL)
2103 return negative_types[-typenum];
2105 #if TARGET_CHAR_BIT != 8 2106 #error This code wrong for TARGET_CHAR_BIT not 8 2238 negative_types[-typenum] = rettype;
2254 if (method_name == NULL)
2257 _(
"Method has bad physname %s\n"), physname);
2288 struct next_fnfield *next;
2292 struct type *look_ahead_type;
2294 struct next_fnfield *new_sublist;
2317 look_ahead_type = NULL;
2334 static char opname[32] =
"op$";
2335 char *o = opname + 3;
2346 main_fn_name =
savestring (opname, o - opname);
2360 new_sublist =
XCNEW (
struct next_fnfield);
2364 if (look_ahead_type == NULL)
2379 new_sublist->fn_field.type = look_ahead_type;
2380 look_ahead_type = NULL;
2398 if (
TYPE_STUB (new_sublist->fn_field.type))
2402 new_sublist->fn_field.is_stub = 1;
2405 new_sublist->fn_field.physname =
savestring (*pp, p - *pp);
2412 new_sublist->fn_field.is_private = 1;
2415 new_sublist->fn_field.is_protected = 1;
2423 new_sublist->fn_field.is_const = 0;
2424 new_sublist->fn_field.is_volatile = 0;
2428 new_sublist->fn_field.is_const = 1;
2429 new_sublist->fn_field.is_volatile = 0;
2433 new_sublist->fn_field.is_const = 0;
2434 new_sublist->fn_field.is_volatile = 1;
2438 new_sublist->fn_field.is_const = 1;
2439 new_sublist->fn_field.is_volatile = 1;
2449 _(
"const/volatile indicator missing, got '%c'"),
2466 new_sublist->fn_field.voffset =
2472 if (**pp ==
';' || **pp ==
'\0')
2475 new_sublist->fn_field.fcontext = 0;
2489 new_sublist->fn_field.fcontext = look_ahead_type;
2498 look_ahead_type = NULL;
2506 int slen = strlen (main_fn_name);
2520 if (!(strncmp (new_sublist->fn_field.physname,
2521 main_fn_name, slen) == 0
2522 && new_sublist->fn_field.physname[slen] ==
'_' 2523 && new_sublist->fn_field.physname[slen + 1] ==
'_'))
2525 new_sublist->fn_field.is_stub = 1;
2533 _(
"member function type missing, got '%c'"),
2539 new_sublist->fn_field.voffset = 0;
2540 new_sublist->fn_field.fcontext = 0;
2544 new_sublist->next = sublist;
2545 sublist = new_sublist;
2549 while (**pp !=
';' && **pp !=
'\0');
2556 if (
strcmp_iw (main_fn_name,
"__base_ctor ") == 0
2557 ||
strcmp_iw (main_fn_name,
"__base_dtor ") == 0
2558 || strcmp (main_fn_name,
"__deleting_dtor") == 0)
2560 xfree (main_fn_name);
2565 int has_destructor = 0, has_other = 0;
2567 struct next_fnfield *tmp_sublist;
2625 tmp_sublist = sublist;
2626 while (tmp_sublist != NULL)
2628 if (tmp_sublist->fn_field.is_stub)
2630 if (tmp_sublist->fn_field.physname[0] ==
'_' 2631 && tmp_sublist->fn_field.physname[1] ==
'Z')
2639 tmp_sublist = tmp_sublist->next;
2642 if (has_destructor && has_other)
2645 struct next_fnfield *last_sublist;
2660 sizeof (
struct fn_field) * has_destructor);
2661 tmp_sublist = sublist;
2662 last_sublist = NULL;
2664 while (tmp_sublist != NULL)
2668 tmp_sublist = tmp_sublist->next;
2673 = tmp_sublist->fn_field;
2675 last_sublist->next = tmp_sublist->next;
2677 sublist = tmp_sublist->next;
2678 last_sublist = tmp_sublist;
2679 tmp_sublist = tmp_sublist->next;
2684 fip->
fnlist = destr_fnlist;
2686 length -= has_destructor;
2696 char *new_method_name =
2699 if (new_method_name != NULL
2700 && strcmp (new_method_name,
2704 xfree (main_fn_name);
2707 xfree (new_method_name);
2713 "~", main_fn_name, (
char *)NULL);
2714 xfree (main_fn_name);
2718 char dem_opname[256];
2722 dem_opname, DMGL_ANSI);
2730 strlen (dem_opname)));
2731 xfree (main_fn_name);
2736 sizeof (
struct fn_field) * length);
2738 sizeof (
struct fn_field) * length);
2739 for (i = length; (i--, sublist); sublist = sublist->next)
2746 fip->
fnlist = new_fnlist;
2776 struct type *context;
2810 _(
"C++ abbreviated type name " 2811 "unknown at symtab pos %d"),
2816 name, (
char *) NULL);
2822 "INVALID_CPLUSPLUS_ABBREV",
2910 else if (**pp !=
',')
3025 while (**pp !=
';' && **pp !=
'\0')
3055 while (*p !=
':' && *p !=
'\0')
3069 if (p[0] ==
':' && p[1] ==
':')
3172 _(
"Unknown virtual character `%c' for baseclass"),
3190 _(
"Unknown visibility `%c' for baseclass"),
3250 if (**pp ==
'=' || **pp ==
'+' || **pp ==
'-')
3258 if (*(*pp)++ ==
'%')
3271 while (*p !=
'\0' && *p !=
';')
3299 _(
"virtual function table pointer " 3300 "not found when defining class `%s'"),
3340 int non_public_fields = 0;
3353 non_public_fields++;
3366 if (non_public_fields)
3388 while (nfields-- > 0)
3412 _(
"Unknown visibility `%c' for field"),
3428 const char *
name =
"";
3429 const char *kind =
"";
3454 _(
"struct/union type gets multiply defined: %s%s"), kind,
name);
3484 while (ntype !=
type)
3508 static struct type *
3582 static struct type *
3606 if (!(**pp >=
'0' && **pp <=
'9') && **pp !=
'-')
3616 if (!(**pp >=
'0' && **pp <=
'9') && **pp !=
'-')
3645 static struct type *
3659 int unsigned_enum = 1;
3671 o_nsyms = osyms ? osyms->
nsyms : 0;
3688 while (**pp && **pp !=
';' && **pp !=
',')
3737 for (syms = *symlist, n = nsyms - 1; syms; syms = syms->
next)
3739 int last = syms == osyms ? o_nsyms : 0;
3740 int j = syms->
nsyms;
3742 for (; --j >= last; --n)
3771 static struct type *
3777 int boolean_type = 0;
3800 else if (**pp ==
'b')
3847 static struct type *
3854 struct type *rettype;
3869 if (details == NF_COMPLEX || details == NF_COMPLEX16
3870 || details == NF_COMPLEX32)
3898 int twos_complement_bits)
3900 const char *p = *pp;
3909 int twos_complement_representation = 0;
3929 if (sign > 0 && radix == 8 && twos_complement_bits > 0)
3937 while ((c = *p1) >=
'0' && c <
'8')
3941 if (len > twos_complement_bits / 3
3942 || (twos_complement_bits % 3 == 0
3943 && len == twos_complement_bits / 3))
3947 sign_bit = (twos_complement_bits % 3 + 2) % 3;
3949 if (c & (1 << sign_bit))
3952 twos_complement_representation = 1;
3960 while ((c = *p++) >=
'0' && c < (
'0' + radix))
3962 if (n <= upper_limit)
3964 if (twos_complement_representation)
3970 long sn = c -
'0' - ((2 * (c -
'0')) | (2 << sign_bit));
4001 else if (c ==
'2' || c ==
'3')
4022 if (radix == 8 && twos_complement_bits > 0 && nbits > twos_complement_bits)
4046 if (sign == -1 && !twos_complement_representation)
4061 static struct type *
4066 const char *orig_pp = *pp;
4071 struct type *result_type;
4072 struct type *index_type = NULL;
4078 self_subrange = (rangenums[0] == typenums[0] &&
4079 rangenums[1] == typenums[1]);
4096 if (n2bits == -1 || n3bits == -1)
4100 goto handle_true_range;
4103 if (n2bits != 0 || n3bits != 0)
4105 char got_signed = 0;
4106 char got_unsigned = 0;
4113 if (n2bits <= type_size && n3bits <= type_size)
4115 if (n2bits == type_size && n2bits > n3bits)
4122 else if ((n2bits == 0 && n2 == 0) && n3bits != 0)
4130 else if ((n2bits != 0 && n3bits != 0 && n2bits == n3bits + 1)
4131 || (n2bits != 0 && n3bits == 0
4139 if (got_signed || got_unsigned)
4146 if (self_subrange && n2 == 0 && n3 == 0)
4161 if (n3 == 0 && n2 > 0)
4163 struct type *float_type
4174 else if (n2 == 0 && n3 == -1)
4176 int bits = type_size;
4191 else if (self_subrange && n2 == 0 && n3 == 127)
4217 for (bytes = 0; (
bits & 0xff) == 0xff; bytes++)
4220 && ((bytes - 1) & bytes) == 0)
4227 else if (n3 == 0 && n2 < 0
4232 else if (n2 == -n3 - 1)
4238 if (n3 == 0x7fffffff)
4250 if (index_type == NULL)
4256 _(
"base type %d of range type is not defined"), rangenums[1]);
4263 return (result_type);
4270 static struct field *
4275 struct type *types[1024];
4309 for (i = 0; i < n; i++)
4310 rval[i].
type = types[i];
4340 _(
"Invalid symbol data: common block within common block"));
4566 if (type_name == NULL)
4573 for (i = 0; i < ppt->
nsyms; i++)
4595 _(
"forward-referenced types left unresolved, " 4625 struct symbol *sym, *prev;
4626 struct objfile *resolve_objfile;
4723 if (resolve_objfile ==
objfile)
4747 _(
"%s: common block `%s' from " 4748 "global_sym_chain unresolved"),
4821 const char *s =
name;
4823 if (s[0] ==
'-' || *s ==
'+')
4828 error (
_(
"invalid symbol name \"%s\""),
name);
4830 s = strchr (s,
']');
4833 error (
_(
"invalid symbol name \"%s\""),
name);
4835 return strchr (s,
':');
4839 return strchr (s,
':');
void set_type_vptr_basetype(struct type *type, struct type *basetype)
int gdbarch_stab_reg_to_regnum(struct gdbarch *gdbarch, int stab_regnr)
#define VISIBILITY_PRIVATE
#define VISIBILITY_IGNORE
static int attach_fields_to_type(struct field_info *, struct type *, struct objfile *)
#define STABS_CONTINUE(pp, objfile)
void stabsread_new_init(void)
const struct floatformat ** gdbarch_floatformat_for_type(struct gdbarch *gdbarch, const char *name, int length)
#define OBSTACK_CALLOC(OBSTACK, NUMBER, TYPE)
void common_block_end(struct objfile *objfile)
struct type * create_static_range_type(struct type *result_type, struct type *index_type, LONGEST low_bound, LONGEST high_bound)
const char vtbl_ptr_name[]
#define SYMBOL_PRINT_NAME(symbol)
struct type * init_type(struct objfile *objfile, enum type_code code, int bit, const char *name)
static void read_one_struct_field(struct field_info *, const char **, const char *, struct type *, struct objfile *)
static int attach_fn_fields_to_type(struct field_info *, struct type *)
#define TYPE_FIELD_PRIVATE_BITS(thistype)
static void add_undefined_type_noname(struct type *type, int typenums[2])
#define MSYMBOL_LINKAGE_NAME(symbol)
static void add_undefined_type_1(struct type *type)
struct fn_field * fn_fields
void replace_type(struct type *ntype, struct type *type)
#define TYPE_FIELD_NAME(thistype, n)
#define TYPE_N_BASECLASSES(thistype)
int hashname(const char *name)
const struct floatformat * floatformats_ieee_double[BFD_ENDIAN_UNKNOWN]
struct next_fnfieldlist * fnlist
int strcmp_iw(const char *string1, const char *string2)
static int process_reference(const char **string)
void _initialize_stabsread(void)
#define TYPE_NFN_FIELDS(thistype)
void add_symbol_to_list(struct symbol *symbol, struct pending **listhead)
int gdbarch_int_bit(struct gdbarch *gdbarch)
static void fix_common_block(struct symbol *, CORE_ADDR)
EXTERN unsigned char processing_gcc_compilation
#define BMSYMBOL_VALUE_ADDRESS(symbol)
struct type * builtin_double
static char * common_block_name
void warning(const char *fmt,...)
static int read_member_functions(struct field_info *, const char **, struct type *, struct objfile *)
static void scan(struct macro_buffer *dest, struct macro_buffer *src, struct macro_name_list *no_loop, macro_lookup_ftype *lookup_func, void *lookup_baton)
struct type * create_array_type(struct type *result_type, struct type *element_type, struct type *range_type)
void set_type_vptr_fieldno(struct type *type, int fieldno)
#define TYPE_NAME(thistype)
#define TYPE_FIELD_ARTIFICIAL(thistype, n)
#define INIT_CPLUS_SPECIFIC(type)
static struct ref_map * ref_map
void scan_file_globals(struct objfile *objfile)
static struct type * read_range_type(const char **, int[2], int, struct objfile *)
#define TYPE_FIELD_VIRTUAL_BITS(thistype)
#define SYMBOL_SET_LINKAGE_NAME(symbol, linkage_name)
static struct type * dbx_alloc_type(int[2], struct objfile *)
const struct objfile_type * objfile_type(struct objfile *objfile)
#define SYMBOL_CLASS(symbol)
void * memset(T *s, int c, size_t n)=delete
struct type * make_function_type(struct type *type, struct type **typeptr)
EXTERN struct pending * file_symbols
struct type * make_reference_type(struct type *type, struct type **typeptr, enum type_code refcode)
#define TYPE_FIELD_PROTECTED_BITS(thistype)
void smash_to_method_type(struct type *type, struct type *self_type, struct type *to_type, struct field *args, int nargs, int varargs)
struct symbol * symbol[PENDINGSIZE]
struct type * make_pointer_type(struct type *type, struct type **typeptr)
static struct type ** dbx_lookup_type(int typenums[2], struct objfile *objfile)
static long read_huge_number(const char **, int, int *, int)
static int type_vector_length
static int read_type_number(const char **, int *)
int gdbarch_num_regs(struct gdbarch *gdbarch)
#define TYPE_FIELD_IGNORE_BITS(thistype)
#define SET_FIELD_BITPOS(thisfld, bitpos)
struct type * builtin_long
#define TYPE_FIELD(thistype, n)
#define bits(obj, st, fn)
static struct type * dbx_init_float_type(struct objfile *objfile, int bits)
#define TYPE_PROTOTYPED(t)
#define TYPE_FIELD_TYPE(thistype, n)
static struct pending * common_block
static struct type * error_type(const char **, struct objfile *)
int symbol_reference_defined(const char **string)
#define VISIBILITY_PROTECTED
int gdbarch_stabs_argument_has_addr(struct gdbarch *gdbarch, struct type *type)
char * method_name_from_physname(const char *physname)
int gdbarch_believe_pcc_promotion(struct gdbarch *gdbarch)
struct type * init_character_type(struct objfile *objfile, int bit, int unsigned_p, const char *name)
static struct type * read_type(const char **, struct objfile *)
void ref_add(int refnum, struct symbol *sym, const char *stabs, CORE_ADDR value)
static void set_length_in_type_chain(struct type *type)
EXTERN struct subfile * current_subfile
int gdbarch_num_pseudo_regs(struct gdbarch *gdbarch)
void null_cleanup(void *arg)
#define TYPE_VPTR_FIELDNO(thistype)
static const struct symbol_register_ops stab_register_funcs
int is_cplus_marker(int c)
struct type * init_integer_type(struct objfile *objfile, int bit, int unsigned_p, const char *name)
void finish_global_stabs(struct objfile *objfile)
#define TYPE_INSTANCE_FLAGS(thistype)
EXTERN unsigned int symnum
#define SYMBOL_ACLASS_INDEX(symbol)
struct type * check_typedef(struct type *type)
#define SYMBOL_VALUE_ADDRESS(symbol)
struct type * create_set_type(struct type *result_type, struct type *domain_type)
static void reg_value_complaint(int regnum, int num_regs, const char *sym)
#define SYMBOL_DOMAIN(symbol)
EXTERN struct pending * global_symbols
void common_block_start(const char *name, struct objfile *objfile)
int gdbarch_sp_regnum(struct gdbarch *gdbarch)
objfile(bfd *, const char *, objfile_flags)
#define SYMBOL_SET_LANGUAGE(symbol, language, obstack)
static const char * find_name_end(const char *name)
static int undef_types_allocated
static int undef_types_length
static struct type ** type_vector
struct type * builtin_char
char * obconcat(struct obstack *obstackp,...)
static void cleanup_undefined_types_1(void)
#define ALLOCATE_CPLUS_STRUCT_TYPE(type)
void cleanup_undefined_stabs_types(struct objfile *objfile)
static int read_tilde_fields(struct field_info *, const char **, struct type *, struct objfile *)
enum bfd_endian gdbarch_byte_order(struct gdbarch *gdbarch)
struct cleanup * make_cleanup(make_cleanup_ftype *function, void *arg)
#define SET_TYPE_FIELD_IGNORE(thistype, n)
struct gdbarch * get_objfile_arch(const struct objfile *objfile)
EXTERN struct pending * local_symbols
enum dtor_kinds is_destructor_name(const char *name)
#define TYPE_TARGET_STUB(t)
#define next_symbol_text(objfile)
static struct symbol * current_symbol
#define SET_TYPE_FIELD_PRIVATE(thistype, n)
static struct type * read_struct_type(const char **, struct type *, enum type_code, struct objfile *)
bool target_float_from_string(gdb_byte *addr, const struct type *type, const std::string &string)
struct type * alloc_type(struct objfile *objfile)
static struct type * rs6000_builtin_type(int, struct objfile *)
#define SYMBOL_LINE(symbol)
EXTERN int previous_stab_code
#define SYMBOL_LINKAGE_NAME(symbol)
void stabsread_clear_cache(void)
#define complaint(COMPLAINTS, FMT,...)
#define SET_FIELD_ENUMVAL(thisfld, enumval)
static int noname_undefs_length
static void cleanup_undefined_types_noname(struct objfile *objfile)
static char * stabs_method_name_from_physname(const char *physname)
#define TYPE_BASECLASS(thistype, index)
static int read_cpp_abbrev(struct field_info *, const char **, struct type *, struct objfile *)
#define TYPE_FIELDS(thistype)
const char * objfile_name(const struct objfile *objfile)
#define FIELD_BITSIZE(thisfld)
static int read_baseclasses(struct field_info *, const char **, struct type *, struct objfile *)
#define TYPE_FIELD_BITSIZE(thistype, n)
#define N_HEADER_FILES(OBJFILE)
static void invalid_cpp_abbrev_complaint(const char *arg1)
static int read_struct_fields(struct field_info *, const char **, struct type *, struct objfile *)
EXTERN int n_this_object_header_files
static struct type * read_sun_builtin_type(const char **, int[2], struct objfile *)
#define SYMBOL_VALUE(symbol)
#define SYMBOL_VALUE_CHAIN(symbol)
struct type * builtin_int
unsigned long hash(const void *addr, int length)
void smash_to_memberptr_type(struct type *type, struct type *self_type, struct type *to_type)
EXTERN struct pending_stabs * global_stabs
const struct floatformat * floatformats_ieee_single[BFD_ENDIAN_UNKNOWN]
static int stab_regparm_index
PTR xrealloc(PTR ptr, size_t size)
#define REF_MAP_SIZE(ref_chunk)
struct symbol * define_symbol(CORE_ADDR valu, const char *string, int desc, int type, struct objfile *objfile)
void cp_scan_for_anonymous_namespaces(const struct symbol *const symbol, struct objfile *const objfile)
#define TYPE_CHAIN(thistype)
#define SYMBOL_SET_NAMES(symbol, linkage_name, len, copy_name, objfile)
#define MSYMBOL_TYPE(msymbol)
struct type * make_cv_type(int cnst, int voltl, struct type *type, struct type **typeptr)
#define SET_TYPE_FIELD_VIRTUAL(thistype, n)
struct next_fnfieldlist * next
#define TYPE_TARGET_TYPE(thistype)
struct symbol * allocate_symbol(struct objfile *objfile)
#define VISIBILITY_PUBLIC
void set_type_self_type(struct type *type, struct type *self_type)
#define INITIAL_TYPE_VECTOR_LENGTH
#define TYPE_CODE(thistype)
#define HEADER_FILES(OBJFILE)
#define TYPE_BASECLASS_NAME(thistype, index)
struct complaints * symfile_complaints
const char * gdbarch_static_transform_name(struct gdbarch *gdbarch, const char *name)
int gdbarch_long_long_bit(struct gdbarch *gdbarch)
static const char vptr_name[]
#define MSYMBOL_SECTION(symbol)
static void stabs_general_complaint(const char *arg1)
EXTERN int * this_object_header_files
static void add_undefined_type(struct type *, int[2])
int register_symbol_register_impl(enum address_class aclass, const struct symbol_register_ops *ops)
#define TYPE_NFIELDS(thistype)
static struct type ** undef_types
struct type * init_complex_type(struct objfile *objfile, const char *name, struct type *target_type)
#define SYMBOL_LANGUAGE(symbol)
static struct nat * noname_undefs
static struct type * read_sun_floating_type(const char **, int[2], struct objfile *)
std::string cp_canonicalize_string(const char *string)
static void complain_about_struct_wipeout(struct type *type)
#define SET_TYPE_FIELD_PROTECTED(thistype, n)
#define TYPE_TAG_NAME(type)
static int stab_reg_to_regnum(struct symbol *sym, struct gdbarch *gdbarch)
#define ALL_OBJFILE_MSYMBOLS(objfile, m)
static const char vb_name[]
char * savestring(const char *ptr, size_t len)
struct type * builtin_unsigned_int
#define NUMBER_RECOGNIZED
#define TYPE_ALLOC(t, size)
#define SYMBOL_TYPE(symbol)
struct type * allocate_stub_method(struct type *type)
struct symbol * find_symbol_in_list(struct pending *list, char *name, int length)
struct type * init_boolean_type(struct objfile *objfile, int bit, int unsigned_p, const char *name)
static struct type * read_enum_type(const char **, struct type *, struct objfile *)
static struct type * read_array_type(const char **, struct type *, struct objfile *)
#define TYPE_FN_FIELDLISTS(thistype)
const char * type_name_no_tag(const struct type *type)
#define TYPE_LENGTH(thistype)
void stabsread_init(void)
static int common_block_i
static int noname_undefs_allocated
#define SYMBOL_SECTION(symbol)
#define FIELD_BITPOS(thisfld)
static const struct objfile_data * rs6000_builtin_type_data
#define SYMBOL_VALUE_BYTES(symbol)
int gdbarch_static_transform_name_p(struct gdbarch *gdbarch)
EXTERN int within_function
struct bound_minimal_symbol lookup_minimal_symbol(const char *name, const char *sfile, struct objfile *objf)
static void patch_block_stabs(struct pending *, struct pending_stabs *, struct objfile *)
static int stab_register_index
#define TYPE_SELF_TYPE(thistype)
void make_vector_type(struct type *array_type)
void error(const char *fmt,...)
struct symbol * ref_search(int refnum)
static struct field * read_args(const char **, int, struct objfile *, int *, int *)
struct type * lookup_pointer_type(struct type *type)
EXTERN struct symbol * global_sym_chain[HASHSIZE]
void do_cleanups(struct cleanup *old_chain)
#define MSYMBOL_VALUE_ADDRESS(objfile, symbol)
#define FIELD_TYPE(thisfld)
struct type * builtin_error
struct type * lookup_function_type(struct type *type)
#define SYMBOL_IS_ARGUMENT(symbol)
#define SET_FIELD_PHYSNAME(thisfld, name)
struct type * init_float_type(struct objfile *objfile, int bit, const char *name, const struct floatformat **floatformats)
struct fn_fieldlist fn_fieldlist