https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86626
G. Steinmetz <gs...@t-online.de> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |gs...@t-online.de --- Comment #3 from G. Steinmetz <gs...@t-online.de> --- Reduction : $ cat z1.f90 module m interface fun module procedure f end interface contains function f(b) result(z) character(*) :: b(:) character(len(b)) :: z(size(b)) z = b end elemental function g(a,b) result(c) character(*), intent(in) :: a, b character(len(a)+len(b)) :: c c = a // b end end program p use m print *, len(g(['abc'], '_'//fun(['xyz']))) end $ gfortran-9-20181028 -c z1.f90 z1.f90:19:0: 19 | print *, len(g(['abc'], '_'//fun(['xyz']))) | internal compiler error: Segmentation fault 0xb1f6cf crash_signal ../../gcc/toplev.c:325 0x6c2a40 get_array_charlen ../../gcc/fortran/trans-array.c:6956 0x6c2b17 get_array_charlen ../../gcc/fortran/trans-array.c:6919 0x6d001c gfc_conv_expr_descriptor(gfc_se*, gfc_expr*) ../../gcc/fortran/trans-array.c:7293 0x714b5c gfc_conv_intrinsic_len ../../gcc/fortran/trans-intrinsic.c:6624 0x714b5c gfc_conv_intrinsic_function(gfc_se*, gfc_expr*) ../../gcc/fortran/trans-intrinsic.c:9628 0x6f8b94 gfc_conv_function_expr ../../gcc/fortran/trans-expr.c:6864 0x6ed2ea gfc_conv_expr(gfc_se*, gfc_expr*) ../../gcc/fortran/trans-expr.c:7998 0x6ed482 gfc_conv_expr_op ../../gcc/fortran/trans-expr.c:3430 0x6ed482 gfc_conv_expr(gfc_se*, gfc_expr*) ../../gcc/fortran/trans-expr.c:7994 0x6ef34a gfc_apply_interface_mapping(gfc_interface_mapping*, gfc_se*, gfc_expr*) ../../gcc/fortran/trans-expr.c:4410 0x6c2a97 get_array_charlen ../../gcc/fortran/trans-array.c:6963 0x6cfa5c gfc_conv_expr_descriptor(gfc_se*, gfc_expr*) ../../gcc/fortran/trans-array.c:7232 0x714b5c gfc_conv_intrinsic_len ../../gcc/fortran/trans-intrinsic.c:6624 0x714b5c gfc_conv_intrinsic_function(gfc_se*, gfc_expr*) ../../gcc/fortran/trans-intrinsic.c:9628 0x6f8b94 gfc_conv_function_expr ../../gcc/fortran/trans-expr.c:6864 0x6ed2ea gfc_conv_expr(gfc_se*, gfc_expr*) ../../gcc/fortran/trans-expr.c:7998 0x6f2c95 gfc_conv_expr_reference(gfc_se*, gfc_expr*, bool) ../../gcc/fortran/trans-expr.c:8143 0x7198e7 gfc_trans_transfer(gfc_code*) ../../gcc/fortran/trans-io.c:2584 0x6bea57 trans_code ../../gcc/fortran/trans.c:2038