base: Fix enums checkpointing
authorGiacomo Travaglini <giacomo.travaglini@arm.com>
Thu, 7 Feb 2019 07:34:56 +0000 (07:34 +0000)
committerGiacomo Travaglini <giacomo.travaglini@arm.com>
Mon, 18 Feb 2019 09:57:33 +0000 (09:57 +0000)
commit3264c824894c81be3842824eee4de589ad72fbdc
tree1c96689e4c624b73011025e70c9313d50fa21023
parent2dd0eed7ae031c113c71bda1975d6035cca0998e
base: Fix enums checkpointing

Creating an extra version of string to number converters (__to_number)
in base/str.hh; it will be used by enums only when unserializing
them.  The reason not to have a single helper for both enums and
integers is that std::numeric_limits trait is not specialized for enums.
We fix this by using the std::underlying_type trait.

Change-Id: I819e35c0df8c094de7b7a6390152964fa47d513d
Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
Reviewed-by: Ciro Santilli <ciro.santilli@arm.com>
Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/c/16382
Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br>
Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com>
Maintainer: Jason Lowe-Power <jason@lowepower.com>
src/base/str.hh