Stop redefining the prototype for XSUBs.
[gitmo/Class-MOP.git] / mop.c
diff --git a/mop.c b/mop.c
index feae858..126568d 100644 (file)
--- a/mop.c
+++ b/mop.c
@@ -1,7 +1,7 @@
 #include "mop.h"
 
 void
-mop_call_xs (pTHX_ void (*subaddr) (pTHX_ CV *), CV *cv, SV **mark)
+mop_call_xs (pTHX_ XSPROTO(subaddr), CV *cv, SV **mark)
 {
     dSP;
     PUSHMARK(mark);
@@ -222,13 +222,13 @@ static struct {
     DECLARE_KEY(ISA)
 };
 
-inline SV *
+SV *
 mop_prehashed_key_for (mop_prehashed_key_t key)
 {
     return prehashed_keys[key].key;
 }
 
-inline U32
+U32
 mop_prehashed_hash_for (mop_prehashed_key_t key)
 {
     return prehashed_keys[key].hash;
@@ -253,7 +253,7 @@ XS(mop_xs_simple_reader)
     dXSARGS;
 #endif
     register HE *he;
-    mop_prehashed_key_t key = CvXSUBANY(cv).any_i32;
+    mop_prehashed_key_t key = (mop_prehashed_key_t)CvXSUBANY(cv).any_i32;
     SV *self;
 
     if (items != 1) {