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 <tkoe...@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

Reply via email to