This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/33763] [4.3/4.4/4.5/4.6 Regression] Bogus inlining failed in call to `xxx': redefined extern inline functions are not considered for inlining
- From: "hubicka at ucw dot cz" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Sat, 5 Mar 2011 12:45:49 +0000
- Subject: [Bug tree-optimization/33763] [4.3/4.4/4.5/4.6 Regression] Bogus inlining failed in call to `xxx': redefined extern inline functions are not considered for inlining
- Auto-submitted: auto-generated
- References: <bug-33763-4@http.gcc.gnu.org/bugzilla/>
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