Geoff, thanks for the log.
| In file included from
/Users/goxberry/petsc-3.4.2/src/mat/impls/elemental/matelem.cxx:1:
| In file included from
/Users/goxberry/petsc-3.4.2/include/../src/mat/impls/elemental/matelemimpl.h:5:
| In file included from
/Users/goxberry/petsc-3.4.2/include/petsc-private/matimpl.h:5:
| In file included from /Users/goxberry/petsc-3.4.2/include/petscmat.h:6:
| In file included from /Users/goxberry/petsc-3.4.2/include/petscvec.h:9:
| In file included from /Users/goxberry/petsc-3.4.2/include/petscis.h:7:
| /Users/goxberry/petsc-3.4.2/include/petscsys.h:2325:117: error: expected ')'
| PETSC_STATIC_INLINE PetscErrorCode PetscSegBufferGetInts(PetscSegBuffer
seg,PetscInt count,PetscInt *PETSC_RESTRICT *slot) {return
PetscSegBufferGet(seg,count,(void**)slot);}
|
^Karl fixed this in 'next', but in a branch started from 'master'. We had a discussion about the design at that point and decided that the "hack" was messy and error-prone. https://bitbucket.org/petsc/petsc/commits/0a8720703c3660d0eaeec3a29abfe2a9bfa7773f I think Matt's suggestion of two separate files is overkill and not clearly better. Here is an alternative proposal (which is consistent with the handling of PETSC_FUNCTION_NAME, which works smoothly). https://bitbucket.org/petsc/petsc/commits/ed938b00aafbc8619c94f12cc845a1c4a3fa2bcd You can test by: $ git checkout jed/fix-restrict-cxx $ ./configure ... (Actually, you could just delete the definitions of PETSC_RESTRICT and PETSC_STATIC_INLINE from petscconf.h, then run "make".) This branch starts from 'maint' so you won't see any interface changes in the above.
pgp1PxBzrSLvL.pgp
Description: PGP signature
