summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGabe Black <gabeblack@google.com>2018-06-13 19:10:38 -0700
committerGabe Black <gabeblack@google.com>2018-08-15 01:37:50 +0000
commita891159548ef589bc591455421e9770de50e23d4 (patch)
tree0c9f78381932d04fcfb3bb3c337ff01a1291a715
parenta18e901b1640ac53e79e27a4eb2979ade60401b4 (diff)
downloadgem5-a891159548ef589bc591455421e9770de50e23d4.tar.xz
systemc: Partially implement SC_FORK and SC_JOIN.
These macros need to expand to some minimal amount of wrapping code to make the regression tests syntactically legal and compile. Change-Id: I0b5569704b129d9c315526fc3363ef846a1b5c65 Reviewed-on: https://gem5-review.googlesource.com/11184 Reviewed-by: Gabe Black <gabeblack@google.com> Maintainer: Gabe Black <gabeblack@google.com>
-rw-r--r--src/systemc/ext/core/sc_spawn.hh12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/systemc/ext/core/sc_spawn.hh b/src/systemc/ext/core/sc_spawn.hh
index f1b110b19..0463dc133 100644
--- a/src/systemc/ext/core/sc_spawn.hh
+++ b/src/systemc/ext/core/sc_spawn.hh
@@ -105,8 +105,16 @@ sc_spawn(typename T::result_type *r_p, T object, const char *name_p=nullptr,
#define sc_ref(r) boost::ref(r)
#define sc_cref(r) boost::cref(r)
-#define SC_FORK /* Implementation defined */
-#define SC_JOIN /* Implementation defined */
+#define SC_FORK \
+{ \
+ ::sc_core::sc_process_handle forkees[] = {
+
+#define SC_JOIN \
+ }; /* TODO wait for the forkees. */ \
+}
+
+// Non-standard
+#define SC_CJOIN SC_JOIN
} // namespace sc_core