Hi Andy: Thanks for your patient help. GNU make and friends is entirely new to me at the detail level. I did the following (starting from scratch):
(0) Starting with the guile-2.0.7 tar ball ./configure && make && make check This used gcc and had 77 warnings and 1 test failure bad return from expression `(f-sum -1 2000 -30000 40000000000)': expected 39999971999; got 39999972255 FAIL: test-ffi (1) Then I did make clean && ./configure CC=/usr/bin/clang && make && make check This used clang and had 87 warnings and 2 test failures bad return from expression `(f-sum -1 2000 -30000 40000000000)': expected 39999971999; got 39999972255 FAIL: test-ffi fail: scm_is_unsigned_integer ((- (expt 2 64) 1), 0, 18446744073709551615) == 1 FAIL: test-conversion (2) Comments: Many of the warnings were common to both compilers. Based on the above tests I still maintain that the compilers are not at fault in their code generation. Instead I suspect something is amiss in the interpreter. (3) Next step: I would like to step through the interpreter as it handles the Scheme/guile code. Although I looked at the manual I am not sure what to do. (4) Questions: (a) Do I need to build a debug version of guile? I note there is a debug flag that can be set. But I don't know where to set it. (b) From previous emails I understand I have to run the meta uninstalled version. Ideally I would like to run from the terminal and stop the interpreter before it executes the byte code for test-ffi. That way one can look at the bytes representing the int8_t and see if the sign bit is set and interpreted correctly for this data type. NOTE: In stdint.h there is a typedef signed char int8_t Again thanks for the patient replies and help respect… Peter