aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Henderson <rth@cygnus.com>2000-05-27 19:21:54 -0700
committerRichard Henderson <rth@gcc.gnu.org>2000-05-27 19:21:54 -0700
commita1920fc3d7d9c901cf31eae3b6632b5627eac496 (patch)
treed253db6beb847e890a0c375f71b2e3c30045bf96 /gcc
parenta82c7f05c44811b1824b928b7987596b366b4cae (diff)
downloadgcc-a1920fc3d7d9c901cf31eae3b6632b5627eac496.zip
gcc-a1920fc3d7d9c901cf31eae3b6632b5627eac496.tar.gz
gcc-a1920fc3d7d9c901cf31eae3b6632b5627eac496.tar.bz2
elf.h (SELECT_SECTION): Mirror Kenner's May 19 change to config/elfos.h.
* config/alpha/elf.h (SELECT_SECTION): Mirror Kenner's May 19 change to config/elfos.h. From-SVN: r34221
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/alpha/elf.h22
2 files changed, 23 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index bed3c03..461423f 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,10 @@
2000-05-27 Richard Henderson <rth@cygnus.com>
+ * config/alpha/elf.h (SELECT_SECTION): Mirror Kenner's May 19
+ change to config/elfos.h.
+
+2000-05-27 Richard Henderson <rth@cygnus.com>
+
* Makefile.in (resource.o): Depend on except.h.
* except.h (output_exception_table_data): Prototype.
* genconfig.c (gen_peephole2): Prototype.
diff --git a/gcc/config/alpha/elf.h b/gcc/config/alpha/elf.h
index 2963597..7fad446 100644
--- a/gcc/config/alpha/elf.h
+++ b/gcc/config/alpha/elf.h
@@ -340,12 +340,11 @@ void FN () \
else \
data_section (); \
} \
- else if (TREE_CODE (DECL) == VAR_DECL \
- || TREE_CODE (DECL) == CONSTRUCTOR) \
+ else if (TREE_CODE (DECL) == VAR_DECL) \
{ \
if ((flag_pic && RELOC) \
- || !TREE_READONLY (DECL) || TREE_SIDE_EFFECTS (DECL) \
- || !DECL_INITIAL (DECL) \
+ || ! TREE_READONLY (DECL) || TREE_SIDE_EFFECTS (DECL) \
+ || ! DECL_INITIAL (DECL) \
|| (DECL_INITIAL (DECL) != error_mark_node \
&& !TREE_CONSTANT (DECL_INITIAL (DECL)))) \
{ \
@@ -358,6 +357,21 @@ void FN () \
else \
const_section (); \
} \
+ else if (TREE_CODE (DECL) == CONSTRUCTOR) \
+ { \
+ if ((flag_pic && RELOC) \
+ || ! TREE_READONLY (DECL) || TREE_SIDE_EFFECTS (DECL) \
+ || ! TREE_CONSTANT (DECL)) \
+ { \
+ int size = int_size_in_bytes (TREE_TYPE (DECL)); \
+ if (size >= 0 && size <= g_switch_value) \
+ sdata_section (); \
+ else \
+ data_section (); \
+ } \
+ else \
+ const_section (); \
+ } \
else \
const_section (); \
}