sc_module_name.cc (12837:413a7b490b1b) | sc_module_name.cc (12863:ed8c2541cb30) |
---|---|
1/* 2 * Copyright 2018 Google, Inc. 3 * 4 * Redistribution and use in source and binary forms, with or without 5 * modification, are permitted provided that the following conditions are 6 * met: redistributions of source code must retain the above copyright 7 * notice, this list of conditions and the following disclaimer; 8 * redistributions in binary form must reproduce the above copyright --- 15 unchanged lines hidden (view full) --- 24 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 25 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 * 27 * Authors: Gabe Black 28 */ 29 30 31#include "base/logging.hh" | 1/* 2 * Copyright 2018 Google, Inc. 3 * 4 * Redistribution and use in source and binary forms, with or without 5 * modification, are permitted provided that the following conditions are 6 * met: redistributions of source code must retain the above copyright 7 * notice, this list of conditions and the following disclaimer; 8 * redistributions in binary form must reproduce the above copyright --- 15 unchanged lines hidden (view full) --- 24 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 25 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 * 27 * Authors: Gabe Black 28 */ 29 30 31#include "base/logging.hh" |
32#include "systemc/core/module.hh" |
|
32#include "systemc/ext/core/sc_module_name.hh" 33 34namespace sc_core 35{ 36 37sc_module_name::sc_module_name(const char *name) : | 33#include "systemc/ext/core/sc_module_name.hh" 34 35namespace sc_core 36{ 37 38sc_module_name::sc_module_name(const char *name) : |
38 _name(name), _on_the_stack(true) | 39 _name(name), _gem5_module(new SystemC::Module(name)), _on_the_stack(true) |
39{ | 40{ |
40 warn("%s: Module name not added to stack.\n", __PRETTY_FUNCTION__); | 41 _gem5_module->push(); |
41} 42 43sc_module_name::sc_module_name(const sc_module_name &other) : | 42} 43 44sc_module_name::sc_module_name(const sc_module_name &other) : |
44 _name(other._name), _on_the_stack(false) | 45 _name(other._name), _gem5_module(other._gem5_module), _on_the_stack(false) |
45{} 46 47sc_module_name::~sc_module_name() 48{ 49 if (_on_the_stack) { | 46{} 47 48sc_module_name::~sc_module_name() 49{ 50 if (_on_the_stack) { |
50 warn("%s: Module name not removed from stack.\n", __PRETTY_FUNCTION__); | 51 _gem5_module->pop(); |
51 } 52} 53 54sc_module_name::operator const char *() const 55{ 56 return _name; 57} 58 59} // namespace sc_core | 52 } 53} 54 55sc_module_name::operator const char *() const 56{ 57 return _name; 58} 59 60} // namespace sc_core |