deprecate TimingArcSet::timingArcIterator(), Sdc::clockIterator()

This commit is contained in:
James Cherry 2019-12-29 09:54:42 -08:00
parent 77f22e482e
commit b18ae6f74f
3 changed files with 26 additions and 2 deletions

View File

@ -16,6 +16,29 @@
This file summarizes STA API changes for each release.
The following iterator functions are deprecated:
TimingArcSet::timingArcIterator()
Sdc::clockIterator()
Use the iterator class constructor instead. This avoids new/deletes of
the iterators by stack allocating them. For example,
Instead of
TimingArcSetArcIterator *arc_iter = arc_set->timingArcIterator();
while (arc_iter->hasNext()) {
TimingArc *arc = arc_iter->next();
}
delete arc_iter;
use the following:
TimingArcSetArcIterator arc_iter(arc_set);
while (arc_iter.hasNext()) {
TimingArc *arc = arc_iter.next();
}
Release 2.0.17 2019/11/11
-------------------------

View File

@ -159,7 +159,8 @@ public:
TimingArc *&arc1,
TimingArc *&arc2);
const TimingArcSeq &arcs() const { return arcs_; }
TimingArcSetArcIterator *timingArcIterator();
// Use the TimingArcSetArcIterator(arc_set) constructor instead.
TimingArcSetArcIterator *timingArcIterator() __attribute__ ((deprecated));
TimingArcIndex addTimingArc(TimingArc *arc);
void deleteTimingArc(TimingArc *arc);
TimingArc *findTimingArc(unsigned arc_index);

View File

@ -833,7 +833,7 @@ public:
// Find the clocks defined for pin.
ClockSet *findClocks(const Pin *pin) const;
ClockSet *findLeafPinClocks(const Pin *pin) const;
ClockIterator *clockIterator();
ClockIterator *clockIterator() __attribute__ ((deprecated));
void sortedClocks(ClockSeq &clks);
ClockSeq *clocks() { return &clocks_; }
ClockSeq &clks() { return clocks_; }