FpDebug: Use {$PUSH} {$T-} ... {$POP} instead of Pointer() typacasts in some places.

This commit is contained in:
Juha 2023-05-21 15:55:12 +03:00
parent 45d42dfd3d
commit becbb68a0d

View File

@ -4062,13 +4062,19 @@ begin
if CIE64^.CIEId = QWord($ffffffffffffffff) then
begin
// It is a CIE
CIE := LoadCiE(CIE64^.Version, @CIE64^.Augmentation[0], Pointer(@CIE64^.CIEId+CIE64^.Length)-Pointer(@CIE64^.Augmentation[0]));
{$PUSH} {$T-} // Would require 2 Pointer() typecasts.
CIE := LoadCiE(CIE64^.Version, @CIE64^.Augmentation[0],
@CIE64^.CIEId+CIE64^.Length-@CIE64^.Augmentation[0]);
{$POP}
CFI.AddCIE(p-inf.RawData, CIE);
end
else
begin
// It is a FDE
FDE := LoadFDE(CFI, FDE64^.CIEPointer, @FDE64^.InitialLocation, Pointer(@FDE64^.CIEPointer+FDE64^.Length)-Pointer(@FDE64^.InitialLocation));
{$PUSH} {$T-}
FDE := LoadFDE(CFI, FDE64^.CIEPointer, @FDE64^.InitialLocation,
@FDE64^.CIEPointer+FDE64^.Length-@FDE64^.InitialLocation);
{$POP}
if Assigned(FDE) then
CFI.AddFDE(FDE);
end;
@ -4081,7 +4087,10 @@ begin
if CIE32^.CIEId = $ffffffff then
begin
// It is a CIE
CIE := LoadCiE(CIE32^.Version, @CIE32^.Augmentation[0], Pointer(@CIE32^.CIEId+CIE32^.Length)-Pointer(@CIE32^.Augmentation[0]));
{$PUSH} {$T-}
CIE := LoadCiE(CIE32^.Version, @CIE32^.Augmentation[0],
@CIE32^.CIEId+CIE32^.Length-@CIE32^.Augmentation[0]);
{$POP}
CFI.AddCIE(p-inf.RawData, CIE);
end
else
@ -4089,7 +4098,8 @@ begin
// It is a FDE
if FDE32^.Length > 0 then
begin
FDE := LoadFDE(CFI, FDE32^.CIEPointer, @FDE32^.InitialLocation, @FDE32^.CIEPointer+FDE32^.Length-@FDE32^.InitialLocation);
FDE := LoadFDE(CFI, FDE32^.CIEPointer, @FDE32^.InitialLocation,
@FDE32^.CIEPointer+FDE32^.Length-@FDE32^.InitialLocation);
if Assigned(FDE) then
CFI.AddFDE(FDE);
end