------- 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

Reply via email to