Consider the following simple program: integer, pointer :: x => null() integer, target :: y = 42 call sub1( x, y ) print *, "After sub1: associated(x)? ", associated(x), "; expected is T" call sub2( x ) print *, "After sub2: associated(x)? ", associated(x), "; expected is ?" contains subroutine sub1( ptr, tgt ) integer, pointer, intent(out) :: ptr integer, target, intent(in) :: tgt ptr => tgt end subroutine subroutine sub2( ptr, tgt ) integer, pointer, intent(out) :: ptr integer, target, intent(in), optional :: tgt if ( present(tgt) ) ptr => tgt end subroutine end What should be the association status of actual argument x following the invocation of the subprogram sub2 per current Fortran standard? Is it processor-dependent? Readers will note the standard says in section 12.5.2.7 Pointer dummy variables, para 4 of 10-007r1, "If the dummy argument has INTENT (OUT), the pointer association status of the actual argument becomes undefined on invocation of the procedure." If the subprogram then fails to associate the dummy argument with a valid target, does the actual argument remain undefined upon procedure exit? Thanks, Vipul Parekh ######################################################################## To unsubscribe from the COMP-FORTRAN-90 list, click the following link: https://www.jiscmail.ac.uk/cgi-bin/webadmin?SUBED1=COMP-FORTRAN-90&A=1