From 51a56a7d474daf301f46324da38208835a524f2c Mon Sep 17 00:00:00 2001 From: Stan Shebs Date: Fri, 28 Dec 2001 23:22:05 +0000 Subject: [PATCH] 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 --- gcc/ChangeLog | 7 +++++++ gcc/objc/objc-act.c | 8 ++++++++ 2 files changed, 15 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b9905441156b..895a9afdce35 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2001-12-28 Stan Shebs + + * 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 * doc/md.texi: Add @findex define_insn_and_split. diff --git a/gcc/objc/objc-act.c b/gcc/objc/objc-act.c index 96e13237b24d..8dd08011177d 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), -- 2.43.5