Fix assertion failure in vvp wide functor.

If the functor output is read before any values have propagated to
the functor inputs, the internal storage won't have been initialised.

(cherry picked from commit ad83a135e5)
This commit is contained in:
Martin Whitaker 2017-11-08 20:35:18 +00:00
parent 99f66e2781
commit 03764a400d
1 changed files with 2 additions and 1 deletions

View File

@ -3421,7 +3421,8 @@ unsigned vvp_wide_fun_core::port_count() const
vvp_vector4_t& vvp_wide_fun_core::value(unsigned idx) vvp_vector4_t& vvp_wide_fun_core::value(unsigned idx)
{ {
assert(idx < nports_); assert(idx < nports_);
assert(port_values_); if (port_values_ == 0)
port_values_ = new vvp_vector4_t [nports_];
return port_values_[idx]; return port_values_[idx];
} }