summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorXavier Clerc <xavier.clerc@inria.fr>2013-01-16 08:35:09 +0000
committerXavier Clerc <xavier.clerc@inria.fr>2013-01-16 08:35:09 +0000
commit2885577f838de5142af22e7b360596021715c8ab (patch)
tree49297320dca3b2469a2d583a56108e780cfce9ad
parent5cb2518dd78ce888c86857e7c1bb7eb444b711dd (diff)
PR#5793: integer marshalling is inconsistent between architectures
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13241 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
-rw-r--r--Changes1
-rw-r--r--byterun/extern.c2
2 files changed, 2 insertions, 1 deletions
diff --git a/Changes b/Changes
index f71aea895..3a8be2c0c 100644
--- a/Changes
+++ b/Changes
@@ -89,6 +89,7 @@ Bug fixes:
- PR#5772: problem with marshaling of mutually-recursive functions
- PR#5775: several bug fixes for tools/pprintast.ml
- PR#5785: misbehaviour with abstracted structural type used as GADT index
+- PR#5793: integer marshalling is inconsistent between architectures
- PR#5798: add ARM VFPv2 support for Raspbian (ocamlopt)
- PR#5806: ensure that backtrace tests are always run (testsuite)
- PR#5810: error in switch printing when using -dclambda
diff --git a/byterun/extern.c b/byterun/extern.c
index 4e96bc4c4..ea1280602 100644
--- a/byterun/extern.c
+++ b/byterun/extern.c
@@ -369,7 +369,7 @@ static void extern_rec(value v)
} else if (n >= -(1 << 15) && n < (1 << 15)) {
writecode16(CODE_INT16, n);
#ifdef ARCH_SIXTYFOUR
- } else if (n < -((intnat)1 << 31) || n >= ((intnat)1 << 31)) {
+ } else if (n < -((intnat)1 << 30) || n >= ((intnat)1 << 30)) {
writecode64(CODE_INT64, n);
#endif
} else