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