aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/resolve.c
diff options
context:
space:
mode:
authorJanus Weil <janus@gcc.gnu.org>2010-10-02 12:38:42 +0200
committerJanus Weil <janus@gcc.gnu.org>2010-10-02 12:38:42 +0200
commit8b932a71067075d3e0fcf99fc5bce499df08d96f (patch)
treebdca3969bcbf8e7a2701e1198f9c8178065d5bea /gcc/fortran/resolve.c
parent9dcee88de866978161c324d206778237d82ec77f (diff)
downloadgcc-8b932a71067075d3e0fcf99fc5bce499df08d96f.zip
gcc-8b932a71067075d3e0fcf99fc5bce499df08d96f.tar.gz
gcc-8b932a71067075d3e0fcf99fc5bce499df08d96f.tar.bz2
re PR fortran/45748 (-fimplicit-none failures when using intrinsic MAX)
2010-10-02 Janus Weil <janus@gcc.gnu.org> PR fortran/45748 * resolve.c (resolve_formal_arglist): Avoid setting default type for formal arguments of intrinsic procedures. 2010-10-02 Janus Weil <janus@gcc.gnu.org> PR fortran/45748 * gfortran.dg/intrinsic_6.f90: New. From-SVN: r164901
Diffstat (limited to 'gcc/fortran/resolve.c')
-rw-r--r--gcc/fortran/resolve.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c
index 60de8e5..5cac71e 100644
--- a/gcc/fortran/resolve.c
+++ b/gcc/fortran/resolve.c
@@ -297,11 +297,9 @@ resolve_formal_arglist (gfc_symbol *proc)
continue;
}
- if (sym->ts.type == BT_UNKNOWN)
- {
- if (!sym->attr.function || sym->result == sym)
- gfc_set_default_type (sym, 1, sym->ns);
- }
+ if (sym->ts.type == BT_UNKNOWN && !proc->attr.intrinsic
+ && (!sym->attr.function || sym->result == sym))
+ gfc_set_default_type (sym, 1, sym->ns);
gfc_resolve_array_spec (sym->as, 0);