comparison gen/statements.cpp @ 1414:303e6422f785

Fix regression dstress.nocompile.finally_07. The EnclosingTryFinally handler should not be set when emitting the landing pad's finally code.
author Christian Kamm <kamm incasoftware de>
date Sat, 23 May 2009 09:02:36 +0200
parents 3f5ea912149d
children e1e93343fc11
comparison
equal deleted inserted replaced
1413:f9285cf14c0d 1414:303e6422f785
590 // set up the landing pad 590 // set up the landing pad
591 // 591 //
592 p->scope() = IRScope(landingpadbb, endbb); 592 p->scope() = IRScope(landingpadbb, endbb);
593 593
594 assert(finalbody); 594 assert(finalbody);
595 gIR->func()->targetScopes.push_back(IRTargetScope(this,new EnclosingTryFinally(this,gIR->func()->landingPad),NULL,NULL));
596 gIR->func()->landingPadInfo.addFinally(finalbody); 595 gIR->func()->landingPadInfo.addFinally(finalbody);
597 gIR->func()->landingPadInfo.push(landingpadbb); 596 gIR->func()->landingPadInfo.push(landingpadbb);
597 gIR->func()->targetScopes.push_back(IRTargetScope(this,new EnclosingTryFinally(this,gIR->func()->landingPad),NULL,NULL));
598 gIR->func()->landingPad = gIR->func()->landingPadInfo.get(); 598 gIR->func()->landingPad = gIR->func()->landingPadInfo.get();
599 599
600 // 600 //
601 // do the try block 601 // do the try block
602 // 602 //