From: Jakub Jelinek Date: Mon, 25 Jun 2018 17:22:32 +0000 (+0200) Subject: backport: re PR ipa/84425 (Hang in ipa-inline.c starting with r250048) X-Git-Tag: releases/gcc-6.5.0~220 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b8371008b80b548cf61be478498318ba0c1f96b8;p=thirdparty%2Fgcc.git backport: re PR ipa/84425 (Hang in ipa-inline.c starting with r250048) Backported from mainline 2018-02-16 Jakub Jelinek PR ipa/84425 * ipa-inline.c (inline_small_functions): Fix a typo. * gcc.c-torture/compile/pr84425.c: New test. From-SVN: r262064 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 88eabb9420ba..fb2454f7e314 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,6 +1,11 @@ 2018-06-25 Jakub Jelinek Backported from mainline + 2018-02-16 Jakub Jelinek + + PR ipa/84425 + * ipa-inline.c (inline_small_functions): Fix a typo. + 2018-02-13 Jakub Jelinek PR c/82210 diff --git a/gcc/ipa-inline.c b/gcc/ipa-inline.c index 83f772949118..ab94499c9dcf 100644 --- a/gcc/ipa-inline.c +++ b/gcc/ipa-inline.c @@ -1771,7 +1771,7 @@ inline_small_functions (void) struct cgraph_node *n2; int id = dfs->scc_no + 1; for (n2 = node; n2; - n2 = ((struct ipa_dfs_info *) node->aux)->next_cycle) + n2 = ((struct ipa_dfs_info *) n2->aux)->next_cycle) { struct inline_summary *info2 = inline_summaries->get (n2); if (info2->scc_no) diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 029e88d43fed..1063fa095dff 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,6 +1,11 @@ 2018-06-25 Jakub Jelinek Backported from mainline + 2018-02-16 Jakub Jelinek + + PR ipa/84425 + * gcc.c-torture/compile/pr84425.c: New test. + 2018-02-13 Jakub Jelinek PR c/82210 diff --git a/gcc/testsuite/gcc.c-torture/compile/pr84425.c b/gcc/testsuite/gcc.c-torture/compile/pr84425.c new file mode 100644 index 000000000000..5d3d325aa232 --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/compile/pr84425.c @@ -0,0 +1,17 @@ +/* PR ipa/84425 */ + +void bar (int); + +void +foo (int x) +{ + if (x < 5) + bar (x); +} + +__attribute__((optimize(0))) void +bar (int x) +{ + if (x > 10) + foo (x); +}