psblas2-dev:

base/internals/psi_dswapdata.F90


Merged fixes from ulbe testing.
psblas3-type-indexed
Salvatore Filippone 17 years ago
parent 405ba72bdb
commit 76b01051f3

@ -187,7 +187,6 @@ subroutine psi_dswapidxm(ictxt,icomm,flag,n,beta,y,idx,totxch,totsnd,totrcv,work
& albf,do_send,do_recv & albf,do_send,do_recv
logical, parameter :: usersend=.false. logical, parameter :: usersend=.false.
real(psb_dpk_), allocatable, target :: buffer(:)
real(psb_dpk_), pointer, dimension(:) :: sndbuf, rcvbuf real(psb_dpk_), pointer, dimension(:) :: sndbuf, rcvbuf
#ifdef HAVE_VOLATILE #ifdef HAVE_VOLATILE
volatile :: sndbuf, rcvbuf volatile :: sndbuf, rcvbuf
@ -268,10 +267,7 @@ subroutine psi_dswapidxm(ictxt,icomm,flag,n,beta,y,idx,totxch,totsnd,totrcv,work
rcvbuf => work(totsnd_+1:totsnd_+totrcv_) rcvbuf => work(totsnd_+1:totsnd_+totrcv_)
albf=.false. albf=.false.
else else
allocate(buffer(totsnd_+totrcv_), stat=info) allocate(sndbuf(totsnd_),rcvbuf(totrcv_), stat=info)
sndbuf => buffer(1:totsnd_)
rcvbuf => buffer(totsnd_+1:totsnd_+totrcv_)
if(info /= 0) then if(info /= 0) then
call psb_errpush(4000,name) call psb_errpush(4000,name)
goto 9999 goto 9999
@ -507,12 +503,11 @@ subroutine psi_dswapidxm(ictxt,icomm,flag,n,beta,y,idx,totxch,totsnd,totrcv,work
call psb_errpush(4000,name) call psb_errpush(4000,name)
goto 9999 goto 9999
end if end if
if(albf) deallocate(sndbuf,rcvbuf,stat=info)
!!$ if(albf) deallocate(sndbuf,rcvbuf,stat=info) if(info /= 0) then
!!$ if(info /= 0) then call psb_errpush(4000,name)
!!$ call psb_errpush(4000,name) goto 9999
!!$ goto 9999 end if
!!$ end if
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return

Loading…
Cancel
Save