]> granicus.if.org Git - llvm/commit
[pdb] Add HashTable data structure.
authorZachary Turner <zturner@google.com>
Thu, 19 Jan 2017 23:31:24 +0000 (23:31 +0000)
committerZachary Turner <zturner@google.com>
Thu, 19 Jan 2017 23:31:24 +0000 (23:31 +0000)
commit1efbd52b3e5bcc03630af336bbbe0644c5005665
treee7f776c82c0364877bf3b57624bd03de8e7735d0
parent90513756cecddbb5bca3e01924dfd554b7a3388e
[pdb] Add HashTable data structure.

This was being parsed / serialized ad-hoc inside the code
for a specific PDB stream.  But this data structure is used
in multiple ways / places within the PDB format.  To be able
to re-use it we need to raise this code out and make it more
generic.  In doing so, a number of bugs are fixed in the
original implementation, and support is added for growing
the hash table and deleting items from the hash table,
which had either been omitted or incorrect implemented in
the initial version.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292535 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/DebugInfo/PDB/Raw/HashTable.h [new file with mode: 0644]
include/llvm/DebugInfo/PDB/Raw/NameMapBuilder.h
lib/DebugInfo/PDB/CMakeLists.txt
lib/DebugInfo/PDB/Raw/HashTable.cpp [new file with mode: 0644]
lib/DebugInfo/PDB/Raw/NameMap.cpp
lib/DebugInfo/PDB/Raw/NameMapBuilder.cpp
unittests/DebugInfo/PDB/CMakeLists.txt
unittests/DebugInfo/PDB/HashTableTest.cpp [new file with mode: 0644]