diff options
-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), |