PR fortran/55395
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 6 Dec 2012 20:34:55 +0000 (20:34 +0000)
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 6 Dec 2012 20:34:55 +0000 (20:34 +0000)
* varpool.c (varpool_remove_node): Don't drop DECL_INITIAL
if -g and emitting DWARF2+.

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

gcc/ChangeLog
gcc/varpool.c

index 3045f2b..0989c48 100644 (file)
@@ -1,3 +1,9 @@
+2012-12-06  Jakub Jelinek  <jakub@redhat.com>
+
+       PR fortran/55395
+       * varpool.c (varpool_remove_node): Don't drop DECL_INITIAL
+       if -g and emitting DWARF2+.
+
 2012-12-06  Pat Haugen <pthaugen@us.ibm.com>
 
        * config/rs6000/rs6000.c (rs6000_option_override_internal): Set
index 87f29a0..7f4cfe7 100644 (file)
@@ -65,7 +65,10 @@ varpool_remove_node (struct varpool_node *node)
       && !DECL_VIRTUAL_P (node->symbol.decl)
       /* dbxout output constant initializers for readonly vars.  */
       && (!host_integerp (DECL_INITIAL (node->symbol.decl), 0)
-         || !TREE_READONLY (node->symbol.decl)))
+         || !TREE_READONLY (node->symbol.decl))
+      /* dwarf2out can use most of the initializers.  */
+      && write_symbols != DWARF2_DEBUG
+      && write_symbols != VMS_AND_DWARF2_DEBUG)
     DECL_INITIAL (node->symbol.decl) = error_mark_node;
   ggc_free (node);
 }