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