diff options
author | Stan Shebs <shebs@apple.com> | 2001-12-28 23:22:05 +0000 |
---|---|---|
committer | Stan Shebs <shebs@gcc.gnu.org> | 2001-12-28 23:22:05 +0000 |
commit | 51a56a7d474daf301f46324da38208835a524f2c (patch) | |
tree | 16cc0c286d32484983410e291a463ab7db481967 | |
parent | fae81b385b8b6dc357a802edfe8082817acfdc27 (diff) | |
download | gcc-51a56a7d474daf301f46324da38208835a524f2c.zip gcc-51a56a7d474daf301f46324da38208835a524f2c.tar.gz gcc-51a56a7d474daf301f46324da38208835a524f2c.tar.bz2 |
objc-act.c (build_module_descriptor): Make sure the init function is not deferred.
* objc/objc-act.c (build_module_descriptor): Make sure the init
function is not deferred.
(build_dispatch_table_initializer): Compute the method encoding if
not already done.
From-SVN: r48356
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/objc/objc-act.c | 8 |
2 files changed, 15 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b990544..895a9af 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2001-12-28 Stan Shebs <shebs@apple.com> + + * objc/objc-act.c (build_module_descriptor): Make sure the init + function is not deferred. + (build_dispatch_table_initializer): Compute the method encoding if + not already done. + 2001-12-28 Kazu Hirata <kazu@hxi.com> * doc/md.texi: Add @findex define_insn_and_split. diff --git a/gcc/objc/objc-act.c b/gcc/objc/objc-act.c index 96e1323..8dd0801 100644 --- a/gcc/objc/objc-act.c +++ b/gcc/objc/objc-act.c @@ -1763,6 +1763,9 @@ build_module_descriptor () init_function_decl = current_function_decl; TREE_PUBLIC (init_function_decl) = ! targetm.have_ctors_dtors; TREE_USED (init_function_decl) = 1; + /* Don't let this one be deferred. */ + DECL_INLINE (init_function_decl) = 0; + DECL_UNINLINABLE (init_function_decl) = 1; current_function_cannot_inline = "static constructors and destructors cannot be inlined"; @@ -3856,6 +3859,11 @@ build_dispatch_table_initializer (type, entries) build_selector (METHOD_SEL_NAME (entries)), NULL_TREE); + /* Generate the method encoding if we don't have one already. */ + if (! METHOD_ENCODING (entries)) + METHOD_ENCODING (entries) = + encode_method_def (METHOD_DEFINITION (entries)); + elemlist = tree_cons (NULL_TREE, add_objc_string (METHOD_ENCODING (entries), meth_var_types), |