summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/systemc/ext/utils/sc_trace_file.hh24
-rw-r--r--src/systemc/utils/sc_trace_file.cc61
2 files changed, 85 insertions, 0 deletions
diff --git a/src/systemc/ext/utils/sc_trace_file.hh b/src/systemc/ext/utils/sc_trace_file.hh
index ec4fd4d6a..9e9e75b35 100644
--- a/src/systemc/ext/utils/sc_trace_file.hh
+++ b/src/systemc/ext/utils/sc_trace_file.hh
@@ -107,6 +107,26 @@ void sc_trace(sc_trace_file *, const sc_dt::sc_fxnum_fast &,
void sc_trace(sc_trace_file *, const sc_dt::sc_fxnum_fast *,
const std::string &);
+
+// Nonstandard - unsigned versions necessary to avoid ambiguous overload
+// resolution.
+void sc_trace(sc_trace_file *, const unsigned char &,
+ const std::string &, int width=(8 * sizeof(char)));
+void sc_trace(sc_trace_file *, const unsigned char *,
+ const std::string &, int width=(8 * sizeof(char)));
+void sc_trace(sc_trace_file *, const unsigned short &,
+ const std::string &, int width=(8 * sizeof(char)));
+void sc_trace(sc_trace_file *, const unsigned short *,
+ const std::string &, int width=(8 * sizeof(char)));
+void sc_trace(sc_trace_file *, const unsigned int &,
+ const std::string &, int width=(8 * sizeof(char)));
+void sc_trace(sc_trace_file *, const unsigned int *,
+ const std::string &, int width=(8 * sizeof(char)));
+void sc_trace(sc_trace_file *, const unsigned long &,
+ const std::string &, int width=(8 * sizeof(char)));
+void sc_trace(sc_trace_file *, const unsigned long *,
+ const std::string &, int width=(8 * sizeof(char)));
+
void sc_trace(sc_trace_file *, const char &,
const std::string &, int width=(8 * sizeof(char)));
void sc_trace(sc_trace_file *, const char *,
@@ -132,6 +152,10 @@ void sc_trace(sc_trace_file *, const sc_dt::uint64 &,
void sc_trace(sc_trace_file *, const sc_dt::uint64 *,
const std::string &, int width=(8 * sizeof(char)));
+// Nonstandard function for enums
+void sc_trace(sc_trace_file *, const unsigned int &,
+ const std::string &, const char **enum_literals);
+
template <class T>
void
sc_trace(sc_trace_file *, const sc_signal_in_if<T> &, const std::string &)
diff --git a/src/systemc/utils/sc_trace_file.cc b/src/systemc/utils/sc_trace_file.cc
index 3b09d951d..66f7fef06 100644
--- a/src/systemc/utils/sc_trace_file.cc
+++ b/src/systemc/utils/sc_trace_file.cc
@@ -221,6 +221,60 @@ sc_trace(sc_trace_file *, const sc_dt::sc_fxnum_fast *, const std::string &)
}
void
+sc_trace(sc_trace_file *, const unsigned char &,
+ const std::string &, int width)
+{
+ warn("%s not implemented.\n", __PRETTY_FUNCTION__);
+}
+
+void
+sc_trace(sc_trace_file *, const unsigned char *,
+ const std::string &, int width)
+{
+ warn("%s not implemented.\n", __PRETTY_FUNCTION__);
+}
+
+void
+sc_trace(sc_trace_file *, const unsigned short &,
+ const std::string &, int width)
+{
+ warn("%s not implemented.\n", __PRETTY_FUNCTION__);
+}
+
+void
+sc_trace(sc_trace_file *, const unsigned short *,
+ const std::string &, int width)
+{
+ warn("%s not implemented.\n", __PRETTY_FUNCTION__);
+}
+
+void
+sc_trace(sc_trace_file *, const unsigned int &, const std::string &, int width)
+{
+ warn("%s not implemented.\n", __PRETTY_FUNCTION__);
+}
+
+void
+sc_trace(sc_trace_file *, const unsigned int *, const std::string &, int width)
+{
+ warn("%s not implemented.\n", __PRETTY_FUNCTION__);
+}
+
+void
+sc_trace(sc_trace_file *, const unsigned long &,
+ const std::string &, int width)
+{
+ warn("%s not implemented.\n", __PRETTY_FUNCTION__);
+}
+
+void
+sc_trace(sc_trace_file *, const unsigned long *,
+ const std::string &, int width)
+{
+ warn("%s not implemented.\n", __PRETTY_FUNCTION__);
+}
+
+void
sc_trace(sc_trace_file *, const char &, const std::string &, int width)
{
warn("%s not implemented.\n", __PRETTY_FUNCTION__);
@@ -322,4 +376,11 @@ sc_trace(sc_trace_file *, const sc_signal_in_if<long> &,
warn("%s not implemented.\n", __PRETTY_FUNCTION__);
}
+void
+sc_trace(sc_trace_file *, const unsigned int &,
+ const std::string &, const char **enum_literals)
+{
+ warn("%s not implemented.\n", __PRETTY_FUNCTION__);
+}
+
} // namespace sc_core