diff options
Diffstat (limited to 'gcc')
| -rw-r--r-- | gcc/ChangeLog | 6 | ||||
| -rw-r--r-- | gcc/varpool.c | 5 |
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); } |
