You’re going to have to mention C++. You can’t just pretend that C++ supports C11 generic, because it explicitly doesn’t. And you really should do this because it’s ridiculous not to use C++ polymorphism if we use C11’s.
Jeff > On Jul 31, 2019, at 6:14 AM, Jeff Squyres (jsquyres) via mpi-forum > <mpi-forum@lists.mpi-forum.org> wrote: > >> On Jul 31, 2019, at 4:31 AM, Joseph Schuchart via mpi-forum >> <mpi-forum@lists.mpi-forum.org> wrote: >> >> Should we mark in the interface the fact that the MPI_Count overloads are >> only available in C11? I'm thinking about something similar to >> cppreference's distinction between C/C++ standard versions, e.g., >> >> >> ``` >> int MPI_Send(const void *buf, MPI_Count count, MPI_Datatype datatype, int >> dest, int tag, MPI_Comm comm) [>C11|C++] >> ``` > > These are exactly the kind of discussions that I'd like to have before the > September meeting: what is the best way to render the output to convey the > information in an aesthetic way? I'm terrible at this kind of stuff. > > ----- > > That being said, I would not want to mark anything as "C++", because the MPI > spec does not explicitly support C++ at all. The text that will support this > ticket will only have an Advice to Implementors for those implementations who > want to continue to have an <mpi.h> that supports both C and C++. Per > feedback we got in the Virtual Meeting last week, the advice is to *not* use > C++ polymorphism, and, instead, treat C++ as a complier that does not support > C11 _Generic (i.e., the MPI_Count-enabled version of MPI_Foo() will simply > not be available -- see Froozle). > > The rationale here is that if an implementation supports C++ polymorphism, > there are three options: > > 1. The standard needs to make official statements about C++, which basically > re-introduces formal C++ support in the MPI spec (which is a Big Deal) > 2. PMPI-enabled tools will need to support non-standard C++ polymorphism in > order to guarantee that they can intercept all MPI APIs when the application > is written in C++ > 3. PMPI-enabled tools do not support intercepting all MPI APIs when the > application is written in C++ > > None of those 3 options are attractive. > > -- > Jeff Squyres > jsquy...@cisco.com > > _______________________________________________ > mpi-forum mailing list > mpi-forum@lists.mpi-forum.org > https://lists.mpi-forum.org/mailman/listinfo/mpi-forum _______________________________________________ mpi-forum mailing list mpi-forum@lists.mpi-forum.org https://lists.mpi-forum.org/mailman/listinfo/mpi-forum