summaryrefslogtreecommitdiff
path: root/gcc/config/elfos.h
diff options
context:
space:
mode:
authorkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>2000-05-19 10:44:55 +0000
committerkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>2000-05-19 10:44:55 +0000
commitb0eb05f129aa09384a1437e578a3ac08cdcc1860 (patch)
tree6dbf18165d70b1dc3297ed8ac907931c7e80648f /gcc/config/elfos.h
parent657ea16b788f299f5b0abb1515555ee760323634 (diff)
downloadgcc-b0eb05f129aa09384a1437e578a3ac08cdcc1860.tar.gz
* config/elfos.h (SELECT_SECTION): Don't access DECL_INITIAL of
a CONSTRUCTOR. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34019 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/elfos.h')
-rw-r--r--gcc/config/elfos.h12
1 files changed, 10 insertions, 2 deletions
diff --git a/gcc/config/elfos.h b/gcc/config/elfos.h
index ebee43a55ae..dfcbb928859 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 (); \
}