summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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)