]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR fortran/58998 (Generic interface problem with gfortran)
authorJanus Weil <janus@gcc.gnu.org>
Mon, 30 Dec 2013 17:33:21 +0000 (18:33 +0100)
committerJanus Weil <janus@gcc.gnu.org>
Mon, 30 Dec 2013 17:33:21 +0000 (18:33 +0100)
2013-12-30  Janus Weil  <janus@gcc.gnu.org>

PR fortran/58998
* resolve.c (resolve_symbol): Check that symbol is not only flavorless
but also untyped.

2013-12-30  Janus Weil  <janus@gcc.gnu.org>

PR fortran/58998
* gfortran.dg/generic_28.f90: New.

From-SVN: r206249

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

index 60922b8645015df219a617b8be2c71e0ca5e971f..6c7cea7c4a406d4a22eb528cb92a5c51a2165e56 100644 (file)
@@ -1,3 +1,9 @@
+2013-12-30  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/58998
+       * resolve.c (resolve_symbol): Check that symbol is not only flavorless
+       but also untyped.
+
 2013-12-29  Janus Weil  <janus@gcc.gnu.org>
 
        PR fortran/59612
index 57e6cbb979ed72108cab1fbd4b782d9ef75dfc6a..54cfdd6fd68234450899320301ac667f148e64a7 100644 (file)
@@ -12732,7 +12732,8 @@ resolve_symbol (gfc_symbol *sym)
   if (sym->attr.flavor == FL_UNKNOWN
       || (sym->attr.flavor == FL_PROCEDURE && !sym->attr.intrinsic
          && !sym->attr.generic && !sym->attr.external
-         && sym->attr.if_source == IFSRC_UNKNOWN))
+         && sym->attr.if_source == IFSRC_UNKNOWN
+         && sym->ts.type == BT_UNKNOWN))
     {
 
     /* If we find that a flavorless symbol is an interface in one of the
index 3d686751d8a72c3552d2fbd038fe38ed15b4e550..8f94e495a0b8023307224577714004206d732511 100644 (file)
@@ -1,3 +1,8 @@
+2013-12-30  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/58998
+       * gfortran.dg/generic_28.f90: New.
+
 2013-12-30  Jakub Jelinek  <jakub@redhat.com>
 
        PR tree-optimization/59591
diff --git a/gcc/testsuite/gfortran.dg/generic_28.f90 b/gcc/testsuite/gfortran.dg/generic_28.f90
new file mode 100644 (file)
index 0000000..5ddc979
--- /dev/null
@@ -0,0 +1,18 @@
+! { dg-do compile }
+!
+! PR 58998: [4.8/4.9 Regression] Generic interface problem with gfortran
+!
+! Contributed by Paul van Delst
+
+  interface iargc
+    procedure iargc_8
+  end interface
+  
+contains
+
+  integer(8) function iargc_8()
+    integer(4) iargc
+    iargc_8 = iargc()
+  end function
+  
+end