diff options
author | Cesar Philippidis <cesar@codesourcery.com> | 2018-09-12 08:21:19 -0700 |
---|---|---|
committer | Julian Brown <jules@gcc.gnu.org> | 2018-09-12 15:21:19 +0000 |
commit | 8e36332cf65b4ec5a1ea6b4b3a6ae8cb6ed9f455 (patch) | |
tree | 21b85dccb3c797eff6332dff0040809c140e8351 /gcc/cp | |
parent | c749305900f8afab04948702e637579b2db2199a (diff) | |
download | gcc-8e36332cf65b4ec5a1ea6b4b3a6ae8cb6ed9f455.zip gcc-8e36332cf65b4ec5a1ea6b4b3a6ae8cb6ed9f455.tar.gz gcc-8e36332cf65b4ec5a1ea6b4b3a6ae8cb6ed9f455.tar.bz2 |
[OpenACC] C++ reference mapping
2018-09-09 Cesar Philippidis <cesar@codesourcery.com>
Julian Brown <julian@codesourcery.com>
PR middle-end/86336
gcc/cp/
* semantics.c (finish_omp_clauses): Treat C++ references the same in
OpenACC as OpenMP.
gcc/
* gimplify.c (gimplify_scan_omp_clauses): Set
target_firstprivatize_array_bases in OpenACC parallel and kernels
region contexts. Remove GOMP_MAP_FIRSTPRIVATE_REFERENCE clauses from
OpenACC data regions.
libgomp/
* testsuite/libgomp.oacc-c++/non-scalar-data.C: Remove XFAIL.
Co-Authored-By: Julian Brown <julian@codesourcery.com>
From-SVN: r264244
Diffstat (limited to 'gcc/cp')
-rw-r--r-- | gcc/cp/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/cp/semantics.c | 2 |
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 258a6ff..e4d635d 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,10 @@ +2018-09-09 Cesar Philippidis <cesar@codesourcery.com> + Julian Brown <julian@codesourcery.com> + + PR middle-end/86336 + * semantics.c (finish_omp_clauses): Treat C++ references the same in + OpenACC as OpenMP. + 2018-08-28 Martin Liska <mliska@suse.cz> * constexpr.c (cxx_eval_call_expression): Add quotes diff --git a/gcc/cp/semantics.c b/gcc/cp/semantics.c index f3e5d83..bf3c63a 100644 --- a/gcc/cp/semantics.c +++ b/gcc/cp/semantics.c @@ -6878,7 +6878,7 @@ finish_omp_clauses (tree clauses, enum c_omp_region_type ort) handle_map_references: if (!remove && !processing_template_decl - && (ort & C_ORT_OMP_DECLARE_SIMD) == C_ORT_OMP + && ort != C_ORT_DECLARE_SIMD && TYPE_REF_P (TREE_TYPE (OMP_CLAUSE_DECL (c)))) { t = OMP_CLAUSE_DECL (c); |