--- gforth/prim 2006/05/25 22:10:16 1.194 +++ gforth/prim 2006/10/13 17:15:27 1.196 @@ -2698,7 +2698,7 @@ w = ffi_prep_closure((ffi_closure *)a_cl ffi-2@ ( a_addr -- d ) gforth ffi_2fetch #ifdef BUGGY_LONG_LONG -DLO_IS(d, (Cell*)(*a_addr)); +DLO_IS(d, *(Cell*)(*a_addr)); DHI_IS(d, 0); #else d = *(DCell*)(a_addr); @@ -2719,16 +2719,16 @@ w = *(long *)(*gforth_clist++); ffi-arg-longlong ( -- d ) gforth ffi_arg_longlong #ifdef BUGGY_LONG_LONG -DLO_IS(d, (Cell*)(*gforth_clist++)); -DHI_IS(d, -((Cell*)(*gforth_clist++)<0)); +DLO_IS(d, *(Cell*)(*gforth_clist++)); +DHI_IS(d, -(*(Cell*)(*gforth_clist++)<0)); #else d = *(DCell*)(*gforth_clist++); #endif ffi-arg-dlong ( -- d ) gforth ffi_arg_dlong #ifdef BUGGY_LONG_LONG -DLO_IS(d, (Cell*)(*gforth_clist++)); -DHI_IS(d, -((Cell*)(*gforth_clist++)<0)); +DLO_IS(d, *(Cell*)(*gforth_clist++)); +DHI_IS(d, -(*(Cell*)(*gforth_clist++)<0)); #else d = *(Cell*)(*gforth_clist++); #endif @@ -2766,11 +2766,7 @@ ffi-ret-dlong ( d -- ) gforth ffi_ret_dl return 0; ffi-ret-long ( n -- ) gforth ffi_ret_long -#ifdef BUGGY_LONG_LONG -*(Cell*)(gforth_ritem) = DLO(n); -#else *(Cell*)(gforth_ritem) = n; -#endif return 0; ffi-ret-ptr ( c_addr -- ) gforth ffi_ret_ptr