diff options
| author | Zachary Turner <zturner@google.com> | 2017-05-18 23:04:08 +0000 |
|---|---|---|
| committer | Zachary Turner <zturner@google.com> | 2017-05-18 23:04:08 +0000 |
| commit | b32ec02b80bf3f321acf7b74a1a4e4ed7dc882bb (patch) | |
| tree | 683b79478f51ab1fb223bad4204911c13d31bc28 /lld | |
| parent | 8fb441ab9cdb848c2e3f3b8f6a0c88ff0c8a875b (diff) | |
| download | bcm5719-llvm-b32ec02b80bf3f321acf7b74a1a4e4ed7dc882bb.tar.gz bcm5719-llvm-b32ec02b80bf3f321acf7b74a1a4e4ed7dc882bb.zip | |
[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.
llvm-svn: 303390
Diffstat (limited to 'lld')
| -rw-r--r-- | lld/COFF/PDB.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/lld/COFF/PDB.cpp b/lld/COFF/PDB.cpp index 4bbf9c7173b..0266148cc6c 100644 --- a/lld/COFF/PDB.cpp +++ b/lld/COFF/PDB.cpp @@ -108,6 +108,7 @@ static void mergeDebugT(SymbolTable *Symtab, pdb::PDBFileBuilder &Builder, 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 *Symtab, pdb::PDBFileBuilder &Builder, 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"); } |

