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>
|
2002-01-20 Andrew Cagney <ac131313@redhat.com>
|
||||||
|
|
||||||
* configure.in (host_makefile_frag): Only require a host makefile
|
* 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_BASEREG_ARG:
|
||||||
case LOC_LOCAL_ARG:
|
case LOC_LOCAL_ARG:
|
||||||
TYPE_FIELD_TYPE (ftype, iparams) = SYMBOL_TYPE (sym);
|
TYPE_FIELD_TYPE (ftype, iparams) = SYMBOL_TYPE (sym);
|
||||||
|
TYPE_FIELD_ARTIFICIAL (ftype, iparams) = 0;
|
||||||
iparams++;
|
iparams++;
|
||||||
break;
|
break;
|
||||||
case LOC_UNDEF:
|
case LOC_UNDEF:
|
||||||
|
|
|
@ -474,13 +474,6 @@ struct field_info
|
||||||
int nfnfields;
|
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 */
|
/* Various complaints about symbol reading that don't abort the process */
|
||||||
|
|
||||||
static struct complaint dwarf2_const_ignored =
|
static struct complaint dwarf2_const_ignored =
|
||||||
|
|
|
@ -383,17 +383,12 @@ struct type
|
||||||
|
|
||||||
struct field
|
struct field
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
union field_location
|
union field_location
|
||||||
{
|
{
|
||||||
/* Position of this field, counting in bits from start of
|
/* Position of this field, counting in bits from start of
|
||||||
containing structure.
|
containing structure.
|
||||||
For BITS_BIG_ENDIAN=1 targets, it is the bit offset to the MSB.
|
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 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. */
|
For a range bound or enum value, this is the value itself. */
|
||||||
|
|
||||||
int bitpos;
|
int bitpos;
|
||||||
|
@ -404,6 +399,11 @@ struct type
|
||||||
|
|
||||||
CORE_ADDR physaddr;
|
CORE_ADDR physaddr;
|
||||||
char *physname;
|
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;
|
loc;
|
||||||
|
|
||||||
|
@ -796,6 +796,7 @@ extern void allocate_cplus_struct_type (struct type *);
|
||||||
#define FIELD_TYPE(thisfld) ((thisfld).type)
|
#define FIELD_TYPE(thisfld) ((thisfld).type)
|
||||||
#define FIELD_NAME(thisfld) ((thisfld).name)
|
#define FIELD_NAME(thisfld) ((thisfld).name)
|
||||||
#define FIELD_BITPOS(thisfld) ((thisfld).loc.bitpos)
|
#define FIELD_BITPOS(thisfld) ((thisfld).loc.bitpos)
|
||||||
|
#define FIELD_ARTIFICIAL(thisfld) ((thisfld).loc.artificial)
|
||||||
#define FIELD_BITSIZE(thisfld) ((thisfld).bitsize)
|
#define FIELD_BITSIZE(thisfld) ((thisfld).bitsize)
|
||||||
#define FIELD_PHYSNAME(thisfld) ((thisfld).loc.physname)
|
#define FIELD_PHYSNAME(thisfld) ((thisfld).loc.physname)
|
||||||
#define FIELD_PHYSADDR(thisfld) ((thisfld).loc.physaddr)
|
#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_TYPE(thistype, n) FIELD_TYPE(TYPE_FIELD(thistype, n))
|
||||||
#define TYPE_FIELD_NAME(thistype, n) FIELD_NAME(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_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_BITSIZE(thistype, n) FIELD_BITSIZE(TYPE_FIELD(thistype,n))
|
||||||
#define TYPE_FIELD_PACKED(thistype, n) (FIELD_BITSIZE(TYPE_FIELD(thistype,n))!=0)
|
#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]
|
#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];
|
struct symbol *xsym = syms->symbol[j];
|
||||||
TYPE_FIELD_NAME (type, n) = SYMBOL_NAME (xsym);
|
TYPE_FIELD_NAME (type, n) = SYMBOL_NAME (xsym);
|
||||||
TYPE_FIELD_TYPE (type, n) = SYMBOL_TYPE (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;
|
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];
|
struct symbol *xsym = syms->symbol[j];
|
||||||
TYPE_FIELD_NAME (type, n) = SYMBOL_NAME (xsym);
|
TYPE_FIELD_NAME (type, n) = SYMBOL_NAME (xsym);
|
||||||
TYPE_FIELD_TYPE (type, n) = SYMBOL_TYPE (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;
|
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];
|
struct symbol *xsym = syms->symbol[j];
|
||||||
TYPE_FIELD_NAME (type, n) = SYMBOL_NAME (xsym);
|
TYPE_FIELD_NAME (type, n) = SYMBOL_NAME (xsym);
|
||||||
TYPE_FIELD_TYPE (type, n) = SYMBOL_TYPE (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;
|
TYPE_FIELD_BITSIZE (type, n) = 0;
|
||||||
}
|
}
|
||||||
if (syms == osyms)
|
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:
|
||||||
case LOC_REGPARM_ADDR:
|
case LOC_REGPARM_ADDR:
|
||||||
TYPE_FIELD_TYPE (ftype, iparams) = SYMBOL_TYPE (sym);
|
TYPE_FIELD_TYPE (ftype, iparams) = SYMBOL_TYPE (sym);
|
||||||
|
TYPE_FIELD_ARTIFICIAL (ftype, iparams) = 0;
|
||||||
iparams++;
|
iparams++;
|
||||||
break;
|
break;
|
||||||
default:
|
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 ? */
|
FIXME: Do we need a new builtin_type_promoted_int_arg ? */
|
||||||
if (TYPE_CODE (ptype) == TYPE_CODE_VOID)
|
if (TYPE_CODE (ptype) == TYPE_CODE_VOID)
|
||||||
ptype = builtin_type_int;
|
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_NFIELDS (ftype) = nparams;
|
||||||
TYPE_FLAGS (ftype) |= TYPE_FLAG_PROTOTYPED;
|
TYPE_FLAGS (ftype) |= TYPE_FLAG_PROTOTYPED;
|
||||||
|
|
Loading…
Reference in New Issue