* dwarf2read.c (optimized_out, islocal): Remove.
(decode_locdesc): Update comments. Don't set optimized_out or islocal.
This commit is contained in:
parent
1abe91b1db
commit
6b992462c7
2 changed files with 11 additions and 17 deletions
|
@ -1,3 +1,9 @@
|
||||||
|
2003-11-18 Daniel Jacobowitz <drow@mvista.com>
|
||||||
|
|
||||||
|
* dwarf2read.c (optimized_out, islocal): Remove.
|
||||||
|
(decode_locdesc): Update comments. Don't set optimized_out
|
||||||
|
or islocal.
|
||||||
|
|
||||||
2003-11-17 Jeff Johnston <jjohnstn@redhat.com>
|
2003-11-17 Jeff Johnston <jjohnstn@redhat.com>
|
||||||
David Mosberger <davidm@hpl.hp.com>
|
David Mosberger <davidm@hpl.hp.com>
|
||||||
|
|
||||||
|
|
|
@ -443,8 +443,6 @@ static struct pending **list_in_scope = &file_symbols;
|
||||||
none of the flags are set, the object lives at the address returned
|
none of the flags are set, the object lives at the address returned
|
||||||
by decode_locdesc. */
|
by decode_locdesc. */
|
||||||
|
|
||||||
static int optimized_out; /* No ops in location in expression,
|
|
||||||
so object was optimized out. */
|
|
||||||
static int isreg; /* Object lives in register.
|
static int isreg; /* Object lives in register.
|
||||||
decode_locdesc's return value is
|
decode_locdesc's return value is
|
||||||
the register number. */
|
the register number. */
|
||||||
|
@ -454,12 +452,6 @@ static int offreg; /* Object's address is the sum of the
|
||||||
static int basereg; /* See `offreg'. */
|
static int basereg; /* See `offreg'. */
|
||||||
static int isderef; /* Value described by flags above is
|
static int isderef; /* Value described by flags above is
|
||||||
the address of a pointer to the object. */
|
the address of a pointer to the object. */
|
||||||
static int islocal; /* Variable is at the returned offset
|
|
||||||
from the frame start, but there's
|
|
||||||
no identified frame pointer for
|
|
||||||
this function, so we can't say
|
|
||||||
which register it's relative to;
|
|
||||||
use LOC_LOCAL. */
|
|
||||||
|
|
||||||
/* DW_AT_frame_base values for the current function.
|
/* DW_AT_frame_base values for the current function.
|
||||||
frame_base_reg is -1 if DW_AT_frame_base is missing, otherwise it
|
frame_base_reg is -1 if DW_AT_frame_base is missing, otherwise it
|
||||||
|
@ -6891,8 +6883,10 @@ dwarf2_fundamental_type (struct objfile *objfile, int typeid)
|
||||||
FIXME: Implement more operations as necessary.
|
FIXME: Implement more operations as necessary.
|
||||||
|
|
||||||
A location description containing no operations indicates that the
|
A location description containing no operations indicates that the
|
||||||
object is optimized out. The global optimized_out flag is set for
|
object is optimized out. The return value is meaningless for that case.
|
||||||
those, the return value is meaningless.
|
FIXME drow/2003-11-16: No callers check for this case any more; soon all
|
||||||
|
callers will only want a very basic result and this can become a
|
||||||
|
complaint.
|
||||||
|
|
||||||
When the result is a register number, the global isreg flag is set,
|
When the result is a register number, the global isreg flag is set,
|
||||||
otherwise it is cleared.
|
otherwise it is cleared.
|
||||||
|
@ -6901,9 +6895,7 @@ dwarf2_fundamental_type (struct objfile *objfile, int typeid)
|
||||||
and the register number is returned in basereg, otherwise it is cleared.
|
and the register number is returned in basereg, otherwise it is cleared.
|
||||||
|
|
||||||
When the DW_OP_fbreg operation is encountered without a corresponding
|
When the DW_OP_fbreg operation is encountered without a corresponding
|
||||||
DW_AT_frame_base attribute, the global islocal flag is set.
|
DW_AT_frame_base attribute, we complain.
|
||||||
Hopefully the machine dependent code knows how to set up a virtual
|
|
||||||
frame pointer for the local references.
|
|
||||||
|
|
||||||
Note that stack[0] is unused except as a default error return.
|
Note that stack[0] is unused except as a default error return.
|
||||||
Note that stack overflow is not yet handled. */
|
Note that stack overflow is not yet handled. */
|
||||||
|
@ -6927,12 +6919,9 @@ decode_locdesc (struct dwarf_block *blk, struct dwarf2_cu *cu)
|
||||||
isreg = 0;
|
isreg = 0;
|
||||||
offreg = 0;
|
offreg = 0;
|
||||||
isderef = 0;
|
isderef = 0;
|
||||||
islocal = 0;
|
|
||||||
optimized_out = 1;
|
|
||||||
|
|
||||||
while (i < size)
|
while (i < size)
|
||||||
{
|
{
|
||||||
optimized_out = 0;
|
|
||||||
op = data[i++];
|
op = data[i++];
|
||||||
switch (op)
|
switch (op)
|
||||||
{
|
{
|
||||||
|
@ -7073,7 +7062,6 @@ decode_locdesc (struct dwarf_block *blk, struct dwarf2_cu *cu)
|
||||||
{
|
{
|
||||||
complaint (&symfile_complaints,
|
complaint (&symfile_complaints,
|
||||||
"DW_AT_frame_base missing for DW_OP_fbreg");
|
"DW_AT_frame_base missing for DW_OP_fbreg");
|
||||||
islocal = 1;
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue