1! { dg-do compile }
2module a
3
4  type, private, bind(C) b ! { dg-error "Expected :: in TYPE definition" }
5    integer i
6  end type b ! { dg-error "Expecting END MODULE statement" }
7
8  type, public c ! { dg-error "Expected :: in TYPE definition" }
9    integer j
10  end type c ! { dg-error "Expecting END MODULE statement" }
11
12  type, private d ! { dg-error "Expected :: in TYPE definition" }
13    integer k
14  end type b ! { dg-error "Expecting END MODULE statement" }
15
16  type, bind(C), public e ! { dg-error "Expected :: in TYPE definition" }
17    integer l
18  end type e ! { dg-error "Expecting END MODULE statement" }
19
20  type, bind(C) f ! { dg-error "Expected :: in TYPE definition" }
21    integer m
22  end type f ! { dg-error "Expecting END MODULE statement" }
23
24end module a
25