$ cat a4.f90 PRINT *, LEN(SUB(3)) CONTAINS FUNCTION SUB(I) CHARACTER(LEN=I) :: SUB(1) END FUNCTION END $ gfortran a4.f90 a4.f90: In function sub: a4.f90:1: warning: Function does not return a value a4.f90: In function MAIN__: a4.f90:1: internal compiler error: in gfc_conv_function_call, at fortran/trans-expr.c:2160
The failing assertion is gcc_assert (se->loop && info) -- Summary: ICE on character array function of variable length 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: fxcoudert at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29387