aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Kenner <kenner@vlsi1.ultra.nyu.edu>2000-05-19 10:44:55 +0000
committerRichard Kenner <kenner@gcc.gnu.org>2000-05-19 06:44:55 -0400
commitf2b339813f835813cd5a675d86c5a6342aa043e2 (patch)
tree6dbf18165d70b1dc3297ed8ac907931c7e80648f /gcc
parent6dad70df5428073b0c1d46dc956e3ebacdcb6d31 (diff)
downloadgcc-f2b339813f835813cd5a675d86c5a6342aa043e2.zip
gcc-f2b339813f835813cd5a675d86c5a6342aa043e2.tar.gz
gcc-f2b339813f835813cd5a675d86c5a6342aa043e2.tar.bz2
elfos.h (SELECT_SECTION): Don't access DECL_INITIAL of a CONSTRUCTOR.
* config/elfos.h (SELECT_SECTION): Don't access DECL_INITIAL of a CONSTRUCTOR. From-SVN: r34019
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/elfos.h12
2 files changed, 15 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 4c1c5ee..8ff3f8c 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+Fri May 19 06:49:35 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * config/elfos.h (SELECT_SECTION): Don't access DECL_INITIAL of
+ a CONSTRUCTOR.
+
2000-05-18 Chris Demetriou <cgd@sibyte.com>
* gcc.texi (MULTILIB_EXCEPTIONS): Correct example and update
diff --git a/gcc/config/elfos.h b/gcc/config/elfos.h
index ebee43a..dfcbb92 100644
--- a/gcc/config/elfos.h
+++ b/gcc/config/elfos.h
@@ -484,8 +484,7 @@ dtors_section () \
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) \
@@ -496,6 +495,15 @@ dtors_section () \
else \
const_section (); \
} \
+ else if (TREE_CODE (DECL) == CONSTRUCTOR) \
+ { \
+ if ((flag_pic && RELOC) \
+ || !TREE_READONLY (DECL) || TREE_SIDE_EFFECTS (DECL) \
+ || ! TREE_CONSTANT (DECL)) \
+ data_section (); \
+ else \
+ const_section (); \
+ } \
else \
const_section (); \
}