[Lldb-commits] [PATCH] D134844: [lldb] Fix deprecation warning for using std::iterator

Nico Weber via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Wed Sep 28 17:19:40 PDT 2022


thakis created this revision.
thakis added a reviewer: labath.
Herald added a project: All.
thakis requested review of this revision.

std::iterator was deprecated in C++17.


https://reviews.llvm.org/D134844

Files:
  lldb/source/Plugins/SymbolFile/DWARF/DWARFDIE.cpp


Index: lldb/source/Plugins/SymbolFile/DWARF/DWARFDIE.cpp
===================================================================
--- lldb/source/Plugins/SymbolFile/DWARF/DWARFDIE.cpp
+++ lldb/source/Plugins/SymbolFile/DWARF/DWARFDIE.cpp
@@ -14,6 +14,8 @@
 #include "DWARFDeclContext.h"
 #include "DWARFUnit.h"
 
+#include "llvm/ADT/iterator.h"
+
 using namespace lldb_private;
 using namespace lldb_private::dwarf;
 
@@ -24,7 +26,9 @@
 /// convenience, the starting die is included in the sequence as the first
 /// item.
 class ElaboratingDIEIterator
-    : public std::iterator<std::input_iterator_tag, DWARFDIE> {
+    : public llvm::iterator_facade_base<
+          ElaboratingDIEIterator, std::input_iterator_tag, DWARFDIE,
+          std::ptrdiff_t, DWARFDIE *, DWARFDIE *> {
 
   // The operating invariant is: top of m_worklist contains the "current" item
   // and the rest of the list are items yet to be visited. An empty worklist
@@ -62,11 +66,6 @@
     Next();
     return *this;
   }
-  ElaboratingDIEIterator operator++(int) {
-    ElaboratingDIEIterator I = *this;
-    Next();
-    return I;
-  }
 
   friend bool operator==(const ElaboratingDIEIterator &a,
                          const ElaboratingDIEIterator &b) {
@@ -74,10 +73,6 @@
       return a.m_worklist.empty() == b.m_worklist.empty();
     return a.m_worklist.back() == b.m_worklist.back();
   }
-  friend bool operator!=(const ElaboratingDIEIterator &a,
-                         const ElaboratingDIEIterator &b) {
-    return !(a == b);
-  }
 };
 
 llvm::iterator_range<ElaboratingDIEIterator>


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D134844.463723.patch
Type: text/x-patch
Size: 1572 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20220929/388e1ac3/attachment.bin>


More information about the lldb-commits mailing list