mem-ruby: Fix const copy of addr range in AbstractController
authorDaniel R. Carvalho <odanrc@yahoo.com.br>
Sun, 13 Dec 2020 13:54:14 +0000 (10:54 -0300)
committerDaniel Carvalho <odanrc@yahoo.com.br>
Mon, 14 Dec 2020 11:50:26 +0000 (11:50 +0000)
Clang 10 throws the following error:
  loop variable 'addr_range' of type 'const AddrRange' creates a
  copy from type 'const AddrRange' [-Werror,-Wrange-loop-construct]

  note: use reference type 'const AddrRange &' to prevent copying

Issue introduced by c7fabb979c09864ab47ae848381d6797b45a4cc6.

Change-Id: I43e8d613eb5069d5ce9cb12ddec18cba0a3847f6
Signed-off-by: Daniel R. Carvalho <odanrc@yahoo.com.br>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/38495
Reviewed-by: Matt Sinclair <mattdsinclair@gmail.com>
Maintainer: Matt Sinclair <mattdsinclair@gmail.com>
Tested-by: kokoro <noreply+kokoro@google.com>
src/mem/ruby/slicc_interface/AbstractController.cc

index 1e8d8e09f3eaa79664b22b2473a51f264adb502f..ba2075a0d7b53e651da79f1e7a59191837bfdd07 100644 (file)
@@ -87,7 +87,7 @@ AbstractController::init()
     for (auto abs_cntrl : params().downstream_destinations) {
         MachineID mid = abs_cntrl->getMachineID();
         const AddrRangeList &ranges = abs_cntrl->getAddrRanges();
-        for (const auto addr_range : ranges) {
+        for (const auto &addr_range : ranges) {
             auto i = downstreamAddrMap.intersects(addr_range);
             if (i == downstreamAddrMap.end()) {
                 i = downstreamAddrMap.insert(addr_range, AddrMapEntry());