@ -46,7 +46,7 @@ subroutine psb_csymbmm(a,b,c,info)
type ( psb_cspmat_type ) , intent ( in ) :: a , b
type ( psb_cspmat_type ) , intent ( in ) :: a , b
type ( psb_cspmat_type ) , intent ( out ) :: c
type ( psb_cspmat_type ) , intent ( out ) :: c
integer , intent ( out ) :: info
integer , intent ( out ) :: info
class( psb_c_base _sparse_mat) , allocatable :: ccsr
type( psb_c_csr _sparse_mat) , allocatable :: ccsr
integer :: err_act
integer :: err_act
character ( len = * ) , parameter :: name = 'psb_symbmm'
character ( len = * ) , parameter :: name = 'psb_symbmm'
call psb_erractionsave ( err_act )
call psb_erractionsave ( err_act )
@ -58,16 +58,10 @@ subroutine psb_csymbmm(a,b,c,info)
go to 9999
go to 9999
endif
endif
allocate ( psb_c_csr_sparse_mat :: ccsr, stat = info )
allocate ( ccsr, stat = info )
if ( info == psb_success_ ) then
if ( info == psb_success_ ) then
select type ( ccsr )
type is ( psb_c_csr_sparse_mat )
call psb_symbmm ( a % a , b % a , ccsr , info )
call psb_symbmm ( a % a , b % a , ccsr , info )
class default
! This is impossible
info = psb_err_internal_error_
end select
else
else
info = psb_err_alloc_dealloc_
info = psb_err_alloc_dealloc_
end if
end if