Since the Fortran front-end now sets the clause locations correctly, we can emit warnings with more precise locations if we encounter conflicting operations for a variable in reduction clauses.
2019-12-10 Frederik Harwath <frede...@codesourcery.com> gcc/ * omp-low.c (scan_omp_for): Use clause location in warning. --- gcc/omp-low.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/omp-low.c b/gcc/omp-low.c index ad26f7918a5..d422c205836 100644 --- a/gcc/omp-low.c +++ b/gcc/omp-low.c @@ -2473,7 +2473,7 @@ scan_omp_for (gomp_for *stmt, omp_context *outer_ctx) tree_code outer_op = OMP_CLAUSE_REDUCTION_CODE (outer_clause); if (outer_var == local_var && outer_op != local_op) { - warning_at (gimple_location (stmt), 0, + warning_at (OMP_CLAUSE_LOCATION (local_clause), 0, "conflicting reduction operations for %qE", local_var); inform (OMP_CLAUSE_LOCATION (outer_clause), -- 2.17.1