! { dg-do compile } ! ! The asynchronous specifier for a data transfer statement shall be ! an initialization expression ! module write_check5 contains function no() implicit none character(3) :: no no = "yes" endfunction end module use write_check5 implicit none open (unit=10, asynchronous=no()) ! Ok, it isn't a transfer stmt write(*,*, asynchronous=no()) ! { dg-error "must be an intrinsic function" } read (*,*, asynchronous=no()) ! { dg-error "must be an intrinsic function" } end