Mercurial > projects > ldc
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 // |