mirror of git://gcc.gnu.org/git/gcc.git
[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
This commit is contained in:
parent
c749305900
commit
8e36332cf6
|
|
@ -1,3 +1,12 @@
|
||||||
|
2018-09-09 Cesar Philippidis <cesar@codesourcery.com>
|
||||||
|
Julian Brown <julian@codesourcery.com>
|
||||||
|
|
||||||
|
PR middle-end/86336
|
||||||
|
* 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.
|
||||||
|
|
||||||
2018-09-12 Uros Bizjak <ubizjak@gmail.com>
|
2018-09-12 Uros Bizjak <ubizjak@gmail.com>
|
||||||
|
|
||||||
* config/i386/i386.md (sqrt_extend<mode>xf3_i387): Remove.
|
* config/i386/i386.md (sqrt_extend<mode>xf3_i387): Remove.
|
||||||
|
|
|
||||||
|
|
@ -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>
|
2018-08-28 Martin Liska <mliska@suse.cz>
|
||||||
|
|
||||||
* constexpr.c (cxx_eval_call_expression): Add quotes
|
* constexpr.c (cxx_eval_call_expression): Add quotes
|
||||||
|
|
|
||||||
|
|
@ -6878,7 +6878,7 @@ finish_omp_clauses (tree clauses, enum c_omp_region_type ort)
|
||||||
handle_map_references:
|
handle_map_references:
|
||||||
if (!remove
|
if (!remove
|
||||||
&& !processing_template_decl
|
&& !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))))
|
&& TYPE_REF_P (TREE_TYPE (OMP_CLAUSE_DECL (c))))
|
||||||
{
|
{
|
||||||
t = OMP_CLAUSE_DECL (c);
|
t = OMP_CLAUSE_DECL (c);
|
||||||
|
|
|
||||||
|
|
@ -7513,6 +7513,8 @@ gimplify_scan_omp_clauses (tree *list_p, gimple_seq *pre_p,
|
||||||
case OMP_TARGET_EXIT_DATA:
|
case OMP_TARGET_EXIT_DATA:
|
||||||
case OACC_DECLARE:
|
case OACC_DECLARE:
|
||||||
case OACC_HOST_DATA:
|
case OACC_HOST_DATA:
|
||||||
|
case OACC_PARALLEL:
|
||||||
|
case OACC_KERNELS:
|
||||||
ctx->target_firstprivatize_array_bases = true;
|
ctx->target_firstprivatize_array_bases = true;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
|
@ -8556,7 +8558,8 @@ gimplify_scan_omp_clauses (tree *list_p, gimple_seq *pre_p,
|
||||||
|
|
||||||
if (code == OACC_DATA
|
if (code == OACC_DATA
|
||||||
&& OMP_CLAUSE_CODE (c) == OMP_CLAUSE_MAP
|
&& OMP_CLAUSE_CODE (c) == OMP_CLAUSE_MAP
|
||||||
&& OMP_CLAUSE_MAP_KIND (c) == GOMP_MAP_FIRSTPRIVATE_POINTER)
|
&& (OMP_CLAUSE_MAP_KIND (c) == GOMP_MAP_FIRSTPRIVATE_POINTER
|
||||||
|
|| OMP_CLAUSE_MAP_KIND (c) == GOMP_MAP_FIRSTPRIVATE_REFERENCE))
|
||||||
remove = true;
|
remove = true;
|
||||||
if (remove)
|
if (remove)
|
||||||
*list_p = OMP_CLAUSE_CHAIN (c);
|
*list_p = OMP_CLAUSE_CHAIN (c);
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,9 @@
|
||||||
|
2018-09-09 Cesar Philippidis <cesar@codesourcery.com>
|
||||||
|
Julian Brown <julian@codesourcery.com>
|
||||||
|
|
||||||
|
PR middle-end/86336
|
||||||
|
* testsuite/libgomp.oacc-c++/non-scalar-data.C: Remove XFAIL.
|
||||||
|
|
||||||
2018-08-21 Nicolas Koenig <koenigni@gcc.gnu.org>
|
2018-08-21 Nicolas Koenig <koenigni@gcc.gnu.org>
|
||||||
Thomas Koenig <tkoenig@gcc.gnu.org>
|
Thomas Koenig <tkoenig@gcc.gnu.org>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,7 @@
|
||||||
// Ensure that a non-scalar dummy arguments which are implicitly used inside
|
// Ensure that a non-scalar dummy arguments which are implicitly used inside
|
||||||
// offloaded regions are properly mapped using present_or_copy semantics.
|
// offloaded regions are properly mapped using present_or_copy semantics.
|
||||||
|
|
||||||
// { dg-xfail-if "TODO" { *-*-* } }
|
// { dg-do run }
|
||||||
// { dg-excess-errors "ICE" }
|
|
||||||
|
|
||||||
#include <cassert>
|
#include <cassert>
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue