[libFuzzer] Use custom allocators for STL containers in libFuzzer.

Avoids ODR violations causing spurious ASAN warnings.

Differential Revision: https://reviews.llvm.org/D37086

llvm-svn: 311866
diff --git a/compiler-rt/lib/fuzzer/FuzzerTracePC.cpp b/compiler-rt/lib/fuzzer/FuzzerTracePC.cpp
index 812a619..831316a 100644
--- a/compiler-rt/lib/fuzzer/FuzzerTracePC.cpp
+++ b/compiler-rt/lib/fuzzer/FuzzerTracePC.cpp
@@ -221,8 +221,8 @@
   Printf("COVERAGE:\n");
   std::string LastFunctionName = "";
   std::string LastFileStr = "";
-  std::set<size_t> UncoveredLines;
-  std::set<size_t> CoveredLines;
+  Set<size_t> UncoveredLines;
+  Set<size_t> CoveredLines;
 
   auto FunctionEndCallback = [&](const std::string &CurrentFunc,
                                  const std::string &CurrentFile) {
@@ -270,7 +270,7 @@
 
 void TracePC::DumpCoverage() {
   if (EF->__sanitizer_dump_coverage) {
-    std::vector<uintptr_t> PCsCopy(GetNumPCs());
+    Vector<uintptr_t> PCsCopy(GetNumPCs());
     for (size_t i = 0; i < GetNumPCs(); i++)
       PCsCopy[i] = PCs()[i] ? GetPreviousInstructionPc(PCs()[i]) : 0;
     EF->__sanitizer_dump_coverage(PCsCopy.data(), PCsCopy.size());