From a891159548ef589bc591455421e9770de50e23d4 Mon Sep 17 00:00:00 2001
From: Gabe Black <gabeblack@google.com>
Date: Wed, 13 Jun 2018 19:10:38 -0700
Subject: 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>
---
 src/systemc/ext/core/sc_spawn.hh | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

(limited to 'src')

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
 
-- 
cgit v1.2.3