X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=scope.h;h=01fc083804bcdd36a3c0165d59d287cbf41ba871;hb=864dbfa3ca8032ef66f7aa86961933b19b962357;hp=340ca993cedfb2c203700e867364099b1ebfacef;hpb=fdf134946da249a71c49962435817212b8fa195a;p=p5sagit%2Fp5-mst-13.2.git diff --git a/scope.h b/scope.h index 340ca99..01fc083 100644 --- a/scope.h +++ b/scope.h @@ -82,16 +82,13 @@ #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 { \