1! { dg-do run }
2!
3program trs
4  implicit none
5  integer :: size, ierr
6  integer, allocatable, dimension(:) :: seed, check
7  call test_random_seed(size)
8  allocate(seed(size),check(size))
9  call test_random_seed(put=seed)
10  call test_random_seed(get=check)
11  if (any (seed /= check)) call abort
12contains
13  subroutine test_random_seed(size, put, get)
14    integer, optional :: size
15    integer, dimension(:), optional :: put
16    integer, dimension(:), optional :: get
17    call random_seed(size, put, get)
18  end subroutine test_random_seed
19end program trs
20