aboutsummaryrefslogtreecommitdiffstats
path: root/lib/VMCore
diff options
context:
space:
mode:
authorJeffrey Yasskin <jyasskin@google.com>2009-11-10 01:02:17 +0000
committerJeffrey Yasskin <jyasskin@google.com>2009-11-10 01:02:17 +0000
commit8154d2e023fe3137363f8bbc9dae2dff7188dccb (patch)
tree86a9954e792abea91b94475c1c671a7491701f15 /lib/VMCore
parenta3e46f6405c5b7c3284325514b8f573e197d9b4a (diff)
downloadexternal_llvm-8154d2e023fe3137363f8bbc9dae2dff7188dccb.zip
external_llvm-8154d2e023fe3137363f8bbc9dae2dff7188dccb.tar.gz
external_llvm-8154d2e023fe3137363f8bbc9dae2dff7188dccb.tar.bz2
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! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86636 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/VMCore')
-rw-r--r--lib/VMCore/Metadata.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/VMCore/Metadata.cpp b/lib/VMCore/Metadata.cpp
index 4fadfed..c84afb2 100644
--- a/lib/VMCore/Metadata.cpp
+++ b/lib/VMCore/Metadata.cpp
@@ -341,11 +341,11 @@ MDNode *MetadataContextImpl::getMD(unsigned MDKind, const Instruction *Inst) {
/// getMDs - Get the metadata attached to an Instruction.
void MetadataContextImpl::
getMDs(const Instruction *Inst, SmallVectorImpl<MDPairTy> &MDs) const {
- MDStoreTy::iterator I = MetadataStore.find(Inst);
+ MDStoreTy::const_iterator I = MetadataStore.find(Inst);
if (I == MetadataStore.end())
return;
MDs.resize(I->second.size());
- for (MDMapTy::iterator MI = I->second.begin(), ME = I->second.end();
+ for (MDMapTy::const_iterator MI = I->second.begin(), ME = I->second.end();
MI != ME; ++MI)
// MD kinds are numbered from 1.
MDs[MI->first - 1] = std::make_pair(MI->first, MI->second);