misc: Move AddrRangeList from port.hh to addr_range.hh
authorAndreas Hansson <andreas.hansson@arm.com>
Thu, 16 Oct 2014 09:49:59 +0000 (05:49 -0400)
committerAndreas Hansson <andreas.hansson@arm.com>
Thu, 16 Oct 2014 09:49:59 +0000 (05:49 -0400)
The new location seems like a better fit. The iterator typedefs are
removed in favour of using C++11 auto.

src/base/addr_range.hh
src/kern/tru64/tru64_events.cc
src/mem/port.hh
src/mem/ruby/system/RubyPort.cc

index df4afab9ecf8d573f4b22ed580b052f9791bfcfa..4cb1ebd5a27033bc8274eb5d0d82e0368cf2b007 100644 (file)
@@ -45,6 +45,7 @@
 #ifndef __BASE_ADDR_RANGE_HH__
 #define __BASE_ADDR_RANGE_HH__
 
+#include <list>
 #include <vector>
 
 #include "base/bitfield.hh"
@@ -293,6 +294,11 @@ class AddrRange
 #endif // SWIG
 };
 
+/**
+ * Convenience typedef for a collection of address ranges
+ */
+typedef std::list<AddrRange> AddrRangeList;
+
 inline AddrRange
 RangeEx(Addr start, Addr end)
 { return AddrRange(start, end - 1); }
index 943d961fb24939fc2128e05d882805b039ed4f30..df346d6abc83c28c36323c72b47ede193634a4f0 100644 (file)
@@ -57,15 +57,14 @@ BadAddrEvent::process(ThreadContext *tc)
 
     uint64_t a0 = tc->readIntReg(16);
 
-    AddrRangeIter iter;
     bool found = false;
 
     MasterPort &dataPort = tc->getCpuPtr()->getDataPort();
 
     // get the address ranges of the connected slave port
     AddrRangeList resp = dataPort.getAddrRanges();
-    for (iter = resp.begin(); iter != resp.end(); iter++) {
-        if (iter->contains(K0Seg2Phys(a0) & PAddrImplMask))
+    for (const auto &iter : resp) {
+        if (iter.contains(K0Seg2Phys(a0) & PAddrImplMask))
             found = true;
     }
 
index 28f4d7d687e2181bf3a4b1a38f95b2b537a89ea3..6b5e9530c385a212decd2cfc30a04cc4ee7d69e8 100644 (file)
 #ifndef __MEM_PORT_HH__
 #define __MEM_PORT_HH__
 
-#include <list>
-
 #include "base/addr_range.hh"
 #include "mem/packet.hh"
 
-/**
- * This typedef is used to clean up getAddrRanges(). It's declared
- * outside the Port object since it's also used by some mem objects.
- * Eventually we should move this typedef to wherever Addr is
- * defined.
- */
-
-typedef std::list<AddrRange> AddrRangeList;
-typedef std::list<AddrRange>::iterator AddrRangeIter;
-typedef std::list<AddrRange>::const_iterator AddrRangeConstIter;
-
 class MemObject;
 
 /**
index b839e66463d30735ef80ffdef4bd7e56481d09bf..1374c356638a083fe707923b503aa95100c9129f 100644 (file)
@@ -526,8 +526,8 @@ RubyPort::PioSlavePort::getAddrRanges() const
         ranges.splice(ranges.begin(),
                 ruby_port->master_ports[i]->getAddrRanges());
     }
-    for (AddrRangeConstIter r = ranges.begin(); r != ranges.end(); ++r)
-        DPRINTF(RubyPort, "%s\n", r->to_string());
+    for (const auto M5_VAR_USED &r : ranges)
+        DPRINTF(RubyPort, "%s\n", r.to_string());
     return ranges;
 }