sc_module_name.cc (12863:ed8c2541cb30) sc_module_name.cc (12950:af1f0b5e8dfb)
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

--- 22 unchanged lines hidden (view full) ---

31#include "base/logging.hh"
32#include "systemc/core/module.hh"
33#include "systemc/ext/core/sc_module_name.hh"
34
35namespace sc_core
36{
37
38sc_module_name::sc_module_name(const char *name) :
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

--- 22 unchanged lines hidden (view full) ---

31#include "base/logging.hh"
32#include "systemc/core/module.hh"
33#include "systemc/ext/core/sc_module_name.hh"
34
35namespace sc_core
36{
37
38sc_module_name::sc_module_name(const char *name) :
39 _name(name), _gem5_module(new SystemC::Module(name)), _on_the_stack(true)
40{
41 _gem5_module->push();
42}
39 _name(name), _gem5_module(new sc_gem5::Module(name)), _on_the_stack(true)
40{}
43
44sc_module_name::sc_module_name(const sc_module_name &other) :
45 _name(other._name), _gem5_module(other._gem5_module), _on_the_stack(false)
46{}
47
48sc_module_name::~sc_module_name()
49{
50 if (_on_the_stack) {
51 _gem5_module->pop();
52 }
53}
54
55sc_module_name::operator const char *() const
56{
57 return _name;
58}
59
60} // namespace sc_core
41
42sc_module_name::sc_module_name(const sc_module_name &other) :
43 _name(other._name), _gem5_module(other._gem5_module), _on_the_stack(false)
44{}
45
46sc_module_name::~sc_module_name()
47{
48 if (_on_the_stack) {
49 _gem5_module->pop();
50 }
51}
52
53sc_module_name::operator const char *() const
54{
55 return _name;
56}
57
58} // namespace sc_core