With -O2, the function ii, called from function m in the attached file, is inlined, despite the noinline attribute. There is an outlined ii emitted, but no call to it in function m. The code is an failed attempt to synthesize a test-case for another bug (though for the record the failure isn't just because of the inlining). Not being able to trivially stop inlining for otherwise trivial calls is troublesome in this case, while possibly a mere wart for real code.
-- Summary: noinline function being inlined Product: gcc Version: 4.3.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: hp at gcc dot gnu dot org GCC host triplet: x86_64-unknown-linux-gnu GCC target triplet: x86_64-unknown-linux-gnu, cris-axis-elf http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34563