[Bug fortran/100970] New: ICE in output_constructor_regular_field, at varasm.c:5514
gscfq@t-online.de
gcc-bugzilla@gcc.gnu.org
Tue Jun 8 17:10:33 GMT 2021
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100970
Bug ID: 100970
Summary: ICE in output_constructor_regular_field, at
varasm.c:5514
Product: gcc
Version: 12.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: fortran
Assignee: unassigned at gcc dot gnu.org
Reporter: gscfq@t-online.de
Target Milestone: ---
These invalid codes (different shape for array assignment, see z0)
affect versions down to at least r5. Case z1 is silently accepted
(but not with -m32). I wonder how this could be related to pr100950.
$ cat z0.f90
module m
integer :: a(1) = [1, 2]
end
$ cat z1.f90
module m
type t
integer :: a(1) = [1, 2]
real, pointer :: b => null()
end type
end
$ cat z2.f90
module m
type t
integer :: a(1) = [1, 2, 3]
real, pointer :: b => null()
end type
end
$ cat z3.f90
module m
type t
integer :: a(1) = [1, 2, 3, 4]
real, pointer :: b => null()
end type
end
$ cat z4.f90
module m
type t
integer :: a(1) = [1, 2, 3, 4, 5]
real, pointer :: b => null()
end type
type(t) :: x
end
$ gfortran-12-20210606 -c z0.f90
z0.f90:2:18:
2 | integer :: a(1) = [1, 2]
| 1
Error: Different shape for array assignment at (1) on dimension 1 (1 and 2)
$ gfortran-12-20210606 -c z1.f90
$ gfortran-12-20210606 -c z4.f90
z4.f90:7:3:
7 | end
| ^
internal compiler error: in output_constructor_regular_field, at varasm.c:5514
0xf3fdad output_constructor_regular_field
../../gcc/varasm.c:5514
0xf3fdad output_constructor
../../gcc/varasm.c:5820
0xf400ef output_constant
../../gcc/varasm.c:5172
0xf400ef assemble_variable_contents
../../gcc/varasm.c:2235
0xf47e8d assemble_variable(tree_node*, int, int, int)
../../gcc/varasm.c:2414
0xf4a18a varpool_node::assemble_decl()
../../gcc/varpool.c:595
0x8b0a8f output_in_order
../../gcc/cgraphunit.c:2135
0x8b0a8f symbol_table::compile()
../../gcc/cgraphunit.c:2353
0x8b33af symbol_table::compile()
../../gcc/cgraphunit.c:2540
0x8b33af symbol_table::finalize_compilation_unit()
../../gcc/cgraphunit.c:2537
More information about the Gcc-bugs
mailing list