Просмотр исходного кода

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 4 лет назад
Родитель
Сommit
0189276a12
1 измененных файлов с 2 добавлено и 0 удалено
  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;