mirror of
https://gcc.gnu.org/git/gcc.git
synced 2024-11-23 10:54:07 +08:00
Add 'libgomp.c-c++-common/pr100059-1.c'
For nvptx offloading, it'll FAIL its execution test until nvptx-tools updated
to include commit 1b5946d78ef5dcfb640e9f545a7c791b7f623911
"Merge commit '26095fd01232061de9f79decb3e8222ef7b46191' into HEAD [#29]",
<1b5946d78e
>.
libgomp/
* testsuite/libgomp.c-c++-common/pr100059-1.c: New.
Co-authored-by: Thomas Schwinge <thomas@codesourcery.com>
This commit is contained in:
parent
b3ab28c3e8
commit
fe0f9e0941
55
libgomp/testsuite/libgomp.c-c++-common/pr100059-1.c
Normal file
55
libgomp/testsuite/libgomp.c-c++-common/pr100059-1.c
Normal file
@ -0,0 +1,55 @@
|
||||
/* Based on sollve_vv's tests/5.0/declare_target/test_nested_declare_target.c. */
|
||||
|
||||
#define N 1024
|
||||
int a[N], b[N], c[N];
|
||||
int i = 0;
|
||||
|
||||
void
|
||||
update ()
|
||||
{
|
||||
for (i = 0; i < N; i++)
|
||||
{
|
||||
a[i] += 1;
|
||||
b[i] += 2;
|
||||
c[i] += 3;
|
||||
}
|
||||
}
|
||||
|
||||
#pragma omp declare target
|
||||
#pragma omp declare target link(a,c,b,i)
|
||||
#pragma omp declare target to(update)
|
||||
#pragma omp end declare target
|
||||
|
||||
int
|
||||
main ()
|
||||
{
|
||||
for (i = 0; i < N; i++)
|
||||
{
|
||||
a[i] = i;
|
||||
b[i] = i + 1;
|
||||
c[i] = i + 2;
|
||||
}
|
||||
|
||||
//__builtin_printf("i=5: A=%d, B=%d, C=%d\n", a[5], b[5], c[5]);
|
||||
|
||||
#pragma omp target map(to: i) map(tofrom: a, b, c)
|
||||
{
|
||||
update(); /* Device. */
|
||||
}
|
||||
|
||||
//__builtin_printf("i=5: A=%d, B=%d, C=%d\n", a[5], b[5], c[5]);
|
||||
|
||||
for (i = 0; i < N; i++)
|
||||
if ( a[i] != i + 1 || b[i] != i + 3 || c[i] != i + 5)
|
||||
__builtin_abort();
|
||||
|
||||
update(); /* Host. */
|
||||
|
||||
//__builtin_printf("i=5: A=%d, B=%d, C=%d\n", a[5], b[5], c[5]);
|
||||
|
||||
for (i = 0; i < N; i++)
|
||||
if ( a[i] != i + 2 || b[i] != i + 5 || c[i] != i + 8)
|
||||
__builtin_abort ();
|
||||
|
||||
return 0;
|
||||
}
|
Loading…
Reference in New Issue
Block a user