http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43038

--- Comment #15 from Richard Guenther <rguenth at gcc dot gnu.org> 2011-03-02 
16:39:09 UTC ---
(In reply to comment #14)
> Ah, the reason for writting reply was primarily the observation that enforcing
> partitioning based on origin of asm statement won't fly with crossmoudle
> inlining, so I think it is quite useless complication of the whole thing.

Well, with a used global local decl I would just leave the unit alone,
doing a 1:1 partition for it (not mangling it).  That way we can even
handle multiple conflicting used declared statics ...

Of course that's the same end-result as if the user would compile the
unit without -flto.

Not sure if it's worth going that way though.

> Also the not mangling unless we hit conflict probably should be implemented
> in a way that when conflict exists all static of same name are renamed, so
> asm statements won't compile rather that end up referring random other
> variable.

Yes (assuming people forgot to annotate vars with attribute((used))).

We should also consider mangling them according to the function
or TU context, also for easier debugging.  Not sure if this is possible
without running into target limitations though.

Richard.

Reply via email to