From: Zachary Turner Date: Tue, 21 Mar 2017 20:41:51 +0000 (+0000) Subject: Fix clang errors caused by StringMap iterator changes. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=53bbec96031f8170879a41392b02a95d6127132e;p=llvm Fix clang errors caused by StringMap iterator changes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@298437 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/llvm/ADT/StringMap.h b/include/llvm/ADT/StringMap.h index 4183c49a32e..cfdf9e87255 100644 --- a/include/llvm/ADT/StringMap.h +++ b/include/llvm/ADT/StringMap.h @@ -496,32 +496,38 @@ template class StringMapConstIterator : public StringMapIterBase, const StringMapEntry> { + using base = StringMapIterBase, + const StringMapEntry>; + public: StringMapConstIterator() = default; explicit StringMapConstIterator(StringMapEntryBase **Bucket, bool NoAdvance = false) - : StringMapIterBase(Bucket, NoAdvance) {} + : base(Bucket, NoAdvance) {} const StringMapEntry &operator*() const { - return *static_cast *>(*Ptr); + return *static_cast *>(*this->Ptr); } }; template class StringMapIterator : public StringMapIterBase, StringMapEntry> { + using base = + StringMapIterBase, StringMapEntry>; + public: StringMapIterator() = default; explicit StringMapIterator(StringMapEntryBase **Bucket, bool NoAdvance = false) - : StringMapIterBase(Bucket, NoAdvance) {} + : base(Bucket, NoAdvance) {} StringMapEntry &operator*() const { - return *static_cast *>(*Ptr); + return *static_cast *>(*this->Ptr); } operator StringMapConstIterator() const { - return StringMapConstIterator(Ptr, false); + return StringMapConstIterator(this->Ptr, false); } }; @@ -530,14 +536,18 @@ class StringMapKeyIterator : public iterator_adaptor_base, StringMapConstIterator, std::forward_iterator_tag, StringRef> { + using base = iterator_adaptor_base, + StringMapConstIterator, + std::forward_iterator_tag, StringRef>; + public: StringMapKeyIterator() = default; explicit StringMapKeyIterator(StringMapConstIterator Iter) - : iterator_adaptor_base(std::move(Iter)) {} + : base(std::move(Iter)) {} StringRef &operator*() { - Key = wrapped()->getKey(); + Key = this->wrapped()->getKey(); return Key; }