diff options
-rw-r--r-- | XSUB.h | 11 |
1 files changed, 7 insertions, 4 deletions
@@ -29,10 +29,13 @@ #define XSINTERFACE_FUNC_SET(cv,f) \ CvXSUBANY(cv).any_dptr = (void (*) _((void*)))(f) -#define XSRETURN(off) \ - STMT_START { \ - PL_stack_sp = PL_stack_base + ax + ((off) - 1); \ - return; \ +#define XSFLUSHARGS \ + PL_stack_sp = PL_stack_base + ax + ((off) - 1) + +#define XSRETURN(off) \ + STMT_START { \ + XSFLUSHARGS; \ + return; \ } STMT_END /* Simple macros to put new mortal values onto the stack. */ |