OpenSTA/dcalc
Andreas Wendleder 0e40b4f8a1
Fix UB in dcalc tests: remove fake Pin* pointers from LoadPinIndexMap
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.
2026-04-13 15:35:10 +02:00
..
test Fix UB in dcalc tests: remove fake Pin* pointers from LoadPinIndexMap 2026-04-13 15:35:10 +02:00
ArcDcalcWaveforms.cc use std::format squash 2026-03-16 15:01:38 -07:00
ArcDcalcWaveforms.hh update copyright 2026-03-10 14:57:45 -07:00
ArcDelayCalc.cc string squash 2026-03-28 19:13:35 -07:00
Arnoldi.hh update copyright 2026-03-10 14:57:45 -07:00
Arnoldi.txt arnoldi delay calculator 2018-10-24 14:22:21 -07:00
ArnoldiDelayCalc.cc ArnoldiDelayCalc rcmodel 2026-04-03 11:22:38 -07:00
ArnoldiDelayCalc.hh update copyright 2026-03-10 14:57:45 -07:00
ArnoldiReduce.cc use std::format squash 2026-03-16 15:01:38 -07:00
ArnoldiReduce.hh update copyright 2026-03-10 14:57:45 -07:00
CcsCeffDelayCalc.cc Dmp cleanup 2026-04-03 16:46:05 -07:00
CcsCeffDelayCalc.hh string squash 2026-03-28 19:13:35 -07:00
DcalcAnalysisPt.cc rel 3.0 2026-01-13 09:36:45 -07:00
Delay.cc delayAsString 2026-03-18 16:33:15 -07:00
DelayCalc.cc string squash 2026-03-28 19:13:35 -07:00
DelayCalc.i string squash 2026-03-28 19:13:35 -07:00
DelayCalc.tcl use std::format squash 2026-03-16 15:01:38 -07:00
DelayCalcBase.cc string squash 2026-03-28 19:13:35 -07:00
DelayCalcBase.hh string squash 2026-03-28 19:13:35 -07:00
DelayNormal.cc use std::format squash 2026-03-16 15:01:38 -07:00
DelayScalar.cc use std::format squash 2026-03-16 15:01:38 -07:00
DelaySkewNormal.cc use std::format squash 2026-03-16 15:01:38 -07:00
DmpCeff.cc DMP use std::array 2026-04-04 09:21:01 -07:00
DmpCeff.hh Dmp cleanup 2026-04-03 16:46:05 -07:00
DmpDelayCalc.cc Dmp cleanup 2026-04-03 16:46:05 -07:00
DmpDelayCalc.hh update copyright 2026-03-10 14:57:45 -07:00
FindRoot.cc Dmp cleanup 2026-04-03 16:46:05 -07:00
FindRoot.hh Dmp cleanup 2026-04-03 16:46:05 -07:00
GraphDelayCalc.cc GraphDelayCalc::findInputArcDelay rm Slew 2026-04-03 11:22:38 -07:00
LumpedCapDelayCalc.cc use std::format squash 2026-03-16 15:01:38 -07:00
LumpedCapDelayCalc.hh string squash 2026-03-28 19:13:35 -07:00
NetCaps.cc update copyright 2026-03-10 14:57:45 -07:00
NetCaps.hh update copyright 2026-03-10 14:57:45 -07:00
ParallelDelayCalc.cc lvf squish 2026-03-13 14:06:35 -07:00
ParallelDelayCalc.hh update copyright 2026-03-10 14:57:45 -07:00
PrimaDelayCalc.cc latest STA plus changes to fix prima dcalc and read_spef issues, TCL regression added 2026-04-07 20:48:15 +00:00
PrimaDelayCalc.hh prima ceff 2026-04-04 09:21:34 -07:00
UnitDelayCalc.cc string squash 2026-03-28 19:13:35 -07:00
UnitDelayCalc.hh string squash 2026-03-28 19:13:35 -07:00