diff options
| author | Jeffrey Yasskin <jyasskin@google.com> | 2009-11-10 01:02:17 +0000 |
|---|---|---|
| committer | Jeffrey Yasskin <jyasskin@google.com> | 2009-11-10 01:02:17 +0000 |
| commit | b40d3f76a01406b9f21de5e73aa0ff0274b8e96c (patch) | |
| tree | 6f8f5855c6aad581a49c7cb33c1614e152f70d63 /llvm/lib/Transforms/Scalar/SCCVN.cpp | |
| parent | a71e9d61be9676c6b0209b3ed9c08cd3ad5be53b (diff) | |
| download | bcm5719-llvm-b40d3f76a01406b9f21de5e73aa0ff0274b8e96c.tar.gz bcm5719-llvm-b40d3f76a01406b9f21de5e73aa0ff0274b8e96c.zip | |
Fix DenseMap iterator constness.
This patch forbids implicit conversion of DenseMap::const_iterator to
DenseMap::iterator which was possible because DenseMapIterator inherited
(publicly) from DenseMapConstIterator. Conversion the other way around is now
allowed as one may expect.
The template DenseMapConstIterator is removed and the template parameter
IsConst which specifies whether the iterator is constant is added to
DenseMapIterator.
Actually IsConst parameter is not necessary since the constness can be
determined from KeyT but this is not relevant to the fix and can be addressed
later.
Patch by Victor Zverovich!
llvm-svn: 86636
Diffstat (limited to 'llvm/lib/Transforms/Scalar/SCCVN.cpp')
| -rw-r--r-- | llvm/lib/Transforms/Scalar/SCCVN.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/Transforms/Scalar/SCCVN.cpp b/llvm/lib/Transforms/Scalar/SCCVN.cpp index c047fca9938..8dd718ab218 100644 --- a/llvm/lib/Transforms/Scalar/SCCVN.cpp +++ b/llvm/lib/Transforms/Scalar/SCCVN.cpp @@ -507,7 +507,7 @@ void ValueTable::erase(Value *V) { /// verifyRemoved - Verify that the value is removed from all internal data /// structures. void ValueTable::verifyRemoved(const Value *V) const { - for (DenseMap<Value*, uint32_t>::iterator + for (DenseMap<Value*, uint32_t>::const_iterator I = valueNumbering.begin(), E = valueNumbering.end(); I != E; ++I) { assert(I->first != V && "Inst still occurs in value numbering map!"); } |

