1! { dg-do compile }
2! { dg-options "-std=f95" }
3! { dg-shouldfail "Fortran 2003 feature with -std=f95" }
4! Test whether import does not work with -std=f95
5! PR fortran/29601
6
7module testmod
8  implicit none
9  integer, parameter :: kind = 8
10  type modType
11    real :: rv
12  end type modType
13  interface
14    subroutine other(x,y)
15      import ! { dg-error "Fortran 2003: IMPORT statement" }
16      type(modType) :: y ! { dg-error "is being used before it is defined" }
17      real(kind)    :: x ! { dg-error "has not been declared" }
18    end subroutine
19  end interface
20end module testmod
21
22program foo
23  integer, parameter :: dp = 8
24  type myType
25    sequence
26    integer :: i
27  end type myType
28  type myType3
29    sequence
30    integer :: i
31  end type myType3
32  interface
33    subroutine bar(x,y)
34      import ! { dg-error "Fortran 2003: IMPORT statement" }
35      type(myType) :: x ! { dg-error "is being used before it is defined" }
36      integer(dp)  :: y ! { dg-error "has not been declared" }
37    end subroutine bar
38    subroutine test(x)
39      import :: myType3 ! { dg-error "Fortran 2003: IMPORT statement" }
40      import myType3 ! { dg-error "Fortran 2003: IMPORT statement" }
41      type(myType3) :: x ! { dg-error "is being used before it is defined" }
42    end subroutine test
43  end interface
44
45end program foo
46