diff options
| author | Augie Fackler <augie@google.com> | 2021-03-16 16:32:00 -0400 | 
|---|---|---|
| committer | Augie Fackler <augie@google.com> | 2021-03-16 17:13:20 -0400 | 
| commit | dcdb9ad3d27aca6185af64f2e0318ed47860c6c0 (patch) | |
| tree | 9f0d57b6b590a6aacc4bdc799845eda39f8898c9 /compiler/rustc_llvm/llvm-wrapper/CoverageMappingWrapper.cpp | |
| parent | 0ed1c33ad95ab3fe983a989a8a85c4ca9052afbf (diff) | |
| download | rust-dcdb9ad3d27aca6185af64f2e0318ed47860c6c0.tar.gz rust-dcdb9ad3d27aca6185af64f2e0318ed47860c6c0.zip | |
llvm-wrapper: pass std::string instead of StringRef
LLVM change 5fbd1a333aa1a0b70903d036b98ea56c51ae5224 modified this function to want std::string instead of StringRef, which is easily done.
Diffstat (limited to 'compiler/rustc_llvm/llvm-wrapper/CoverageMappingWrapper.cpp')
| -rw-r--r-- | compiler/rustc_llvm/llvm-wrapper/CoverageMappingWrapper.cpp | 7 | 
1 files changed, 7 insertions, 0 deletions
| diff --git a/compiler/rustc_llvm/llvm-wrapper/CoverageMappingWrapper.cpp b/compiler/rustc_llvm/llvm-wrapper/CoverageMappingWrapper.cpp index e97d96e3a4e..67074685cf6 100644 --- a/compiler/rustc_llvm/llvm-wrapper/CoverageMappingWrapper.cpp +++ b/compiler/rustc_llvm/llvm-wrapper/CoverageMappingWrapper.cpp @@ -23,10 +23,17 @@ extern "C" void LLVMRustCoverageWriteFilenamesSectionToBuffer( const char* const Filenames[], size_t FilenamesLen, RustStringRef BufferOut) { +#if LLVM_VERSION_GE(12,0) + SmallVector<std::string,32> FilenameRefs; + for (size_t i = 0; i < FilenamesLen; i++) { + FilenameRefs.push_back(std::string(Filenames[i])); + } +#else SmallVector<StringRef,32> FilenameRefs; for (size_t i = 0; i < FilenamesLen; i++) { FilenameRefs.push_back(StringRef(Filenames[i])); } +#endif auto FilenamesWriter = coverage::CoverageFilenamesSectionWriter( makeArrayRef(FilenameRefs)); RawRustStringOstream OS(BufferOut); | 
