From: Ilya Enkovich Date: Fri, 16 Jan 2015 15:38:21 +0000 (+0000) Subject: re PR middle-end/64353 (ICE: in execute_todo, at passes.c:1986) X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=ed22611ae503ebea38011dcfc2fe75ebab97dcfc;p=gcc.git re PR middle-end/64353 (ICE: in execute_todo, at passes.c:1986) gcc/ PR middle-end/64353 * tree-cfg.c (pass_data_fixup_cfg): Update SSA for virtuals on start. gcc/testsuite/ PR middle-end/64353 * g++.dg/pr64353.C: New. From-SVN: r219748 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a28a578595b..b77b827328c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2015-01-16 Ilya Enkovich + + PR middle-end/64353 + * tree-cfg.c (pass_data_fixup_cfg): Update SSA for + virtuals on start. + 2015-01-16 James Greenhalgh * config/arm/cortex-a57.md: Remove duplicate of file accidentally diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 231b947cde6..57e4936cb90 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2015-01-16 Ilya Enkovich + + PR middle-end/64353 + * g++.dg/pr64353.C: New. + 2015-01-16 Kyrylo Tkachov PR target/64263 diff --git a/gcc/testsuite/g++.dg/pr64353.C b/gcc/testsuite/g++.dg/pr64353.C new file mode 100644 index 00000000000..7859918cf56 --- /dev/null +++ b/gcc/testsuite/g++.dg/pr64353.C @@ -0,0 +1,15 @@ +/* { dg-do compile } */ +/* { dg-options "-O2" } */ + +class C +{ + int y, x; + void i (); + bool __attribute__((const)) xx () { return x; } +}; + +void C::i () +{ + if (xx ()) + x = 1; +} diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c index 006bc08bbca..2e23553229f 100644 --- a/gcc/tree-cfg.c +++ b/gcc/tree-cfg.c @@ -8754,7 +8754,7 @@ const pass_data pass_data_fixup_cfg = PROP_cfg, /* properties_required */ 0, /* properties_provided */ 0, /* properties_destroyed */ - 0, /* todo_flags_start */ + TODO_update_ssa_only_virtuals, /* todo_flags_start */ 0, /* todo_flags_finish */ };