LoadPinIndexMap uses PinIdLess as its comparator, which calls network_->id(pin) and dereferences the Pin pointer. Three tests created fake Pin* via reinterpret_cast<const Pin*>(&int_var) and inserted them into LoadPinIndexMap, causing undefined behavior. With GCC 15.2.0's hardened std::vector::operator[] bounds checking, this UB manifests as an assertion failure: vector::operator[]: Assertion '__n < this->size()' failed Fix by using empty LoadPinIndexMap for gateDelay/gateDelays/ inputPortDelay calls (the comparator is never invoked on an empty map) and testing wire delay/load slew accessors via ArcDcalcResult::setLoadCount() directly. |
||
|---|---|---|
| .. | ||
| cpp | ||
| CMakeLists.txt | ||
| dcalc_multidriver_test.v | ||
| dcalc_prima_report.ok | ||
| dcalc_prima_report.tcl | ||
| dcalc_test1.v | ||
| regression | ||
| save_ok | ||