From: Gabe Black Date: Tue, 2 Oct 2018 23:59:46 +0000 (-0700) Subject: systemc: Implement sc_hierarchical_name_exists. X-Git-Tag: v19.0.0.0~1539 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=7ddf2336fec1540935ac5771e6fdd50e45473e23;p=gem5.git systemc: Implement sc_hierarchical_name_exists. This function checks the top level collection of events and objects to find if one with a particular name exists. Change-Id: Icf539b502fa9c7401be907ee975eb24a47e79a87 Reviewed-on: https://gem5-review.googlesource.com/c/13206 Reviewed-by: Gabe Black Maintainer: Gabe Black --- diff --git a/src/systemc/core/sc_module.cc b/src/systemc/core/sc_module.cc index 46050934e..0954805c8 100644 --- a/src/systemc/core/sc_module.cc +++ b/src/systemc/core/sc_module.cc @@ -32,8 +32,10 @@ #include #include "base/logging.hh" +#include "systemc/core/event.hh" #include "systemc/core/kernel.hh" #include "systemc/core/module.hh" +#include "systemc/core/object.hh" #include "systemc/core/process_types.hh" #include "systemc/core/sensitivity.hh" #include "systemc/ext/channel/sc_signal_in_if.hh" @@ -795,8 +797,8 @@ sc_gen_unique_name(const char *seed) bool sc_hierarchical_name_exists(const char *name) { - warn("%s not implemented.\n", __PRETTY_FUNCTION__); - return false; + return sc_gem5::findEvent(name) != sc_gem5::allEvents.end() || + ::sc_gem5::findObject(name, sc_gem5::allObjects); } bool