aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeoffrey Keating <geoffk@redhat.com>2001-11-05 21:04:07 +0000
committerGeoffrey Keating <geoffk@gcc.gnu.org>2001-11-05 21:04:07 +0000
commitac4f7ad92fa88dab7f72bbb2ba0a8a0b544e40fa (patch)
tree092384d97ed2994d4265b609acca2b75f5217a41
parente529bd42ef74c83959a86799d866be203c8669b7 (diff)
downloadgcc-ac4f7ad92fa88dab7f72bbb2ba0a8a0b544e40fa.zip
gcc-ac4f7ad92fa88dab7f72bbb2ba0a8a0b544e40fa.tar.gz
gcc-ac4f7ad92fa88dab7f72bbb2ba0a8a0b544e40fa.tar.bz2
rs6000.c (rs6000_select_section): Handle CONSTRUCTORs too.
* config/rs6000/rs6000.c (rs6000_select_section): Handle CONSTRUCTORs too. From-SVN: r46792
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/rs6000/rs6000.c5
2 files changed, 10 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index f19be35..06d0542 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2001-11-05 Geoffrey Keating <geoffk@redhat.com>
+
+ * config/rs6000/rs6000.c (rs6000_select_section): Handle
+ CONSTRUCTORs too.
+
2001-11-05 Nick Clifton <nickc@cambridge.redhat.com>
* config/arm/arm.c (arm_return_in_memory): Cope with
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index 5d0fcad..6be9db7 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -8311,6 +8311,11 @@ rs6000_select_section (decl, reloc)
&& DECL_INITIAL (decl)
&& DECL_INITIAL (decl) != error_mark_node
&& TREE_CONSTANT (DECL_INITIAL (decl)));
+ else if (TREE_CODE (decl) == CONSTRUCTOR)
+ readonly = (! (flag_pic && reloc)
+ && TREE_READONLY (decl)
+ && ! TREE_SIDE_EFFECTS (decl)
+ && TREE_CONSTANT (DECL_INITIAL (decl)));
else
readonly = 1;
if (needs_sdata && rs6000_sdata != SDATA_EABI)