Jed, In C++ land we have
#if defined(__cplusplus) #define PETSC_EXTERN extern "C" PETSC_VISIBILITY_PUBLIC #define PETSC_EXTERN_TYPEDEF extern "C" #define PETSC_INTERN extern "Cā PETSC_VISIBILITY_INTERNAL what does it mean to say PETSC_EXTERN PetscClassId AO_CLASSID; ? There is no c++ mangling with variables (or is there) so what does the extern āCā buy us? or mean? should we have a different PETSC_EXTERN_VARIABLE for variables? Barry
