[openacc] handle missing OMP_LIST_ clauses in fortran's parse tree debugger

Message ID 5701ec61-8c06-e590-9119-7d4199336e6b@codesourcery.com
State New
Headers show
Series
  • [openacc] handle missing OMP_LIST_ clauses in fortran's parse tree debugger
Related show

Commit Message

Cesar Philippidis Sept. 20, 2018, 5:21 p.m.
This patch updates Fortran's parse tree printer to print the names of
new OpenACC data clauses. I'm not if this functionality is widely used
or not, but from a standpoint of correctness, this patch would probably
be nice to have.

It this patch OK for trunk? I bootstrapped and regtested it for x86_64
Linux with nvptx offloading.

Thanks,
Cesar

Comments

Cesar Philippidis Sept. 20, 2018, 6:43 p.m. | #1
On 09/20/2018 11:22 AM, Paul Richard Thomas wrote:
> Hi Cesar,

> 

> It looks OK to me.

> 

> Thanks for the patch.

> 

> Paul


Thanks! Committed in r264446.

Cesar

> On 20 September 2018 at 18:21, Cesar Philippidis <cesar@codesourcery.com> wrote:

>> This patch updates Fortran's parse tree printer to print the names of

>> new OpenACC data clauses. I'm not if this functionality is widely used

>> or not, but from a standpoint of correctness, this patch would probably

>> be nice to have.

>>

>> It this patch OK for trunk? I bootstrapped and regtested it for x86_64

>> Linux with nvptx offloading.

>>

>> Thanks,

>> Cesar

> 

> 

>

Patch

[OpenACC] handle missing OMP_LIST_ clauses in fortran's parse tree debugger

2018-XX-YY  Cesar Philippidis  <cesar@codesourcery.com>

	gcc/fortran/
	* dump-parse-tree.c (show_omp_clauses): Add missing omp list_types
	and reorder the switch cases to match the enum in gfortran.h.

(cherry picked from gomp-4_0-branch r228355, 159518d)
---
 gcc/fortran/dump-parse-tree.c | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/gcc/fortran/dump-parse-tree.c b/gcc/fortran/dump-parse-tree.c
index 2a28fa30986..f1be5a67a26 100644
--- a/gcc/fortran/dump-parse-tree.c
+++ b/gcc/fortran/dump-parse-tree.c
@@ -1384,21 +1384,26 @@  show_omp_clauses (gfc_omp_clauses *omp_clauses)
 	const char *type = NULL;
 	switch (list_type)
 	  {
-	  case OMP_LIST_USE_DEVICE: type = "USE_DEVICE"; break;
-	  case OMP_LIST_DEVICE_RESIDENT: type = "USE_DEVICE"; break;
-	  case OMP_LIST_CACHE: type = ""; break;
 	  case OMP_LIST_PRIVATE: type = "PRIVATE"; break;
 	  case OMP_LIST_FIRSTPRIVATE: type = "FIRSTPRIVATE"; break;
 	  case OMP_LIST_LASTPRIVATE: type = "LASTPRIVATE"; break;
+	  case OMP_LIST_COPYPRIVATE: type = "COPYPRIVATE"; break;
 	  case OMP_LIST_SHARED: type = "SHARED"; break;
 	  case OMP_LIST_COPYIN: type = "COPYIN"; break;
 	  case OMP_LIST_UNIFORM: type = "UNIFORM"; break;
 	  case OMP_LIST_ALIGNED: type = "ALIGNED"; break;
 	  case OMP_LIST_LINEAR: type = "LINEAR"; break;
+	  case OMP_LIST_DEPEND: type = "DEPEND"; break;
+	  case OMP_LIST_MAP: type = "MAP"; break;
+	  case OMP_LIST_TO: type = "TO"; break;
+	  case OMP_LIST_FROM: type = "FROM"; break;
 	  case OMP_LIST_REDUCTION: type = "REDUCTION"; break;
+	  case OMP_LIST_DEVICE_RESIDENT: type = "DEVICE_RESIDENT"; break;
+	  case OMP_LIST_LINK: type = "LINK"; break;
+	  case OMP_LIST_USE_DEVICE: type = "USE_DEVICE"; break;
+	  case OMP_LIST_CACHE: type = "CACHE"; break;
 	  case OMP_LIST_IS_DEVICE_PTR: type = "IS_DEVICE_PTR"; break;
 	  case OMP_LIST_USE_DEVICE_PTR: type = "USE_DEVICE_PTR"; break;
-	  case OMP_LIST_DEPEND: type = "DEPEND"; break;
 	  default:
 	    gcc_unreachable ();
 	  }
-- 
2.17.1