Hi!

I've committed the following patch to fix various OpenACC diagnostic typos.

2017-03-16  Jakub Jelinek  <ja...@redhat.com>

        PR fortran/80010
        * parse.c (gfc_ascii_statement): Use !$ACC for ST_OACC_ATOMIC
        and ST_OACC_END_ATOMIC, instead of !ACC.
        * trans-decl.c (finish_oacc_declare): Use !$ACC instead of $!ACC.
        * openmp.c (gfc_match_oacc_declare, gfc_match_oacc_wait,
        gfc_resolve_oacc_declare): Likewise.

        * gfortran.dg/goacc/asyncwait-3.f95: Adjust expected diagnostic.

--- gcc/fortran/trans-decl.c    (revision 246203)
+++ gcc/fortran/trans-decl.c    (revision 246204)
@@ -6133,7 +6133,7 @@ finish_oacc_declare (gfc_namespace *ns,
        continue;
 
       if (block)
-       gfc_error ("Sorry, $!ACC DECLARE at %L is not allowed "
+       gfc_error ("Sorry, !$ACC DECLARE at %L is not allowed "
                   "in BLOCK construct", &oc->loc);
 
 
--- gcc/fortran/parse.c (revision 246203)
+++ gcc/fortran/parse.c (revision 246204)
@@ -2128,10 +2128,10 @@ gfc_ascii_statement (gfc_statement st)
       p = "!$ACC ROUTINE";
       break;
     case ST_OACC_ATOMIC:
-      p = "!ACC ATOMIC";
+      p = "!$ACC ATOMIC";
       break;
     case ST_OACC_END_ATOMIC:
-      p = "!ACC END ATOMIC";
+      p = "!$ACC END ATOMIC";
       break;
     case ST_OMP_ATOMIC:
       p = "!$OMP ATOMIC";
--- gcc/fortran/openmp.c        (revision 246203)
+++ gcc/fortran/openmp.c        (revision 246204)
@@ -2059,7 +2059,7 @@ gfc_match_oacc_declare (void)
          if (n->u.map_op != OMP_MAP_FORCE_ALLOC
              && n->u.map_op != OMP_MAP_FORCE_TO)
            {
-             gfc_error ("Invalid clause in module with $!ACC DECLARE at %L",
+             gfc_error ("Invalid clause in module with !$ACC DECLARE at %L",
                         &where);
              return MATCH_ERROR;
            }
@@ -2069,7 +2069,7 @@ gfc_match_oacc_declare (void)
 
       if (s->attr.use_assoc)
        {
-         gfc_error ("Variable is USE-associated with $!ACC DECLARE at %L",
+         gfc_error ("Variable is USE-associated with !$ACC DECLARE at %L",
                     &where);
          return MATCH_ERROR;
        }
@@ -2077,7 +2077,7 @@ gfc_match_oacc_declare (void)
       if ((s->attr.dimension || s->attr.codimension)
          && s->attr.dummy && s->as->type != AS_EXPLICIT)
        {
-         gfc_error ("Assumed-size dummy array with $!ACC DECLARE at %L",
+         gfc_error ("Assumed-size dummy array with !$ACC DECLARE at %L",
                     &where);
          return MATCH_ERROR;
        }
@@ -2172,7 +2172,7 @@ gfc_match_oacc_wait (void)
       {
        if (el->expr == NULL)
          {
-           gfc_error ("Invalid argument to $!ACC WAIT at %L",
+           gfc_error ("Invalid argument to !$ACC WAIT at %L",
                       &wait_list->expr->where);
            return MATCH_ERROR;
          }
@@ -5985,7 +5985,7 @@ gfc_resolve_oacc_declare (gfc_namespace
            if (n->expr && n->expr->ref->type == REF_ARRAY)
              {
                gfc_error ("Array sections: %qs not allowed in"
-                          " $!ACC DECLARE at %L", n->sym->name, &oc->loc);
+                          " !$ACC DECLARE at %L", n->sym->name, &oc->loc);
                continue;
              }
          }
--- gcc/testsuite/gfortran.dg/goacc/asyncwait-3.f95     (revision 246203)
+++ gcc/testsuite/gfortran.dg/goacc/asyncwait-3.f95     (revision 246204)
@@ -23,7 +23,7 @@ program asyncwait
 
   !$acc wait (1 ! { dg-error "Syntax error in OpenACC expression list at" }
 
-  !$acc wait (1, *) ! { dg-error "Invalid argument to \\\$\\\!ACC WAIT" }
+  !$acc wait (1, *) ! { dg-error "Invalid argument to \\\!\\\$ACC WAIT" }
 
   !$acc wait (1, a) ! { dg-error "WAIT clause at \\\(1\\\) requires a scalar 
INTEGER expression" }
 

        Jakub

Reply via email to