]>
Commit | Line | Data |
---|---|---|
ea8adc8c XL |
1 | -include ../tools.mk |
2 | ||
9fa01778 XL |
3 | # only-linux |
4 | ||
ea8adc8c XL |
5 | # This tests ensure that global variables respect the target minimum alignment. |
6 | # The three bools `STATIC_BOOL`, `STATIC_MUT_BOOL`, and `CONST_BOOL` all have | |
7 | # type-alignment of 1, but some targets require greater global alignment. | |
8 | ||
9 | SRC = min_global_align.rs | |
10 | LL = $(TMPDIR)/min_global_align.ll | |
11 | ||
12 | all: | |
ea8adc8c XL |
13 | # Most targets are happy with default alignment -- take i686 for example. |
14 | ifeq ($(filter x86,$(LLVM_COMPONENTS)),x86) | |
15 | $(RUSTC) --target=i686-unknown-linux-gnu --emit=llvm-ir $(SRC) | |
16 | [ "$$(grep -c 'align 1' "$(LL)")" -eq "3" ] | |
17 | endif | |
18 | # SystemZ requires even alignment for PC-relative addressing. | |
19 | ifeq ($(filter systemz,$(LLVM_COMPONENTS)),systemz) | |
20 | $(RUSTC) --target=s390x-unknown-linux-gnu --emit=llvm-ir $(SRC) | |
21 | [ "$$(grep -c 'align 2' "$(LL)")" -eq "3" ] | |
22 | endif |