This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug fortran/33141] Intrinsic procedures: Improve warning/error with -std=*
- From: "domob at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 21 Jul 2008 12:17:36 -0000
- Subject: [Bug fortran/33141] Intrinsic procedures: Improve warning/error with -std=*
- References: <bug-33141-13404@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- 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