------- Comment #6 from domob at gcc dot gnu dot org 2008-07-21 12:17 ------- (In reply to comment #5) > For the "INTRINSIC :: " error, one could consider mentioning > "-fall-intrinsics" > in the error message.
I'll do so (as I already do in the warning message), this makes of course sense. > Regarding intrinsic subroutine and external/user-supplied function (and vice > versa): I think it is OK to not to warn. Ok, that's also what I'd do (and have implemented for now). > > -Wsurprising will warn when an intrinsic is treated as EXTERNAL because > > of the standard settings. > > You mean something like: > call gamma() > 1 > Warning: 'gamma' at (1) is regarded as external procedure but also exists as > intrinsic in Fortran 2008. You can [also?] use -fall-intrinsics to regard it > as > intrinsic Exactly. And if we should not enable this with -Wsurprising, I can add a new flag (what's about -Wfuture-intrinsic? But maybe -Wstd-intrinsic is better) to control this warning (enabled at -Wall of course as I think this is a rather "serious" warning). Regarding -Wnonstd-intrinsic, what should I do there? It is ignored now, and I'll change this in the documentation (as well as mentioning the new flags, of course); but do I also have to add some "deprecated" flag (if there is something like that), or does the note in the documentation suffice? Finally: If an intrinsic called is included in a standard mentioned in gfc_option.warn_std, I'm issuing a warning but calling this intrinsic instead of treating it EXTERNAL; however, check_intrinsic_standard in intrinsic.c did not issue such a warning for GNU extension intrinsics, and I had to take over this behaviour as otherwise I'm getting tons of errors about "abort" in the testsuite (because of -pedantic); that's quite ok so, but please confirm this is the way to go. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33141