diff --git a/tests/webtbs/tw41079.pp b/tests/webtbs/tw41079.pp new file mode 100644 index 0000000000..1f8871f865 --- /dev/null +++ b/tests/webtbs/tw41079.pp @@ -0,0 +1,24 @@ +{ %OPT=-O2 } +program tw41079; +var + A, B, C: QWord; + Fail: Boolean; +begin + A := 140737488355327; + WriteLn('A : ',BinStr(A, 64)); + B := (A shr 47) shl 48; + WriteLn('(A shr 47) shl 48: ',BinStr(B, 64)); + Fail := B <> 0; + C := A shr 47; + WriteLn('C := A shr 47 : ',BinStr(C, 64)); + Fail := Fail or (C <> 0); + C := C shl 48; + WriteLn('C := C shl 48 : ',BinStr(C, 64)); + Fail := Fail or (C <> 0); + if Fail then + begin + WriteLn('FAILED'); + Halt(1); + end; + WriteLn('ok'); +end.