Skip to content
This repository was archived by the owner on Mar 28, 2023. It is now read-only.

Commit e4c5387

Browse files
committed
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
1 parent eebcb97 commit e4c5387

File tree

2 files changed

+4
-0
lines changed

2 files changed

+4
-0
lines changed

CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -233,6 +233,7 @@ endif()
233233
# The outputs can be compared to gcc.
234234
# The outputs match the reference outputs.
235235
if(ARCH STREQUAL "PowerPC")
236+
check_symbol_exists(_LP64 "" PPC_IS_PPC64_ENABLED)
236237
add_definitions(-ffp-contract=off)
237238
endif()
238239

SingleSource/UnitTests/CMakeLists.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,9 @@ if(TARGET_OS STREQUAL "Darwin")
1111
endif()
1212

1313
file(GLOB Source RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.c *.cpp)
14+
if(TARGET_OS STREQUAL "AIX" AND ARCH STREQUAL "PowerPC" AND NOT PPC_IS_PPC64_ENABLED)
15+
list(REMOVE_ITEM Source AtomicOps.c)
16+
endif()
1417
if(TARGET_OS STREQUAL "Darwin")
1518
list(REMOVE_ITEM Source 2007-04-25-weak.c)
1619
if(ARCH STREQUAL "PowerPC")

0 commit comments

Comments
 (0)