aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2012-12-06 21:34:55 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2012-12-06 21:34:55 +0100
commit789b6d0559b6f89b5c755fe1bea435698962f224 (patch)
treed37cd83949042f26a7dc833743e6b09e1026c755
parent6c64e50fc85515848dd9ebe9f535d6482ce2582e (diff)
downloadgcc-789b6d0559b6f89b5c755fe1bea435698962f224.zip
gcc-789b6d0559b6f89b5c755fe1bea435698962f224.tar.gz
gcc-789b6d0559b6f89b5c755fe1bea435698962f224.tar.bz2
re PR fortran/55395 (libgfortran bootstrap failure on powerpc-linux-gnu and arm-linux-gnueabi)
PR fortran/55395 * varpool.c (varpool_remove_node): Don't drop DECL_INITIAL if -g and emitting DWARF2+. From-SVN: r194272
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/varpool.c5
2 files changed, 10 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 3045f2b..0989c48 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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
diff --git a/gcc/varpool.c b/gcc/varpool.c
index 87f29a0..7f4cfe7 100644
--- a/gcc/varpool.c
+++ b/gcc/varpool.c
@@ -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);
}