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

Reply via email to