On 25 Jun 2009, at 20:33, Inoussa OUEDRAOGO wrote:
2009/6/25 Jonas Maebe <jonas.ma...@elis.ugent.be>:
On 25 Jun 2009, at 20:14, Inoussa OUEDRAOGO wrote:
as it makes one doubtfull about
the correctness of the program( In my case I debugged the program to
be sure that the "good" value was assigned).
When it's changed, you will get the warning/error when assigning
this value
to an int64 and then those cases can be debugged.
and that seems more accurate to me
It's equally accurate. A hex number does not contain any sign
information, so both interpretations are valid.
to an int64 and then those cases can be debugged. It's the same
when we
changed from parsing $80000000-$FFFFFFFF as a longint to parsing it
as a
cardinal. Suddenly a whole bunch of code no longer worked correctly
anymore
then either, and we got a bunch of questions why code no longer
compiled or
produced warnings.
IMHO warnings/errors should be reported as one is actually in a "out
of range" case. But if some code depends on this ( such as a bit mask
) changing the behavior of the compiler can effectively be harmfull.
I think that should be up to the people (ab)using the parser this way
to correct their code by doing a explicit typecast.
There is no abuse of the parser. The parser has, since the very first
moment that int64 and qword were supported in FPC, always parsed such
numbers as int64. So people using it like that, are using it as
designed. In fact, before Delphi supported uint64, it also parsed such
values as int64.
Jonas
_______________________________________________
fpc-pascal maillist - fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal