[petsc-users] Is Elemental compatible with Clang from LLVM 3.3?

Jed Brown jedbrown at mcs.anl.gov
Sun Oct 6 15:31:18 CDT 2013

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.


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).


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.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 835 bytes
Desc: not available
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20131006/607bd4a4/attachment.pgp>

More information about the petsc-users mailing list