diff options
| author | Rich Kadel <richkadel@google.com> | 2020-11-24 11:50:24 -0800 |
|---|---|---|
| committer | Rich Kadel <richkadel@google.com> | 2020-11-24 11:50:24 -0800 |
| commit | 51268d2735ed59b4f6b6351fd75edd0f4cf19c9f (patch) | |
| tree | 500074e708757effa726f9ac33514548c29dad0f /compiler/rustc_llvm/llvm-wrapper/CoverageMappingWrapper.cpp | |
| parent | 5d5dc4c9d86499854a50a54a8dab73c180f7cbbc (diff) | |
| download | rust-51268d2735ed59b4f6b6351fd75edd0f4cf19c9f.tar.gz rust-51268d2735ed59b4f6b6351fd75edd0f4cf19c9f.zip | |
Check for LLVM 11+ when using `-Z instrument-coverage`
* `rustc` should now compile under LLVM 9 or 10 * Compiler generates an error if `-Z instrument-coverage` is specified but LLVM version is less than 11 * Coverage tests that require `-Z instrument-coverage` and run codegen should be skipped if LLVM version is less than 11
Diffstat (limited to 'compiler/rustc_llvm/llvm-wrapper/CoverageMappingWrapper.cpp')
| -rw-r--r-- | compiler/rustc_llvm/llvm-wrapper/CoverageMappingWrapper.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/compiler/rustc_llvm/llvm-wrapper/CoverageMappingWrapper.cpp b/compiler/rustc_llvm/llvm-wrapper/CoverageMappingWrapper.cpp index 6700482f2b7..2b76cd5849d 100644 --- a/compiler/rustc_llvm/llvm-wrapper/CoverageMappingWrapper.cpp +++ b/compiler/rustc_llvm/llvm-wrapper/CoverageMappingWrapper.cpp @@ -71,7 +71,11 @@ extern "C" void LLVMRustCoverageWriteMapSectionNameToString(LLVMModuleRef M, extern "C" void LLVMRustCoverageWriteFuncSectionNameToString(LLVMModuleRef M, RustStringRef Str) { +#if LLVM_VERSION_GE(11, 0) WriteSectionNameToString(M, IPSK_covfun, Str); +#else + report_fatal_error("rustc option `-Z instrument-coverage` requires LLVM 11 or higher."); +#endif } extern "C" void LLVMRustCoverageWriteMappingVarNameToString(RustStringRef Str) { @@ -81,5 +85,9 @@ extern "C" void LLVMRustCoverageWriteMappingVarNameToString(RustStringRef Str) { } extern "C" uint32_t LLVMRustCoverageMappingVersion() { +#if LLVM_VERSION_GE(11, 0) return coverage::CovMapVersion::Version4; +#else + report_fatal_error("rustc option `-Z instrument-coverage` requires LLVM 11 or higher."); +#endif } |
