[Bug fortran/44457] Missing ASYNCHRONOUS constraint check

dfranke at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Wed Jun 9 21:19:00 GMT 2010



------- Comment #1 from dfranke at gcc dot gnu dot org  2010-06-09 21:19 -------
This should work (untested). However, ASYNCHRONOUS is F2003. Should one
introduce standard-specific checks? The whole function seems to be agnostic in
this respect?!

Index: interface.c
===================================================================
--- interface.c (revision 160504)
+++ interface.c (working copy)
@@ -2133,13 +2133,15 @@ compare_actual_formal (gfc_actual_arglis

       if ((f->sym->attr.intent == INTENT_OUT
           || f->sym->attr.intent == INTENT_INOUT
-          || f->sym->attr.volatile_)
+          || f->sym->attr.volatile_
+          || f->sym->attr.asynchronous)
           && has_vector_subscript (a->expr))
        {
          if (where)
-           gfc_error ("Array-section actual argument with vector subscripts "
-                      "at %L is incompatible with INTENT(OUT), INTENT(INOUT) "
-                      "or VOLATILE attribute of the dummy argument '%s'",
+           gfc_error ("Array-section actual argument with vector "
+                      "subscripts at %L is incompatible with INTENT(OUT), "
+                      "INTENT(INOUT), VOLATILE or ASYNCHRONOUS attribute "
+                      "of the dummy argument '%s'",
                       &a->expr->where, f->sym->name);
          return 0;
        }


-- 

dfranke at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |dfranke at gcc dot gnu dot
                   |                            |org


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



More information about the Gcc-bugs mailing list