Upper dword of qwordbool is not handled properly
Original Reporter info from Mantis: Gorelkin
-
Reporter name: Sergei Gorelkin
Original Reporter info from Mantis: Gorelkin
- Reporter name: Sergei Gorelkin
Description:
On 32-bit targets, trunk compiler ignores the upper part of qwordbool values, at least in integer-to-boolean conversions and "not" operators:
const
qb=qwordbool($1234567800000000);
var
qbv: qwordbool;
qw: qword absolute qbv;
begin
writeln(qb); // TRUE, correct
writeln(not qb); // TRUE, wrong!
writeln(int64(qb)); // 1311768464867721216, correct
writeln(boolean(int64(qb))); // FALSE, wrong!
qw := $1234567800000000;
writeln(not qbv); // TRUE, wrong!
end.