1! { dg-do compile }
2! { dg-options "" }
3!
4! Support Fortran 2015's IMPLICIT NONE with empty spec list
5!
6! And IMPLICIT with ";" followed by an additional statement.
7! Contributed by Alan Greynolds
8!
9
10module m
11  type t
12  end type t
13end module m
14
15subroutine sub0
16implicit integer (a-h,o-z); parameter (i=0)
17end subroutine sub0
18
19subroutine sub1
20implicit integer (a-h,o-z)!test
21parameter (i=0)
22end subroutine sub1
23
24subroutine sub2
25use m
26implicit type(t) (a-h,o-z); parameter (i=0)
27end subroutine sub2
28
29
30subroutine sub3
31use m
32implicit type(t) (a-h,o-z)! Foobar
33parameter (i=0)
34end subroutine sub3
35
36subroutine sub4
37implicit none ()
38call test()
39i = 1 ! { dg-error "Symbol 'i' at .1. has no IMPLICIT type" }
40end subroutine sub4
41