Here it is:
#define PetscObjectOptionsBegin(obj) 0; do { \
PetscOptionItems PetscOptionsObjectBase;\
PetscOptionItems *PetscOptionsObject =
&PetscOptionsObjectBase; \
PetscOptionsObject->options = ((PetscObject)obj)->options; \
for (PetscOptionsObject->count=(PetscOptionsPublish?-1:1);
PetscOptionsObject->count<2; PetscOptionsObject->count++) {\
PetscErrorCode _5_ierr =
PetscObjectOptionsBegin_Private(PetscOptionsObject,obj);CHKERRQ(_5_ierr);
The ((PetscObject)obj)->options requires the definition of PetscObject
which is not in user
facing headers, so this bombs.
Matt
--
What most experimenters take for granted before they begin their
experiments is infinitely more interesting than any results to which their
experiments lead.
-- Norbert Wiener