15f80ce2aSJacob Faibussowitsch #ifndef PETSC_DM_PLEX_MMGCOMMON_H 25f80ce2aSJacob Faibussowitsch #define PETSC_DM_PLEX_MMGCOMMON_H 35f80ce2aSJacob Faibussowitsch 45f80ce2aSJacob Faibussowitsch #include <petsc/private/dmpleximpl.h> 55f80ce2aSJacob Faibussowitsch 69566063dSJacob Faibussowitsch #define PetscCallMMG_Private(ret,...) do { \ 7*792fecdfSBarry Smith PetscStackPushExternal(PetscStringize(__VA_ARGS__)); \ 85f80ce2aSJacob Faibussowitsch PetscErrorCode PETSC_UNUSED mmg_ierr_ = __VA_ARGS__; \ 95f80ce2aSJacob Faibussowitsch PetscStackPop; \ 105f80ce2aSJacob Faibussowitsch /* PetscCheck(mmg_ierr_ == (ret),PETSC_COMM_SELF,PETSC_ERR_LIB,"Error calling %s: error code %d",PetscStringize(__VA_ARGS__),mmg_ierr_); */ \ 115f80ce2aSJacob Faibussowitsch } while (0) 125f80ce2aSJacob Faibussowitsch 135f80ce2aSJacob Faibussowitsch // MMG sometimes returns 1, sometimes 0 when an error has occurred 149566063dSJacob Faibussowitsch #define PetscCallMMG(...) PetscCallMMG_Private(MMG5_SUCCESS,__VA_ARGS__) 159566063dSJacob Faibussowitsch #define PetscCallMMG_NONSTANDARD(...) PetscCallMMG_Private(1,__VA_ARGS__) 165f80ce2aSJacob Faibussowitsch #endif // PETSC_DM_PLEX_MMGCOMMON_H 17