From 59e640c8a1415fbd57c59c0e38121f82c8ad729f Mon Sep 17 00:00:00 2001 From: Salvatore Filippone Date: Tue, 3 Dec 2019 15:02:41 +0000 Subject: [PATCH] Fix error message for wrong IRST. --- base/modules/psb_const_mod.F90 | 3 +++ base/modules/psb_error_mod.F90 | 9 +++++++-- krylov/psb_ccgstabl.f90 | 2 +- krylov/psb_ckrylov.f90 | 3 ++- krylov/psb_crgmres.f90 | 2 +- krylov/psb_dcgstabl.f90 | 2 +- krylov/psb_dkrylov.f90 | 3 ++- krylov/psb_drgmres.f90 | 2 +- krylov/psb_scgstabl.f90 | 2 +- krylov/psb_skrylov.f90 | 3 ++- krylov/psb_srgmres.f90 | 2 +- krylov/psb_zcgstabl.f90 | 2 +- krylov/psb_zkrylov.f90 | 3 ++- krylov/psb_zrgmres.f90 | 2 +- prec/impl/psb_cprecinit.f90 | 2 +- prec/impl/psb_dprecinit.f90 | 2 +- prec/impl/psb_sprecinit.f90 | 2 +- prec/impl/psb_zprecinit.f90 | 2 +- 18 files changed, 30 insertions(+), 18 deletions(-) diff --git a/base/modules/psb_const_mod.F90 b/base/modules/psb_const_mod.F90 index b0503e4e..92def010 100644 --- a/base/modules/psb_const_mod.F90 +++ b/base/modules/psb_const_mod.F90 @@ -309,5 +309,8 @@ module psb_const_mod integer(psb_ipk_), parameter, public :: psb_err_alloc_request_=4025 integer(psb_ipk_), parameter, public :: psb_err_from_subroutine_non_=4011 integer(psb_ipk_), parameter, public :: psb_err_invalid_istop_=5001 + integer(psb_ipk_), parameter, public :: psb_err_invalid_irst_ =5002 + integer(psb_ipk_), parameter, public :: psb_err_invalid_preci_=5003 + integer(psb_ipk_), parameter, public :: psb_err_invalid_preca_=5004 end module psb_const_mod diff --git a/base/modules/psb_error_mod.F90 b/base/modules/psb_error_mod.F90 index a2e37e84..05e42d35 100644 --- a/base/modules/psb_error_mod.F90 +++ b/base/modules/psb_error_mod.F90 @@ -1043,12 +1043,17 @@ contains achmsg(1) = tmpmsg write(achmsg(2),'("Invalid ISTOP: ",i0)')e_e_d(1) - case(5002) + case(psb_err_invalid_irst_) + allocate(achmsg(2)) + achmsg(1) = tmpmsg + write(achmsg(2),'("Invalid IRST: ",i0)')e_e_d(1) + + case(psb_err_invalid_preci_) allocate(achmsg(2)) achmsg(1) = tmpmsg write(achmsg(2),'("Invalid PREC: ",i0)')e_e_d(1) - case(5003) + case(psb_err_invalid_preca_) allocate(achmsg(2)) achmsg(1) = tmpmsg write(achmsg(2),'("Invalid PREC: ",a3)')a_e_d(1:3) diff --git a/krylov/psb_ccgstabl.f90 b/krylov/psb_ccgstabl.f90 index cbad3d91..4c6dc896 100644 --- a/krylov/psb_ccgstabl.f90 +++ b/krylov/psb_ccgstabl.f90 @@ -198,7 +198,7 @@ Subroutine psb_ccgstabl_vect(a,prec,b,x,eps,desc_a,info,& & ' not present: irst: ',irst,nl endif if (nl <=0 ) then - info=psb_err_invalid_istop_ + info=psb_err_invalid_irst_ err=info call psb_errpush(info,name,i_err=(/nl/)) goto 9999 diff --git a/krylov/psb_ckrylov.f90 b/krylov/psb_ckrylov.f90 index 2aae7913..e9f12ea1 100644 --- a/krylov/psb_ckrylov.f90 +++ b/krylov/psb_ckrylov.f90 @@ -211,7 +211,8 @@ Subroutine psb_ckrylov_vect(method,a,prec,b,x,eps,desc_a,info,& if ((info==psb_success_).and.do_alloc_wrk) call prec%free_wrk(info) if(info /= psb_success_) then - call psb_errpush(info,name) + info = psb_err_from_subroutine_ + call psb_errpush(info,name,a_err=trim(method)) goto 9999 end if diff --git a/krylov/psb_crgmres.f90 b/krylov/psb_crgmres.f90 index 4f44b4db..9e20350f 100644 --- a/krylov/psb_crgmres.f90 +++ b/krylov/psb_crgmres.f90 @@ -209,7 +209,7 @@ subroutine psb_crgmres_vect(a,prec,b,x,eps,desc_a,info,& & ' not present: irst: ',irst,nl endif if (nl <=0 ) then - info=psb_err_invalid_istop_ + info=psb_err_invalid_irst_ err=info call psb_errpush(info,name,i_err=(/nl/)) goto 9999 diff --git a/krylov/psb_dcgstabl.f90 b/krylov/psb_dcgstabl.f90 index ef57df92..ca8a6fe0 100644 --- a/krylov/psb_dcgstabl.f90 +++ b/krylov/psb_dcgstabl.f90 @@ -198,7 +198,7 @@ Subroutine psb_dcgstabl_vect(a,prec,b,x,eps,desc_a,info,& & ' not present: irst: ',irst,nl endif if (nl <=0 ) then - info=psb_err_invalid_istop_ + info=psb_err_invalid_irst_ err=info call psb_errpush(info,name,i_err=(/nl/)) goto 9999 diff --git a/krylov/psb_dkrylov.f90 b/krylov/psb_dkrylov.f90 index 1f887299..a1fe405a 100644 --- a/krylov/psb_dkrylov.f90 +++ b/krylov/psb_dkrylov.f90 @@ -211,7 +211,8 @@ Subroutine psb_dkrylov_vect(method,a,prec,b,x,eps,desc_a,info,& if ((info==psb_success_).and.do_alloc_wrk) call prec%free_wrk(info) if(info /= psb_success_) then - call psb_errpush(info,name) + info = psb_err_from_subroutine_ + call psb_errpush(info,name,a_err=trim(method)) goto 9999 end if diff --git a/krylov/psb_drgmres.f90 b/krylov/psb_drgmres.f90 index 7bf72c6b..f30b3391 100644 --- a/krylov/psb_drgmres.f90 +++ b/krylov/psb_drgmres.f90 @@ -209,7 +209,7 @@ subroutine psb_drgmres_vect(a,prec,b,x,eps,desc_a,info,& & ' not present: irst: ',irst,nl endif if (nl <=0 ) then - info=psb_err_invalid_istop_ + info=psb_err_invalid_irst_ err=info call psb_errpush(info,name,i_err=(/nl/)) goto 9999 diff --git a/krylov/psb_scgstabl.f90 b/krylov/psb_scgstabl.f90 index 82cbadc7..5c53781d 100644 --- a/krylov/psb_scgstabl.f90 +++ b/krylov/psb_scgstabl.f90 @@ -198,7 +198,7 @@ Subroutine psb_scgstabl_vect(a,prec,b,x,eps,desc_a,info,& & ' not present: irst: ',irst,nl endif if (nl <=0 ) then - info=psb_err_invalid_istop_ + info=psb_err_invalid_irst_ err=info call psb_errpush(info,name,i_err=(/nl/)) goto 9999 diff --git a/krylov/psb_skrylov.f90 b/krylov/psb_skrylov.f90 index 2dc20812..e2c02732 100644 --- a/krylov/psb_skrylov.f90 +++ b/krylov/psb_skrylov.f90 @@ -211,7 +211,8 @@ Subroutine psb_skrylov_vect(method,a,prec,b,x,eps,desc_a,info,& if ((info==psb_success_).and.do_alloc_wrk) call prec%free_wrk(info) if(info /= psb_success_) then - call psb_errpush(info,name) + info = psb_err_from_subroutine_ + call psb_errpush(info,name,a_err=trim(method)) goto 9999 end if diff --git a/krylov/psb_srgmres.f90 b/krylov/psb_srgmres.f90 index 88443d3f..f6443c30 100644 --- a/krylov/psb_srgmres.f90 +++ b/krylov/psb_srgmres.f90 @@ -209,7 +209,7 @@ subroutine psb_srgmres_vect(a,prec,b,x,eps,desc_a,info,& & ' not present: irst: ',irst,nl endif if (nl <=0 ) then - info=psb_err_invalid_istop_ + info=psb_err_invalid_irst_ err=info call psb_errpush(info,name,i_err=(/nl/)) goto 9999 diff --git a/krylov/psb_zcgstabl.f90 b/krylov/psb_zcgstabl.f90 index e2519fea..bcb4b652 100644 --- a/krylov/psb_zcgstabl.f90 +++ b/krylov/psb_zcgstabl.f90 @@ -198,7 +198,7 @@ Subroutine psb_zcgstabl_vect(a,prec,b,x,eps,desc_a,info,& & ' not present: irst: ',irst,nl endif if (nl <=0 ) then - info=psb_err_invalid_istop_ + info=psb_err_invalid_irst_ err=info call psb_errpush(info,name,i_err=(/nl/)) goto 9999 diff --git a/krylov/psb_zkrylov.f90 b/krylov/psb_zkrylov.f90 index 626499df..48371920 100644 --- a/krylov/psb_zkrylov.f90 +++ b/krylov/psb_zkrylov.f90 @@ -211,7 +211,8 @@ Subroutine psb_zkrylov_vect(method,a,prec,b,x,eps,desc_a,info,& if ((info==psb_success_).and.do_alloc_wrk) call prec%free_wrk(info) if(info /= psb_success_) then - call psb_errpush(info,name) + info = psb_err_from_subroutine_ + call psb_errpush(info,name,a_err=trim(method)) goto 9999 end if diff --git a/krylov/psb_zrgmres.f90 b/krylov/psb_zrgmres.f90 index 0d065c0a..73d7f08b 100644 --- a/krylov/psb_zrgmres.f90 +++ b/krylov/psb_zrgmres.f90 @@ -209,7 +209,7 @@ subroutine psb_zrgmres_vect(a,prec,b,x,eps,desc_a,info,& & ' not present: irst: ',irst,nl endif if (nl <=0 ) then - info=psb_err_invalid_istop_ + info=psb_err_invalid_irst_ err=info call psb_errpush(info,name,i_err=(/nl/)) goto 9999 diff --git a/prec/impl/psb_cprecinit.f90 b/prec/impl/psb_cprecinit.f90 index 7f6da35f..9f0b4d68 100644 --- a/prec/impl/psb_cprecinit.f90 +++ b/prec/impl/psb_cprecinit.f90 @@ -65,7 +65,7 @@ subroutine psb_cprecinit(ictxt,p,ptype,info) case default write(psb_err_unit,*) 'Unknown preconditioner type request "',ptype,'"' - info = psb_err_pivot_too_small_ + info = psb_err_invalid_preca_ end select if (info == psb_success_) call p%prec%precinit(info) diff --git a/prec/impl/psb_dprecinit.f90 b/prec/impl/psb_dprecinit.f90 index 70f7c05a..f28bd446 100644 --- a/prec/impl/psb_dprecinit.f90 +++ b/prec/impl/psb_dprecinit.f90 @@ -65,7 +65,7 @@ subroutine psb_dprecinit(ictxt,p,ptype,info) case default write(psb_err_unit,*) 'Unknown preconditioner type request "',ptype,'"' - info = psb_err_pivot_too_small_ + info = psb_err_invalid_preca_ end select if (info == psb_success_) call p%prec%precinit(info) diff --git a/prec/impl/psb_sprecinit.f90 b/prec/impl/psb_sprecinit.f90 index 46ab547a..fa5b83c2 100644 --- a/prec/impl/psb_sprecinit.f90 +++ b/prec/impl/psb_sprecinit.f90 @@ -65,7 +65,7 @@ subroutine psb_sprecinit(ictxt,p,ptype,info) case default write(psb_err_unit,*) 'Unknown preconditioner type request "',ptype,'"' - info = psb_err_pivot_too_small_ + info = psb_err_invalid_preca_ end select if (info == psb_success_) call p%prec%precinit(info) diff --git a/prec/impl/psb_zprecinit.f90 b/prec/impl/psb_zprecinit.f90 index 200e36dd..d9f5aa01 100644 --- a/prec/impl/psb_zprecinit.f90 +++ b/prec/impl/psb_zprecinit.f90 @@ -65,7 +65,7 @@ subroutine psb_zprecinit(ictxt,p,ptype,info) case default write(psb_err_unit,*) 'Unknown preconditioner type request "',ptype,'"' - info = psb_err_pivot_too_small_ + info = psb_err_invalid_preca_ end select if (info == psb_success_) call p%prec%precinit(info)