Produce direct calls instead of alias to linkonce_odr functions

Rafael EspĂ­ndola rafael.espindola at gmail.com
Mon Nov 4 17:26:35 PST 2013


> Why doesn't this apply to inline constructors?  They are linkonce_odr.

Sorry, it does too. But they are also from EmitDeferred.

> EmitDeferred has a fixpoint loop, though, so it could cause more calls to
> the replaced alias to be emitted.
>
> I feel like this needs some defense against some other part of CodeGen
> mangling the name for the entity you are replacing and attempting to
> GetOrCreate it from the module.

We already reject linkonce_odr declarations, so it should fail the
verifier. Any ideas on how to assert earlier?

Cheers,
Rafael



More information about the cfe-commits mailing list