1! { dg-do compile }
2! { dg-options "-std=f2008" }
3!
4! Fortran 2008: TYPE ( intrinsic-type-spec )
5!
6implicit none
7type(integer) :: a
8type(real) :: b
9type(logical ) :: c
10type(character) :: d
11type(double precision) :: e
12
13type(integer(8)) :: f
14type(real(kind=4)) :: g
15type(logical ( kind = 1 ) ) :: h
16type(character (len=10,kind=1) ) :: i
17
18type(double complex) :: j ! { dg-error "Extension: DOUBLE COMPLEX" }
19end
20
21module m
22  integer, parameter :: k4  = 4
23end module m
24
25type(integer (kind=k4)) function f()
26  use m
27  f = 42
28end
29