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.