That’s why there will be C90/C99 compatible symbols as well. If you don’t like C11, don’t use it. Nothing will happen. BigCount will still work.
C11 has been the default in GCC and Clang for a while. What compilers are going to limit users to C99 for years to come? Jeff > On Aug 1, 2019, at 3:23 AM, N.M. Maclaren via mpi-forum > <mpi-forum@lists.mpi-forum.org> wrote: > >> On Jul 30 2019, Jeff Squyres (jsquyres) via mpi-forum wrote: >> >> B. C11 _Generic polymorphism kinda sucks, *and* we're in a transition period >> where not all C compilers are C11-capable. Hence, we're exposing up to *3* C >> bindings per MPI procedure to applications (including explicitly exposing >> the "_x" variant where relevant). > > This following point may have already been debated, so please excuse me if > has. Let's skip the politics, for the sake of all our blood pressures. > > The executive summary is that the failure mode pointed out by Joseph > Schuchart is going to be a very, very serious problem for BigCount users, > and continue for the forseeable future. I would guess until at least > 2025, and possibly long after that. > > Speaking as someone who may be teaching MPI programming again, with an > emphasis on reliability and portability, I would almost certainly add > warnings that would be, roughly: "Don't touch BigCount if you can find a > way round it; and be paranoid about it if you use it." I already do that > about I/O attributes, for similar reasons. That isn't good. > > I don't know how you would document that, but the MPI standard already > has gotchas that aren't easy to find, and adding another one isn't good, > either. > > The explanation: > > C99 was not received favourably by most of the C-using community (I don't > mean compilers here). I tracked a dozen important, active projects, and > it was 2010/11 (yes, over a decade) before even half of them converted > from C90 to C99 as a base. I last checked a few years ago, but quite a > few C99 features were still not reliably available in compilers; I know > that many of the ones I found still aren't. Courses are another problem, > because they rarely include warnings about gotchas caused by standards > differences (and there are lots between C90 and C99). > > I haven't tracked C11 as carefully, but the evidence I have seen is that it > received even less interest and acceptance than C99, so people are going > to be using C99 compilers for a LONG time yet. There is also the problem > that C is not a language that is upwards compatible between versions, but > C++ takes more notice, so C++ compilers' C support (which is arguably more > important than direct C support, because people call MPI using C++'s C > interface) is often in conflict. This is almost certainly a case where > that will be true, but it may not affect these interfaces - I can't say. > > The result is that C code (and, worse, libraries) often require specific > versions (i.e. not just 'any standard later than'). I agree that it looks > likely that generic interfaces are going to be one of the more widely > implemented parts of C99, but don't discount the problem of people using > multiple libraries where other ones constrain the C version for other > reasons. > > _______________________________________________ > 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