F2003, 12.4.1.2, page 271, just before note 12.24: "If the actual argument is an array section having a vector subscript, the dummy argument is not definable and shall not have the INTENT (OUT), INTENT (INOUT), VOLATILE, or ASYNCHRONOUS attributes."
Works for VOLATILE. * * * integer :: a(10), sect(3) sect = [1,2,3] call f(a(sect)) ! Wrong, not definable. call f(a(::2)) ! OK, no vector subscript, just an array section contains subroutine f(x) integer, asynchronous :: x(:) end subroutine f end -- Summary: Missing ASYNCHRONOUS constraint check Product: gcc Version: 4.6.0 Status: UNCONFIRMED Keywords: accepts-invalid Severity: normal Priority: P3 Component: fortran AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: burnus at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44457