summaryrefslogtreecommitdiff
path: root/src/systemc/core/sc_export.cc
diff options
context:
space:
mode:
authorGabe Black <gabeblack@google.com>2018-10-07 05:23:49 -0700
committerGabe Black <gabeblack@google.com>2018-10-16 01:12:58 +0000
commite07f7efb75f0f7322d752608eb1cb1e1145b4a98 (patch)
treec70d86ba3130636fd8c6ff3c0d159727b81932c8 /src/systemc/core/sc_export.cc
parent3420f0e223888bf70cd502efb5a534e651891b5c (diff)
downloadgem5-e07f7efb75f0f7322d752608eb1cb1e1145b4a98.tar.xz
systemc: Switch to using predefined messages for channels.
Create and use predefined messages for channels which match the ones Accellera uses. Change-Id: I179214838bbd83604e50225926cdc6b5b1b16923 Reviewed-on: https://gem5-review.googlesource.com/c/13330 Reviewed-by: Gabe Black <gabeblack@google.com> Maintainer: Gabe Black <gabeblack@google.com>
Diffstat (limited to 'src/systemc/core/sc_export.cc')
-rw-r--r--src/systemc/core/sc_export.cc17
1 files changed, 7 insertions, 10 deletions
diff --git a/src/systemc/core/sc_export.cc b/src/systemc/core/sc_export.cc
index 9123a2553..a2cee316c 100644
--- a/src/systemc/core/sc_export.cc
+++ b/src/systemc/core/sc_export.cc
@@ -30,6 +30,7 @@
#include "base/logging.hh"
#include "systemc/core/module.hh"
#include "systemc/core/scheduler.hh"
+#include "systemc/ext/channel/messages.hh"
#include "systemc/ext/core/sc_export.hh"
#include "systemc/ext/core/sc_main.hh"
@@ -57,21 +58,17 @@ reportError(const char *id, const char *add_msg,
sc_export_base::sc_export_base(const char *n) : sc_object(n)
{
if (sc_is_running()) {
- reportError("(E121) insert sc_export failed", "simulation running",
- name(), kind());
- }
- if (::sc_gem5::scheduler.elaborationDone()) {
- reportError("(E121) insert sc_export failed", "elaboration done",
+ reportError(SC_ID_INSERT_EXPORT_, "simulation running",
name(), kind());
}
+ if (::sc_gem5::scheduler.elaborationDone())
+ reportError(SC_ID_INSERT_EXPORT_, "elaboration done", name(), kind());
auto m = sc_gem5::pickParentModule();
- if (!m) {
- reportError("(E122) sc_export specified outside of module",
- nullptr, name(), kind());
- } else {
+ if (!m)
+ reportError(SC_ID_EXPORT_OUTSIDE_MODULE_, nullptr, name(), kind());
+ else
m->exports.push_back(this);
- }
}
sc_export_base::~sc_export_base() {}