scm_t_int64 test_ffi_sum (scm_t_int8 a, scm_t_int16 b,
scm_t_int32 c, scm_t_int64 d);
scm_t_int64 test_ffi_sum (scm_t_int8 a, scm_t_int16 b,
scm_t_int32 c, scm_t_int64 d)
{
scm_t_int64 sum;
printf("scm_t_int64 d %" "ll" "d" " %#llX \n", d,d);
printf("scm_t_int32 c %" "d" " %#X \n", c,c);
printf("scm_t_int16 b %" "hd" " %#X \n", b,b);
printf("scm_t_int8 a %" "hh" "d" " %#X \n", a,a);
sum = d + c + b + a;
printf("scm_t_int64 sum %" "ll" "d" " %#llX \n", sum,sum);
a = -1; // NOTE re-assinging of a!
printf("scm_t_int16 a %" "hd" " %#X \n", a,a);
return d + c + b + a;
}
scm_t_int64 d 40000000000 0X9502F9000
scm_t_int32 c -30000 0XFFFF8AD0
scm_t_int16 b 2000 0X7D0
scm_t_int8 a -1 0XFF
scm_t_int64 sum 39999972255 0X9502F239F
scm_t_int16 a -1 0XFFFFFFFF
PASS: test-ffi