gcc/
2012-08-20 Patrick Marlier <patrick.marlier@gmail.com>
PR middle-end/53992
* omp-low.c (lower_omp_1): Handle GIMPLE_TRANSACTION.
testsuite/
2012-08-20 Patrick Marlier <patrick.marlier@gmail.com>
PR middle-end/53992
* gcc.dg/gomp/pr53992.c: New test.
From-SVN: r190536
+2012-08-20 Patrick Marlier <patrick.marlier@gmail.com>
+
+ PR middle-end/53992
+ * omp-low.c (lower_omp_1): Handle GIMPLE_TRANSACTION.
+
2012-08-20 Richard Earnshaw <rearnsha@arm.com>
PR tree-ssa/54295
lower_omp (gimple_try_eval_ptr (stmt), ctx);
lower_omp (gimple_try_cleanup_ptr (stmt), ctx);
break;
+ case GIMPLE_TRANSACTION:
+ lower_omp (gimple_transaction_body_ptr (stmt), ctx);
+ break;
case GIMPLE_BIND:
lower_omp (gimple_bind_body_ptr (stmt), ctx);
break;
+2012-08-20 Patrick Marlier <patrick.marlier@gmail.com>
+
+ PR middle-end/53992
+ * gcc.dg/gomp/pr53992.c: New test.
+
2012-08-20 Richard Earnshaw <rearnsha@arm.com>
PR tree-ssa/54295
--- /dev/null
+/* PR middle-end/53992 */
+/* { dg-do compile } */
+/* { dg-options "-fgnu-tm -fopenmp" } */
+/* { dg-require-effective-target fgnu_tm } */
+
+int main() {
+ long data[10000];
+ long i, min=10000;
+ for (i=0; i<10000; i++) data[i] = -i;
+
+#pragma omp parallel for
+ for (i=0; i<10000; i++) {
+ __transaction_atomic
+ {
+ if (data[i] < min)
+ min = data[i];
+ }
+ }
+
+ return !(min == -9999);
+}