1! { dg-do compile }
2! { dg-options "-fwhole-file -fcoarray=single" }
3!
4! Procedures with dummy arguments that are coarrays or polymorphic
5! must have an explicit interface in the calling routine.
6!
7
8MODULE classtype
9  type :: t
10    integer :: comp
11  end type
12END MODULE
13
14PROGRAM main
15  USE classtype
16  CLASS(t), POINTER :: tt
17
18  INTEGER :: coarr[*]
19
20  CALL coarray(coarr)         ! { dg-error "Explicit interface required" }
21  CALL polymorph(tt)          ! { dg-error "Explicit interface required" }
22END PROGRAM
23
24SUBROUTINE coarray(a)
25  INTEGER :: a[*]
26END SUBROUTINE
27
28SUBROUTINE polymorph(b)
29  USE classtype
30  CLASS(t) :: b
31END SUBROUTINE
32