gcc/c-family/ * c-common.h (c_omp_map_clause_name): Add prototype. * c-omp.c (c_omp_map_clause_name): New function. * c-pragma.h (pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ATTACH and PRAGMA_OACC_CLAUSE_DETACH. gcc/c/ * c-parser.c (c_parser_omp_clause_name): Add parsing of attach and detach clauses. (c_parser_omp_variable_list): Add ALLOW_DEREF optional parameter. Allow deref (->) in variable lists if true. (c_parser_omp_var_list_parens): Add ALLOW_DEREF optional parameter. Pass to c_parser_omp_variable_list. (c_parser_oacc_data_clause): Support attach and detach clauses. Update call to c_parser_omp_variable_list. (c_parser_oacc_all_clauses): Support attach and detach clauses. (OACC_DATA_CLAUSE_MASK, OACC_ENTER_DATA_CLAUSE_MASK, OACC_KERNELS_CLAUSE_MASK, OACC_PARALLEL_CLAUSE_MASK, OACC_SERIAL_CLAUSE_MASK): Add PRAGMA_OACC_CLAUSE_ATTACH. (OACC_EXIT_DATA_CLAUSE_MASK): Add PRAGMA_OACC_CLAUSE_DETACH. * c-typeck.c (handle_omp_array_sections_1): Reject subarrays for attach and detach. Support deref. (handle_omp_array_sections): Use GOMP_MAP_ATTACH_DETACH instead of GOMP_MAP_ALWAYS_POINTER for OpenACC. (c_oacc_check_attachments): New function. (c_finish_omp_clauses): Check attach/detach arguments for being pointers using above. Support deref. gcc/cp/ * parser.c (cp_parser_omp_clause_name): Support attach and detach clauses. (cp_parser_omp_var_list_no_open): Add ALLOW_DEREF optional parameter. Parse deref if true. (cp_parser_omp_var_list): Add ALLOW_DEREF optional parameter. Pass to cp_parser_omp_var_list_no_open. (cp_parser_oacc_data_clause): Support attach and detach clauses. Update call to cp_parser_omp_var_list_no_open. (cp_parser_oacc_all_clauses): Support attach and detach. (OACC_DATA_CLAUSE_MASK, OACC_ENTER_DATA_CLAUSE_MASK, OACC_KERNELS_CLAUSE_MASK, OACC_PARALLEL_CLAUSE_MASK, OACC_SERIAL_CLAUSE_MASK): Add PRAGMA_OACC_CLAUSE_ATTACH. (OACC_EXIT_DATA_CLAUSE_MASK): Add PRAGMA_OACC_CLAUSE_DETACH. * semantics.c (handle_omp_array_sections_1): Reject subarrays for attach and detach. (handle_omp_array_sections): Use GOMP_MAP_ATTACH_DETACH instead of GOMP_MAP_ALWAYS_POINTER for OpenACC. (cp_oacc_check_attachments): New function. (finish_omp_clauses): Use above function. Allow structure fields and class members to appear in OpenACC data clauses. Support GOMP_MAP_ATTACH_DETACH. Support deref. gcc/testsuite/ * c-c++-common/goacc/deep-copy-arrayofstruct.c: New test. * c-c++-common/goacc/mdc-1.c: New test. * c-c++-common/goacc/mdc-2.c: New test. * gcc.dg/goacc/mdc.C: New test. Co-Authored-By: Cesar Philippidis <cesar@codesourcery.com> From-SVN: r279627
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| ChangeLog | Loading commit data... | |
| ChangeLog-1993 | Loading commit data... | |
| ChangeLog-1994 | Loading commit data... | |
| ChangeLog-1995 | Loading commit data... | |
| ChangeLog-1996 | Loading commit data... | |
| ChangeLog-1997 | Loading commit data... | |
| ChangeLog-1998 | Loading commit data... | |
| ChangeLog-1999 | Loading commit data... | |
| ChangeLog-2000 | Loading commit data... | |
| ChangeLog-2001 | Loading commit data... | |
| ChangeLog-2002 | Loading commit data... | |
| ChangeLog-2003 | Loading commit data... | |
| ChangeLog-2004 | Loading commit data... | |
| ChangeLog-2005 | Loading commit data... | |
| ChangeLog-2006 | Loading commit data... | |
| ChangeLog-2007 | Loading commit data... | |
| ChangeLog-2008 | Loading commit data... | |
| ChangeLog-2009 | Loading commit data... | |
| ChangeLog-2010 | Loading commit data... | |
| ChangeLog-2011 | Loading commit data... | |
| ChangeLog-2012 | Loading commit data... | |
| ChangeLog-2013 | Loading commit data... | |
| ChangeLog-2014 | Loading commit data... | |
| ChangeLog-2015 | Loading commit data... | |
| ChangeLog-2016 | Loading commit data... | |
| ChangeLog-2017 | Loading commit data... | |
| ChangeLog-2018 | Loading commit data... | |
| ChangeLog.ptr | Loading commit data... | |
| ChangeLog.tree-ssa | Loading commit data... | |
| Make-lang.in | Loading commit data... | |
| NEWS | Loading commit data... | |
| call.c | Loading commit data... | |
| cfns.gperf | Loading commit data... | |
| cfns.h | Loading commit data... | |
| class.c | Loading commit data... | |
| config-lang.in | Loading commit data... | |
| constexpr.c | Loading commit data... | |
| constraint.cc | Loading commit data... | |
| cp-gimplify.c | Loading commit data... | |
| cp-lang.c | Loading commit data... | |
| cp-name-hint.h | Loading commit data... | |
| cp-objcp-common.c | Loading commit data... | |
| cp-objcp-common.h | Loading commit data... | |
| cp-tree.def | Loading commit data... | |
| cp-tree.h | Loading commit data... | |
| cp-ubsan.c | Loading commit data... | |
| cvt.c | Loading commit data... | |
| cxx-pretty-print.c | Loading commit data... | |
| cxx-pretty-print.h | Loading commit data... | |
| decl.c | Loading commit data... | |
| decl.h | Loading commit data... | |
| decl2.c | Loading commit data... | |
| dump.c | Loading commit data... | |
| error.c | Loading commit data... | |
| except.c | Loading commit data... | |
| expr.c | Loading commit data... | |
| friend.c | Loading commit data... | |
| g++spec.c | Loading commit data... | |
| init.c | Loading commit data... | |
| lambda.c | Loading commit data... | |
| lang-specs.h | Loading commit data... | |
| lex.c | Loading commit data... | |
| logic.cc | Loading commit data... | |
| mangle.c | Loading commit data... | |
| method.c | Loading commit data... | |
| name-lookup.c | Loading commit data... | |
| name-lookup.h | Loading commit data... | |
| operators.def | Loading commit data... | |
| optimize.c | Loading commit data... | |
| parser.c | Loading commit data... | |
| parser.h | Loading commit data... | |
| pt.c | Loading commit data... | |
| ptree.c | Loading commit data... | |
| rtti.c | Loading commit data... | |
| search.c | Loading commit data... | |
| semantics.c | Loading commit data... | |
| tree.c | Loading commit data... | |
| type-utils.h | Loading commit data... | |
| typeck.c | Loading commit data... | |
| typeck2.c | Loading commit data... | |
| vtable-class-hierarchy.c | Loading commit data... |