re-submit test case (withright format-version)

llvm-svn: 258384
diff --git a/llvm/test/tools/llvm-cov/Inputs/elf_binary_comdat b/llvm/test/tools/llvm-cov/Inputs/elf_binary_comdat
new file mode 100755
index 0000000..319322d
--- /dev/null
+++ b/llvm/test/tools/llvm-cov/Inputs/elf_binary_comdat
Binary files differ
diff --git a/llvm/test/tools/llvm-cov/Inputs/elf_binary_comdat.profdata b/llvm/test/tools/llvm-cov/Inputs/elf_binary_comdat.profdata
new file mode 100644
index 0000000..8566704
--- /dev/null
+++ b/llvm/test/tools/llvm-cov/Inputs/elf_binary_comdat.profdata
Binary files differ
diff --git a/llvm/test/tools/llvm-cov/Inputs/instrprof-comdat.h b/llvm/test/tools/llvm-cov/Inputs/instrprof-comdat.h
new file mode 100644
index 0000000..e122716
--- /dev/null
+++ b/llvm/test/tools/llvm-cov/Inputs/instrprof-comdat.h
@@ -0,0 +1,19 @@
+template <class T> class FOO {
+public:
+  FOO() : t(0) {}
+
+  T DoIt(T ti);
+
+private:
+  T t;
+};
+
+template <class T> T FOO<T>::DoIt(T ti) { // HEADER:  2| [[@LINE]]|template
+  for (T I = 0; I < ti; I++) {            // HEADER: 22| [[@LINE]]|  for (T
+    t += I;                               // HEADER: 20| [[@LINE]]|    t += I;
+    if (I > ti / 2)                       // HEADER: 20| [[@LINE]]|    if (I > ti 
+      t -= 1;                             // HEADER:  8| [[@LINE]]|      t -= 1;
+  }                                       // HEADER: 10| [[@LINE]]|  }
+                                          // HEADER:  1| [[@LINE]]|
+  return t;                               // HEADER:  1| [[@LINE]]|  return t;
+}
diff --git a/llvm/test/tools/llvm-cov/cov-comdat.test b/llvm/test/tools/llvm-cov/cov-comdat.test
new file mode 100644
index 0000000..f44434c
--- /dev/null
+++ b/llvm/test/tools/llvm-cov/cov-comdat.test
@@ -0,0 +1,10 @@
+REQUIRES: shell
+
+# The binary contains two (merged) covmap sections which
+# have duplicate CovMapRecords from comdat (template instantation).
+# This test makes sure the reader reads it properly. It also
+# tests that the coverage data from different instantiations
+# of the same template function are properly merged in show
+# output.
+
+// RUN: llvm-cov show %S/Inputs/elf_binary_comdat -instr-profile %S/Inputs/elf_binary_comdat.profdata -filename-equivalence %S/Inputs/instrprof-comdat.h | FileCheck --check-prefix=HEADER %S/Inputs/instrprof-comdat.h