From 47aa908ff9362bcc43f0560cedace9a42421a8bf Mon Sep 17 00:00:00 2001 From: Julian Brown Date: Thu, 16 May 2019 05:47:16 -0700 Subject: [PATCH] Add kernels for-index reuse testcase. libgomp/ * testsuite/libgomp.oacc-c-c++-common/kernels-for-index-reuse-1.c: New test. --- libgomp/ChangeLog.omp | 5 +++ .../kernels-for-index-reuse-1.c | 36 +++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 libgomp/testsuite/libgomp.oacc-c-c++-common/kernels-for-index-reuse-1.c diff --git a/libgomp/ChangeLog.omp b/libgomp/ChangeLog.omp index 9da1249de1bb..4575fbe6c53d 100644 --- a/libgomp/ChangeLog.omp +++ b/libgomp/ChangeLog.omp @@ -1,3 +1,8 @@ +2019-05-16 Julian Brown + + * testsuite/libgomp.oacc-c-c++-common/kernels-for-index-reuse-1.c: New + test. + 2019-01-09 Julian Brown * libgomp.texi: Update mentions of OpenACC version to 2.6. Update diff --git a/libgomp/testsuite/libgomp.oacc-c-c++-common/kernels-for-index-reuse-1.c b/libgomp/testsuite/libgomp.oacc-c-c++-common/kernels-for-index-reuse-1.c new file mode 100644 index 000000000000..dafe41298d71 --- /dev/null +++ b/libgomp/testsuite/libgomp.oacc-c-c++-common/kernels-for-index-reuse-1.c @@ -0,0 +1,36 @@ +/* { dg-xfail-run-if "unhandled case" { *-*-* } } */ + +/* Test reuse of loop index variables in kernels region. */ + +#include + +#define SIZE 16384 + +int +main (int argc, char* argv[]) +{ + float arr[SIZE], arr_o[SIZE]; + int i, o; + + for (i = 0; i < SIZE; i++) + arr[i] = i; + + i = 15; + #pragma acc kernels + { + i *= 30; + o = i; + + #pragma acc loop independent + for (i = 0; i < SIZE; i++) + arr_o[i] = arr[i] * 2; + } + + assert (i == SIZE); + assert (o == 450); + + for (i = 0; i < SIZE; i++) + assert (arr_o[i] == arr[i] * 2); + + return 0; +} -- 2.47.2