* dwarf2read.c (read_structure_type): Add comment.
authorDoug Evans <dje@google.com>
Mon, 23 Aug 2010 21:44:39 +0000 (21:44 +0000)
committerDoug Evans <dje@google.com>
Mon, 23 Aug 2010 21:44:39 +0000 (21:44 +0000)
(read_enumeration_type): Add comment.
(process_enumeration_scope): Move definition of some locals
closer to their use.
(read_namespace_type): Add comment.

gdb/ChangeLog
gdb/dwarf2read.c

index 2f0de7c9330f12427acb78044c99dba0c1ad1dd5..7b1adbcce89f711535d1eae710b8ec7729aca47a 100644 (file)
@@ -1,3 +1,11 @@
+2010-08-23  Doug Evans  <dje@google.com>
+
+       * dwarf2read.c (read_structure_type): Add comment.
+       (read_enumeration_type): Add comment.
+       (process_enumeration_scope): Move definition of some locals
+       closer to their use.
+       (read_namespace_type): Add comment.
+
 2010-08-23  Tom Tromey  <tromey@redhat.com>
 
        PR python/11145:
index ec623a79893d7a6d780d0d2ec294b2d3a78dc03e..765a5d8e279bab9bc6abfd83fc817cb836fd205e 100644 (file)
@@ -6658,6 +6658,9 @@ read_structure_type (struct die_info *die, struct dwarf2_cu *cu)
         This is important, for example, because for c++ classes we need
         TYPE_NAME set which is only done by new_symbol.  Blech.  */
       type = read_type_die (type_die, type_cu);
+
+      /* TYPE_CU may not be the same as CU.
+        Ensure TYPE is recorded in CU's type_hash table.  */
       return set_die_type (die, type, cu);
     }
 
@@ -6962,6 +6965,9 @@ read_enumeration_type (struct die_info *die, struct dwarf2_cu *cu)
       struct die_info *type_die = follow_die_ref_or_sig (die, attr, &type_cu);
 
       type = read_type_die (type_die, type_cu);
+
+      /* TYPE_CU may not be the same as CU.
+        Ensure TYPE is recorded in CU's type_hash table.  */
       return set_die_type (die, type, cu);
     }
 
@@ -7002,21 +7008,21 @@ read_enumeration_type (struct die_info *die, struct dwarf2_cu *cu)
 static void
 process_enumeration_scope (struct die_info *die, struct dwarf2_cu *cu)
 {
-  struct die_info *child_die;
-  struct field *fields;
-  struct symbol *sym;
-  int num_fields;
-  int unsigned_enum = 1;
-  char *name;
   struct type *this_type;
 
-  num_fields = 0;
-  fields = NULL;
   this_type = get_die_type (die, cu);
   if (this_type == NULL)
     this_type = read_enumeration_type (die, cu);
+
   if (die->child != NULL)
     {
+      struct die_info *child_die;
+      struct symbol *sym;
+      struct field *fields = NULL;
+      int num_fields = 0;
+      int unsigned_enum = 1;
+      char *name;
+
       child_die = die->child;
       while (child_die && child_die->tag)
        {
@@ -7305,6 +7311,9 @@ read_namespace_type (struct die_info *die, struct dwarf2_cu *cu)
 
       ext_die = dwarf2_extension (die, &ext_cu);
       type = read_type_die (ext_die, ext_cu);
+
+      /* EXT_CU may not be the same as CU.
+        Ensure TYPE is recorded in CU's type_hash table.  */
       return set_die_type (die, type, cu);
     }