summaryrefslogtreecommitdiff
path: root/gcc/ch
diff options
context:
space:
mode:
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2001-08-09 22:33:35 +0000
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2001-08-09 22:33:35 +0000
commit01d15dc570c9d303e03ad64a0f66a38f5ce4b8bd (patch)
treeddb2d5519f49bc33648c25225b8b8ba84df590b9 /gcc/ch
parentbe6b7965bba925cee48dfe2af6c9a40e85c744c1 (diff)
downloadgcc-01d15dc570c9d303e03ad64a0f66a38f5ce4b8bd.tar.gz
Move constructor/destructor handling into target hooks.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@44747 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ch')
-rw-r--r--gcc/ch/ChangeLog5
-rw-r--r--gcc/ch/grant.c10
2 files changed, 9 insertions, 6 deletions
diff --git a/gcc/ch/ChangeLog b/gcc/ch/ChangeLog
index b1c048b64ea..f8fe135dcfb 100644
--- a/gcc/ch/ChangeLog
+++ b/gcc/ch/ChangeLog
@@ -1,3 +1,8 @@
+2001-08-09 Richard Henderson <rth@redhat.com>
+
+ * grant.c (chill_finish_compile): Use target hooks instead of
+ assemble_constructor.
+
2001-08-06 Richard Henderson <rth@redhat.com>
* grant.c (chill_finish_compile): Pass a symbol_ref and priority
diff --git a/gcc/ch/grant.c b/gcc/ch/grant.c
index c10eb99dc20..806c944b0a9 100644
--- a/gcc/ch/grant.c
+++ b/gcc/ch/grant.c
@@ -31,6 +31,7 @@ Boston, MA 02111-1307, USA. */
#include "tasking.h"
#include "toplev.h"
#include "output.h"
+#include "target.h"
#define APPEND(X,Y) X = append (X, Y)
#define PREPEND(X,Y) X = prepend (X, Y);
@@ -3046,12 +3047,9 @@ chill_finish_compile ()
finish_chill_function ();
- if (pass == 2)
- {
- assemble_constructor (XEXP (DECL_RTL (chill_init_function), 0),
- DEFAULT_INIT_PRIORITY);
- globalize_decl (chill_init_function);
- }
+ if (pass == 2 && targetm.have_ctors_dtors)
+ (* targetm.asm_out.constructor)
+ (XEXP (DECL_RTL (chill_init_function), 0), DEFAULT_INIT_PRIORITY);
/* ready now to link decls onto this list in pass 2. */
module_init_list = NULL_TREE;