aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/gfortran.dg/typebound_call_12.f03
blob: f36b82689e039b7caec6b3a2fe745b76e65f1f6e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
! { dg-do compile }
! { dg-options "-fcheck=bounds" }
!
! PR 42804: ICE with -fcheck=bounds and type bound procedure call on array element
!
! Contributed by Ian Harvey <ian_harvey@bigpond.com>

MODULE ModA
  IMPLICIT NONE
  PRIVATE
  TYPE, PUBLIC :: A
  CONTAINS
    PROCEDURE :: Proc => a_proc
  END TYPE A
CONTAINS
  SUBROUTINE a_proc(this, stat)
    CLASS(A), INTENT(INOUT) :: this
    INTEGER, INTENT(OUT) :: stat
    WRITE (*, *) 'a_proc'
    stat = 0
  END SUBROUTINE a_proc
END MODULE ModA

PROGRAM ProgA
  USE ModA
  IMPLICIT NONE
  INTEGER :: ierr
  INTEGER :: i
  TYPE(A), ALLOCATABLE :: arr(:)
  ALLOCATE(arr(2))
  DO i = 1, 2
    CALL arr(i)%Proc(ierr)
  END DO
END PROGRAM ProgA