[Openmp-commits] [openmp] [OpenMP] Add libomp unit test infrastructure (PR #168063)
Robert Imschweiler via Openmp-commits
openmp-commits at lists.llvm.org
Wed Dec 3 13:18:10 PST 2025
================
@@ -200,6 +211,31 @@ if(${LIBOMP_USE_HWLOC})
)
endif()
+# Build a testing version of libomp that exports all symbols for unit tests.
+# This library uses the same compiled objects as libomp, but with all symbols
+# exported to allow testing internal functions.
+if(NOT WIN32 AND NOT STUBS_LIBRARY)
+ set(LIBOMP_TEST_LDFLAGS ${LIBOMP_CONFIGURED_LDFLAGS})
+ # Replace the libomp exports with the test exports exporting all symbols.
+ if(LIBOMP_HAVE_VERSION_SCRIPT_FLAG)
+ string(REPLACE "${LIBOMP_SRC_DIR}/exports_so.txt"
+ "${LIBOMP_SRC_DIR}/exports_test_so.txt"
+ LIBOMP_TEST_LDFLAGS "${LIBOMP_TEST_LDFLAGS}")
+ endif()
+
+ # Create the testing library from the same objects as libomp.
+ add_library(omp_testing SHARED $<TARGET_OBJECTS:omp_objects>)
----------------
ro-i wrote:
I did that with the latest commit, but it involves a little bit of cmake duplication, e.g. regarding `LIBOMP_LINKER_LANGUAGE`. Maybe we should stick to the previous version? Because this situation here is a little bit special in that we need to guarantee that omp_testing and omp are built as identically as possible.
https://github.com/llvm/llvm-project/pull/168063
More information about the Openmp-commits
mailing list