OSDN Git Service

2010-10-02 Janus Weil <janus@gcc.gnu.org>
authorjanus <janus@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 2 Oct 2010 10:38:42 +0000 (10:38 +0000)
committerjanus <janus@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 2 Oct 2010 10:38:42 +0000 (10:38 +0000)
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164901 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/fortran/ChangeLog
gcc/fortran/resolve.c
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/intrinsic_6.f90 [new file with mode: 0644]

index b618e7d..417a60a 100644 (file)
@@ -1,3 +1,9 @@
+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-09-30  Janus Weil  <janus@gcc.gnu.org>
 
        PR fortran/45828
index 60de8e5..5cac71e 100644 (file)
@@ -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);
 
index 4d947da..721f3bb 100644 (file)
@@ -1,3 +1,8 @@
+2010-10-02  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/45748
+       * gfortran.dg/intrinsic_6.f90: New.
+
 2010-10-02  Thomas Koenig  <tkoenig@gcc.gnu.org>
 
        PR fortran/42831
diff --git a/gcc/testsuite/gfortran.dg/intrinsic_6.f90 b/gcc/testsuite/gfortran.dg/intrinsic_6.f90
new file mode 100644 (file)
index 0000000..1dccb55
--- /dev/null
@@ -0,0 +1,11 @@
+! { dg-do compile }
+! { dg-options "-fimplicit-none" }
+!
+! PR 45748: [4.5/4.6 Regression] -fimplicit-none failures when using intrinsic MAX
+!
+! Contributed by Themos Tsikas <themos.tsikas@gmail.com>
+
+SUBROUTINE BUG(WORK)
+  INTRINSIC MAX
+  DOUBLE PRECISION WORK(MAX(2,3))
+END