} STMT_END
/* Same thing, but update mark register too. */
# define MEXTEND(p,n) STMT_START { \
- const int markoff = mark - PL_stack_base; \
+ const SSize_t markoff = mark - PL_stack_base; \
sp = stack_grow(sp,p,(SSize_t) (n)); \
mark = PL_stack_base + markoff; \
PERL_UNUSED_VAR(sp); \
} STMT_END
#else
# define EXTEND(p,n) STMT_START { \
- if (UNLIKELY(PL_stack_max - p < (int)(n))) { \
+ if (UNLIKELY(PL_stack_max - p < (SSize_t)(n))) { \
sp = stack_grow(sp,p,(SSize_t) (n)); \
PERL_UNUSED_VAR(sp); \
} } STMT_END
/* Same thing, but update mark register too. */
# define MEXTEND(p,n) STMT_START { \
- if (UNLIKELY(PL_stack_max - p < (int)(n))) { \
- const int markoff = mark - PL_stack_base; \
+ if (UNLIKELY(PL_stack_max - p < (SSize_t)(n))) { \
+ const SSize_t markoff = mark - PL_stack_base; \
sp = stack_grow(sp,p,(SSize_t) (n)); \
mark = PL_stack_base + markoff; \
PERL_UNUSED_VAR(sp); \
#define RETSETYES RETURNX(SETs(&PL_sv_yes))
#define RETSETNO RETURNX(SETs(&PL_sv_no))
#define RETSETUNDEF RETURNX(SETs(&PL_sv_undef))
+#define RETSETTARG STMT_START { SETTARG; RETURN; } STMT_END
#define ARGTARG PL_op->op_targ
- /* See OPpTARGET_MY: */
#define MAXARG (PL_op->op_private & OPpARG4_MASK)
#define SWITCHSTACK(f,t) \
} STMT_END
#define EXTEND_MORTAL(n) \
- STMT_START { \
- if (UNLIKELY(PL_tmps_ix + (n) >= PL_tmps_max)) \
- tmps_grow(n); \
+ STMT_START { \
+ SSize_t eMiX = PL_tmps_ix + (n); \
+ if (UNLIKELY(eMiX >= PL_tmps_max)) \
+ (void)Perl_tmps_grow_p(aTHX_ eMiX); \
} STMT_END
#define AMGf_noright 1
#define AMGf_numeric 0x10 /* for Perl_try_amagic_bin */
#define AMGf_set 0x20 /* for Perl_try_amagic_bin */
#define AMGf_want_list 0x40
+#define AMGf_numarg 0x80
/* do SvGETMAGIC on the stack args before checking for overload */
{ \
SPAGAIN; \
if (gimme == G_VOID) { \
- (void)POPs; /* XXX ??? */ \
+ NOOP; \
} \
else if (gimme == G_ARRAY) { \
SSize_t i; \
#define opASSIGN (PL_op->op_flags & OPf_STACKED)
-#define SETsv(sv) STMT_START { \
- if (opASSIGN || (SvFLAGS(TARG) & SVs_PADMY)) \
- { sv_setsv(TARG, (sv)); SETTARG; } \
- else SETs(sv); } STMT_END
-
-#define SETsvUN(sv) STMT_START { \
- if (SvFLAGS(TARG) & SVs_PADMY) \
- { sv_setsv(TARG, (sv)); SETTARG; } \
- else SETs(sv); } STMT_END
/*
=for apidoc mU||LVRET
#endif
/*
- * Local variables:
- * c-indentation-style: bsd
- * c-basic-offset: 4
- * indent-tabs-mode: nil
- * End:
- *
* ex: set ts=8 sts=4 sw=4 et:
*/