Regression in merge with constant character arguments

Paul THOMAS paulthomas2@wanadoo.fr
Fri Oct 7 08:37:00 GMT 2005


  integer, dimension(4) :: Ising = (/1,0,0,1/)
  character*1 :: p="+",  m="-"
  print *, Merge (p, m, Ising(1: 4)  == 1)
  print *, Merge (1, 0, Ising(1: 4)  == 1)
  print *, Merge ("+", "-", Ising(1: 4)  == 1) ! Bombs out here
  end

Now ICEs with:

test.f90: In function 'MAIN__':
test.f90:5: internal compiler error: in gfc_conv_expr_descriptor, at fortran/trans-array.c:3815

Dominique Dhumières has pinned it down to:

> Finally, the reduced case works on
> 
> GNU F95 version 4.1.0 20050926 (experimental) (i386-linux)
> 
> but not on
> 
> GNU F95 version 4.1.0 20050927 (experimental) (i386-linux)
> 
Jakub Jelenik's patch does not look to be the culprit; any ideas anyone?

Paul T



More information about the Fortran mailing list