https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102145
--- Comment #7 from Rimvydas (RJ) <rimvydas.jas at gmail dot com> --- (In reply to kargl from comment #6) > Well, that's what it should do! Argument mismatch has never > been permitted by any Fortran standard. So, PEDANTICALLY > speaking it is an error to allow. Pedantically it an error to support *any* extension then. > > Without going into unrelated and even mildly disheartening long paragraphs > > without useful information, most of this started with removal of > > -Wargument-mismatch option. > > No, it started when gfortran grew the ability to diagnosis the > the problem. It is an error. gfortran is telling the user > it is an error. Gfortran was able to diagnose most of these before under -Wargument-mismatch. > No, it is not. The -fallow-argument-match option was given to > user to allow them to compile their broken code. It was decided > to degrade a error into a warning with this option. If you then > use an option that wants to PEDANTIC with respect to the requirements > of the Fortran 66, 77, 90, 95, 2003, 2008, and 2018 standard, then > you're going to get an error. Nobody said -fallow-argument-mismatch should work under say -std=f2008 (and it is OK if it doesn't). Users complain about -std=legacy or -std=gnu behavior and -pedantic acting like -pedantic-errors when it shouldn't. All this done was force users to make haste changes to keep code compiling while disturbing sometimes carefully crafted codes or simply splitting units into separate fortran souces so that compiler "does not see" this information.