http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33763
--- Comment #20 from Jan Hubicka <hubicka at ucw dot cz> 2011-03-05 12:45:29 UTC --- > I don't think this is the desired behavior (nor is it documented). If it is > then we should simply drop the always-inline attribute when merging the > function decls (basically throw away the inline definition). Well, the desired behaviour IMO is to get one body for inline copies, other body for offline copy (this is also only consistent interpretation with LTO. Current way of inlining them early and then droppipng is bit weird). This is quite easy to do at cgraph level once frontend is able to produce both function bodies at two different declarations (one static inline, other external) tells so to the backend. No one volunteed to do this at frontend side yet :( Honza