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