mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-08 19:31:06 +08:00
re PR middle-end/53992 (Combining -fopenmp and -fgnu-tm results in segfault or misbehaving binaries)
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
This commit is contained in:
parent
e3b3505750
commit
d88513eaf7
@ -1,3 +1,8 @@
|
||||
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
|
||||
|
@ -6827,6 +6827,9 @@ lower_omp_1 (gimple_stmt_iterator *gsi_p, omp_context *ctx)
|
||||
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;
|
||||
|
@ -1,3 +1,8 @@
|
||||
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
|
||||
|
21
gcc/testsuite/gcc.dg/gomp/pr53992.c
Normal file
21
gcc/testsuite/gcc.dg/gomp/pr53992.c
Normal file
@ -0,0 +1,21 @@
|
||||
/* 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);
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user