diff options
author | Julian Brown <julian@codesourcery.com> | 2018-04-29 10:26:56 +0000 |
---|---|---|
committer | Tom de Vries <vries@gcc.gnu.org> | 2018-04-29 10:26:56 +0000 |
commit | 8d70b61edda10e97686da47decfc7f93ff0bc7c9 (patch) | |
tree | c67c0c919d75e7ac5deb4d91133818d9b175cc8e | |
parent | e7d32421aa0ce2b11457f120c0c7966c9da1b85e (diff) | |
download | gcc-8d70b61edda10e97686da47decfc7f93ff0bc7c9.zip gcc-8d70b61edda10e97686da47decfc7f93ff0bc7c9.tar.gz gcc-8d70b61edda10e97686da47decfc7f93ff0bc7c9.tar.bz2 |
[openacc, testsuite] Fix undefined behaviour in atomic_capture-1.c
2018-04-29 Julian Brown <julian@codesourcery.com>
Tom de Vries <tom@codesourcery.com>
PR testsuite/85527
* testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow
arbitrary order for iterations of atomic subtract check.
Co-Authored-By: Tom de Vries <tom@codesourcery.com>
From-SVN: r259748
-rw-r--r-- | libgomp/ChangeLog | 7 | ||||
-rw-r--r-- | libgomp/testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c | 19 |
2 files changed, 16 insertions, 10 deletions
diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog index 0ba1bbe..49364da 100644 --- a/libgomp/ChangeLog +++ b/libgomp/ChangeLog @@ -1,3 +1,10 @@ +2018-04-29 Julian Brown <julian@codesourcery.com> + Tom de Vries <tom@codesourcery.com> + + PR testsuite/85527 + * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow + arbitrary order for iterations of atomic subtract check. + 2018-04-28 Tom de Vries <tom@codesourcery.com> PR testsuite/85527 diff --git a/libgomp/testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c b/libgomp/testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c index ad958cd..9b71a08 100644 --- a/libgomp/testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c +++ b/libgomp/testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c @@ -795,17 +795,16 @@ main(int argc, char **argv) } } + int ones = 0, thirtyones = 0; + for (i = 0; i < N; i++) - if (i % 2 == 0) - { - if (fdata[i] != 31.0) - abort (); - } - else - { - if (fdata[i] != 1.0) - abort (); - } + if (fdata[i] == 31.0) + thirtyones++; + else if (fdata[i] == 1.0) + ones++; + + if (ones != N / 2 || thirtyones != N / 2) + abort (); /* BINOP = / */ |