[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)
llvm-svn: 372024

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

index 5f88cac..6fcd8a0 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 432b20f..d75854a 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) {