Use # min-llvm-version: 11.0
to force a minimum LLVM version, rather than ad-hoc internal solution.
In particular: the specific code to define LLVM_VERSION_11_PLUS here was, for some reason, using `$(shell ...)` with bash-specific variable replacement code. On non-bash platforms like dash, that `shell` invocation would fail, and the LLVM_VERSION_11_PLUS check would always fail, the test would always be ignored, and thus be treated as a "success" (in the sense that `--bless` would never do anything). This was causing me a lot of pain.
This commit is contained in:
parent
368275062f
commit
03c000eb20
@ -1,4 +1,5 @@
|
|||||||
# needs-profiler-support
|
# needs-profiler-support
|
||||||
|
# min-llvm-version: 11.0
|
||||||
|
|
||||||
-include ../coverage/coverage_tools.mk
|
-include ../coverage/coverage_tools.mk
|
||||||
|
|
||||||
@ -48,12 +49,7 @@ else
|
|||||||
-DINSTR_PROF_ORDERFILE='$(DATA_SECTION_PREFIX)__llvm_orderfile'
|
-DINSTR_PROF_ORDERFILE='$(DATA_SECTION_PREFIX)__llvm_orderfile'
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(LLVM_VERSION_11_PLUS),true)
|
|
||||||
all: test_llvm_ir
|
all: test_llvm_ir
|
||||||
else
|
|
||||||
$(info Rust option `-Z instrument-coverage` requires LLVM 11 or higher. Test skipped.)
|
|
||||||
all:
|
|
||||||
endif
|
|
||||||
|
|
||||||
test_llvm_ir:
|
test_llvm_ir:
|
||||||
# Compile the test program with non-experimental coverage instrumentation, and generate LLVM IR
|
# Compile the test program with non-experimental coverage instrumentation, and generate LLVM IR
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
# needs-profiler-support
|
# needs-profiler-support
|
||||||
# ignore-windows-gnu
|
# ignore-windows-gnu
|
||||||
|
# min-llvm-version: 11.0
|
||||||
|
|
||||||
# FIXME(mati865): MinGW GCC miscompiles compiler-rt profiling library but with Clang it works
|
# FIXME(mati865): MinGW GCC miscompiles compiler-rt profiling library but with Clang it works
|
||||||
# properly. Since we only have GCC on the CI ignore the test for now.
|
# properly. Since we only have GCC on the CI ignore the test for now.
|
||||||
@ -67,12 +68,7 @@ ifdef RUSTC_BLESS_TEST
|
|||||||
DEBUG_FLAG=--debug
|
DEBUG_FLAG=--debug
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(LLVM_VERSION_11_PLUS),true)
|
|
||||||
all: $(patsubst $(SOURCEDIR)/lib/%.rs,%,$(wildcard $(SOURCEDIR)/lib/*.rs)) $(patsubst $(SOURCEDIR)/%.rs,%,$(wildcard $(SOURCEDIR)/*.rs))
|
all: $(patsubst $(SOURCEDIR)/lib/%.rs,%,$(wildcard $(SOURCEDIR)/lib/*.rs)) $(patsubst $(SOURCEDIR)/%.rs,%,$(wildcard $(SOURCEDIR)/*.rs))
|
||||||
else
|
|
||||||
$(info Rust option `-Z instrument-coverage` requires LLVM 11 or higher. Test skipped.)
|
|
||||||
all:
|
|
||||||
endif
|
|
||||||
|
|
||||||
# Ensure there are no `expected` results for tests that may have been removed or renamed
|
# Ensure there are no `expected` results for tests that may have been removed or renamed
|
||||||
.PHONY: clear_expected_if_blessed
|
.PHONY: clear_expected_if_blessed
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
# needs-profiler-support
|
# needs-profiler-support
|
||||||
|
# min-llvm-version: 11.0
|
||||||
|
|
||||||
-include ../coverage/coverage_tools.mk
|
-include ../coverage/coverage_tools.mk
|
||||||
|
|
||||||
@ -20,12 +21,7 @@ For revisions in Pull Requests (PR):
|
|||||||
endef
|
endef
|
||||||
export SPANVIEW_HEADER
|
export SPANVIEW_HEADER
|
||||||
|
|
||||||
ifeq ($(LLVM_VERSION_11_PLUS),true)
|
|
||||||
all: $(patsubst $(SOURCEDIR)/lib/%.rs,%,$(wildcard $(SOURCEDIR)/lib/*.rs)) $(patsubst $(SOURCEDIR)/%.rs,%,$(wildcard $(SOURCEDIR)/*.rs))
|
all: $(patsubst $(SOURCEDIR)/lib/%.rs,%,$(wildcard $(SOURCEDIR)/lib/*.rs)) $(patsubst $(SOURCEDIR)/%.rs,%,$(wildcard $(SOURCEDIR)/*.rs))
|
||||||
else
|
|
||||||
$(info Rust option `-Z instrument-coverage` requires LLVM 11 or higher. Test skipped.)
|
|
||||||
all:
|
|
||||||
endif
|
|
||||||
|
|
||||||
# Ensure there are no `expected` results for tests that may have been removed or renamed
|
# Ensure there are no `expected` results for tests that may have been removed or renamed
|
||||||
.PHONY: clear_expected_if_blessed
|
.PHONY: clear_expected_if_blessed
|
||||||
|
@ -14,10 +14,3 @@
|
|||||||
# Therefore, `-C link-dead-code` is no longer automatically enabled.
|
# Therefore, `-C link-dead-code` is no longer automatically enabled.
|
||||||
|
|
||||||
UNAME = $(shell uname)
|
UNAME = $(shell uname)
|
||||||
|
|
||||||
# Rust option `-Z instrument-coverage` uses LLVM Coverage Mapping Format version 4,
|
|
||||||
# which requires LLVM 11 or greater.
|
|
||||||
LLVM_VERSION_11_PLUS := $(shell \
|
|
||||||
LLVM_VERSION=$$("$(LLVM_BIN_DIR)"/llvm-config --version) && \
|
|
||||||
LLVM_VERSION_MAJOR=$${LLVM_VERSION/.*/} && \
|
|
||||||
[ $$LLVM_VERSION_MAJOR -ge 11 ] && echo true || echo false)
|
|
||||||
|
Loading…
Reference in New Issue
Block a user