------- Comment #35 from iains at gcc dot gnu dot org 2010-08-10 13:01 ------- (In reply to comment #34)
> I think the ones in calls.c are OK. So only ObjC still calls > assemble_external. Iain? AFAICT, assemble_external () [no longer?] emits any assembly nor does it call DECL_ASSEMBLER_NAME: it seems to check for a weak function and add that to the weak functions list and then (if the target defines ASM_OUTPUT_EXTERNAL) adds the decl to the pending list which is output from assemble_pending_externals () called from toplev.c. varasm (assemble variable) says: /* Normally no need to say anything here for external references, since assemble_external is called by the language-specific code when a declaration is first seen. */ if (DECL_EXTERNAL (decl)) return; I would imagine that if this were replaced by: if (DECL_EXTERNAL (decl)) { assemble_external (decl); return; } we should be able to remove the calls in ObjC (I'll try this later). OTOH, I wonder if we have a case of a solved problem with the bug left open....? [BTW, I also have checking the status of 24777 on my TODO.] -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17982