https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100193
Bug ID: 100193
Summary: [9/10/11/12 Regression] ICE in
alloc_scalar_allocatable_for_assignment, at
fortran/trans-expr.c:10837
Product: gcc
Version: 12.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: fortran
Assignee: unassigned at gcc dot gnu.org
Reporter: [email protected]
Target Milestone: ---
Started with r6 (z%g= is invalid, r5 compiles it) :
$ cat z1.f90
module m
implicit none
type t
procedure(f), pointer, nopass :: g
end type
contains
function f()
character(:), allocatable :: f
f = 'abc'
end
subroutine s
type(t) :: z
z%g = 'x'
if ( z%g() /= 'abc' ) stop
end
end
program p
use m
implicit none
call s
end
$ gfortran-5 -c z1.f90
$
$ gfortran-11-20210418 -c z1.f90
z1.f90:13:15:
13 | z%g = 'x'
| 1
internal compiler error: Segmentation fault
0xc0b22f crash_signal
../../gcc/toplev.c:327
0x778bf2 alloc_scalar_allocatable_for_assignment
../../gcc/fortran/trans-expr.c:10837
0x778bf2 gfc_trans_assignment_1
../../gcc/fortran/trans-expr.c:11497
0x739707 trans_code
../../gcc/fortran/trans.c:1932
0x75fd34 gfc_generate_function_code(gfc_namespace*)
../../gcc/fortran/trans-decl.c:6884
0x739f79 gfc_generate_module_code(gfc_namespace*)
../../gcc/fortran/trans.c:2332
0x6e61b1 translate_all_program_units
../../gcc/fortran/parse.c:6338
0x6e61b1 gfc_parse_file()
../../gcc/fortran/parse.c:6620
0x7329cf gfc_be_parse_file
../../gcc/fortran/f95-lang.c:212