mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-27 03:51:15 +08:00
2002-01-15 Daniel Jacobowitz <drow@mvista.com>
* gdbtypes.h (struct type): Fix whitespace. Remove obsolete comment. Add ``artificial'' to ``union field_location''. * dwarf2read.c: Remove ad-hoc TYPE_FIELD_ARTIFICIAL. * buildsym.c (finish_block): Initialize TYPE_FIELD_ARTIFICIAL to 0. * mdebugread.c (parse_symbol): Likewise. * stabsread.c (define_symbol): Likewise. * hp-symtab-read.c (hpread_function_type): Likewise, instead of initializing TYPE_FIELD_BITPOS to n (obsolete). (hpread_doc_function_type): Likewise. * hpread.c (hpread_function_type): Likewise.
This commit is contained in:
parent
7fd6052758
commit
8176bb6dee
@ -1,3 +1,18 @@
|
||||
2002-01-20 Daniel Jacobowitz <drow@mvista.com>
|
||||
|
||||
* gdbtypes.h (struct type): Fix whitespace. Remove obsolete
|
||||
comment. Add ``artificial'' to ``union field_location''.
|
||||
|
||||
* dwarf2read.c: Remove ad-hoc TYPE_FIELD_ARTIFICIAL.
|
||||
|
||||
* buildsym.c (finish_block): Initialize TYPE_FIELD_ARTIFICIAL to 0.
|
||||
* mdebugread.c (parse_symbol): Likewise.
|
||||
* stabsread.c (define_symbol): Likewise.
|
||||
* hp-symtab-read.c (hpread_function_type): Likewise, instead of
|
||||
initializing TYPE_FIELD_BITPOS to n (obsolete).
|
||||
(hpread_doc_function_type): Likewise.
|
||||
* hpread.c (hpread_function_type): Likewise.
|
||||
|
||||
2002-01-20 Andrew Cagney <ac131313@redhat.com>
|
||||
|
||||
* configure.in (host_makefile_frag): Only require a host makefile
|
||||
|
@ -322,6 +322,7 @@ finish_block (struct symbol *symbol, struct pending **listhead,
|
||||
case LOC_BASEREG_ARG:
|
||||
case LOC_LOCAL_ARG:
|
||||
TYPE_FIELD_TYPE (ftype, iparams) = SYMBOL_TYPE (sym);
|
||||
TYPE_FIELD_ARTIFICIAL (ftype, iparams) = 0;
|
||||
iparams++;
|
||||
break;
|
||||
case LOC_UNDEF:
|
||||
|
@ -474,13 +474,6 @@ struct field_info
|
||||
int nfnfields;
|
||||
};
|
||||
|
||||
/* Dwarf2 has no clean way to discern C++ static and non-static member
|
||||
functions. G++ helps GDB by marking the first parameter for non-static
|
||||
member functions (which is the this pointer) as artificial.
|
||||
We pass this information between dwarf2_add_member_fn and
|
||||
read_subroutine_type via TYPE_FIELD_ARTIFICIAL. */
|
||||
#define TYPE_FIELD_ARTIFICIAL TYPE_FIELD_BITPOS
|
||||
|
||||
/* Various complaints about symbol reading that don't abort the process */
|
||||
|
||||
static struct complaint dwarf2_const_ignored =
|
||||
|
@ -383,17 +383,12 @@ struct type
|
||||
|
||||
struct field
|
||||
{
|
||||
|
||||
|
||||
|
||||
union field_location
|
||||
{
|
||||
/* Position of this field, counting in bits from start of
|
||||
containing structure.
|
||||
For BITS_BIG_ENDIAN=1 targets, it is the bit offset to the MSB.
|
||||
For BITS_BIG_ENDIAN=0 targets, it is the bit offset to the LSB.
|
||||
For a function type, this is the position in the argument list
|
||||
of this argument.
|
||||
For a range bound or enum value, this is the value itself. */
|
||||
|
||||
int bitpos;
|
||||
@ -404,6 +399,11 @@ struct type
|
||||
|
||||
CORE_ADDR physaddr;
|
||||
char *physname;
|
||||
|
||||
/* For a function type, this is 1 if the argument is marked
|
||||
artificial. Artificial arguments should not be shown to the
|
||||
user. */
|
||||
int artificial;
|
||||
}
|
||||
loc;
|
||||
|
||||
@ -796,6 +796,7 @@ extern void allocate_cplus_struct_type (struct type *);
|
||||
#define FIELD_TYPE(thisfld) ((thisfld).type)
|
||||
#define FIELD_NAME(thisfld) ((thisfld).name)
|
||||
#define FIELD_BITPOS(thisfld) ((thisfld).loc.bitpos)
|
||||
#define FIELD_ARTIFICIAL(thisfld) ((thisfld).loc.artificial)
|
||||
#define FIELD_BITSIZE(thisfld) ((thisfld).bitsize)
|
||||
#define FIELD_PHYSNAME(thisfld) ((thisfld).loc.physname)
|
||||
#define FIELD_PHYSADDR(thisfld) ((thisfld).loc.physaddr)
|
||||
@ -807,6 +808,7 @@ extern void allocate_cplus_struct_type (struct type *);
|
||||
#define TYPE_FIELD_TYPE(thistype, n) FIELD_TYPE(TYPE_FIELD(thistype, n))
|
||||
#define TYPE_FIELD_NAME(thistype, n) FIELD_NAME(TYPE_FIELD(thistype, n))
|
||||
#define TYPE_FIELD_BITPOS(thistype, n) FIELD_BITPOS(TYPE_FIELD(thistype,n))
|
||||
#define TYPE_FIELD_ARTIFICIAL(thistype, n) FIELD_ARTIFICIAL(TYPE_FIELD(thistype,n))
|
||||
#define TYPE_FIELD_BITSIZE(thistype, n) FIELD_BITSIZE(TYPE_FIELD(thistype,n))
|
||||
#define TYPE_FIELD_PACKED(thistype, n) (FIELD_BITSIZE(TYPE_FIELD(thistype,n))!=0)
|
||||
#define TYPE_TEMPLATE_ARG(thistype, n) TYPE_CPLUS_SPECIFIC(thistype)->template_args[n]
|
||||
|
@ -965,7 +965,7 @@ hpread_read_function_type (dnttpointer hp_type, union dnttentry *dn_bufp,
|
||||
struct symbol *xsym = syms->symbol[j];
|
||||
TYPE_FIELD_NAME (type, n) = SYMBOL_NAME (xsym);
|
||||
TYPE_FIELD_TYPE (type, n) = SYMBOL_TYPE (xsym);
|
||||
TYPE_FIELD_BITPOS (type, n) = n;
|
||||
TYPE_FIELD_ARTIFICIAL (type, n) = 0;
|
||||
TYPE_FIELD_BITSIZE (type, n) = 0;
|
||||
}
|
||||
}
|
||||
@ -1138,7 +1138,7 @@ hpread_read_doc_function_type (dnttpointer hp_type, union dnttentry *dn_bufp,
|
||||
struct symbol *xsym = syms->symbol[j];
|
||||
TYPE_FIELD_NAME (type, n) = SYMBOL_NAME (xsym);
|
||||
TYPE_FIELD_TYPE (type, n) = SYMBOL_TYPE (xsym);
|
||||
TYPE_FIELD_BITPOS (type, n) = n;
|
||||
TYPE_FIELD_ARTIFICIAL (type, n) = 0;
|
||||
TYPE_FIELD_BITSIZE (type, n) = 0;
|
||||
}
|
||||
}
|
||||
|
@ -1371,7 +1371,7 @@ hpread_read_function_type (dnttpointer hp_type, union dnttentry *dn_bufp,
|
||||
struct symbol *xsym = syms->symbol[j];
|
||||
TYPE_FIELD_NAME (type, n) = SYMBOL_NAME (xsym);
|
||||
TYPE_FIELD_TYPE (type, n) = SYMBOL_TYPE (xsym);
|
||||
TYPE_FIELD_BITPOS (type, n) = n;
|
||||
TYPE_FIELD_ARTIFICIAL (type, n) = 0;
|
||||
TYPE_FIELD_BITSIZE (type, n) = 0;
|
||||
}
|
||||
if (syms == osyms)
|
||||
|
@ -1282,6 +1282,7 @@ parse_symbol (SYMR *sh, union aux_ext *ax, char *ext_sh, int bigend,
|
||||
case LOC_REGPARM:
|
||||
case LOC_REGPARM_ADDR:
|
||||
TYPE_FIELD_TYPE (ftype, iparams) = SYMBOL_TYPE (sym);
|
||||
TYPE_FIELD_ARTIFICIAL (ftype, iparams) = 0;
|
||||
iparams++;
|
||||
break;
|
||||
default:
|
||||
|
@ -1628,7 +1628,8 @@ define_symbol (CORE_ADDR valu, char *string, int desc, int type,
|
||||
FIXME: Do we need a new builtin_type_promoted_int_arg ? */
|
||||
if (TYPE_CODE (ptype) == TYPE_CODE_VOID)
|
||||
ptype = builtin_type_int;
|
||||
TYPE_FIELD_TYPE (ftype, nparams++) = ptype;
|
||||
TYPE_FIELD_TYPE (ftype, nparams) = ptype;
|
||||
TYPE_FIELD_ARTIFICIAL (ftype, nparams++) = 0;
|
||||
}
|
||||
TYPE_NFIELDS (ftype) = nparams;
|
||||
TYPE_FLAGS (ftype) |= TYPE_FLAG_PROTOTYPED;
|
||||
|
Loading…
Reference in New Issue
Block a user