diff options
author | Thomas Koenig <tkoenig@gcc.gnu.org> | 2018-04-09 21:52:05 +0000 |
---|---|---|
committer | Thomas Koenig <tkoenig@gcc.gnu.org> | 2018-04-09 21:52:05 +0000 |
commit | f0caea4872076e02cad511db85a2437317c035c1 (patch) | |
tree | 6b5aacad5c68d4c082ccd01d1ba3b77e76061b9b /gcc/fortran/trans-stmt.c | |
parent | 06756ed901c35e2430f924eb6a3998d872eb1040 (diff) | |
download | gcc-f0caea4872076e02cad511db85a2437317c035c1.zip gcc-f0caea4872076e02cad511db85a2437317c035c1.tar.gz gcc-f0caea4872076e02cad511db85a2437317c035c1.tar.bz2 |
re PR fortran/83064 (DO CONCURRENT and auto-parallelization)
2018-04-09 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/83064
* trans-stmt.c (gfc_trans_forall_loop): Remove annotation for
parallell processing of DO CONCURRENT -ftree-parallelize-loops
is set.
2018-04-09 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/83064
* gfortran.dg/do_concurrent_5.f90: New test.
* gfortran.dg/vect/vect-do-concurrent-1.f90: Adjust dg-bogus
message.
From-SVN: r259258
Diffstat (limited to 'gcc/fortran/trans-stmt.c')
-rw-r--r-- | gcc/fortran/trans-stmt.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/fortran/trans-stmt.c b/gcc/fortran/trans-stmt.c index 25d5d3c..c44450e 100644 --- a/gcc/fortran/trans-stmt.c +++ b/gcc/fortran/trans-stmt.c @@ -3642,7 +3642,10 @@ gfc_trans_forall_loop (forall_info *forall_tmp, tree body, /* The exit condition. */ cond = fold_build2_loc (input_location, LE_EXPR, logical_type_node, count, build_int_cst (TREE_TYPE (count), 0)); - if (forall_tmp->do_concurrent) + + /* PR 83064 means that we cannot use the annotation if the + autoparallelizer is active. */ + if (forall_tmp->do_concurrent && ! flag_tree_parallelize_loops) cond = build3 (ANNOTATE_EXPR, TREE_TYPE (cond), cond, build_int_cst (integer_type_node, annot_expr_parallel_kind), |