LGTM. Thanks for the patch!
Tobias
On 12/9/19 4:58 PM, Harwath, Frederik wrote:
Hi,
Tobias has recently fixed a problem with the column information in gfortran
locations
("PR 92793 - fix column used for error diagnostic"). Diagnostic messages for
OpenMP/OpenACC
clauses do not contain the right column information yet. The reason is that the
location
information of the first clause is used for all clauses on a line and hence the
columns
are wrong for all but the first clause. The attached patch fixes this problem.
I have tested the patch manually by adapting the validity check for nested
OpenACC reductions (see omp-low.c)
to include the location of clauses in warnings instead of the location of the
loop to which the clause belongs.
I can add a regression test based on this later on after adapting the code in
omp-low.c.
Is it ok to include the patch in trunk?
Best regards,
Frederik
On 04.12.19 14:37, Tobias Burnus wrote:
As reported internally by Frederik, gfortran currently passes LOCATION_COLUMN
== 0 to the middle end. The reason for that is how parsing works – gfortran
reads the input line by line.
For internal error diagnostic (fortran/error.c), the column location was
corrected – but not for locations passed to the middle end. Hence, the
diagnostic there wasn't optimal.
Fixed by introducing a new function; now one only needs to make sure that no new code will
re-introduce "lb->location" :-)
Build and regtested on x86-64-gnu-linux.
OK for the trunk?
Tobias