Pascal languages prefer signed types to unsigned types thus such a constant is treated as Int64 instead of QWord. This is by design.
What is the behavior of recent Delphi release for such clauses?
But, is this the point of such ridicilous warnings that compiler have to teach me what I want (???) , or that I tell to compiler exactly what I want?
For example, such unsigned 64-bit constants I used as:
const
c64: array [0..1] of QWord =
(
$0000000000000000,
$FFFFFFFFFFFFFFFF
);
Certainly, this implies that compiler is not smart at all if he
force me or
warining me to write something like this:
const
c64: array [0..1] of QWord =
(
QWord($0000000000000000),
QWord($FFFFFFFFFFFFFFFF)
);
That is insane, as I aleady expicitly told to compiler what type of data I use.