diff --git a/tests/webtbs/tw8282.pp b/tests/webtbs/tw8282.pp index 633e6d0d6b..cc6a219cdc 100644 --- a/tests/webtbs/tw8282.pp +++ b/tests/webtbs/tw8282.pp @@ -58,12 +58,12 @@ begin Result.Hi32 := 0; end else if Right < 32 then begin Result.Hi32 := Left.Hi32 shr Right; - Result.Mid32 := (Left.Mid32 shr Right) or (Left.Hi32 shl (32 - Right)); + Result.Mid32 := (Left.Mid32 shr Right) or dword(Left.Hi32 shl (32 - Right)); Result.Lo32 := (Left.Lo32 shr Right) or (Left.Mid32 shl (32 - Right)); end else if Right < 64 then begin Result.Hi32 := 0; Result.Mid32 := Left.Hi32 shr (Right-32); - Result.Lo32 := (Left.Mid32 shr (Right-32)) or (Left.Hi32 shl (64 - Right)); + Result.Lo32 := longint(Left.Mid32 shr (Right-32)) or (Left.Hi32 shl (64 - Right)); end else if Right < 96 then begin Result.Hi32 := 0; Result.Mid32 := 0; @@ -96,7 +96,7 @@ begin end else if Right < 32 then begin Result.Lo32 := Left.Lo32 shl Right; Result.Mid32 := (Left.Mid32 shl Right) or (Left.Lo32 shr (32 - Right)); - Result.Hi32 := (Left.Hi32 shl Right) or (Left.Mid32 shr (32 - Right)); + Result.Hi32 := (Left.Hi32 shl Right) or longint(Left.Mid32 shr (32 - Right)); end else if Right < 64 then begin Result.Lo32 := 0; Result.Mid32 := Left.Lo32 shl (Right-32);