Merge pull request #1029 from airskywater/airskywater-patch-1
Fix runtime segmentation fault
This commit is contained in:
commit
f0f9070adb
@ -299,7 +299,10 @@ void TimingAnalyser::identify_related_domains()
|
|||||||
std::function<void(const NetInfo *, dict<IdString, delay_t> &, delay_t)> find_net_drivers =
|
std::function<void(const NetInfo *, dict<IdString, delay_t> &, delay_t)> find_net_drivers =
|
||||||
[&](const NetInfo *ni, dict<IdString, delay_t> &drivers, delay_t delay_acc) {
|
[&](const NetInfo *ni, dict<IdString, delay_t> &drivers, delay_t delay_acc) {
|
||||||
// Get driving cell and port
|
// Get driving cell and port
|
||||||
|
if (ni == nullptr) return;
|
||||||
const CellInfo *cell = ni->driver.cell;
|
const CellInfo *cell = ni->driver.cell;
|
||||||
|
if (cell == nullptr) return;
|
||||||
|
|
||||||
const IdString port = ni->driver.port;
|
const IdString port = ni->driver.port;
|
||||||
|
|
||||||
bool didGoUpstream = false;
|
bool didGoUpstream = false;
|
||||||
@ -360,6 +363,9 @@ void TimingAnalyser::identify_related_domains()
|
|||||||
for (const auto &domain : domains) {
|
for (const auto &domain : domains) {
|
||||||
|
|
||||||
const NetInfo *ni = ctx->nets.at(domain.key.clock).get();
|
const NetInfo *ni = ctx->nets.at(domain.key.clock).get();
|
||||||
|
if (ni == nullptr) continue;
|
||||||
|
if (ni->driver.cell == nullptr) continue;
|
||||||
|
|
||||||
dict<IdString, delay_t> drivers;
|
dict<IdString, delay_t> drivers;
|
||||||
find_net_drivers(ni, drivers, 0);
|
find_net_drivers(ni, drivers, 0);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user