[patch, fortran] Fix PR 69544
Dominique d'Humières
dominiq@lps.ens.fr
Tue Nov 1 18:42:00 GMT 2016
gfortran regtested without regression with the patch
--- ../_clean/gcc/fortran/match.c 2016-11-01 17:24:32.000000000 +0100
+++ gcc/fortran/match.c 2016-11-01 16:21:31.000000000 +0100
@@ -6219,6 +6219,7 @@ match_simple_where (void)
c->next = XCNEW (gfc_code);
*c->next = new_st;
+ c->next->loc = gfc_current_locus;
gfc_clear_new_st ();
new_st.op = EXEC_WHERE;
Dominique
> Le 1 nov. 2016 à 18:15, Thomas Koenig <tkoenig@netcologne.de> a écrit :
>
> Hi Dominique,
>
>> The patch fixes the ICE due to the missing gfc_current_locus in the
>> last one, but the same should be applied to match_simple_where,
>> otherwise one gets an ICE for statements such as
>>
>> if (n==10) where (txt(1:3) /= '' ) y(1:3,i,j) = txt(1:3)
>
> I can confirm that the bug exists. Because the obvious and simple fix
> caused a boatload of regressions for reasons I cannot yet understand, I
> have opened PR 78178 for the other test case, and committed the existing
> fix to trunk so far.
>
> Am rebuilding my tree at the moment, maybe this will help.
>
> Regards
>
> Thomas
More information about the Fortran
mailing list