$ cat forall.f90 character(12), dimension(2) :: a, b a= (/"abcdefghijkl","mnopqrstuvwx"/) ! OK because it uses gfc_trans_assignment forall (i=1:2) b(i) = a(i) ! Broken - gfc_trans_assign_need_temp has no handling of string lengths forall (i=1:2) a(3-i) = a(i) end
$ /irun/bin/gfortran forall.f90 forall.f90: In function 'MAIN__': forall.f90:4: internal compiler error: in gfc_trans_scalar_assign, at fortran/tr ans-expr.c:3212 Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://gcc.gnu.org/bugs.html> for instructions. -- Summary: ICE in FORALL character assignment with dependences Product: gcc Version: 4.2.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: fortran AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: pault at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29211