1! { dg-do compile } 2! { dg-options "-fcheck=bounds" } 3! 4! PR 42804: ICE with -fcheck=bounds and type bound procedure call on array element 5! 6! Contributed by Ian Harvey <ian_harvey@bigpond.com> 7 8MODULE ModA 9 IMPLICIT NONE 10 PRIVATE 11 TYPE, PUBLIC :: A 12 CONTAINS 13 PROCEDURE :: Proc => a_proc 14 END TYPE A 15CONTAINS 16 SUBROUTINE a_proc(this, stat) 17 CLASS(A), INTENT(INOUT) :: this 18 INTEGER, INTENT(OUT) :: stat 19 WRITE (*, *) 'a_proc' 20 stat = 0 21 END SUBROUTINE a_proc 22END MODULE ModA 23 24PROGRAM ProgA 25 USE ModA 26 IMPLICIT NONE 27 INTEGER :: ierr 28 INTEGER :: i 29 TYPE(A), ALLOCATABLE :: arr(:) 30 ALLOCATE(arr(2)) 31 DO i = 1, 2 32 CALL arr(i)%Proc(ierr) 33 END DO 34END PROGRAM ProgA 35 36