diff --git a/base/modules/psb_realloc_mod.F90 b/base/modules/psb_realloc_mod.F90 index 9225716d..ef1e4ae8 100644 --- a/base/modules/psb_realloc_mod.F90 +++ b/base/modules/psb_realloc_mod.F90 @@ -1329,13 +1329,15 @@ Contains end if else if (allocated(vin)) then if (.not.allocated(vout)) then - allocate(vout(size(vin,1),size(vin,2)),stat=info) + allocate(vout(lbound(vin,1):ubound(vin,1),& + & lbound(vin,2):ubound(vin,2)),stat=info) if (info /= 0) return else if (size(vout) /= size(vin)) then deallocate(vout,stat=info) if (info /= 0) return - allocate(vout(size(vin,1),size(vin,2)),stat=info) + allocate(vout(lbound(vin,1):ubound(vin,1),& + & lbound(vin,2):ubound(vin,2)),stat=info) if (info /= 0) return end if end if @@ -1401,13 +1403,15 @@ Contains end if else if (allocated(vin)) then if (.not.allocated(vout)) then - allocate(vout(size(vin,1),size(vin,2)),stat=info) + allocate(vout(lbound(vin,1):ubound(vin,1),& + & lbound(vin,2):ubound(vin,2)),stat=info) if (info /= 0) return else if (size(vout) /= size(vin)) then deallocate(vout,stat=info) if (info /= 0) return - allocate(vout(size(vin,1),size(vin,2)),stat=info) + allocate(vout(lbound(vin,1):ubound(vin,1),& + & lbound(vin,2):ubound(vin,2)),stat=info) if (info /= 0) return end if end if @@ -1474,13 +1478,15 @@ Contains end if else if (allocated(vin)) then if (.not.allocated(vout)) then - allocate(vout(size(vin,1),size(vin,2)),stat=info) + allocate(vout(lbound(vin,1):ubound(vin,1),& + & lbound(vin,2):ubound(vin,2)),stat=info) if (info /= 0) return else if (size(vout) /= size(vin)) then deallocate(vout,stat=info) if (info /= 0) return - allocate(vout(size(vin,1),size(vin,2)),stat=info) + allocate(vout(lbound(vin,1):ubound(vin,1),& + & lbound(vin,2):ubound(vin,2)),stat=info) if (info /= 0) return end if end if