http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57698

--- Comment #8 from Sriraman Tallam <tmsriram at google dot com> ---
One other alternative to the patch proposed earlier.  The reported bug happens
only when optimization is turned on as the early inliner pass invokes
incremental inlining which calls optimize_inline_calls and triggers the above
failure.  So, the fix is then as simple as:

Index: tree-inline.c
===================================================================
--- tree-inline.c       (revision 200912)
+++ tree-inline.c       (working copy)
@@ -3905,6 +3905,10 @@ expand_call_inline (basic_block bb, gimple stmt, c
             for inlining, but we can't do that because frontends overwrite
             the body.  */
          && !cg_edge->callee->local.redefined_extern_inline
+         /* During early inline pass, report only when optimization is
+            not turned on.  */
+         && (cgraph_global_info_ready
+             || !optimize) 
          /* PR 20090218-1_0.c. Body can be provided by another module. */
          && (reason != CIF_BODY_NOT_AVAILABLE || !flag_generate_lto))
        {

Seems like the right fix to me. Ok?

Reply via email to