Hans Aberg <[email protected]> writes:
> The 'make check' gives this error, on OS X 10.7.2 using the compiler
> i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 supplied by Xcode 4.2.1:
>
> PASS: test-asmobs
> bad return from expression `(f-sum -1 2000 -30000 40000000000)': expected
> 39999971999; got 39999972255
I may be stating the obvious here, but the -1, which is declared to be
of type 'scm_t_int8' in the C function being called, is apparently being
interpreted as 255. This suggests that whatever is handling its
promotion to a full int is failing to extend its sign bit. I'm guessing
that this is libffi's job.
Hans: can you please verify that your libffi's 'make check' passes all
tests on your platform? If it passes, and if this ends up being a
different build of 'libffi' than you were previously using, it would be
helpful if you could install the newly-built 'libffi', then do a fresh
rebuild of Guile 2.0.5 and see if that fixes the problem.
Thanks,
Mark