Remove unsupported case "AtomicOps" from AIX test list.
Summary: The test-suite case `AtomicOps.c` is unsupported on 32-bit AIX. It fails at link stage and complains about undefined symbol `__sync_fetch_and_add_8` and `__sync_fetch_and_sub_8`. Compilers on the platform are consistent in not supporting these built-ins. An implementation of them would need to use locks.
Reviewers: hubert.reinterpretcast, daltenty
Reviewed By: hubert.reinterpretcast, daltenty
Subscribers: mgorny, jfb
Differential Revision: https://reviews.llvm.org/D82052
diff --git a/CMakeLists.txt b/CMakeLists.txt
index e7ec624..90d4416 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -233,6 +233,7 @@
# The outputs can be compared to gcc.
# The outputs match the reference outputs.
if(ARCH STREQUAL "PowerPC")
+ check_symbol_exists(_LP64 "" PPC_IS_PPC64_ENABLED)
add_definitions(-ffp-contract=off)
endif()
diff --git a/SingleSource/UnitTests/CMakeLists.txt b/SingleSource/UnitTests/CMakeLists.txt
index e3823e8..11a9bba 100644
--- a/SingleSource/UnitTests/CMakeLists.txt
+++ b/SingleSource/UnitTests/CMakeLists.txt
@@ -11,6 +11,9 @@
endif()
file(GLOB Source RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.c *.cpp)
+if(TARGET_OS STREQUAL "AIX" AND ARCH STREQUAL "PowerPC" AND NOT PPC_IS_PPC64_ENABLED)
+ list(REMOVE_ITEM Source AtomicOps.c)
+endif()
if(TARGET_OS STREQUAL "Darwin")
list(REMOVE_ITEM Source 2007-04-25-weak.c)
if(ARCH STREQUAL "PowerPC")