1*5f80ce2aSJacob Faibussowitsch #ifndef PETSC_DM_PLEX_MMGCOMMON_H 2*5f80ce2aSJacob Faibussowitsch #define PETSC_DM_PLEX_MMGCOMMON_H 3*5f80ce2aSJacob Faibussowitsch 4*5f80ce2aSJacob Faibussowitsch #include <petsc/private/dmpleximpl.h> 5*5f80ce2aSJacob Faibussowitsch 6*5f80ce2aSJacob Faibussowitsch #define CHKERRMMG_Private(ret,...) do { \ 7*5f80ce2aSJacob Faibussowitsch PetscStackPush(PetscStringize(__VA_ARGS__)); \ 8*5f80ce2aSJacob Faibussowitsch PetscErrorCode PETSC_UNUSED mmg_ierr_ = __VA_ARGS__; \ 9*5f80ce2aSJacob Faibussowitsch PetscStackPop; \ 10*5f80ce2aSJacob Faibussowitsch /* PetscCheck(mmg_ierr_ == (ret),PETSC_COMM_SELF,PETSC_ERR_LIB,"Error calling %s: error code %d",PetscStringize(__VA_ARGS__),mmg_ierr_); */ \ 11*5f80ce2aSJacob Faibussowitsch } while (0) 12*5f80ce2aSJacob Faibussowitsch 13*5f80ce2aSJacob Faibussowitsch // MMG sometimes returns 1, sometimes 0 when an error has occurred 14*5f80ce2aSJacob Faibussowitsch #define CHKERRMMG(...) CHKERRMMG_Private(MMG5_SUCCESS,__VA_ARGS__) 15*5f80ce2aSJacob Faibussowitsch #define CHKERRMMG_NONSTANDARD(...) CHKERRMMG_Private(1,__VA_ARGS__) 16*5f80ce2aSJacob Faibussowitsch #endif // PETSC_DM_PLEX_MMGCOMMON_H 17