python: Fix param -> int conversion issues

Python 3 doesn't convert params to integers automatically in
range(). Add __index__ to CheckedInt to enable implicit conversions
again. Add explicit conversions where necessary.

Change-Id: I2de6c9906d3bb7616f12ada6728b9e4b1928511c
Signed-off-by: Andreas Sandberg <andreas.sandberg@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/c/16000
Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com>
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Maintainer: Jason Lowe-Power <jason@lowepower.com>
This commit is contained in:
Andreas Sandberg
2019-01-27 09:31:31 +00:00
parent 397d322b99
commit 5de8626abc
2 changed files with 4 additions and 1 deletions

View File

@@ -606,6 +606,9 @@ class CheckedInt(NumericParamValue):
self.__init__(value)
return value
def __index__(self):
return int(self.value)
@classmethod
def cxx_predecls(cls, code):
# most derived types require this, so we just do it here once