diff options
Diffstat (limited to 'gcc/fortran')
-rw-r--r-- | gcc/fortran/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/fortran/trans-stmt.c | 5 |
2 files changed, 11 insertions, 1 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 324fbf3..53792eb 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,5 +1,12 @@ 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/51260 * resolve.c (resolve_variable): Simplify cases where access to a parameter array results in a single constant. 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), |