From: Vedant Kumar Date: Wed, 29 Jun 2016 05:33:24 +0000 (+0000) Subject: Revert "[Coverage] Clarify ownership of a MemoryBuffer in the reader (NFC)" X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=0282a55d99b4e2d6f1c345a1eafb9ecb45a7837c;p=llvm Revert "[Coverage] Clarify ownership of a MemoryBuffer in the reader (NFC)" This reverts commit 1037ef2574adde2103ad221d63834c3e1df4a776. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@274105 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/llvm/ProfileData/Coverage/CoverageMappingReader.h b/include/llvm/ProfileData/Coverage/CoverageMappingReader.h index daa16d35c37..db907f128d9 100644 --- a/include/llvm/ProfileData/Coverage/CoverageMappingReader.h +++ b/include/llvm/ProfileData/Coverage/CoverageMappingReader.h @@ -181,7 +181,8 @@ private: public: static Expected> - create(MemoryBuffer &ObjectBuffer, StringRef Arch); + create(std::unique_ptr &ObjectBuffer, + StringRef Arch); Error readNextRecord(CoverageMappingRecord &Record) override; }; diff --git a/lib/ProfileData/Coverage/CoverageMapping.cpp b/lib/ProfileData/Coverage/CoverageMapping.cpp index ac3fe4635fb..2d833204c91 100644 --- a/lib/ProfileData/Coverage/CoverageMapping.cpp +++ b/lib/ProfileData/Coverage/CoverageMapping.cpp @@ -236,13 +236,11 @@ CoverageMapping::load(CoverageMappingReader &CoverageReader, Expected> CoverageMapping::load(StringRef ObjectFilename, StringRef ProfileFilename, StringRef Arch) { - auto CounterMappingBufOrErr = MemoryBuffer::getFileOrSTDIN(ObjectFilename); - if (std::error_code EC = CounterMappingBufOrErr.getError()) + auto CounterMappingBuff = MemoryBuffer::getFileOrSTDIN(ObjectFilename); + if (std::error_code EC = CounterMappingBuff.getError()) return errorCodeToError(EC); - std::unique_ptr ObjectBuffer = - std::move(CounterMappingBufOrErr.get()); auto CoverageReaderOrErr = - BinaryCoverageReader::create(*ObjectBuffer.get(), Arch); + BinaryCoverageReader::create(CounterMappingBuff.get(), Arch); if (Error E = CoverageReaderOrErr.takeError()) return std::move(E); auto CoverageReader = std::move(CoverageReaderOrErr.get()); diff --git a/lib/ProfileData/Coverage/CoverageMappingReader.cpp b/lib/ProfileData/Coverage/CoverageMappingReader.cpp index 1230054267f..1a4b4f59084 100644 --- a/lib/ProfileData/Coverage/CoverageMappingReader.cpp +++ b/lib/ProfileData/Coverage/CoverageMappingReader.cpp @@ -641,7 +641,8 @@ static Error loadBinaryFormat(MemoryBufferRef ObjectBuffer, } Expected> -BinaryCoverageReader::create(MemoryBuffer &ObjectBuffer, StringRef Arch) { +BinaryCoverageReader::create(std::unique_ptr &ObjectBuffer, + StringRef Arch) { std::unique_ptr Reader(new BinaryCoverageReader()); StringRef Coverage; @@ -649,12 +650,12 @@ BinaryCoverageReader::create(MemoryBuffer &ObjectBuffer, StringRef Arch) { support::endianness Endian; Error E; consumeError(std::move(E)); - if (ObjectBuffer.getBuffer().startswith(TestingFormatMagic)) + if (ObjectBuffer->getBuffer().startswith(TestingFormatMagic)) // This is a special format used for testing. - E = loadTestingFormat(ObjectBuffer.getBuffer(), Reader->ProfileNames, + E = loadTestingFormat(ObjectBuffer->getBuffer(), Reader->ProfileNames, Coverage, BytesInAddress, Endian); else - E = loadBinaryFormat(ObjectBuffer.getMemBufferRef(), Reader->ProfileNames, + E = loadBinaryFormat(ObjectBuffer->getMemBufferRef(), Reader->ProfileNames, Coverage, BytesInAddress, Endian, Arch); if (E) return std::move(E);