@@ -2159,37 +2159,39 @@ ExpandedExceptionVisitor::expandThru(ExceptionFrom *expanded_from,
21592159 ExceptionThruSeq::Iterator &thru_iter,
21602160 ExceptionThruSeq *expanded_thrus)
21612161{
2162- if (thru_iter.hasNext ()) {
2163- ExceptionThru *thru = thru_iter.next ();
2164- const RiseFallBoth *rf = thru->transition ();
2165- if (thru->pins ()) {
2166- for (const Pin *pin : *thru->pins ()) {
2167- PinSet pins (network_);
2168- pins.insert (pin);
2169- ExceptionThru expanded_thru (&pins, nullptr , nullptr , rf, false , network_);
2170- expanded_thrus->push_back (&expanded_thru);
2171- expandThru (expanded_from, thru_iter, expanded_thrus);
2172- expanded_thrus->pop_back ();
2162+ if (exception_->thrus ()) {
2163+ if (thru_iter.hasNext ()) {
2164+ ExceptionThru *thru = thru_iter.next ();
2165+ const RiseFallBoth *rf = thru->transition ();
2166+ if (thru->pins ()) {
2167+ for (const Pin *pin : *thru->pins ()) {
2168+ PinSet pins (network_);
2169+ pins.insert (pin);
2170+ ExceptionThru expanded_thru (&pins, nullptr , nullptr , rf, false , network_);
2171+ expanded_thrus->push_back (&expanded_thru);
2172+ expandThru (expanded_from, thru_iter, expanded_thrus);
2173+ expanded_thrus->pop_back ();
2174+ }
21732175 }
2174- }
2175- if ( thru->nets ()) {
2176- for ( const Net *net : *thru-> nets ()) {
2177- NetSet nets (network_ );
2178- nets. insert (net );
2179- ExceptionThru expanded_thru ( nullptr , &nets, nullptr , rf, false , network_ );
2180- expanded_thrus-> push_back (&expanded_thru );
2181- expandThru (expanded_from, thru_iter, expanded_thrus);
2182- expanded_thrus-> pop_back ();
2176+ if (thru-> nets ()) {
2177+ for ( const Net *net : * thru->nets ()) {
2178+ NetSet nets (network_);
2179+ nets. insert (net );
2180+ ExceptionThru expanded_thru ( nullptr , &nets, nullptr , rf, false , network_ );
2181+ expanded_thrus-> push_back (&expanded_thru );
2182+ expandThru (expanded_from, thru_iter, expanded_thrus);
2183+ expanded_thrus-> pop_back ( );
2184+ }
21832185 }
2184- }
2185- if ( thru->instances ()) {
2186- for ( const Instance *inst : *thru-> instances ()) {
2187- InstanceSet insts (network_ );
2188- insts. insert (inst );
2189- ExceptionThru expanded_thru ( nullptr , nullptr , &insts, rf, false , network_ );
2190- expanded_thrus-> push_back (&expanded_thru );
2191- expandThru (expanded_from, thru_iter, expanded_thrus);
2192- expanded_thrus-> pop_back ();
2186+ if (thru-> instances ()) {
2187+ for ( const Instance *inst : * thru->instances ()) {
2188+ InstanceSet insts (network_);
2189+ insts. insert (inst );
2190+ ExceptionThru expanded_thru ( nullptr , nullptr , &insts, rf, false , network_ );
2191+ expanded_thrus-> push_back (&expanded_thru );
2192+ expandThru (expanded_from, thru_iter, expanded_thrus);
2193+ expanded_thrus-> pop_back ( );
2194+ }
21932195 }
21942196 }
21952197 }
0 commit comments