[fpc-pascal] Assign int64 to int32 shows no warnings at compilation time
Graeme Geldenhuys
mailinglists at geldenhuys.co.uk
Tue Dec 18 19:22:52 CET 2018
On 18/12/2018 17:52, Jonas Maebe wrote:
> You are assigning an int64 constant to a 32 bit variable here. In your
> Pascal program, you are assigning a 64 bit *variable* to a 32 bit variable.
It makes no difference. MAX_VALUE holds the largest value of a Int64.
https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html#MAX_VALUE
public class Overflow {
public static void main(String[] args) {
int d32;
long d64;
d64 = Long.MAX_VALUE;
d32 = d64;
System.out.println(d32);
System.out.println(d64);
}
}
The same result at compile time:
$ javac Overflow.java
Overflow.java:9: error: incompatible types: possible lossy conversion
from long to int
d32 = d64;
^
1 error
Regards,
Graeme
--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/
My public PGP key: http://tinyurl.com/graeme-pgp
More information about the fpc-pascal
mailing list