From: Gabe Black Date: Sun, 7 Oct 2018 08:38:41 +0000 (-0700) Subject: systemc: Check the maximum port size when finializing bindings. X-Git-Tag: v19.0.0.0~1499 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=a8f873a8069b69e34e95de6ebbb3d0d41fffb221;p=gem5.git systemc: Check the maximum port size when finializing bindings. Change-Id: Ie7d704547bb8523a3c44479a89d2af4fcce6e8b6 Reviewed-on: https://gem5-review.googlesource.com/c/13326 Reviewed-by: Gabe Black Maintainer: Gabe Black --- 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)