[petsc-users] Error and success codes

Cedric Doucet cedric.doucet at inria.fr
Mon Aug 25 11:43:05 CDT 2014


Hello, 

I want to manage errors with CHKERRQ macro in void functions. 

I do not want to use CHKERRV. 
I prefer to modify void functions so that they return an error code. 

However, it seems CHKERRQ returns a value in case of failure only. 
Example below does not seem to compile without warning (Wreturn-type flag): 

-------------------------- 
PetscErrorCode foo() 
{ 
PetscErrorCode code = somePetscFunction(); 
CHKERRQ(code); 
} 
-------------------------- 

I guess I need to return a success code like this: 

-------------------------- 
PetscErrorCode foo() 
{ 
PetscErrorCode code = somePetscFunction(); 
CHKERRQ(code); 
return PETSC_SUCCESS_CODE; 
} 
-------------------------- 

However, I do not know the value of the success code of Petsc. 
I guess it is zero but I would prefer to use a macro sucha as PETSC_SUCCESS_CODE in the above example. 
Does such a macro exist? 

Best, 

Cédric 


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20140825/445ecab0/attachment.html>


More information about the petsc-users mailing list