Fix for raising exceptions skipping opcodes.

This commit is contained in:
Darryl Pogue
2011-10-10 19:49:33 -07:00
parent 2ed124ab59
commit 787650cb2e

View File

@@ -1287,8 +1287,11 @@ PycRef<ASTNode> BuildFromCode(PycRef<PycCode> code, PycModule* mod)
}
curblock->append(new ASTRaise(paramList));
if (curblock->blktype() == ASTBlock::BLK_IF
|| curblock->blktype() == ASTBlock::BLK_ELSE) {
if ((curblock->blktype() == ASTBlock::BLK_IF
|| curblock->blktype() == ASTBlock::BLK_ELSE)
&& stack_hist.size()
&& ((mod->majorVer() == 2 && mod->minorVer() >= 6)
|| mod->majorVer() > 2)) {
stack = stack_hist.top();
stack_hist.pop();