The "inline" bit of that patch was no longer needed, and the ssize_t thing really shouldn't be needed either.
Here's a patch to simplify things: [josh-006.patch] Index: lib/Parrot/OpTrans/CPrederef.pm =================================================================== RCS file: /home/perlcvs/parrot/lib/Parrot/OpTrans/CPrederef.pm,v retrieving revision 1.9 diff -u -r1.9 CPrederef.pm --- lib/Parrot/OpTrans/CPrederef.pm 18 Feb 2002 18:21:21 -0000 1.9 +++ lib/Parrot/OpTrans/CPrederef.pm 18 Feb 2002 19:09:12 -0000 @@ -25,15 +25,10 @@ #define REL_PC ((size_t)(cur_opcode - interpreter->prederef_code)) #define CUR_OPCODE (interpreter->code->byte_code + REL_PC) -#ifdef _MSC_VER -#define inline __inline -typedef int ssize_t; -#endif - static INLINE opcode_t* prederef_to_opcode(struct Parrot_Interp* interpreter, void** prederef_addr) { - ssize_t offset_in_ops; + INTVAL offset_in_ops; if (prederef_addr == NULL) return NULL; offset_in_ops = prederef_addr - interpreter->prederef_code; return (opcode_t*) interpreter->code->byte_code + offset_in_ops; @@ -42,7 +37,7 @@ static INLINE void** opcode_to_prederef(struct Parrot_Interp* interpreter, opcode_t* opcode_addr) { - ssize_t offset_in_ops; + INTVAL offset_in_ops; if (opcode_addr == NULL) return NULL; offset_in_ops = opcode_addr - (opcode_t*) interpreter->code->byte_code; return interpreter->prederef_code + offset_in_ops;