aboutsummaryrefslogtreecommitdiff
path: root/SingleSource/UnitTests/Makefile
blob: 636f37bf94c70747263562e669022cb3e156ec4a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
# 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

# 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