This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug ipa/83346] inliner crash with attribute always_inline/flatten on a destructor


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

--- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Author: jakub
Date: Fri Dec 22 08:50:30 2017
New Revision: 255968

URL: https://gcc.gnu.org/viewcvs?rev=255968&root=gcc&view=rev
Log:
        Backported from mainline
        2017-12-19  Jakub Jelinek  <jakub@redhat.com>

        PR ipa/82801
        PR ipa/83346
        * ipa-inline.c (flatten_remove_node_hook): New function.
        (ipa_inline): Keep only nodes with flatten attribute at the end of
        the array in the order from ipa_reverse_postorder, only walk that
        portion of array for flattening, if there is more than one such
        node, temporarily register a removal hook and ignore removed nodes.

        * g++.dg/ipa/pr82801.C: New test.

Added:
    branches/gcc-7-branch/gcc/testsuite/g++.dg/ipa/pr82801.C
Modified:
    branches/gcc-7-branch/gcc/ChangeLog
    branches/gcc-7-branch/gcc/ipa-inline.c
    branches/gcc-7-branch/gcc/testsuite/ChangeLog

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]