瀏覽代碼

* set line info markers properly, resolves #17803

git-svn-id: trunk@17476 -
florian 14 年之前
父節點
當前提交
d9ed5adb21
共有 1 個文件被更改,包括 6 次插入0 次删除
  1. 6 0
      compiler/ncgflw.pas

+ 6 - 0
compiler/ncgflw.pas

@@ -1178,11 +1178,17 @@ implementation
               get_exception_temps(current_asmdata.CurrAsmList,destroytemps);
               new_exception(current_asmdata.CurrAsmList,destroytemps,doobjectdestroyandreraise);
 
+              { except block needs line info }
+              current_asmdata.CurrAsmList.concat(tai_marker.create(mark_NoLineInfoEnd));
+
               { here we don't have to reset flowcontrol           }
               { the default and on flowcontrols are handled equal }
               secondpass(t1);
               exceptflowcontrol:=flowcontrol;
 
+              { don't generate line info for internal cleanup }
+              current_asmdata.CurrAsmList.concat(tai_marker.create(mark_NoLineInfoStart));
+
               cg.a_label(current_asmdata.CurrAsmList,doobjectdestroyandreraise);
 
               free_exception(current_asmdata.CurrAsmList,destroytemps,0,doobjectdestroy,false);