YAMLTraits.h: replace DenseMap that used a bad implementation of DenseMapInfo

for StringRef with a StringMap

The bug is that the empty key compares equal to the tombstone key.

Also added an assertion to DenseMap to catch similar bugs in future.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187866 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Dmitri Gribenko
2013-08-07 05:51:27 +00:00
parent 235089bdae
commit 9e8eafa0f0
4 changed files with 8 additions and 12 deletions

View File

@@ -606,6 +606,9 @@ public:
}
void init(unsigned InitBuckets) {
assert(!KeyInfoT::isEqual(this->getEmptyKey(), this->getTombstoneKey()) &&
"Bad implementation of KeyInfoT: empty key and tombstone key "
"should be different");
if (allocateBuckets(InitBuckets)) {
this->BaseT::initEmpty();
} else {