2004-01-07 Michael Chastain <mec.gnu@mindspring.com>
authorMichael Chastain <mec@google.com>
Wed, 7 Jan 2004 13:22:09 +0000 (13:22 +0000)
committerMichael Chastain <mec@google.com>
Wed, 7 Jan 2004 13:22:09 +0000 (13:22 +0000)
* hpread.c (hpread_read_struct_type): Call SET_FIELD_PHYSNAME
properly for static fields.

gdb/ChangeLog
gdb/hpread.c

index de7c816..5a4b719 100644 (file)
@@ -1,3 +1,8 @@
+2004-01-07  Michael Chastain  <mec.gnu@mindspring.com>
+
+       * hpread.c (hpread_read_struct_type): Call SET_FIELD_PHYSNAME
+       properly for static fields.
+
 2004-01-06  Jeff Johnston  <jjohnstn@redhat.com>
            Jason Molenda  <jmolenda@apple.com>
 
index 40875f7..246f77e 100644 (file)
@@ -1,6 +1,6 @@
 /* Read hp debug symbols and convert to internal format, for GDB.
-   Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
-   Free Software Foundation, Inc.
+   Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
+   2002, 2003, 2004 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -4160,16 +4160,19 @@ hpread_read_struct_type (dnttpointer hp_type, union dnttentry *dn_bufp,
          list->field.name = VT (objfile) + fieldp->dfield.name;
 
 
-         /* A FIELD by itself (without a GENFIELD) can also be a static member */
-         FIELD_STATIC_KIND (list->field) = 0;
+         /* A FIELD by itself (without a GENFIELD) can also be a static
+            member.  Mark it as static with a physname of NULL.
+            fix_static_member_physnames will assign the physname later. */
          if (fieldp->dfield.staticmem)
            {
-             FIELD_BITPOS (list->field) = -1;
+             SET_FIELD_PHYSNAME (list->field, NULL);
+             FIELD_BITPOS (list->field) = 0;
              FIELD_BITSIZE (list->field) = 0;
            }
          else
            /* Non-static data member */
            {
+             FIELD_STATIC_KIND (list->field) = 0;
              FIELD_BITPOS (list->field) = fieldp->dfield.bitoffset;
              if (fieldp->dfield.bitlength % 8)
                FIELD_BITSIZE (list->field) = fieldp->dfield.bitlength;