Fix column information for omp_clauses in Fortran code
authorFrederik Harwath <frederik@codesourcery.com>
Mon, 9 Dec 2019 16:30:25 +0000 (16:30 +0000)
committerFrederik Harwath <frederik@gcc.gnu.org>
Mon, 9 Dec 2019 16:30:25 +0000 (16:30 +0000)
The location of all OpenMP/OpenACC clauses on any given line in Fortran code
always points to the first clause on that line. Hence, the column information
is wrong for all clauses but the first one.

Use the correct location for each clause instead.

2019-12-09  Frederik Harwath  <frederik@codesourcery.com>

/gcc/fortran/
* trans-openmp.c (gfc_trans_omp_reduction_list): Pass correct location for each
clause to build_omp_clause.

From-SVN: r279132

gcc/fortran/ChangeLog
gcc/fortran/trans-openmp.c

index c3a4c3adcdb7b5cddf81b13ae8f64a3fa1f5ba09..01866d5eec089a6c2e2edc70b6137589aaed7e8e 100644 (file)
@@ -1,3 +1,8 @@
+2019-12-09  Frederik Harwath  <frederik@codesourcery.com>
+
+       * trans-openmp.c (gfc_trans_omp_reduction_list): Pass correct location for each
+       clause to build_omp_clause.
+
 2018-12-08  Thomas Koenig  <tkoenig@gcc.gnu.org>
 
        PR fortran/92780
index d07ff86fc0b877e03cd7efdaf2ada52170806003..356fd04e6c3ee0e9b44fcf2b58a24162a1438e39 100644 (file)
@@ -1982,7 +1982,7 @@ gfc_trans_omp_reduction_list (gfc_omp_namelist *namelist, tree list,
        tree t = gfc_trans_omp_variable (namelist->sym, false);
        if (t != error_mark_node)
          {
-           tree node = build_omp_clause (gfc_get_location (&where),
+           tree node = build_omp_clause (gfc_get_location (&namelist->where),
                                          OMP_CLAUSE_REDUCTION);
            OMP_CLAUSE_DECL (node) = t;
            if (mark_addressable)