summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGabe Black <gabeblack@google.com>2018-06-15 16:43:42 -0700
committerGabe Black <gabeblack@google.com>2018-08-22 01:00:49 +0000
commit29d3ebd5bae89bc710c68f07c88126c376b6cef5 (patch)
tree85af47418a86db0d56026de6865ba26ea0b2fd92
parentb29a2d00b85f4c51b9abe6651a8145a0e1eb5484 (diff)
downloadgem5-29d3ebd5bae89bc710c68f07c88126c376b6cef5.tar.xz
systemc: Add nonstandard sc_trace-s for sc_event and sc_time.
These are not in the standard but are defined by Accellera and are used in the regression tests. Change-Id: Idb8358530b1135526c52733e628461a17308e216 Reviewed-on: https://gem5-review.googlesource.com/11259 Reviewed-by: Gabe Black <gabeblack@google.com> Maintainer: Gabe Black <gabeblack@google.com>
-rw-r--r--src/systemc/ext/utils/sc_trace_file.hh11
-rw-r--r--src/systemc/utils/sc_trace_file.cc24
2 files changed, 35 insertions, 0 deletions
diff --git a/src/systemc/ext/utils/sc_trace_file.hh b/src/systemc/ext/utils/sc_trace_file.hh
index 9e9e75b35..9281d47e6 100644
--- a/src/systemc/ext/utils/sc_trace_file.hh
+++ b/src/systemc/ext/utils/sc_trace_file.hh
@@ -58,6 +58,9 @@ namespace sc_core
template <class T>
class sc_signal_in_if;
+class sc_event;
+class sc_time;
+
class sc_trace_file
{
public:
@@ -108,6 +111,14 @@ void sc_trace(sc_trace_file *, const sc_dt::sc_fxnum_fast *,
const std::string &);
+// Nonstandard
+// sc_trace overloads for sc_event and sc_time.
+void sc_trace(sc_trace_file *, const sc_event &, const std::string &);
+void sc_trace(sc_trace_file *, const sc_event *, const std::string &);
+void sc_trace(sc_trace_file *, const sc_time &, const std::string &);
+void sc_trace(sc_trace_file *, const sc_time *, const std::string &);
+
+
// Nonstandard - unsigned versions necessary to avoid ambiguous overload
// resolution.
void sc_trace(sc_trace_file *, const unsigned char &,
diff --git a/src/systemc/utils/sc_trace_file.cc b/src/systemc/utils/sc_trace_file.cc
index 66f7fef06..9cae922e3 100644
--- a/src/systemc/utils/sc_trace_file.cc
+++ b/src/systemc/utils/sc_trace_file.cc
@@ -221,6 +221,30 @@ sc_trace(sc_trace_file *, const sc_dt::sc_fxnum_fast *, const std::string &)
}
void
+sc_trace(sc_trace_file *, const sc_event &, const std::string &)
+{
+ warn("%s not implemented.\n", __PRETTY_FUNCTION__);
+}
+
+void
+sc_trace(sc_trace_file *, const sc_event *, const std::string &)
+{
+ warn("%s not implemented.\n", __PRETTY_FUNCTION__);
+}
+
+void
+sc_trace(sc_trace_file *, const sc_time &, const std::string &)
+{
+ warn("%s not implemented.\n", __PRETTY_FUNCTION__);
+}
+
+void
+sc_trace(sc_trace_file *, const sc_time *, const std::string &)
+{
+ warn("%s not implemented.\n", __PRETTY_FUNCTION__);
+}
+
+void
sc_trace(sc_trace_file *, const unsigned char &,
const std::string &, int width)
{