summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteve Reinhardt <steve.reinhardt@amd.com>2010-07-05 22:57:23 -0700
committerSteve Reinhardt <steve.reinhardt@amd.com>2010-07-05 22:57:23 -0700
commit26f5a9c2cb6025459027bba1386c6ffb2e935fff (patch)
treeb4a6d8ef224ce8ce7ae6d56f67160158178f2a08
parent387cbffb7a3c28ea7b9afe8082d25a179d2de683 (diff)
downloadgem5-26f5a9c2cb6025459027bba1386c6ffb2e935fff.tar.xz
checkpointing: another small overload fix
On Nate's advice, overload 'char' as well as 'signed char' and 'unsigned char'.
-rw-r--r--src/base/str.cc1
-rw-r--r--src/sim/serialize.cc9
2 files changed, 10 insertions, 0 deletions
diff --git a/src/base/str.cc b/src/base/str.cc
index 2df1c103c..1e2be95a8 100644
--- a/src/base/str.cc
+++ b/src/base/str.cc
@@ -334,6 +334,7 @@ STN(unsigned short);
STN(signed short);
STN(unsigned char);
STN(signed char);
+STN(char);
template<>
bool to_number<bool>(const string &value, bool &retval)
diff --git a/src/sim/serialize.cc b/src/sim/serialize.cc
index 5f854a776..d95092629 100644
--- a/src/sim/serialize.cc
+++ b/src/sim/serialize.cc
@@ -87,6 +87,14 @@ showParam(ostream &os, const T &value)
// Treat 8-bit ints (chars) as ints on output, not as chars
template <>
void
+showParam(ostream &os, const char &value)
+{
+ os << (int)value;
+}
+
+
+template <>
+void
showParam(ostream &os, const signed char &value)
{
os << (int)value;
@@ -350,6 +358,7 @@ template void \
arrayParamIn(Checkpoint *cp, const string &section, \
const string &name, vector<type> &param);
+INSTANTIATE_PARAM_TEMPLATES(char)
INSTANTIATE_PARAM_TEMPLATES(signed char)
INSTANTIATE_PARAM_TEMPLATES(unsigned char)
INSTANTIATE_PARAM_TEMPLATES(signed short)