sc_port.cc (13324:c8b709468e61) sc_port.cc (13332:03eec201e55a)
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#include <sstream>
31
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#include <sstream>
31
32#include "base/logging.hh"
32#include "base/cprintf.hh"
33#include "systemc/core/module.hh"
34#include "systemc/core/port.hh"
35#include "systemc/core/scheduler.hh"
36#include "systemc/ext/channel/messages.hh"
37#include "systemc/ext/core/sc_main.hh"
38#include "systemc/ext/core/sc_port.hh"
39
40namespace sc_core

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

79}
80
81sc_port_base::~sc_port_base()
82{
83 delete _gem5Port;
84}
85
86void
33#include "systemc/core/module.hh"
34#include "systemc/core/port.hh"
35#include "systemc/core/scheduler.hh"
36#include "systemc/ext/channel/messages.hh"
37#include "systemc/ext/core/sc_main.hh"
38#include "systemc/ext/core/sc_port.hh"
39
40namespace sc_core

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

79}
80
81sc_port_base::~sc_port_base()
82{
83 delete _gem5Port;
84}
85
86void
87sc_port_base::warn_unimpl(const char *func) const
87sc_port_base::warn_port_constructor() const
88{
88{
89 warn("%s not implemented.\n", func);
89 static bool warned = false;
90 if (!warned) {
91 SC_REPORT_INFO(SC_ID_IEEE_1666_DEPRECATION_,
92 "interface and/or port binding in port constructors "
93 "is deprecated");
94 warned = true;
95 }
90}
91
92void
93sc_port_base::report_error(const char *id, const char *add_msg) const
94{
95 std::ostringstream ss;
96 if (add_msg)
97 ss << add_msg << ": ";
98 ss << "port '" << name() << "' (" << kind() << ")";
99 SC_REPORT_ERROR(id, ss.str().c_str());
100}
101
102int sc_port_base::maxSize() const { return _gem5Port->maxSize(); }
103int sc_port_base::size() const { return _gem5Port->size(); }
104
105void sc_port_base::bind(sc_interface &i) { _gem5Port->bind(&i); }
106void sc_port_base::bind(sc_port_base &p) { _gem5Port->bind(&p); }
107
108} // namespace sc_core
96}
97
98void
99sc_port_base::report_error(const char *id, const char *add_msg) const
100{
101 std::ostringstream ss;
102 if (add_msg)
103 ss << add_msg << ": ";
104 ss << "port '" << name() << "' (" << kind() << ")";
105 SC_REPORT_ERROR(id, ss.str().c_str());
106}
107
108int sc_port_base::maxSize() const { return _gem5Port->maxSize(); }
109int sc_port_base::size() const { return _gem5Port->size(); }
110
111void sc_port_base::bind(sc_interface &i) { _gem5Port->bind(&i); }
112void sc_port_base::bind(sc_port_base &p) { _gem5Port->bind(&p); }
113
114} // namespace sc_core