> logical, target :: foo3 = .true. > bar3=>foo3 This is not what I exactly intend. I prefer to avoid targets, since this leads to: if (associated(xxx)) deallocate(xxx) stuff. sub prep logical,pointer :: bar3(:) allocate(bar3(1024)) sub foo(bar3) logical,pointer ,intent(in) :: bar3(:)