Dear all,<div><br></div><div>The first of the proposed patches (DenseMapIterator.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.</div>


<div>The template DenseMapConstIterator is removed and the template parameter IsConst which specifies whether the iterator is constant is added to DenseMapIterator.</div><div>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.</div>


<div><br></div><div>The second patch (DenseMapIterator-clang.patch) corrects clang's usage of DenseMap iterators.</div><div><br></div><div>Best regards,</div><div>Victor</div>