From 7ddf2336fec1540935ac5771e6fdd50e45473e23 Mon Sep 17 00:00:00 2001 From: Gabe Black Date: Tue, 2 Oct 2018 16:59:46 -0700 Subject: [PATCH] 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 --- src/systemc/core/sc_module.cc | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) 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 -- 2.30.2