diff options
author | bors[bot] <26634292+bors[bot]@users.noreply.github.com> | 2022-09-26 09:30:08 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-09-26 09:30:08 +0000 |
commit | 8ed1bbaa40527c561b25b5dadb963ca404f2da37 (patch) | |
tree | b68241b6d5b2361edc1b6352e503660602c28885 /gcc/fortran/dump-parse-tree.cc | |
parent | 6d98713a7b9cc58573be3e209a27a6c4ce682166 (diff) | |
parent | 033a4599350d23d55f5e9a0f9adf497e7f0279e8 (diff) | |
download | gcc-8ed1bbaa40527c561b25b5dadb963ca404f2da37.zip gcc-8ed1bbaa40527c561b25b5dadb963ca404f2da37.tar.gz gcc-8ed1bbaa40527c561b25b5dadb963ca404f2da37.tar.bz2 |
Merge #1542
1542: Merge GCC mainline/master into gccrs/master r=philberty a=ibuclaw
As per title, pull in the latest and greatest from gcc development.
Co-authored-by: Tim Lange <mail@tim-lange.me>
Co-authored-by: GCC Administrator <gccadmin@gcc.gnu.org>
Co-authored-by: Martin Liska <mliska@suse.cz>
Co-authored-by: Javier Miranda <miranda@adacore.com>
Co-authored-by: Bob Duff <duff@adacore.com>
Co-authored-by: Patrick Bernardi <bernardi@adacore.com>
Co-authored-by: Steve Baird <baird@adacore.com>
Co-authored-by: Gary Dismukes <dismukes@adacore.com>
Co-authored-by: Eric Botcazou <ebotcazou@adacore.com>
Co-authored-by: Justin Squirek <squirek@adacore.com>
Co-authored-by: Piotr Trojanek <trojanek@adacore.com>
Co-authored-by: Joffrey Huguet <huguet@adacore.com>
Co-authored-by: Yannick Moy <moy@adacore.com>
Diffstat (limited to 'gcc/fortran/dump-parse-tree.cc')
-rw-r--r-- | gcc/fortran/dump-parse-tree.cc | 38 |
1 files changed, 31 insertions, 7 deletions
diff --git a/gcc/fortran/dump-parse-tree.cc b/gcc/fortran/dump-parse-tree.cc index 5352008..40c690c 100644 --- a/gcc/fortran/dump-parse-tree.cc +++ b/gcc/fortran/dump-parse-tree.cc @@ -1337,8 +1337,15 @@ show_omp_namelist (int list_type, gfc_omp_namelist *n) if (n->u2.ns != ns_iter) { if (n != n2) - fputs (list_type == OMP_LIST_AFFINITY - ? ") AFFINITY(" : ") DEPEND(", dumpfile); + { + fputs (") ", dumpfile); + if (list_type == OMP_LIST_AFFINITY) + fputs ("AFFINITY (", dumpfile); + else if (n->u.depend_doacross_op == OMP_DOACROSS_SINK_FIRST) + fputs ("DOACROSS (", dumpfile); + else + fputs ("DEPEND (", dumpfile); + } if (n->u2.ns) { fputs ("ITERATOR(", dumpfile); @@ -1374,7 +1381,7 @@ show_omp_namelist (int list_type, gfc_omp_namelist *n) default: break; } else if (list_type == OMP_LIST_DEPEND) - switch (n->u.depend_op) + switch (n->u.depend_doacross_op) { case OMP_DEPEND_IN: fputs ("in:", dumpfile); break; case OMP_DEPEND_OUT: fputs ("out:", dumpfile); break; @@ -1385,10 +1392,14 @@ show_omp_namelist (int list_type, gfc_omp_namelist *n) fputs ("mutexinoutset:", dumpfile); break; case OMP_DEPEND_SINK_FIRST: + case OMP_DOACROSS_SINK_FIRST: fputs ("sink:", dumpfile); while (1) { - fprintf (dumpfile, "%s", n->sym->name); + if (!n->sym) + fputs ("omp_cur_iteration", dumpfile); + else + fprintf (dumpfile, "%s", n->sym->name); if (n->expr) { fputc ('+', dumpfile); @@ -1396,9 +1407,13 @@ show_omp_namelist (int list_type, gfc_omp_namelist *n) } if (n->next == NULL) break; - else if (n->next->u.depend_op != OMP_DEPEND_SINK) + else if (n->next->u.depend_doacross_op != OMP_DOACROSS_SINK) { - fputs (") DEPEND(", dumpfile); + if (n->next->u.depend_doacross_op + == OMP_DOACROSS_SINK_FIRST) + fputs (") DOACROSS(", dumpfile); + else + fputs (") DEPEND(", dumpfile); break; } fputc (',', dumpfile); @@ -1674,7 +1689,14 @@ show_omp_clauses (gfc_omp_clauses *omp_clauses) case OMP_LIST_AFFINITY: type = "AFFINITY"; 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_DEPEND: + if (omp_clauses->lists[list_type] + && (omp_clauses->lists[list_type]->u.depend_doacross_op + == OMP_DOACROSS_SINK_FIRST)) + type = "DOACROSS"; + else + type = "DEPEND"; + break; case OMP_LIST_MAP: type = "MAP"; break; case OMP_LIST_TO: type = "TO"; break; case OMP_LIST_FROM: type = "FROM"; break; @@ -1894,6 +1916,8 @@ show_omp_clauses (gfc_omp_clauses *omp_clauses) fputs (" DESTROY", dumpfile); if (omp_clauses->depend_source) fputs (" DEPEND(source)", dumpfile); + if (omp_clauses->doacross_source) + fputs (" DOACROSS(source:)", dumpfile); if (omp_clauses->capture) fputs (" CAPTURE", dumpfile); if (omp_clauses->depobj_update != OMP_DEPEND_UNSET) |