From c7b6e02431cefcb3a4005e3339c7d9cec33ead33 Mon Sep 17 00:00:00 2001 From: Vedant Kumar Date: Mon, 16 Sep 2019 19:08:41 +0000 Subject: [PATCH] [Coverage] Assert that filenames in a TU are unique, NFC git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@372024 91177308-0d34-0410-b5e6-96231b3b80d8 --- .../llvm/ProfileData/Coverage/CoverageMappingWriter.h | 3 +-- lib/ProfileData/Coverage/CoverageMappingWriter.cpp | 10 ++++++++++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/include/llvm/ProfileData/Coverage/CoverageMappingWriter.h b/include/llvm/ProfileData/Coverage/CoverageMappingWriter.h index 5f88cacdfcb..6fcd8a09a49 100644 --- a/include/llvm/ProfileData/Coverage/CoverageMappingWriter.h +++ b/include/llvm/ProfileData/Coverage/CoverageMappingWriter.h @@ -30,8 +30,7 @@ class CoverageFilenamesSectionWriter { ArrayRef Filenames; public: - CoverageFilenamesSectionWriter(ArrayRef Filenames) - : Filenames(Filenames) {} + CoverageFilenamesSectionWriter(ArrayRef Filenames); /// Write encoded filenames to the given output stream. void write(raw_ostream &OS); diff --git a/lib/ProfileData/Coverage/CoverageMappingWriter.cpp b/lib/ProfileData/Coverage/CoverageMappingWriter.cpp index 432b20f217c..d75854a60d1 100644 --- a/lib/ProfileData/Coverage/CoverageMappingWriter.cpp +++ b/lib/ProfileData/Coverage/CoverageMappingWriter.cpp @@ -24,6 +24,16 @@ using namespace llvm; using namespace coverage; +CoverageFilenamesSectionWriter::CoverageFilenamesSectionWriter( + ArrayRef Filenames) + : Filenames(Filenames) { +#ifndef NDEBUG + StringSet<> NameSet; + for (StringRef Name : Filenames) + assert(NameSet.insert(Name).second && "Duplicate filename"); +#endif +} + void CoverageFilenamesSectionWriter::write(raw_ostream &OS) { encodeULEB128(Filenames.size(), OS); for (const auto &Filename : Filenames) { -- 2.50.1