------- Comment #3 from rguenth at gcc dot gnu dot org 2009-10-17 18:02 ------- So, why do we complain here:
gcc_assert (node->global.inlined_to || !gimple_has_body_p (decl) || DECL_EXTERNAL (decl)); for read_error/5(-1) @0xb7d33200 (clone of read_error/4) availability:not_available (15 after inlining) (6 after inlining) needed reachable body externally_visible finalized called by: fill_inbuf/2 (0.00 per call) calls: a clone which is not available (but needed and externally_visible?!). Full cgraph at this point: __builtin_fprintf/6(-1) @0xb7d34300 availability:not_available needed externally_visible called by: read_error/4 (0.00 per call) calls: read_error/5(-1) @0xb7d34200 (clone of read_error/4) availability:not_available (15 after inlining) (6 after inlining) needed reachable body externally_visible finalized called by: fill_inbuf/2 (0.00 per call) calls: read_error/4(-1) @0xb7d34100 (inline copy in get_method/1) availability:local 15 time, 10 benefit 6 size, 1 benefit body local finalized inlinable called by: fill_inbuf/3 (0.00 per call) (inlined) calls: __builtin_fprintf/6 (0.00 per call) fill_inbuf/3(-1) @0xb7d34000 (inline copy in get_method/1) (clone of fill_inbuf/2) availability:local 4 time, 12 benefit 7 size, 3 benefit (12 after inlining) body local finalized inlinable called by: get_method/1 (0.22 per call) (inlined) calls: read_error/4 (inlined) (0.00 per call) fill_inbuf/2(-1) @0xb7c98d00 (inline copy in get_method/1) availability:local 4 time, 12 benefit 7 size, 3 benefit body local finalized inlinable called by: get_method/1 (0.07 per call) (inlined) calls: read_error/5 (0.00 per call) get_method/1(-1) @0xb7c98f00 availability:available 14 time, 12 benefit (13 after inlining) 26 size, 3 benefit (39 after inlining) needed reachable body externally_visible finalized inlinable called by: calls: fill_inbuf/3 (inlined) (0.22 per call) fill_inbuf/2 (inlined) (0.07 per call) main/0(-1) @0xb7c98e00 availability:available needed reachable body externally_visible finalized inlinable called by: calls: -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41734