OSDN Git Service

* dwarf2read.c (optimized_out, islocal): Remove.
authorDaniel Jacobowitz <dan@debian.org>
Tue, 18 Nov 2003 21:51:38 +0000 (21:51 +0000)
committerDaniel Jacobowitz <dan@debian.org>
Tue, 18 Nov 2003 21:51:38 +0000 (21:51 +0000)
(decode_locdesc): Update comments.  Don't set optimized_out
or islocal.

gdb/ChangeLog
gdb/dwarf2read.c

index 330630a..bc852b0 100644 (file)
@@ -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>
             David Mosberger  <davidm@hpl.hp.com>
 
index c19edf3..21729f6 100644 (file)
@@ -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
    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.
                                   decode_locdesc's return value is
                                   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 isderef;            /* Value described by flags above is
                                   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.
    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.
 
    A location description containing no operations indicates that the
-   object is optimized out. The global optimized_out flag is set for
-   those, the return value is meaningless.
+   object is optimized out.  The return value is meaningless for that case.
+   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,
    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.
 
    When the DW_OP_fbreg operation is encountered without a corresponding
-   DW_AT_frame_base attribute, the global islocal flag is set.
-   Hopefully the machine dependent code knows how to set up a virtual
-   frame pointer for the local references.
+   DW_AT_frame_base attribute, we complain.
 
    Note that stack[0] is unused except as a default error return.
    Note that stack overflow is not yet handled.  */
@@ -6927,12 +6919,9 @@ decode_locdesc (struct dwarf_block *blk, struct dwarf2_cu *cu)
   isreg = 0;
   offreg = 0;
   isderef = 0;
-  islocal = 0;
-  optimized_out = 1;
 
   while (i < size)
     {
-      optimized_out = 0;
       op = data[i++];
       switch (op)
        {
@@ -7073,7 +7062,6 @@ decode_locdesc (struct dwarf_block *blk, struct dwarf2_cu *cu)
            {
              complaint (&symfile_complaints,
                         "DW_AT_frame_base missing for DW_OP_fbreg");
-             islocal = 1;
            }
          break;