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; }