From 53bbec96031f8170879a41392b02a95d6127132e Mon Sep 17 00:00:00 2001 From: Zachary Turner Date: Tue, 21 Mar 2017 20:41:51 +0000 Subject: [PATCH] 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 --- include/llvm/ADT/StringMap.h | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) 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; } -- 2.50.1