]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR c++/22034 (ICE on valid (local class), dwarf2)
authorJan Hubicka <jh@suse.cz>
Thu, 18 Aug 2005 15:22:46 +0000 (17:22 +0200)
committerJan Hubicka <hubicka@gcc.gnu.org>
Thu, 18 Aug 2005 15:22:46 +0000 (15:22 +0000)
PR c++/22034
* cgraphunit.c (cgraph_varpool_assemble_pending_decls): Emit debug
info only for local statics, not for member variables.

From-SVN: r103251

gcc/ChangeLog
gcc/cgraphunit.c

index f59452de5300a46978c2f20a31d830594dc3c667..fcc7fba7011626aa0c6fa1a7699d95eaf64e5548 100644 (file)
@@ -1,3 +1,9 @@
+2005-08-18  Jan Hubicka  <jh@suse.cz>
+
+       PR c++/22034
+       * cgraphunit.c (cgraph_varpool_assemble_pending_decls): Emit debug
+       info only for local statics, not for member variables.
+
 2005-08-18  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
 
        * tree-data-ref.c (analyze_siv_subscript_cst_affine): Fix comment typo.
index a10859dd0bc31c667e5cbe1e1c8b78a33d22dcba..012cb7c23089d25586617a0efecf779c65f585cf 100644 (file)
@@ -814,7 +814,10 @@ cgraph_varpool_assemble_pending_decls (void)
          assemble_variable (decl, 0, 1, 0);
          /* Local static variables are never seen by check_global_declarations
             so we need to output debug info by hand.  */
-         if (decl_function_context (decl) && errorcount == 0 && sorrycount == 0)
+         if (DECL_CONTEXT (decl) 
+             && (TREE_CODE (DECL_CONTEXT (decl)) == BLOCK
+                 || TREE_CODE (DECL_CONTEXT (decl)) == FUNCTION_DECL)
+             && errorcount == 0 && sorrycount == 0)
            {
              timevar_push (TV_SYMOUT);
              (*debug_hooks->global_decl) (decl);