2011-02-01 Richard Guenther <rguenther@suse.de>
PR tree-optimization/47559
* tree-ssa-loop-im.c (can_sm_ref_p): Do not perform
store-motion on references that can throw.
* g++.dg/torture/pr47559.C: New testcase.
From-SVN: r169487
+2011-02-01 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/47559
+ * tree-ssa-loop-im.c (can_sm_ref_p): Do not perform
+ store-motion on references that can throw.
+
2011-02-01 Bernd Schmidt <bernds@codesourcery.com>
* tree-dump.c (dump_option_value_info): Add entry for TDF_CSELIB.
+2011-02-01 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/47559
+ * g++.dg/torture/pr47559.C: New testcase.
+
2011-02-01 Janus Weil <janus@gcc.gnu.org>
PR fortran/47565
--- /dev/null
+// { dg-do compile }
+// { dg-options "-std=c++0x -fnon-call-exceptions" }
+
+void foo (int *k) noexcept
+{
+ for (;;)
+ *k = 0;
+}
|| !for_each_index (&ref->mem, may_move_till, loop))
return false;
+ /* If it can throw fail, we do not properly update EH info. */
+ if (tree_could_throw_p (ref->mem))
+ return false;
+
/* If it can trap, it must be always executed in LOOP.
Readonly memory locations may trap when storing to them, but
tree_could_trap_p is a predicate for rvalues, so check that