https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93251
Bug ID: 93251
Summary: Valid code rejected: Shape of array depends on
parameter array
Product: gcc
Version: 9.2.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: fortran
Assignee: unassigned at gcc dot gnu.org
Reporter: m.diehl at mpie dot de
Target Milestone: ---
Created attachment 47647
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=47647&action=edit
source code
The following code for array parameters does not compile even though it seems
valid (shape/size known at compile time)
program initialize_shape_parameter
integer, parameter :: x = 2
integer, parameter, dimension(1) :: y = [2]
real, dimension(x,x), parameter :: &
ok1 = reshape([1.,2.,3.,4.],shape(ok1))
real, dimension(y(1),y(1)), parameter :: &
ok2 = reshape([1.,2.,3.,4.],[y(1),y(1)])
real, dimension(y(1),y(1)), parameter :: &
not_ok = reshape([1.,2.,3.,4.],shape(not_ok)) !<== ERROR
end program initialize_shape_parameter
Error: PARAMETER ‘not_ok’ is used at (1) before its definition is complete