mem: fix page_table bug for .fast build
authorBrandon Potter <brandon.potter@amd.com>
Mon, 19 Feb 2018 18:54:46 +0000 (13:54 -0500)
committerBrandon Potter <Brandon.Potter@amd.com>
Mon, 19 Feb 2018 23:52:52 +0000 (23:52 +0000)
Since b8b13206c8, the '.fast' build has failed to compile with an error
caused by a variable and an assert.

As a reminder, assert macros are optimized out of the build for '.fast'.
If an assert check requires a variable that is unused anywhere else in
the code, the compiler complains that the variable is unused and the
scons build fails. The solution is to add a M5_VAR_USED specifier to
tell the compiler to ignore the variable.

Change-Id: I38f6bbed1e4c0506c5bbc1206c21f1f7e3d8dfe6
Reviewed-on: https://gem5-review.googlesource.com/8462
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Reviewed-by: Anthony Gutierrez <anthony.gutierrez@amd.com>
Maintainer: Jason Lowe-Power <jason@lowepower.com>
Maintainer: Anthony Gutierrez <anthony.gutierrez@amd.com>

src/mem/page_table.cc

index cd342256019c0232aeac7209a3475d2edb6c3489..d771479d005801b9d836fd5022bdbb1c553b8ccd 100644 (file)
@@ -39,6 +39,7 @@
 
 #include <string>
 
+#include "base/compiler.hh"
 #include "base/trace.hh"
 #include "debug/MMU.hh"
 #include "sim/faults.hh"
@@ -83,7 +84,7 @@ EmulationPageTable::remap(Addr vaddr, int64_t size, Addr new_vaddr)
             new_vaddr, size);
 
     while (size > 0) {
-        auto new_it = pTable.find(new_vaddr);
+        auto new_it M5_VAR_USED = pTable.find(new_vaddr);
         auto old_it = pTable.find(vaddr);
         assert(old_it != pTable.end() && new_it == pTable.end());