This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH] update error reporting for OpenACC wait (PR85702)
- From: Cesar Philippidis <cesar at codesourcery dot com>
- To: "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>, Fortran List <fortran at gcc dot gnu dot org>
- Date: Wed, 13 Jun 2018 06:55:03 -0700
- Subject: [PATCH] update error reporting for OpenACC wait (PR85702)
Prior to this patch, when the Fortran FE detected an invalid argument to
the OpenACC wait directive, it was trying to read the location of the
expression after it checked does not exist to error diagnostics. This
patch resolves that issue by reporting the error using %C.
I'll commit this patch to trunk as obvious.
Cesar
2018-06-13 Cesar Philippidis <cesar@codesourcery.com>
PR fortran/85702
gcc/fortran/
* openmp.c (gfc_match_oacc_wait): Use %C to report error location.
gcc/testsuite/
* gfortran.dg/goacc/pr85702.f90: New test.
>From 07022efa1ba4a58fa12c3f8a3b911fba32a5df1b Mon Sep 17 00:00:00 2001
From: Cesar Philippidis <cesar@codesourcery.com>
Date: Mon, 11 Jun 2018 14:03:47 -0700
Subject: [PATCH] fix PR85702
---
gcc/fortran/openmp.c | 3 +--
gcc/testsuite/gfortran.dg/goacc/pr85702.f90 | 6 ++++++
2 files changed, 7 insertions(+), 2 deletions(-)
create mode 100644 gcc/testsuite/gfortran.dg/goacc/pr85702.f90
diff --git a/gcc/fortran/openmp.c b/gcc/fortran/openmp.c
index 5c13312..97d6e78 100644
--- a/gcc/fortran/openmp.c
+++ b/gcc/fortran/openmp.c
@@ -2177,8 +2177,7 @@ gfc_match_oacc_wait (void)
{
if (el->expr == NULL)
{
- gfc_error ("Invalid argument to !$ACC WAIT at %L",
- &wait_list->expr->where);
+ gfc_error ("Invalid argument to !$ACC WAIT at %C");
return MATCH_ERROR;
}
diff --git a/gcc/testsuite/gfortran.dg/goacc/pr85702.f90 b/gcc/testsuite/gfortran.dg/goacc/pr85702.f90
new file mode 100644
index 0000000..7488618
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/goacc/pr85702.f90
@@ -0,0 +1,6 @@
+! PR fortran/85702
+! { dg-do compile }
+
+subroutine s
+ !$acc wait(*) ! { dg-error "Invalid argument to ..ACC WAIT" }
+end
--
2.7.4