initial stub implementation of implicit thread/this
[p5sagit/p5-mst-13.2.git] / scope.h
diff --git a/scope.h b/scope.h
index 340ca99..01fc083 100644 (file)
--- a/scope.h
+++ b/scope.h
 #define SAVEDELETE(h,k,l) \
          save_delete(SOFT_CAST(HV*)(h), SOFT_CAST(char*)(k), (I32)(l))
 #ifdef PERL_OBJECT
-#define CALLDESTRUCTOR this->*SSPOPDPTR
-#define SAVEDESTRUCTOR(f,p) \
-         save_destructor((DESTRUCTORFUNC)(FUNC_NAME_TO_PTR(f)),        \
-                         SOFT_CAST(void*)(p))
+#define CALLDESTRUCTOR(p) this->*SSPOPDPTR(p)
 #else
-#define CALLDESTRUCTOR *SSPOPDPTR
+#define CALLDESTRUCTOR(p) (*SSPOPDPTR)(aTHX_ p)
+#endif
 #define SAVEDESTRUCTOR(f,p) \
-         save_destructor(SOFT_CAST(void(*)(void*))(FUNC_NAME_TO_PTR(f)), \
+         save_destructor((DESTRUCTORFUNC_t)(FUNC_NAME_TO_PTR(f)),      \
                          SOFT_CAST(void*)(p))
-#endif
 
 #define SAVESTACK_POS() \
     STMT_START {                               \