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

Reply via email to