[Bug fortran/56814] [4.8/4.9 Regression] Bogus Interface mismatch in dummy procedure

janus at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed Apr 17 08:58:00 GMT 2013


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56814

--- Comment #5 from janus at gcc dot gnu.org 2013-04-17 08:58:25 UTC ---
Alternative patch:

Index: gcc/fortran/interface.c
===================================================================
--- gcc/fortran/interface.c    (revision 198007)
+++ gcc/fortran/interface.c    (working copy)
@@ -1184,9 +1184,20 @@ check_result_characteristics (gfc_symbol *s1, gfc_
 {
   gfc_symbol *r1, *r2;

-  r1 = s1->result ? s1->result : s1;
-  r2 = s2->result ? s2->result : s2;
+  if (s1->ts.interface && s1->ts.interface->result)
+    r1 = s1->ts.interface->result;
+  else if (s1->result)
+    r1 = s1->result;
+  else
+    r1 = s1;

+  if (s2->ts.interface && s2->ts.interface->result)
+    r2 = s2->ts.interface->result;
+  else if (s2->result)
+    r2 = s2->result;
+  else
+    r2 = s2;
+
   if (r1->ts.type == BT_UNKNOWN)
     return true;


Regtesting now ...



More information about the Gcc-bugs mailing list