llvm-project/openmp/runtime/test/tasking
Roman Lebedev 781a0896b0 [OpenMP] Fixes for LIBOMP_OMP_VERSION=45/40
Summary:
I have discovered this because i wanted to experiment with
building static libomp (with openmp-4.0 support only)
for debugging purposes.

There are three kinds of problems here:
1. `__kmp_compare_and_store_acq()` simply does not exist.
   It was added in D47903 by @jlpeyton.
   I'm guessing `__kmp_atomic_compare_store_acq()` was meant.
2. In `__kmp_is_ticket_lock_initialized()`,
   `lck->lk.initialized` is `std::atomic<bool>`,
   while `lck` is `kmp_ticket_lock_t *`.
   Naturally, they can't be equality-compared.
   Either, it should return the value read from `lck->lk.initialized`,
   or do what `__kmp_is_queuing_lock_initialized()` does,
   compare the passed pointer with the field in the struct
   pointed by the pointer. I think the latter is correct-er choice here.
3. Tests were not versioned.
   They assume that `LIBOMP_OMP_VERSION` is at the latest version.

This does not touch LIBOMP_OMP_VERSION=30. That is still broken.

Reviewers: jlpeyton, Hahnfeld, AndreyChurbanov

Reviewed By: AndreyChurbanov

Subscribers: guansong, jfb, openmp-commits, jlpeyton

Tags: #openmp

Differential Revision: https://reviews.llvm.org/D55496

llvm-svn: 349260
2018-12-15 09:23:39 +00:00
..
bug_36720.c [test] Convert test for PR36720 to c89 2018-08-01 06:26:55 +00:00
bug_nested_proxy_task.c [OpenMP] Fixes for LIBOMP_OMP_VERSION=45/40 2018-12-15 09:23:39 +00:00
bug_proxy_task_dep_waiting.c [OpenMP] Fixes for LIBOMP_OMP_VERSION=45/40 2018-12-15 09:23:39 +00:00
bug_serial_taskgroup.c kmp_gsupport: Fix library initialization with taskgroup 2016-08-08 13:23:08 +00:00
kmp_task_reduction_nest.cpp [OpenMP] Fixes for LIBOMP_OMP_VERSION=45/40 2018-12-15 09:23:39 +00:00
kmp_taskloop.c [OpenMP] Fixes for LIBOMP_OMP_VERSION=45/40 2018-12-15 09:23:39 +00:00
nested_parallel_tasking.c
nested_task_creation.c Add test case for nested creation of tasks 2016-08-04 14:55:56 +00:00
omp50_task_depend_mtx.c Implementation of OpenMP 5.0 mutexinoutset task dependency type. 2018-11-07 12:19:57 +00:00
omp50_task_depend_mtx2.c Implementation of OpenMP 5.0 mutexinoutset task dependency type. 2018-11-07 12:19:57 +00:00
omp_task.c Fix for bugzilla https://bugs.llvm.org/show_bug.cgi?id=39970 2018-12-13 10:04:10 +00:00
omp_task_final.c
omp_task_firstprivate.c
omp_task_if.c
omp_task_imp_firstprivate.c
omp_task_priority.c [OpenMP] Fixes for LIBOMP_OMP_VERSION=45/40 2018-12-15 09:23:39 +00:00
omp_task_private.c
omp_task_shared.c
omp_taskloop_grainsize.c [OpenMP] Fixes for LIBOMP_OMP_VERSION=45/40 2018-12-15 09:23:39 +00:00
omp_taskloop_num_tasks.c [OpenMP] Fixes for LIBOMP_OMP_VERSION=45/40 2018-12-15 09:23:39 +00:00
omp_taskwait.c
omp_taskyield.c Fix for bugzilla https://bugs.llvm.org/show_bug.cgi?id=39970 2018-12-13 10:04:10 +00:00