https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67538

            Bug ID: 67538
           Summary: ICE with invalid source allocation
           Product: gcc
           Version: 6.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
          Assignee: unassigned at gcc dot gnu.org
          Reporter: mrestelli at gmail dot com
  Target Milestone: ---

The following code is invalid since the array dimension is missing,
but since it is an ICE I am reporting it.

$ gfortran --version
GNU Fortran (GCC) 6.0.0 20150910 (experimental)


$ gfortran -c ice.f90
ice.f90:10:0:

    allocate( x , source=y )
1
internal compiler error: in gfc_conv_expr_descriptor, bei
fortran/trans-array.c:6656
0x68059b gfc_conv_expr_descriptor(gfc_se*, gfc_expr*)
        trans-array.c:6656
0x6d003a gfc_trans_allocate(gfc_code*)
        trans-stmt.c:5175
0x66e2a7 trans_code
        trans.c:1798
0x6911b3 gfc_generate_function_code(gfc_namespace*)
        trans-decl.c:5900
0x671611 gfc_generate_module_code(gfc_namespace*)
        trans.c:2014
0x62ac1d translate_all_program_units
        parse.c:5513
0x62ac1d gfc_parse_file()
        parse.c:5731
0x66b662 gfc_be_parse_file
        f95-lang.c:209


module m
 implicit none
contains

 subroutine s()
  real, allocatable :: x(:)
  real :: y

   y = 5.0
   allocate( x , source=y )

 end subroutine s

end module m

Reply via email to