re PR middle-end/64353 (ICE: in execute_todo, at passes.c:1986)
authorIlya Enkovich <ilya.enkovich@intel.com>
Fri, 16 Jan 2015 15:38:21 +0000 (15:38 +0000)
committerIlya Enkovich <ienkovich@gcc.gnu.org>
Fri, 16 Jan 2015 15:38:21 +0000 (15:38 +0000)
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

gcc/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/pr64353.C [new file with mode: 0644]
gcc/tree-cfg.c

index a28a578595bd9df1349d914719662cf400f00e8c..b77b827328c0d76f048614f5b09efafb721b857a 100644 (file)
@@ -1,3 +1,9 @@
+2015-01-16  Ilya Enkovich  <ilya.enkovich@intel.com>
+
+       PR middle-end/64353
+       * tree-cfg.c (pass_data_fixup_cfg): Update SSA for
+       virtuals on start.
+
 2015-01-16  James Greenhalgh  <james.greenhalgh@arm.com>
 
        * config/arm/cortex-a57.md: Remove duplicate of file accidentally
index 231b947cde603cdde90f59da7796228162bf1edf..57e4936cb90c492b65eda70e3fb3728fe97ae341 100644 (file)
@@ -1,3 +1,8 @@
+2015-01-16  Ilya Enkovich  <ilya.enkovich@intel.com>
+
+       PR middle-end/64353
+       * g++.dg/pr64353.C: New.
+
 2015-01-16  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
 
        PR target/64263
diff --git a/gcc/testsuite/g++.dg/pr64353.C b/gcc/testsuite/g++.dg/pr64353.C
new file mode 100644 (file)
index 0000000..7859918
--- /dev/null
@@ -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;
+}
index 006bc08bbcac7d85f7841eda58a0e5b9b1fa404a..2e23553229f031fe4ad2a87af559400e59ee2300 100644 (file)
@@ -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 */
 };