aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/array.cc
diff options
context:
space:
mode:
authorTobias Burnus <tburnus@baylibre.com>2025-12-05 09:08:06 +0100
committerTobias Burnus <tburnus@baylibre.com>2025-12-05 09:08:06 +0100
commita553c70e363e75ce02c8e12e3b74b1dd9a965475 (patch)
tree22e4999dfeb1d2e3d2e4d205551e4b73cc0dce68 /gcc/fortran/array.cc
parent941df4bc7ac83574374a3623ac11b8685c2282cb (diff)
downloadgcc-a553c70e363e75ce02c8e12e3b74b1dd9a965475.zip
gcc-a553c70e363e75ce02c8e12e3b74b1dd9a965475.tar.gz
gcc-a553c70e363e75ce02c8e12e3b74b1dd9a965475.tar.bz2
OpenMP: C/C++ parser support for dyn_groupprivate
Follow-up to the Fortran patch r16-5633-g26d41e245dbba3, which (besides other changes) added parser support for the 'dyn_groupprivate' clause to the target directive. This commit adds now the parser support to C/C++ and moves the not-yet-implemented 'sorry' to the early middle end. gcc/c-family/ChangeLog: * c-omp.cc (c_omp_split_clauses): Handle OMP_CLAUSE_DYN_GROUPPRIVATE, sort target clauses alphabetically. * c-pragma.h (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_DYN_GROUPPRIVATE. gcc/c/ChangeLog: * c-parser.cc (c_parser_omp_clause_dyn_groupprivate): New. (OMP_TARGET_CLAUSE_MASK): Add PRAGMA_OMP_CLAUSE_DYN_GROUPPRIVATE; sort clauses alphabetically. (c_parser_omp_clause_name, c_parser_omp_all_clauses): Handle 'dyn_groupprivate' clause. * c-typeck.cc (c_finish_omp_clauses): Likewise. gcc/cp/ChangeLog: * pt.cc (tsubst_omp_clauses): Handle OMP_CLAUSE_DYN_GROUPPRIVATE. * semantics.cc (finish_omp_clauses): Likewise. * parser.cc (cp_parser_omp_clause_dyn_groupprivate): New. (cp_parser_omp_clause_name, cp_parser_omp_all_clauses): Handle 'dyn_groupprivate' clause. (OMP_TARGET_CLAUSE_MASK): Add PRAGMA_OMP_CLAUSE_DYN_GROUPPRIVATE; sort clauses alphabetically. gcc/fortran/ChangeLog: * openmp.cc (resolve_omp_clauses): Permit zero with DYN_GROUPPRIVATE clause. * trans-openmp.cc (fallback): Generate TREE code for DYN_GROUPPRIVATE and remove 'sorry'. gcc/ChangeLog: * gimplify.cc (gimplify_scan_omp_clauses): Handle OMP_CLAUSE_DYN_GROUPPRIVATE by printing 'sorry, unimplemented'. * tree-core.h (enum omp_clause_code): Add OMP_CLAUSE_DYN_GROUPPRIVATE. (enum omp_clause_fallback_kind): New. (struct tree_omp_clause): Add fallback_kind union member. * tree-nested.cc (convert_nonlocal_omp_clauses, convert_local_omp_clauses): Handle OMP_CLAUSE_DYN_GROUPPRIVATE. * tree.cc (omp_clause_num_ops, omp_clause_code_name): Add OMP_CLAUSE_DYN_GROUPPRIVATE. * tree-pretty-print.cc (dump_omp_clause): Handle OMP_CLAUSE_DYN_GROUPPRIVATE. * tree.h (OMP_CLAUSE_DYN_GROUPPRIVATE_EXPR, OMP_CLAUSE_DYN_GROUPPRIVATE_KIND): New #define. gcc/testsuite/ChangeLog: * gfortran.dg/gomp/dyn_groupprivate-1.f90: Add scan-dump test. * gfortran.dg/gomp/dyn_groupprivate-2.f90: Extend and update. * c-c++-common/gomp/dyn_groupprivate-1.c: New test. * c-c++-common/gomp/dyn_groupprivate-2.c: New test.
Diffstat (limited to 'gcc/fortran/array.cc')
0 files changed, 0 insertions, 0 deletions