From 7cb9f009c80ca825ffaca3d66ebffba881077f80 Mon Sep 17 00:00:00 2001 From: Vedant Kumar Date: Wed, 12 Oct 2016 22:27:49 +0000 Subject: [PATCH] [Coverage] Delete some copy constructors (NFC) llvm-svn: 284064 --- llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h | 11 +++++++++++ llvm/tools/llvm-cov/CoverageExporterJson.cpp | 2 +- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h b/llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h index 3526769..02914ce 100644 --- a/llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h +++ b/llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h @@ -290,6 +290,14 @@ struct FunctionRecord { FunctionRecord(StringRef Name, ArrayRef Filenames) : Name(Name), Filenames(Filenames.begin(), Filenames.end()) {} + FunctionRecord(FunctionRecord &&FR) + : Name(FR.Name), Filenames(std::move(FR.Filenames)), + CountedRegions(std::move(FR.CountedRegions)), + ExecutionCount(FR.ExecutionCount) {} + + FunctionRecord(const FunctionRecord &) = delete; + const FunctionRecord &operator=(const FunctionRecord &) = delete; + void pushRegion(CounterMappingRegion Region, uint64_t Count) { if (CountedRegions.empty()) ExecutionCount = Count; @@ -425,6 +433,9 @@ class CoverageMapping { CoverageMapping() : MismatchedFunctionCount(0) {} + CoverageMapping(const CoverageMapping &) = delete; + const CoverageMapping &operator=(const CoverageMapping &) = delete; + /// \brief Add a function record corresponding to \p Record. Error loadFunctionRecord(const CoverageMappingRecord &Record, IndexedInstrProfReader &ProfileReader); diff --git a/llvm/tools/llvm-cov/CoverageExporterJson.cpp b/llvm/tools/llvm-cov/CoverageExporterJson.cpp index 06dc176..1b5a1ac 100644 --- a/llvm/tools/llvm-cov/CoverageExporterJson.cpp +++ b/llvm/tools/llvm-cov/CoverageExporterJson.cpp @@ -64,7 +64,7 @@ class CoverageExporterJson { raw_ostream &OS; /// \brief The full CoverageMapping object to export. - CoverageMapping Coverage; + const CoverageMapping &Coverage; /// \brief States that the JSON rendering machine can be in. enum JsonState { None, NonEmptyElement, EmptyElement }; -- 2.7.4