2011-06-27 Richard Guenther <rguenther@suse.de>
PR tree-optimization/49394
* passes.c (execute_one_pass): Restore current_pass after
applying IPA transforms.
* g++.dg/torture/pr49394.C: New testcase.
From-SVN: r175532
+2011-06-27 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/49394
+ * passes.c (execute_one_pass): Restore current_pass after
+ applying IPA transforms.
+
2011-06-27 Kai Tietz <ktietz@redhat.com>
* tree-ssa-math-opts.c (do_shift_rotate): Zero bits
do_per_function (apply_ipa_transforms, (void *)&applied);
if (applied)
cgraph_remove_unreachable_nodes (true, dump_file);
+ /* Restore current_pass. */
+ current_pass = pass;
}
if (!quiet_flag && !cfun)
+2011-06-27 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/49394
+ * g++.dg/torture/pr49394.C: New testcase.
+
2011-06-27 Kai Tietz <ktietz@redhat.com>
* gcc.dg/optimize-bswapdi-2.c: New test.
--- /dev/null
+// { dg-do run }
+// { dg-options "-fipa-pta -fnon-call-exceptions" }
+
+struct Mutex
+{
+ bool locked;
+ ~Mutex ()
+ {
+ if (locked)
+ throw 0;
+ }
+ void lock ()
+ {
+ locked = true;
+ }
+ void unlock ()
+ {
+ if (!locked)
+ throw 0;
+ locked = false;
+ }
+};
+
+struct lock_guard
+{
+ Mutex *m;
+ lock_guard (Mutex *m) : m(m)
+ {
+ }
+ ~lock_guard ()
+ {
+ m->unlock ();
+ }
+};
+
+int
+main ()
+{
+ Mutex m;
+ m.lock ();
+ try
+ {
+ lock_guard l (&m);
+ }
+ catch ( ...)
+ {
+ __builtin_abort ();
+ }
+ return 0;
+}