From cc8cab0e8a82bd3d4ff9296889ab827315cd76bd Mon Sep 17 00:00:00 2001 From: Salvatore Filippone Date: Wed, 4 Jun 2025 11:35:18 +0200 Subject: [PATCH] Workaround for strange ipk8 issue --- base/modules/serial/psb_c_base_vect_mod.F90 | 4 ++-- base/modules/serial/psb_d_base_vect_mod.F90 | 4 ++-- base/modules/serial/psb_i_base_vect_mod.F90 | 4 ++-- base/modules/serial/psb_l_base_vect_mod.F90 | 4 ++-- base/modules/serial/psb_s_base_vect_mod.F90 | 4 ++-- base/modules/serial/psb_z_base_vect_mod.F90 | 4 ++-- 6 files changed, 12 insertions(+), 12 deletions(-) diff --git a/base/modules/serial/psb_c_base_vect_mod.F90 b/base/modules/serial/psb_c_base_vect_mod.F90 index ddb56976..65286969 100644 --- a/base/modules/serial/psb_c_base_vect_mod.F90 +++ b/base/modules/serial/psb_c_base_vect_mod.F90 @@ -570,8 +570,8 @@ contains info = 0 if (allocated(x%v)) deallocate(x%v, stat=info) - if (info == 0) call x%free_buffer(info) - if (info == 0) call x%free_comid(info) + if ((info == 0).and.allocated(x%combuf)) call x%free_buffer(info) + if ((info == 0).and.allocated(x%comid)) call x%free_comid(info) if (info /= 0) call & & psb_errpush(psb_err_alloc_dealloc_,'vect_free') diff --git a/base/modules/serial/psb_d_base_vect_mod.F90 b/base/modules/serial/psb_d_base_vect_mod.F90 index f8a14569..8bc8a171 100644 --- a/base/modules/serial/psb_d_base_vect_mod.F90 +++ b/base/modules/serial/psb_d_base_vect_mod.F90 @@ -577,8 +577,8 @@ contains info = 0 if (allocated(x%v)) deallocate(x%v, stat=info) - if (info == 0) call x%free_buffer(info) - if (info == 0) call x%free_comid(info) + if ((info == 0).and.allocated(x%combuf)) call x%free_buffer(info) + if ((info == 0).and.allocated(x%comid)) call x%free_comid(info) if (info /= 0) call & & psb_errpush(psb_err_alloc_dealloc_,'vect_free') diff --git a/base/modules/serial/psb_i_base_vect_mod.F90 b/base/modules/serial/psb_i_base_vect_mod.F90 index 97a617a1..e2c64af3 100644 --- a/base/modules/serial/psb_i_base_vect_mod.F90 +++ b/base/modules/serial/psb_i_base_vect_mod.F90 @@ -503,8 +503,8 @@ contains info = 0 if (allocated(x%v)) deallocate(x%v, stat=info) - if (info == 0) call x%free_buffer(info) - if (info == 0) call x%free_comid(info) + if ((info == 0).and.allocated(x%combuf)) call x%free_buffer(info) + if ((info == 0).and.allocated(x%comid)) call x%free_comid(info) if (info /= 0) call & & psb_errpush(psb_err_alloc_dealloc_,'vect_free') diff --git a/base/modules/serial/psb_l_base_vect_mod.F90 b/base/modules/serial/psb_l_base_vect_mod.F90 index fbb59f95..cf30db74 100644 --- a/base/modules/serial/psb_l_base_vect_mod.F90 +++ b/base/modules/serial/psb_l_base_vect_mod.F90 @@ -504,8 +504,8 @@ contains info = 0 if (allocated(x%v)) deallocate(x%v, stat=info) - if (info == 0) call x%free_buffer(info) - if (info == 0) call x%free_comid(info) + if ((info == 0).and.allocated(x%combuf)) call x%free_buffer(info) + if ((info == 0).and.allocated(x%comid)) call x%free_comid(info) if (info /= 0) call & & psb_errpush(psb_err_alloc_dealloc_,'vect_free') diff --git a/base/modules/serial/psb_s_base_vect_mod.F90 b/base/modules/serial/psb_s_base_vect_mod.F90 index b0ee9988..702a1af3 100644 --- a/base/modules/serial/psb_s_base_vect_mod.F90 +++ b/base/modules/serial/psb_s_base_vect_mod.F90 @@ -577,8 +577,8 @@ contains info = 0 if (allocated(x%v)) deallocate(x%v, stat=info) - if (info == 0) call x%free_buffer(info) - if (info == 0) call x%free_comid(info) + if ((info == 0).and.allocated(x%combuf)) call x%free_buffer(info) + if ((info == 0).and.allocated(x%comid)) call x%free_comid(info) if (info /= 0) call & & psb_errpush(psb_err_alloc_dealloc_,'vect_free') diff --git a/base/modules/serial/psb_z_base_vect_mod.F90 b/base/modules/serial/psb_z_base_vect_mod.F90 index ce3b6094..bf1a276c 100644 --- a/base/modules/serial/psb_z_base_vect_mod.F90 +++ b/base/modules/serial/psb_z_base_vect_mod.F90 @@ -570,8 +570,8 @@ contains info = 0 if (allocated(x%v)) deallocate(x%v, stat=info) - if (info == 0) call x%free_buffer(info) - if (info == 0) call x%free_comid(info) + if ((info == 0).and.allocated(x%combuf)) call x%free_buffer(info) + if ((info == 0).and.allocated(x%comid)) call x%free_comid(info) if (info /= 0) call & & psb_errpush(psb_err_alloc_dealloc_,'vect_free')