https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102145

--- Comment #9 from Rimvydas (RJ) <rimvydas.jas at gmail dot com> ---
(In reply to Steve Kargl from comment #8)
> Yes, it should behave like -pedantic-errors.
Actually no, -pedantic is equivalent to -Wpedantic, while -pedantic-errors is
-Werror=pedantic.  Rest is interpretation vs expectation.

> -fallow-argument-mismatch was added to allow users,
> who refuse to fix their code, the ability to downgrade the error
> to a warning.  If -pedantic changes -fallow-argument-mismatch
> back to an error, then don't use -pedantic.
The -std=legacy already implies -fallow-argument-mismatch and wrongfully warns
by default.  Consider gfortran -std=legacy -Wpedantic -Wno-error=pedantic -c.

> And, no, the code was not "carefully crafted".  Code, which exploits
> argument mismatch, has always been invalid Fortran.  It is time that
> those codes are fixed.
Until every compiler vendor agree on universal module format for things like
"USE MPI" or "USE MPI_F08", the HPC applications will continue to use F77
"mpif.h" include, unless "buffer" type would get standardized.  Many projects
already split things like:
 call mpi_foo(1, MPI_INTEGER, N); ..... ; call mpi_foo(1., MPI_REAL, N) into
separate compilable sources and in the end such compiler behavior change solved
nothing other than creating lots unnecessary work for users and package
maintainers for every different OS.  It will become more evident when more HPC
systems get replaced from older LTS having older versions of gfortran.

Reply via email to