> Again, nobody wants to -and more than that nobody can- prevent any compiler from supporting a `bfloat16` real. I can’t imagine that the decision from a compiler editor to bring `bfloat16` support depend in any way on the presence of a constant in `iso_fortran_env` (before `iso_fortran_env` did exist, many compilers were supporting 128bits reals).
Fair enough. However, if we only rely on vendor extensions for important features of the languages, then what is the point of having a standard in the first place?
An ISO standard should promote portability across implementations, prevent breaking changes to the language, and coordinate design, prototyping, testing, and description of new features.
Fortran features since F'95 are not terribly portable (https://github.com/klausler/fortran-wringer-tests); the F'23 standard has a needless breaking change; and every revision contains incompletely thought through features jammed in without prototyping ("rank agnostic array indexing"). They won't fix bugs, either -- it is possible to write DO CONCURRENT loops that are completely conformant but cannot be parallelized (and cannot be determined at compilation time).
Fair enough. However, if we only rely on vendor extensions for important features of the languages, then what is the point of having a standard in the first place?