GCC 4.4 (as included in CentOS 6) is too old to handle designated initialisers in anonymous unions. As this is just a developer tool, skip the test in this case, rather than sacraficing the legibility/expresibility of the test cases.
This fixes the Gitlab CI tests. While adding this logic to cpu-polcy, adjust the equivelent logic from x86_emulator on which this was based. Printing: Test harness not built, use newer compiler than "gcc" isn't helpful for anyone unexpectedly encountering the error. Signed-off-by: Andrew Cooper <andrew.coop...@citrix.com> --- CC: Jan Beulich <jbeul...@suse.com> CC: Wei Liu <wei.l...@citrix.com> CC: Roger Pau Monné <roger....@citrix.com> CC: Ian Jackson <ian.jack...@citrix.com> --- tools/tests/cpu-policy/Makefile | 14 +++++++++++++- tools/tests/x86_emulator/Makefile | 2 +- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/tools/tests/cpu-policy/Makefile b/tools/tests/cpu-policy/Makefile index eeed7f3..4b6caec 100644 --- a/tools/tests/cpu-policy/Makefile +++ b/tools/tests/cpu-policy/Makefile @@ -1,8 +1,20 @@ XEN_ROOT = $(CURDIR)/../../.. include $(XEN_ROOT)/tools/Rules.mk +TARGET-y := test-cpu-policy + +# For brevity, these tests make extensive use of designated initialisers, but +# GCCs older than 4.6 can't cope. Ignore the test in this case. +ifneq ($(clang),y) +TARGET-$(call cc-ver,$(CC),lt,0x040600) := +endif + +ifeq ($(TARGET-y),) +$(warning Test harness not built, use newer compiler than $(CC) $(shell $(CC) -dumpversion)) +endif + .PHONY: all -all: test-cpu-policy +all: $(TARGET-y) .PHONY: clean clean: diff --git a/tools/tests/x86_emulator/Makefile b/tools/tests/x86_emulator/Makefile index 4f4c0f6..970ec3e 100644 --- a/tools/tests/x86_emulator/Makefile +++ b/tools/tests/x86_emulator/Makefile @@ -97,7 +97,7 @@ $(foreach flavor,$(SIMD) $(FMA),$(eval $(call simd-check-cc,$(flavor)))) TARGET-$(shell echo 'asm("{evex} vzeroall");' | $(CC) -x c -c -o /dev/null - || echo y) := ifeq ($(TARGET-y),) -$(warning Test harness not built, use newer compiler than "$(CC)") +$(warning Test harness not built, use newer compiler than $(CC) $(shell $(CC) -dumpversion) and an "{evex}" capable assembler) endif all: $(TARGET-y) -- 2.1.4 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel