aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/fortran')
-rw-r--r--gcc/fortran/ChangeLog7
-rw-r--r--gcc/fortran/trans-stmt.c5
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),