https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96896
Bug ID: 96896 Summary: Bogus 'Different ranks in pointer assignment' with 'array-variable = scalar' if LHS is a function Product: gcc Version: 11.0 Status: UNCONFIRMED Keywords: rejects-valid Severity: normal Priority: P3 Component: fortran Assignee: unassigned at gcc dot gnu.org Reporter: burnus at gcc dot gnu.org Target Milestone: --- The following program fails with: Error: Different ranks in pointer assignment Function calls returning a pointer are regarded as variable, hence, the following boils down to array_variable = scalar which should be fine. program reshape_test implicit none real, target, dimension (1:9) :: b b = 0.0 ! needed otherwise triggers a FIXME myshape(b) = 0.0 ! LHS: 3x3 array, RHS: scalar contains function myshape(b) real, target, dimension (1:9) :: b real, pointer :: myshape(:,:) myshape(1:3,1:3) => b end function myshape end program reshape_test