[PATCH] Fix column information for omp_clauses in Fortran code

Tobias Burnus tobias@codesourcery.com
Mon Dec 9 16:03:00 GMT 2019


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



More information about the Gcc-patches mailing list