On Wed, Mar 21, 2012 at 10:23 PM, Iain Sandoe <develo...@sandoe-acoustics.co.uk> wrote: >> objc/ >> * objc-act (objc_build_ivar_assignment): Do not call >> assemble_external. >> (objc_build_global_assignment): Likewise. >> (objc_build_strong_cast_assignment): Likewise. >> * objc-next-runtime-abi-01.c: Cleanup commented-out >> assemble_external. >> * objc-next-runtime-abi-02.c: Likewise. >> * objc-gnu-runtime-abi-01.c: Likewise. >> <cleanup_objc_assemble_external.diff> > > > ... this would allow us to close PR17982?
I believe so, but I have to look into it a but deeper to understand what the remaining assemble_external calls are for. The ones in config/* are OK, they are all for writing out multiple-inheritance thunks. The ones that need checking are: calls.c:1649: assemble_external (fndecl); expr.c:1422: assemble_external (block_move_fn); expr.c:2794: assemble_external (block_clear_fn); expr.c:7423: assemble_external (exp); expr.c:9022: assemble_external (exp); final.c:2745: assemble_external (t); final.c:3497: assemble_external (t); final.c:3568: assemble_external (SYMBOL_REF_DECL (x)); toplev.c:489: assemble_external (decl); > ... and make progress on PR24777? (I'm not sure where exactly we need to go > with this one - we have different sets of calls depending on the runtime) The FIXMEs in that PR do not exist anymore. Perhaps this removed them: 2011-10-11 Michael Meissner <meissner at linux dot vnet dot ibm dot com> * objc-next-runtime-abi-01.c (objc_build_exc_ptr): Delete old interface with two parallel arrays to hold standard builtin declarations, and replace it with a function based interface that can support creating builtins on the fly in the future. Change all uses, and poison the old names. Make sure 0 is not a legitimate builtin index. * objc-next-runtime-abi-02.c (objc_build_exc_ptr): Ditto. * objc-gnu-runtime-abi-01.c (objc_build_exc_ptr): Ditto. In any case, if there's nothing left to fix for PR24777, I suppose it can be closed as FIXED. Ciao! Steven