X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=scope.h;h=efaf58909232f240b2bea3afc9a1f93c5c91f6be;hb=8e52752b5f49a78716f0f99e5101dfe233b32cb0;hp=340ca993cedfb2c203700e867364099b1ebfacef;hpb=20ce7b12268a3d32b5b246928de5084322e709cf;p=p5sagit%2Fp5-mst-13.2.git diff --git a/scope.h b/scope.h index 340ca99..efaf589 100644 --- a/scope.h +++ b/scope.h @@ -48,12 +48,12 @@ #define ENTER \ STMT_START { \ push_scope(); \ - DEBUG_l(WITH_THR(deb("ENTER scope %ld at %s:%d\n", \ + DEBUG_l(WITH_THR(Perl_deb(aTHX_ "ENTER scope %ld at %s:%d\n", \ PL_scopestack_ix, __FILE__, __LINE__))); \ } STMT_END #define LEAVE \ STMT_START { \ - DEBUG_l(WITH_THR(deb("LEAVE scope %ld at %s:%d\n", \ + DEBUG_l(WITH_THR(Perl_deb(aTHX_ "LEAVE scope %ld at %s:%d\n", \ PL_scopestack_ix, __FILE__, __LINE__))); \ pop_scope(); \ } STMT_END @@ -81,17 +81,9 @@ #define SAVEGENERICSV(s) save_generic_svref((SV**)&(s)) #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 CALLDESTRUCTOR (*SSPOPDPTR) #define SAVEDESTRUCTOR(f,p) \ - save_destructor((DESTRUCTORFUNC)(FUNC_NAME_TO_PTR(f)), \ - SOFT_CAST(void*)(p)) -#else -#define CALLDESTRUCTOR *SSPOPDPTR -#define SAVEDESTRUCTOR(f,p) \ - save_destructor(SOFT_CAST(void(*)(void*))(FUNC_NAME_TO_PTR(f)), \ - SOFT_CAST(void*)(p)) -#endif + save_destructor((DESTRUCTORFUNC_t)(f), SOFT_CAST(void*)(p)) #define SAVESTACK_POS() \ STMT_START { \ @@ -159,8 +151,8 @@ typedef struct jmpenv JMPENV; * Function that catches/throws, and its callback for the * body of protected processing. */ -typedef void *(CPERLscope(*protect_body_t)) (va_list); -typedef void *(CPERLscope(*protect_proc_t)) (int *, protect_body_t, ...); +typedef void *(CPERLscope(*protect_body_t)) (pTHX_ va_list); +typedef void *(CPERLscope(*protect_proc_t)) (pTHX_ int *, protect_body_t, ...); /* * How to build the first jmpenv.