summaryrefslogtreecommitdiff
path: root/scope.h
diff options
context:
space:
mode:
authorGurusamy Sarathy <gsar@cpan.org>1999-06-07 05:18:34 +0000
committerGurusamy Sarathy <gsar@cpan.org>1999-06-07 05:18:34 +0000
commit864dbfa3ca8032ef66f7aa86961933b19b962357 (patch)
tree4186157b2fc82346ec83e789b065a908a56c1641 /scope.h
parentfdf134946da249a71c49962435817212b8fa195a (diff)
downloadperl-864dbfa3ca8032ef66f7aa86961933b19b962357.tar.gz
initial stub implementation of implicit thread/this
pointer argument; builds/tests on Solaris, win32 hasn't been fixed up yet; proto.h, global.sym and static function decls are now generated from a common database in proto.pl; some inconsistently named perl_foo() things are now Perl_foo(), compatibility #defines provided; perl_foo() (lowercase 'p') reserved for functions that take an explicit context argument; next step: generate #define foo(a,b) Perl_foo(aTHX_ a,b) p4raw-id: //depot/perl@3522
Diffstat (limited to 'scope.h')
-rw-r--r--scope.h11
1 files changed, 4 insertions, 7 deletions
diff --git a/scope.h b/scope.h
index 340ca993ce..01fc083804 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 { \