Details
-
Sub-task
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
-
None
Description
We should revisit the places where long data type is used. In posix, long takes 4 bytes in 32 bit architecture and 8 bytes in 64 bit. However, in Windows, long takes 4 bytes no matter what. Because of this, compilation in Windows could finish successfully, but some tests might fail. Additionally compilation in windows will generate many warnings such as "conversion from 'uint64_t' to 'unsigned long', possible loss of data".
We should stick with using int64_t or uint64_t instead whenever we expect the variables are signed or unsigned 8-byte long.