Browse Source

* set line info markers properly, resolves #17803

git-svn-id: trunk@17476 -
florian 14 years ago
parent
commit
d9ed5adb21
1 changed files with 6 additions and 0 deletions
  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);