[Bug fortran/47425] Array constructor with type-spec: Fails with more complicated length type expr
gerhard.steinmetz.fortran@t-online.de
gcc-bugzilla@gcc.gnu.org
Mon Jul 4 17:36:00 GMT 2016
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47425
--- Comment #4 from Gerhard Steinmetz <gerhard.steinmetz.fortran@t-online.de> ---
Some simplifications :
$ cat z1.f90
program p
character(3) :: x
integer :: n = 3
print *, [character(len(x(1:n))) :: 'a']
end
$ gfortran-7-20160703 z1.f90
z1.f90:4:0:
print *, [character(len(x(1:n))) :: 'a']
Error: size of variable 'A.1' is too large
---
$ cat z2.f90
program p
character(3) :: x
print *, [character(len(x(1:3))) :: 'a', 'b']
end
$ gfortran-7-20160703 z2.f90
z2.f90:4:0:
end
internal compiler error: in output_constructor_regular_field, at varasm.c:4979
0xef0ac5 output_constructor_regular_field
../../gcc/varasm.c:4979
0xef0ac5 output_constructor
../../gcc/varasm.c:5287
0xef0e64 output_constant
../../gcc/varasm.c:4664
0xef0e64 assemble_variable_contents
../../gcc/varasm.c:2073
0xef8619 assemble_variable(tree_node*, int, int, int)
../../gcc/varasm.c:2249
0xefde08 varpool_node::assemble_decl()
../../gcc/varpool.c:589
0x8363c3 output_in_order
../../gcc/cgraphunit.c:2232
0x83674d symbol_table::compile()
../../gcc/cgraphunit.c:2469
0x8391a2 symbol_table::compile()
../../gcc/cgraphunit.c:2539
0x8391a2 symbol_table::finalize_compilation_unit()
../../gcc/cgraphunit.c:2565
---
$ cat z3.f90
program p
character(3) :: x
print *, [character(len(x(:))) :: 'a', 'b']
end
$ gfortran-7-20160703 z3.f90
$ a.out
a b
---
$ cat z1_parameter.f90
program p
character(3) :: x
integer, parameter :: n = 3
print *, [character(len(x(1:n))) :: 'a']
end
$ gfortran-7-20160703 z1_parameter.f90
$ a.out
a
---
$ cat z4.f90
program p
character(3) :: x
integer, parameter :: n = 3
print *, [character(len(x(1:n))) :: 'a', 'b']
end
$ gfortran-7-20160703 z4.f90
z4.f90:5:0:
end
internal compiler error: in output_constructor_regular_field, at varasm.c:4979
#...
More information about the Gcc-bugs
mailing list