blob: 3a9a7cb393e60aa4aec897152281b3da1df20d60 [file] [log] [blame]
# SingleSource/UnitTests/Makefile
LEVEL = ../..
include $(LEVEL)/Makefile.config
DIRS := SetjmpLongjmp
# FIXME: Disable SJLJ tests for now, until EH edges are represented.
DIRS :=
DIRS += Vector
DIRS += Vectorizer
DIRS += SignlessTypes Threads C++11 Float
# Only test Obj-C on Darwin.
ifeq ($(TARGET_OS),Darwin)
DIRS += ObjC ObjC++
endif
# Darwin doesn't support weak/weak_import in a way that we can test in this
# framework.
ifeq ($(TARGET_OS),Darwin)
PROGRAMS_TO_SKIP := 2007-04-25-weak
# The gcc on Darwin PPC doesn't support atomic ops, so we can't test them in this
# framework (even though they work OK in llvm).
ifeq ($(ARCH),PowerPC)
PROGRAMS_TO_SKIP += AtomicOps
endif
endif
# The ms_struct tests only make sense on x86_64 and x86_64h.
ifeq (,$(filter $(ARCH),x86_64 x86_64h))
PROGRAMS_TO_SKIP += ms_struct-bitfield-init-1 ms_struct-bitfield-init ms_struct-bitfield ms_struct_pack_layout-1 ms_struct_pack_layout ms_struct-bitfield-1
endif
# The blockstret test doesn't make sense on AArch64 (as the BLOCK_USE_STRET bit
# is never emitted by clang there).
ifeq ($(ARCH),AArch64)
PROGRAMS_TO_SKIP += blockstret
endif
# Add special tests for Mips
ifeq ($(ARCH),Mips)
DIRS += Mips
# MIPS 32-bit does not support 8 bytes atomic operations.
ifeq (,$(findstring mips64,$(MIPSARCH)))
PROGRAMS_TO_SKIP += AtomicOps
endif
endif
ifeq ($(ARCH),XCore)
# XCore does not support atomic read/write
PROGRAMS_TO_SKIP += AtomicOps
# XCore does not support init_priority attribute
PROGRAMS_TO_SKIP += initp1
# 2007-04-25-weak contains a branch to zero.
# XCore BLR instruction can only branch 21bits, hence restrict memory to 20bits viz: 0x100000->0x1fffff
XCORE_TARGET_NEEDS_MEMORY := 1
endif
LDFLAGS += -lstdc++
include $(LEVEL)/SingleSource/Makefile.singlesrc