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:
Daniel Jacobowitz 2002-01-20 19:12:23 +00:00
parent 7fd6052758
commit 8176bb6dee
8 changed files with 29 additions and 16 deletions

View File

@ -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

View File

@ -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:

View File

@ -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 =

View File

@ -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]

View File

@ -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;
}
}

View File

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

View File

@ -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:

View File

@ -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;