* fixed flow control handling in case of empty try-blocks and in case of

no default exception catching block

git-svn-id: branches/jvmbackend@18576 -
This commit is contained in:
Jonas Maebe 2011-08-20 08:11:59 +00:00
parent 1dca48bce5
commit 8ec21eb426

View File

@ -131,7 +131,6 @@ implementation
{ try block }
{ set control flow labels for the try block }
flowcontrol:=[fc_inflowcontrol];
hlcg.a_label(current_asmdata.CurrAsmList,begintrylabel);
secondpass(left);
hlcg.a_label(current_asmdata.CurrAsmList,endtrylabel);
@ -177,7 +176,9 @@ implementation
current_except_loc.loc:=LOC_INVALID;
exceptflowcontrol:=flowcontrol;
end;
end
else
exceptflowcontrol:=flowcontrol;
hlcg.a_label(current_asmdata.CurrAsmList,endexceptlabel);
{ restore all saved labels }
@ -321,7 +322,9 @@ implementation
exit;
{ reason: no exception occurred }
hlcg.a_load_const_reg(current_asmdata.CurrAsmList,s32inttype,0,reasonbuf);
end;
end
else
tryflowcontrol:=[fc_inflowcontrol];
{ begin of the finally code }
hlcg.a_label(current_asmdata.CurrAsmList,finallylabel);