https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83051

Jan Hubicka <hubicka at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
           Assignee|unassigned at gcc dot gnu.org      |hubicka at gcc dot 
gnu.org

--- Comment #9 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
The new testcase ICEs on quite old bug that final inline error can be turned
to non-final by flatten attribute.
I am testing.
Index: ipa-inline.c
===================================================================
--- ipa-inline.c        (revision 256778)
+++ ipa-inline.c        (working copy)
@@ -2083,7 +2083,8 @@ flatten_function (struct cgraph_node *no
                     "Not inlining %s into %s to avoid cycle.\n",
                     xstrdup_for_dump (callee->name ()),
                     xstrdup_for_dump (e->caller->name ()));
-         e->inline_failed = CIF_RECURSIVE_INLINING;
+         if (cgraph_inline_failed_type (e->inline_failed) != CIF_FINAL_ERROR)
+           e->inline_failed = CIF_RECURSIVE_INLINING;
          continue;
        }

Reply via email to