summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/systemc/core/port.cc8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/systemc/core/port.cc b/src/systemc/core/port.cc
index c1d77d9d0..e8a783231 100644
--- a/src/systemc/core/port.cc
+++ b/src/systemc/core/port.cc
@@ -125,6 +125,14 @@ Port::finalize()
resets.clear();
+ if (size() > maxSize()) {
+ std::ostringstream ss;
+ ss << size() << " binds exceeds maximum of " << maxSize() <<
+ " allowed";
+ portBase->report_error(
+ "(E109) complete binding failed", ss.str().c_str());
+ }
+
switch (portBase->_portPolicy()) {
case sc_core::SC_ONE_OR_MORE_BOUND:
if (size() == 0)