[lld] r303390 - [CodeView] Raise the source to ID map out of the TypeStreamMerger.

Zachary Turner via llvm-commits llvm-commits at lists.llvm.org
Thu May 18 16:04:08 PDT 2017


Author: zturner
Date: Thu May 18 18:04:08 2017
New Revision: 303390

URL: http://llvm.org/viewvc/llvm-project?rev=303390&view=rev
Log:
[CodeView] Raise the source to ID map out of the TypeStreamMerger.

This map will be needed to rewrite symbol streams after re-writing
the corresponding type streams.

Modified:
    lld/trunk/COFF/PDB.cpp

Modified: lld/trunk/COFF/PDB.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/COFF/PDB.cpp?rev=303390&r1=303389&r2=303390&view=diff
==============================================================================
--- lld/trunk/COFF/PDB.cpp (original)
+++ lld/trunk/COFF/PDB.cpp Thu May 18 18:04:08 2017
@@ -108,6 +108,7 @@ static void mergeDebugT(SymbolTable *Sym
     BinaryByteStream Stream(Data, support::little);
     codeview::CVTypeArray Types;
     BinaryStreamReader Reader(Stream);
+    SmallVector<TypeIndex, 128> SourceToDest;
     // Follow type servers.  If the same type server is encountered more than
     // once for this instance of `PDBTypeServerHandler` (for example if many
     // object files reference the same TypeServer), the types from the
@@ -116,8 +117,8 @@ static void mergeDebugT(SymbolTable *Sym
     Handler.addSearchPath(llvm::sys::path::parent_path(File->getName()));
     if (auto EC = Reader.readArray(Types, Reader.getLength()))
       fatal(EC, "Reader::readArray failed");
-    if (auto Err =
-            codeview::mergeTypeStreams(IDTable, TypeTable, &Handler, Types))
+    if (auto Err = codeview::mergeTypeStreams(IDTable, TypeTable, SourceToDest,
+                                              &Handler, Types))
       fatal(Err, "codeview::mergeTypeStreams failed");
   }
 




More information about the llvm-commits mailing list