------- Comment #2 from janus at gcc dot gnu dot org  2008-06-07 21:01 -------
This patch fixes both of the test cases in comment #0 and comment#1:

Index: gcc/fortran/decl.c
===================================================================
--- gcc/fortran/decl.c  (revision 136533)
+++ gcc/fortran/decl.c  (working copy)
@@ -4085,8 +4085,10 @@ match_procedure_decl (void)
          return MATCH_ERROR;
        }
       /* Handle intrinsic procedures.  */
-      if (gfc_intrinsic_name (proc_if->name, 0)
-         || gfc_intrinsic_name (proc_if->name, 1))
+      if (!(proc_if->attr.external || proc_if->attr.use_assoc
+           || proc_if->attr.if_source == IFSRC_IFBODY)
+         && (gfc_intrinsic_name (proc_if->name, 0)
+             || gfc_intrinsic_name (proc_if->name, 1)))
        proc_if->attr.intrinsic = 1;
       if (proc_if->attr.intrinsic
          && !gfc_intrinsic_actual_ok (proc_if->name, 0))

This is the same check that's done in resolve.c (resolve_actual_arglist) for
dummy procedures.


-- 

janus at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot gnu   |janus at gcc dot gnu dot org
                   |dot org                     |
             Status|NEW                         |ASSIGNED
   Last reconfirmed|2008-06-07 20:15:13         |2008-06-07 21:01:38
               date|                            |


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

Reply via email to