re PR fortran/80010 (diagnostics: typo $!)

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.

From-SVN: r246204
This commit is contained in:
Jakub Jelinek 2017-03-16 17:50:27 +01:00 committed by Jakub Jelinek
parent c05c238081
commit e711928b48
6 changed files with 19 additions and 9 deletions

View File

@ -1,5 +1,12 @@
2017-03-16 Jakub Jelinek <jakub@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.
PR fortran/79886
* error.c (gfc_format_decoder): Rename plus argument to set_locus,
remove ATTRIBUTE_UNUSED from all arguments, call default_tree_printer

View File

@ -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 *ns)
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;
}
}

View File

@ -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";

View File

@ -6133,7 +6133,7 @@ finish_oacc_declare (gfc_namespace *ns, gfc_symbol *sym, bool block)
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);

View File

@ -1,5 +1,8 @@
2017-03-16 Jakub Jelinek <jakub@redhat.com>
PR fortran/80010
* gfortran.dg/goacc/asyncwait-3.f95: Adjust expected diagnostic.
PR fortran/79886
* gfortran.dg/pr79886.f90: New test.

View File

@ -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" }