1: #ifndef PETSCDMCEED_H
2: #define PETSCDMCEED_H
4: #include <petscdm.h>
6: #if defined(PETSC_HAVE_LIBCEED)
7: #include <ceed.h>
9: #if defined(PETSC_CLANG_STATIC_ANALYZER)
10: void PetscCallCEED(CeedErrorType);
11: #else
12: #define PetscCallCEED(...) \
13: do { \
14: CeedErrorType ierr_ceed_ = __VA_ARGS__; \
15: PetscCheck(ierr_ceed_ == CEED_ERROR_SUCCESS, PETSC_COMM_SELF, PETSC_ERR_LIB, "libCEED error: %s", CeedErrorTypes[ierr_ceed_]); \
16: } while (0)
17: #endif /* PETSC_CLANG_STATIC_ANALYZER */
18: #define CHKERRQ_CEED(...) PetscCallCEED(__VA_ARGS__)
20: PETSC_EXTERN PetscErrorCode DMGetCeed(DM, Ceed *);
22: #endif
24: #endif