]> granicus.if.org Git - llvm/commitdiff
[Coverage] Speculative fix for r363325 for an older compiler
authorVedant Kumar <vsk@apple.com>
Fri, 14 Jun 2019 00:03:22 +0000 (00:03 +0000)
committerVedant Kumar <vsk@apple.com>
Fri, 14 Jun 2019 00:03:22 +0000 (00:03 +0000)
It looks like an older version of gcc can't figure out that it needs to
move a unique_ptr while implicitly constructing an Expected object.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@363342 91177308-0d34-0410-b5e6-96231b3b80d8

lib/ProfileData/Coverage/CoverageMappingReader.cpp

index 9a240889ce61d5e3c8280277e873603d8a7dd638..e193e10f91d9fd1998ad215e58e3d0c89e882d6c 100644 (file)
@@ -616,7 +616,7 @@ BinaryCoverageReader::createCoverageReaderFromBuffer(
       return std::move(E);
   } else
     return make_error<CoverageMapError>(coveragemap_error::malformed);
-  return Reader;
+  return std::move(Reader);
 }
 
 static Expected<std::unique_ptr<BinaryCoverageReader>>
@@ -741,7 +741,7 @@ BinaryCoverageReader::create(
     if (!ReaderOrErr)
       return ReaderOrErr.takeError();
     Readers.push_back(std::move(ReaderOrErr.get()));
-    return Readers;
+    return std::move(Readers);
   }
 
   auto BinOrErr = createBinary(ObjectBuffer);
@@ -795,14 +795,14 @@ BinaryCoverageReader::create(
       for (auto &Buffer : Ar->takeThinBuffers())
         ObjectFileBuffers.push_back(std::move(Buffer));
 
-    return Readers;
+    return std::move(Readers);
   }
 
   auto ReaderOrErr = loadBinaryFormat(std::move(Bin), Arch);
   if (!ReaderOrErr)
     return ReaderOrErr.takeError();
   Readers.push_back(std::move(ReaderOrErr.get()));
-  return Readers;
+  return std::move(Readers);
 }
 
 Error BinaryCoverageReader::readNextRecord(CoverageMappingRecord &Record) {