diff options
-rw-r--r-- | src/systemc/core/sc_process_handle.cc | 23 | ||||
-rw-r--r-- | src/systemc/ext/core/_using.hh | 5 | ||||
-rw-r--r-- | src/systemc/ext/core/sc_process_handle.hh | 28 | ||||
-rw-r--r-- | src/systemc/tests/working.filt | 5 |
4 files changed, 57 insertions, 4 deletions
diff --git a/src/systemc/core/sc_process_handle.cc b/src/systemc/core/sc_process_handle.cc index 06fd0b30f..cf81f9ff5 100644 --- a/src/systemc/core/sc_process_handle.cc +++ b/src/systemc/core/sc_process_handle.cc @@ -63,6 +63,29 @@ sc_unwind_exception::~sc_unwind_exception() throw() } +const char * +sc_process_b::name() +{ + warn("%s not implemented.\n", __PRETTY_FUNCTION__); + return ""; +} + +const char * +sc_process_b::kind() +{ + warn("%s not implemented.\n", __PRETTY_FUNCTION__); + return ""; +} + + +sc_process_b * +sc_get_curr_process_handle() +{ + warn("%s not implemented.\n", __PRETTY_FUNCTION__); + return nullptr; +} + + sc_process_handle::sc_process_handle() { warn("%s not implemented.\n", __PRETTY_FUNCTION__); diff --git a/src/systemc/ext/core/_using.hh b/src/systemc/ext/core/_using.hh index efc6341cd..255df336f 100644 --- a/src/systemc/ext/core/_using.hh +++ b/src/systemc/ext/core/_using.hh @@ -124,6 +124,11 @@ using sc_core::sc_descendent_inclusion_info; using sc_core::SC_NO_DESCENDANTS; using sc_core::SC_INCLUDE_DESCENDANTS; using sc_core::sc_unwind_exception; +using sc_core::sc_process_b; +using sc_core::sc_get_curr_process_handle; +using sc_core::sc_get_current_process_b; +using sc_core::sc_curr_proc_info; +using sc_core::sc_curr_proc_handle; using sc_core::sc_process_handle; using sc_core::sc_get_current_process_handle; using sc_core::sc_is_unwinding; diff --git a/src/systemc/ext/core/sc_process_handle.hh b/src/systemc/ext/core/sc_process_handle.hh index 55fa2b7db..e577b9e47 100644 --- a/src/systemc/ext/core/sc_process_handle.hh +++ b/src/systemc/ext/core/sc_process_handle.hh @@ -77,6 +77,34 @@ class sc_unwind_exception : public std::exception sc_unwind_exception(); }; +// Deprecated +// An incomplete version of sc_process_b to satisfy the tests. +class sc_process_b +{ + public: + const char *file; + int lineno; + const char *name(); + const char *kind(); +}; + +// Deprecated +sc_process_b *sc_get_curr_process_handle(); +static inline sc_process_b * +sc_get_current_process_b() +{ + return sc_get_curr_process_handle(); +} + +// Deprecated/nonstandard +struct sc_curr_proc_info +{ + sc_process_b *process_handle; + sc_curr_proc_kind kind; + sc_curr_proc_info() : process_handle(NULL), kind(SC_NO_PROC_) {} +}; +typedef const sc_curr_proc_info *sc_curr_proc_handle; + class sc_process_handle { private: diff --git a/src/systemc/tests/working.filt b/src/systemc/tests/working.filt index 960476878..801a05176 100644 --- a/src/systemc/tests/working.filt +++ b/src/systemc/tests/working.filt @@ -8,10 +8,6 @@ name == "sc_elab_and_sim", path.startswith("systemc/tracing/wif_trace"), path.startswith("systemc/misc/stars/wif_trace"), -# These tests refers to sc_get_current_process_b which is a deprecated type and -# something we're not currently planning to support. -path.startswith("systemc/kernel/sc_process_b"), - # Phase callbacks are an experimental feature. Also calling all the interested # sc_objects whenever time advances would add a non-trivial amount of # complexity and is probably not worth implementing in general. @@ -22,6 +18,7 @@ path in ( # Uses sc_get_curr_simcontext. "systemc/kernel/sc_object_manager/test01", "systemc/kernel/sc_name_gen/test1", + "systemc/kernel/sc_process_b/test2", # Uses sc_elab_and_sim. "systemc/kernel/sc_main_main", |