diff --git a/base/tools/psb_ccdbldext.F90 b/base/tools/psb_ccdbldext.F90 index 895986b7..271ceea5 100644 --- a/base/tools/psb_ccdbldext.F90 +++ b/base/tools/psb_ccdbldext.F90 @@ -170,10 +170,10 @@ Subroutine psb_ccdbldext(a,desc_a,novr,desc_ov,info, extype) endif - if (extype_ == psb_ovt_asov_) then + if ((extype_ == psb_ovt_asov_).and.& + & (.not.desc_ov%indxmap%row_extendable())) then ! Need to switch to a format that can support overlap, - ! so far: LIST or HASH. This will also reinitialize properly - ! the inex map contents. Encapsulate choice + ! so far: LIST or HASH. Encapsulate choice ! in a separate method. call psb_cd_switch_ovl_indxmap(desc_ov,info) end if diff --git a/base/tools/psb_cd_set_bld.f90 b/base/tools/psb_cd_set_bld.f90 index f91696e0..ca905f27 100644 --- a/base/tools/psb_cd_set_bld.f90 +++ b/base/tools/psb_cd_set_bld.f90 @@ -70,10 +70,9 @@ subroutine psb_cd_set_bld(desc,info) call psb_info(ictxt, me, np) if (debug) write(psb_err_unit,*) me,'Entered CDSETBLD' - if (psb_is_asb_desc(desc)) then - end if + + if (desc%is_asb()) call psb_cd_reinit(desc,info) -!!$ desc%matrix_data(psb_dec_type_) = psb_desc_bld_ call desc%indxmap%set_state(psb_desc_bld_) if (debug) write(psb_err_unit,*) me,'SET_BLD: done' diff --git a/base/tools/psb_dcdbldext.F90 b/base/tools/psb_dcdbldext.F90 index 644b11ac..a9b4e3c3 100644 --- a/base/tools/psb_dcdbldext.F90 +++ b/base/tools/psb_dcdbldext.F90 @@ -170,10 +170,10 @@ Subroutine psb_dcdbldext(a,desc_a,novr,desc_ov,info, extype) endif - if (extype_ == psb_ovt_asov_) then + if ((extype_ == psb_ovt_asov_).and.& + & (.not.desc_ov%indxmap%row_extendable())) then ! Need to switch to a format that can support overlap, - ! so far: LIST or HASH. This will also reinitialize properly - ! the inex map contents. Encapsulate choice + ! so far: LIST or HASH. Encapsulate choice ! in a separate method. call psb_cd_switch_ovl_indxmap(desc_ov,info) end if diff --git a/base/tools/psb_scdbldext.F90 b/base/tools/psb_scdbldext.F90 index a89ca274..fa2cc062 100644 --- a/base/tools/psb_scdbldext.F90 +++ b/base/tools/psb_scdbldext.F90 @@ -170,10 +170,10 @@ Subroutine psb_scdbldext(a,desc_a,novr,desc_ov,info, extype) endif - if (extype_ == psb_ovt_asov_) then + if ((extype_ == psb_ovt_asov_).and.& + & (.not.desc_ov%indxmap%row_extendable())) then ! Need to switch to a format that can support overlap, - ! so far: LIST or HASH. This will also reinitialize properly - ! the inex map contents. Encapsulate choice + ! so far: LIST or HASH. Encapsulate choice ! in a separate method. call psb_cd_switch_ovl_indxmap(desc_ov,info) end if diff --git a/base/tools/psb_zcdbldext.F90 b/base/tools/psb_zcdbldext.F90 index 418e2f27..6b7ff077 100644 --- a/base/tools/psb_zcdbldext.F90 +++ b/base/tools/psb_zcdbldext.F90 @@ -170,10 +170,10 @@ Subroutine psb_zcdbldext(a,desc_a,novr,desc_ov,info, extype) endif - if (extype_ == psb_ovt_asov_) then + if ((extype_ == psb_ovt_asov_).and.& + & (.not.desc_ov%indxmap%row_extendable())) then ! Need to switch to a format that can support overlap, - ! so far: LIST or HASH. This will also reinitialize properly - ! the inex map contents. Encapsulate choice + ! so far: LIST or HASH. Encapsulate choice ! in a separate method. call psb_cd_switch_ovl_indxmap(desc_ov,info) end if