This is similar to PR 30865. Any of the arguments to random_seed may be specified if they are optional arguments to the subroutine that is called. The following is legal:
program trs implicit none integer :: size, ierr integer, allocatable, dimension(:) :: seed call test_random_seed(size) allocate(seed(size), stat=ierr) if (ierr /= 0) stop call test_random_seed(get=seed) call test_random_seed(put=seed) contains subroutine test_random_seed(size, put, get) integer, optional :: size integer, dimension(:), optional :: put integer, dimension(:), optional :: get call random_seed(size, put, get) end subroutine test_random_seed end program trs -- Summary: optional arguments to random_seed Product: gcc Version: 4.3.0 Status: UNCONFIRMED Keywords: rejects-valid Severity: normal Priority: P3 Component: fortran AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: tkoenig at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30964