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

--- Comment #4 from Gerhard Steinmetz <gerhard.steinmetz.fort...@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
#...

Reply via email to