http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54199
Tobias Burnus <burnus at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |burnus at gcc dot gnu.org --- Comment #2 from Tobias Burnus <burnus at gcc dot gnu.org> 2012-08-09 07:52:02 UTC --- (In reply to comment #1) > Maybe the second part is confusing, but a warning makes sense IMO. > > (For module procedures, there is a different warning, which can stay: > > "'fraction' declared at (1) may shadow the intrinsic of the same name. In > > order to call the intrinsic, explicit INTRINSIC declarations may be > > required.") > > That one would be fine for internal procedures, don't you think? Regarding a warning: Maybe it makes sense. For independent procedures, it makes a lot of sense as it is very likely to call the wrong procedure. For modules, usually the module writer has a good idea about the code (unless the module is very large) but the main problem are the module users, which inadvertently use-associating such a procedure. For internal procedures, the risk is much lower: such code is typically much smaller and it cannot be accessed from the outside. For the parent procedure, there is also no way to access the intrinsic procedure - the INTRINSIC only allows the access for other internal procedures. Thus, the importance of the warning is single proc > module proc > internal proc (and the question where one stops warning with -Wall). In any case, I concur that for internal procedures the warning wording for module procedures is much better than the current one, whose second part is plainly wrong.