diff options
author | Cesar Philippidis <cesar@codesourcery.com> | 2015-12-01 06:27:11 -0800 |
---|---|---|
committer | Cesar Philippidis <cesar@gcc.gnu.org> | 2015-12-01 06:27:11 -0800 |
commit | 2a70708e0bf8389e7f7566f39ef2e3891ecc839d (patch) | |
tree | 9c6035c5b4ecd42e5ff36d1590932fb6e64bd6e3 /gcc/fortran/dump-parse-tree.c | |
parent | 4f0a0218d6df34ec612a61aef50b95d79cd8d17f (diff) | |
download | gcc-2a70708e0bf8389e7f7566f39ef2e3891ecc839d.zip gcc-2a70708e0bf8389e7f7566f39ef2e3891ecc839d.tar.gz gcc-2a70708e0bf8389e7f7566f39ef2e3891ecc839d.tar.bz2 |
dump-parse-tree.c (show_omp_clauses): Handle optional num and static arguments for the gang clause.
gcc/fortran/
* dump-parse-tree.c (show_omp_clauses): Handle optional num and static
arguments for the gang clause.
* gfortran.h (gfc_omp_clauses): Rename gang_expr as gang_num_expr.
Add gang_static_expr.
* openmp.c (gfc_free_omp_clauses): Update to free gang_num_expr and
gang_static_expr.
(match_oacc_clause_gang): Update to support both num and static in
the same clause.
(resolve_omp_clauses): Formatting. Also handle gang_num_expr and
gang_static_expr.
(resolve_oacc_params_in_parallel): New const char arg argument.
Use it to report more accurate gang, worker and vector clause errors.
(resolve_oacc_loop_blocks): Update calls to
resolve_oacc_params_in_parallel.
* trans-openmp.c (gfc_trans_omp_clauses): Update the gimplification of
the gang clause.
(gfc_trans_oacc_combined_directive): Make use of gang_num_expr and
gang_static_expr. Remove OMP_LIST_REDUCTION from construct_clauses.
gcc/testsuite/
* gfortran.dg/goacc/gang-static.f95: Add tests for gang num arguments.
* gfortran.dg/goacc/loop-2.f95: Update expected diagnostics.
* gfortran.dg/goacc/loop-6.f95: Likewise.
* gfortran.dg/goacc/loop-7.f95: New test.
* gfortran.dg/goacc/reduction-2.f95: New test.
From-SVN: r231112
Diffstat (limited to 'gcc/fortran/dump-parse-tree.c')
-rw-r--r-- | gcc/fortran/dump-parse-tree.c | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/gcc/fortran/dump-parse-tree.c b/gcc/fortran/dump-parse-tree.c index 48476af..f9abf40 100644 --- a/gcc/fortran/dump-parse-tree.c +++ b/gcc/fortran/dump-parse-tree.c @@ -1146,10 +1146,24 @@ show_omp_clauses (gfc_omp_clauses *omp_clauses) if (omp_clauses->gang) { fputs (" GANG", dumpfile); - if (omp_clauses->gang_expr) + if (omp_clauses->gang_num_expr || omp_clauses->gang_static_expr) { fputc ('(', dumpfile); - show_expr (omp_clauses->gang_expr); + if (omp_clauses->gang_num_expr) + { + fprintf (dumpfile, "num:"); + show_expr (omp_clauses->gang_num_expr); + } + if (omp_clauses->gang_num_expr && omp_clauses->gang_static) + fputc (',', dumpfile); + if (omp_clauses->gang_static) + { + fprintf (dumpfile, "static:"); + if (omp_clauses->gang_static_expr) + show_expr (omp_clauses->gang_static_expr); + else + fputc ('*', dumpfile); + } fputc (')', dumpfile); } } |