------- Comment #11 from fxcoudert at gcc dot gnu dot org 2007-11-12 00:18 ------- Reduced further: $ cat m.f90 logical :: a(1) a = .true. write(*,*) foo(merge((/ 1 /), 1, a)) end $ gfortran m.f90 m.f90: In function ‘MAIN__’: m.f90:2: internal compiler error: in gfc_trans_create_temp_array, at fortran/trans-array.c:592 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31610