OpenMP: Add 'interop' clause to 'dispatch' for C/C++
Will fail with an error if/as no suitable 'append_args' has been specified, given that 'append_args' is not yet implemented. gcc/c-family/ChangeLog: * c-pragma.h (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_INTEROP. gcc/c/ChangeLog: * c-parser.cc (c_parser_omp_clause_interop): New. (c_parser_omp_clause_name, c_parser_omp_all_clauses, c_parser_omp_dispatch_body): Handle 'interop' clause. * c-typeck.cc (c_finish_omp_clauses): Likewise. gcc/cp/ChangeLog: * parser.cc (cp_parser_omp_clause_name, cp_parser_omp_all_clauses, cp_parser_omp_dispatch_body): Handle 'interop' clause. * pt.cc (tsubst_omp_clauses): Likewise. * semantics.cc (finish_omp_clauses): Likewise. gcc/ChangeLog: * gimplify.cc (gimplify_call_expr): Add initial support for dispatch's 'interop' clause. (gimplify_scan_omp_clauses): Handle interop clause. * tree-pretty-print.cc (dump_omp_clause): Likewise. * tree-core.h (enum omp_clause_code): Add OMP_CLAUSE_INTEROP. * tree.cc (omp_clause_num_ops, omp_clause_code_name): Add interop. gcc/testsuite/ChangeLog: * c-c++-common/gomp/dispatch-11.c: New test. * c-c++-common/gomp/dispatch-12.c: New test.
Showing
- gcc/c-family/c-pragma.h 1 addition, 0 deletionsgcc/c-family/c-pragma.h
- gcc/c/c-parser.cc 17 additions, 0 deletionsgcc/c/c-parser.cc
- gcc/c/c-typeck.cc 17 additions, 6 deletionsgcc/c/c-typeck.cc
- gcc/cp/parser.cc 10 additions, 0 deletionsgcc/cp/parser.cc
- gcc/cp/pt.cc 1 addition, 0 deletionsgcc/cp/pt.cc
- gcc/cp/semantics.cc 20 additions, 9 deletionsgcc/cp/semantics.cc
- gcc/gimplify.cc 15 additions, 0 deletionsgcc/gimplify.cc
- gcc/testsuite/c-c++-common/gomp/dispatch-11.c 84 additions, 0 deletionsgcc/testsuite/c-c++-common/gomp/dispatch-11.c
- gcc/testsuite/c-c++-common/gomp/dispatch-12.c 53 additions, 0 deletionsgcc/testsuite/c-c++-common/gomp/dispatch-12.c
- gcc/tree-core.h 3 additions, 0 deletionsgcc/tree-core.h
- gcc/tree-pretty-print.cc 5 additions, 1 deletiongcc/tree-pretty-print.cc
- gcc/tree.cc 2 additions, 0 deletionsgcc/tree.cc
Loading
Please register or sign in to comment