From 7ba8651ed253b29ee17a0d735cc74eac1b826492 Mon Sep 17 00:00:00 2001 From: Cesar Philippidis Date: Wed, 22 Mar 2017 06:52:10 -0700 Subject: re PR c++/80029 (valgrind error in new_omp_context(omp_region_type) (gimplify.c:400)) PR c++/80029 gcc/ * gimplify.c (is_oacc_declared): New function. (oacc_default_clause): Use it to set default flags for acc declared variables inside parallel regions. (gimplify_scan_omp_clauses): Strip firstprivate pointers for acc declared variables. (gimplify_oacc_declare): Gimplify the declare clauses. Add the declare attribute to any decl as necessary. libgomp/ * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test. From-SVN: r246381 --- .../libgomp.oacc-c-c++-common/declare-vla.c | 25 ++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 libgomp/testsuite/libgomp.oacc-c-c++-common/declare-vla.c (limited to 'libgomp/testsuite') diff --git a/libgomp/testsuite/libgomp.oacc-c-c++-common/declare-vla.c b/libgomp/testsuite/libgomp.oacc-c-c++-common/declare-vla.c new file mode 100644 index 0000000..3ea148e --- /dev/null +++ b/libgomp/testsuite/libgomp.oacc-c-c++-common/declare-vla.c @@ -0,0 +1,25 @@ +/* Verify that acc declare accept VLA variables. */ + +#include + +int +main () +{ + int N = 1000; + int i, A[N]; +#pragma acc declare copy(A) + + for (i = 0; i < N; i++) + A[i] = -i; + +#pragma acc kernels + for (i = 0; i < N; i++) + A[i] = i; + +#pragma acc update host(A) + + for (i = 0; i < N; i++) + assert (A[i] == i); + + return 0; +} -- cgit v1.1