[petsc-dev] Reminder: *every* symbol with extern linkage *must* be namespaced

Barry Smith bsmith at mcs.anl.gov
Sun Apr 15 12:52:54 CDT 2012


On Apr 15, 2012, at 12:42 PM, Jed Brown wrote:

> On Sun, Apr 15, 2012 at 12:17, Barry Smith <bsmith at mcs.anl.gov> wrote:
>   We use MPIU_XXX as a replacement for missing/broken/...    MPI_XXX
> 
>   The reason they start with MPI is to indicate their very close relationship with their "true" MPI cousins.
> 
>    I think the natural replacement is PETSC_MPI_XXX, if we make this change then the "obvious" connection to MPI_XXX is weaker. But proper naming spacing does dictate we make this change.
> 
> Note that there are also functions, e.g. MPIU_File_read_all(),

   Oh yeah, I got bored with my etags search before I came upon any of those functions so forgot about them.


> which could become Petsc_MPI_File_read_all() or PetscMPI_File_read_all() as you prefer.
> 
> I'm providing other implementations of MPIX_Iallreduce() which I'd like to namespace consistently. Is it PetscMPI_Iallreduce(), Petsc_MPI_Iallreduce(), or something else?

   Curse it, these are all cases of MPI didn't do something right or some MPI implementor got lazy and didn't include something they should have. They should really start with MPI.  Maybe MPILazyBastards_xxxx() it doesn't seem right to name space any of them with PETSc!!!!  MPImissing_, MPIFU_  (for MPI fuck up). 

> PetscMPI_Iallreduce(), Petsc_MPI_Iallreduce(),

   This is a clash between two naming conventions, the silly MPI one with _ and the reasonable Petsc one without a million _.  You know the one I like. 

    Are you sure we shouldn't continue to use MPIU? We have squatters rights to that prefix since we've used it for 18 years. It looks good and makes clear what those functions are for.


   Barry




More information about the petsc-dev mailing list