[Bug fortran/40041] spurious warning with INTRINSIC statement
burnus at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Wed May 6 10:27:00 GMT 2009
------- Comment #1 from burnus at gcc dot gnu dot org 2009-05-06 10:26 -------
(In reply to comment #0)
> The same warnings are given if the arguments of ABS/MAX are of default-real
> kind, so this not related to implicit typing.
I have to admit that I don't fully understand that sentence, but I don't get
the warning with IMPLICIT NONE. I also don't see the relation to the arguments
of ABS/MAX -- I think it is about implicit typing of the result value of
ABS/MAX itself.
Untested patch:
--- resolve.c (revision 147168)
+++ resolve.c (working copy)
@@ -9320,13 +9526,14 @@ resolve_symbol (gfc_symbol *sym)
if ((isym = gfc_find_function (sym->name)))
{
- if (sym->ts.type != BT_UNKNOWN && gfc_option.warn_surprising)
+ if (sym->ts.type != BT_UNKNOWN && gfc_option.warn_surprising
+ && !sym->attr.implicit_type)
gfc_warning ("Type specified for intrinsic function '%s' at %L is"
" ignored", sym->name, &sym->declared_at);
}
else if ((isym = gfc_find_subroutine (sym->name)))
{
- if (sym->ts.type != BT_UNKNOWN)
+ if (sym->ts.type != BT_UNKNOWN && !sym->attr.implicit_type)
{
gfc_error ("Intrinsic subroutine '%s' at %L shall not have a
type"
" specifier", sym->name, &sym->declared_at);
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40041
More information about the Gcc-bugs
mailing list