http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47799
Summary: LTO debug info for early inlined functions missing Product: gcc Version: 4.6.0 Status: UNCONFIRMED Keywords: lto Severity: normal Priority: P3 Component: lto AssignedTo: unassig...@gcc.gnu.org ReportedBy: rgue...@gcc.gnu.org FAIL: gcc.dg/guality/pr43329-1.c -O2 -flto line 12 argx == 25 is because we inline foo during early inlining and the BLOCKs of the inline instance are not emitted. With -fno-early-inlining it succeeds. That is, the effect of /* Output the inlining info for this abstract function, since it has been inlined. If we don't do this now, we can lose the information about the variables in the function when the blocks get blown away as soon as we remove the cgraph node. */ (*debug_hooks->outlining_inline_function) (cg_edge->callee->decl); isn't reflected in the LTO IL and thus gets lost. The information should still be there in the inlined BLOCKs abstract origins though, no?