From: Marcelina Koƛcielnicka Date: Mon, 14 Dec 2020 17:14:42 +0000 (+0100) Subject: timinginfo: Error instead of segfault on const signals. X-Git-Tag: working-ls180~165 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=de991977385330dfd628f15440e90a607842fbc4;p=yosys.git timinginfo: Error instead of segfault on const signals. Reported by @Ravenslofty --- diff --git a/kernel/timinginfo.h b/kernel/timinginfo.h index d818e580b..eba3386d6 100644 --- a/kernel/timinginfo.h +++ b/kernel/timinginfo.h @@ -88,10 +88,10 @@ struct TimingInfo auto src = cell->getPort(ID::SRC); auto dst = cell->getPort(ID::DST); for (const auto &c : src.chunks()) - if (!c.wire->port_input) + if (!c.wire || !c.wire->port_input) log_error("Module '%s' contains specify cell '%s' where SRC '%s' is not a module input.\n", log_id(module), log_id(cell), log_signal(src)); for (const auto &c : dst.chunks()) - if (!c.wire->port_output) + if (!c.wire || !c.wire->port_output) log_error("Module '%s' contains specify cell '%s' where DST '%s' is not a module output.\n", log_id(module), log_id(cell), log_signal(dst)); int rise_max = cell->getParam(ID::T_RISE_MAX).as_int(); int fall_max = cell->getParam(ID::T_FALL_MAX).as_int();