https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53298
--- Comment #5 from Harald Anlauf <anlauf at gmx dot de> --- Removing the size() in the print and the unneeded declaration of llll, one gets a different ICE: character(len=5) :: str(3) call f(str(:)) contains subroutine f(x) character(len=*) :: x(:) print *, x(:)(1:) end subroutine f end Program received signal SIGSEGV, Segmentation fault. gfc_conv_expr (se=0xbfffe134, expr=0x0) at ../../trunk/gcc/fortran/trans-expr.c:7891 7891 if (expr->ts.type == BT_DERIVED && expr->ts.u.derived->ts.f90_type == BT_VOID (gdb) print expr $2 = (gfc_expr *) 0x0