* symtab.c (basic_lookup_transparent_type): Call pre-expand
authorKeith Seitz <keiths@redhat.com>
Fri, 23 Jul 2010 17:42:13 +0000 (17:42 +0000)
committerKeith Seitz <keiths@redhat.com>
Fri, 23 Jul 2010 17:42:13 +0000 (17:42 +0000)
hook for STATIC_BLOCK types, too.

gdb/ChangeLog
gdb/symtab.c

index 8fd87b530355addd0b45d1de91725b42bd683f2d..763e9885647919e1d73fb1b72adfbf1f434a0a42 100644 (file)
@@ -1,3 +1,8 @@
+2010-07-23  Keith Seitz  <keiths@redhat.com>
+
+       * symtab.c (basic_lookup_transparent_type): Call pre-expand
+       hook for STATIC_BLOCK types, too.
+
 2010-07-23  Keith Seitz  <keiths@redhat.com>
 
        * dwarf2read.c: Remove unused typedef dwarf2_cu_per_cu_data_ptr
index b0e7061cd44e02b916960c3ee0d66a3282d6f88a..e125c84eb392f787a0463357cb0fb5d300943b2c 100644 (file)
@@ -1642,14 +1642,21 @@ basic_lookup_transparent_type (const char *name)
      conversion on the fly and return the found symbol.
    */
 
-  ALL_PRIMARY_SYMTABS (objfile, s)
+  ALL_OBJFILES (objfile)
   {
-    bv = BLOCKVECTOR (s);
-    block = BLOCKVECTOR_BLOCK (bv, STATIC_BLOCK);
-    sym = lookup_block_symbol (block, name, STRUCT_DOMAIN);
-    if (sym && !TYPE_IS_OPAQUE (SYMBOL_TYPE (sym)))
+    if (objfile->sf)
+      objfile->sf->qf->pre_expand_symtabs_matching (objfile, STATIC_BLOCK,
+                                                   name, STRUCT_DOMAIN);
+
+    ALL_OBJFILE_SYMTABS (objfile, s)
       {
-       return SYMBOL_TYPE (sym);
+       bv = BLOCKVECTOR (s);
+       block = BLOCKVECTOR_BLOCK (bv, STATIC_BLOCK);
+       sym = lookup_block_symbol (block, name, STRUCT_DOMAIN);
+       if (sym && !TYPE_IS_OPAQUE (SYMBOL_TYPE (sym)))
+         {
+           return SYMBOL_TYPE (sym);
+         }
       }
   }