]> granicus.if.org Git - llvm/commitdiff
[Coverage] Assert that filenames in a TU are unique, NFC
authorVedant Kumar <vsk@apple.com>
Mon, 16 Sep 2019 19:08:41 +0000 (19:08 +0000)
committerVedant Kumar <vsk@apple.com>
Mon, 16 Sep 2019 19:08:41 +0000 (19:08 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@372024 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/ProfileData/Coverage/CoverageMappingWriter.h
lib/ProfileData/Coverage/CoverageMappingWriter.cpp

index 5f88cacdfcbb1f31dab6fb8a925764d975412c52..6fcd8a09a4940a6c2deb8474b0de60b1ea496d66 100644 (file)
@@ -30,8 +30,7 @@ class CoverageFilenamesSectionWriter {
   ArrayRef<StringRef> Filenames;
 
 public:
-  CoverageFilenamesSectionWriter(ArrayRef<StringRef> Filenames)
-      : Filenames(Filenames) {}
+  CoverageFilenamesSectionWriter(ArrayRef<StringRef> Filenames);
 
   /// Write encoded filenames to the given output stream.
   void write(raw_ostream &OS);
index 432b20f217ca8d7dcd4c6ff1c93898dfddf0686d..d75854a60d1ee40b800b35aabbd5ab8a47fa96d2 100644 (file)
 using namespace llvm;
 using namespace coverage;
 
+CoverageFilenamesSectionWriter::CoverageFilenamesSectionWriter(
+    ArrayRef<StringRef> 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) {