Parcourir la source

Raise internalerror inside RemoveCurentP is called with p=hp1, because it leads to using a class instance after it has been freed

git-svn-id: trunk@47689 -
pierre il y a 4 ans
Parent
commit
0189276a12
1 fichiers modifiés avec 2 ajouts et 0 suppressions
  1. 2 0
      compiler/aoptobj.pas

+ 2 - 0
compiler/aoptobj.pas

@@ -1506,6 +1506,8 @@ Unit AoptObj;
 
     procedure TAOptObj.RemoveCurrentP(var p: tai; const hp1: tai); inline;
       begin
+        if (p=hp1) then
+          internalerror(2020120501);
         UpdateUsedRegs(tai(p.Next));
         AsmL.Remove(p);
         p.Free;