2015-09-22 04:41:31 +08:00
|
|
|
@AUTO_GEN_COMMENT@
|
|
|
|
|
2018-12-19 01:39:22 +08:00
|
|
|
config.target_triple = "@TARGET_TRIPLE@"
|
2017-11-30 03:31:52 +08:00
|
|
|
config.test_c_compiler = "@OPENMP_TEST_C_COMPILER@"
|
|
|
|
config.test_cxx_compiler = "@OPENMP_TEST_CXX_COMPILER@"
|
2017-12-01 01:08:31 +08:00
|
|
|
config.test_compiler_features = @OPENMP_TEST_COMPILER_FEATURES@
|
2017-11-30 03:31:52 +08:00
|
|
|
config.test_filecheck = "@OPENMP_FILECHECK_EXECUTABLE@"
|
|
|
|
config.test_openmp_flags = "@OPENMP_TEST_OPENMP_FLAGS@"
|
|
|
|
config.test_extra_flags = "@OPENMP_TEST_FLAGS@"
|
[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 17:23:39 +08:00
|
|
|
config.libomp_omp_version = @LIBOMP_OMP_VERSION@
|
2015-09-22 04:41:31 +08:00
|
|
|
config.libomp_obj_root = "@CMAKE_CURRENT_BINARY_DIR@"
|
|
|
|
config.library_dir = "@LIBOMP_LIBRARY_DIR@"
|
|
|
|
config.omp_header_directory = "@LIBOMP_BINARY_DIR@/src"
|
|
|
|
config.operating_system = "@CMAKE_SYSTEM_NAME@"
|
2015-12-01 04:02:59 +08:00
|
|
|
config.hwloc_library_dir = "@LIBOMP_HWLOC_LIBRARY_DIR@"
|
|
|
|
config.using_hwloc = @LIBOMP_USE_HWLOC@
|
2017-11-01 18:08:30 +08:00
|
|
|
config.has_ompt = @LIBOMP_OMPT_SUPPORT@ and @LIBOMP_OMPT_OPTIONAL@
|
2016-05-24 01:50:32 +08:00
|
|
|
config.has_libm = @LIBOMP_HAVE_LIBM@
|
2017-02-25 06:15:24 +08:00
|
|
|
config.has_libatomic = @LIBOMP_HAVE_LIBATOMIC@
|
2015-09-22 04:41:31 +08:00
|
|
|
|
|
|
|
# Let the main config do the real work.
|
|
|
|
lit_config.load_config(config, "@LIBOMP_BASE_DIR@/test/lit.cfg")
|