https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117188
Bug ID: 117188 Summary: ICE when OUT variable dimension is defined by a IN variable member Product: gcc Version: 14.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran Assignee: unassigned at gcc dot gnu.org Reporter: aluaces at udc dot es Target Milestone: --- This happens either with functions or subroutines. Both minimal cases are attached: --Example 1---- PROGRAM MAIN IMPLICIT NONE TYPE:: base_type INTEGER:: i=0 END TYPE base_type CLASS(base_type),POINTER:: e REAL(8),ALLOCATABLE,DIMENSION(:,:)::f CALL f_test(e,f) CONTAINS SUBROUTINE f_test(e,o) IMPLICIT NONE CLASS(base_type),POINTER::e REAL(8),DIMENSION(3,e%i),INTENT(OUT):: o o=0.d0 END SUBROUTINE f_test END PROGRAM MAIN ---Example 2--- PROGRAM MAIN IMPLICIT NONE TYPE:: base_type INTEGER:: i=0 END TYPE base_type CLASS(base_type),POINTER:: e REAL(8),ALLOCATABLE,DIMENSION(:,:)::f f=f_test(e) CONTAINS FUNCTION f_test(e) RESULT(o) IMPLICIT NONE CLASS(base_type),POINTER::e REAL(8),DIMENSION(3,e%i):: o o=0.d0 END FUNCTION f_test END PROGRAM MAIN