Large integer constants need to be suffixed by ULL to work on 32-bit machines

that support "long long".


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13559 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
master
Damien Doligez 2013-04-18 13:52:32 +00:00
parent 7c6c5dcf38
commit 012b6a8f1a
1 changed files with 8 additions and 8 deletions

View File

@ -49,13 +49,13 @@
#define I64_to_double(x) ((double)(x))
#define I64_of_double(x) ((int64)(x))
#define I64_bswap(x) ((((x) & 0x00000000000000FF) << 56) | \
(((x) & 0x000000000000FF00) << 40) | \
(((x) & 0x0000000000FF0000) << 24) | \
(((x) & 0x00000000FF000000) << 8) | \
(((x) & 0x000000FF00000000) >> 8) | \
(((x) & 0x0000FF0000000000) >> 24) | \
(((x) & 0x00FF000000000000) >> 40) | \
(((x) & 0xFF00000000000000) >> 56))
#define I64_bswap(x) ((((x) & 0x00000000000000FFULL) << 56) | \
(((x) & 0x000000000000FF00ULL) << 40) | \
(((x) & 0x0000000000FF0000ULL) << 24) | \
(((x) & 0x00000000FF000000ULL) << 8) | \
(((x) & 0x000000FF00000000ULL) >> 8) | \
(((x) & 0x0000FF0000000000ULL) >> 24) | \
(((x) & 0x00FF000000000000ULL) >> 40) | \
(((x) & 0xFF00000000000000ULL) >> 56))
#endif /* CAML_INT64_NATIVE_H */