]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
* toplev.c (wrapup_global_declaration_2): Avoid creation of new varpool
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 30 May 2010 15:39:37 +0000 (15:39 +0000)
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 30 May 2010 15:39:37 +0000 (15:39 +0000)
nodes

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@160056 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/toplev.c

index 26b1dbb059f7ed98d3250a7afd5d46312aa73b29..2c3b0004d54bf8f295ae29cee6264c29306e04b4 100644 (file)
@@ -1,3 +1,8 @@
+2010-05-30  Jan Hubicka  <jh@suse.cz>
+
+       * toplev.c (wrapup_global_declaration_2): Avoid creation of new varpool
+       nodes 
+
 2010-05-30  Richard Guenther  <rguenther@suse.de>
 
        * tree-cfg.c (verify_gimple_assign_single): Implement
index dc677a3080c86649d9b92cd4e1ca64bfbad689ba..ff4c85049070f1023f3cf47c0541bdeb68ed1f52 100644 (file)
@@ -772,17 +772,19 @@ wrapup_global_declaration_2 (tree decl)
     {
       struct varpool_node *node;
       bool needed = true;
-      node = varpool_node (decl);
+      node = varpool_get_node (decl);
 
-      if (node->finalized)
+      if (!node && flag_ltrans)
        needed = false;
-      else if (node->alias)
+      else if (node && node->finalized)
+       needed = false;
+      else if (node && node->alias)
        needed = false;
       else if (!cgraph_global_info_ready
               && (TREE_USED (decl)
                   || TREE_USED (DECL_ASSEMBLER_NAME (decl))))
        /* needed */;
-      else if (node->needed)
+      else if (node && node->needed)
        /* needed */;
       else if (DECL_COMDAT (decl))
        needed = false;