This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
APItest.xs OUTPUT (was: perl@17206)
[perl5.git] / cop.h
diff --git a/cop.h b/cop.h
index 3b2699e..81733e9 100644 (file)
--- a/cop.h
+++ b/cop.h
@@ -119,7 +119,7 @@ struct block_sub {
 
 #define PUSHSUB(cx)                                                    \
        cx->blk_sub.cv = cv;                                            \
-       cx->blk_sub.olddepth = CvDEPTH(cv);                             \
+       cx->blk_sub.olddepth = (U16)CvDEPTH(cv);                        \
        cx->blk_sub.hasargs = hasargs;                                  \
        cx->blk_sub.lval = PL_op->op_private &                          \
                              (OPpLVAL_INTRO|OPpENTERSUB_INARGS);
@@ -241,12 +241,16 @@ struct block_loop {
 #  define CX_ITERDATA_SET(cx,idata)                                    \
        cx->blk_loop.oldcurpad = PL_curpad;                             \
        if ((cx->blk_loop.iterdata = (idata)))                          \
-           cx->blk_loop.itersave = SvREFCNT_inc(*CxITERVAR(cx));
+           cx->blk_loop.itersave = SvREFCNT_inc(*CxITERVAR(cx));       \
+       else                                                            \
+           cx->blk_loop.itersave = Nullsv;
 #else
 #  define CxITERVAR(c)         ((c)->blk_loop.itervar)
 #  define CX_ITERDATA_SET(cx,ivar)                                     \
        if ((cx->blk_loop.itervar = (SV**)(ivar)))                      \
-           cx->blk_loop.itersave = SvREFCNT_inc(*CxITERVAR(cx));
+           cx->blk_loop.itersave = SvREFCNT_inc(*CxITERVAR(cx));       \
+       else                                                            \
+           cx->blk_loop.itersave = Nullsv;
 #endif
 
 #define PUSHLOOP(cx, dat, s)                                           \
@@ -306,7 +310,7 @@ struct block {
        cx->blk_oldscopesp      = PL_scopestack_ix,                     \
        cx->blk_oldretsp        = PL_retstack_ix,                       \
        cx->blk_oldpm           = PL_curpm,                             \
-       cx->blk_gimme           = gimme;                                \
+       cx->blk_gimme           = (U8)gimme;                            \
        DEBUG_l( PerlIO_printf(Perl_debug_log, "Entering block %ld, type %s\n", \
                    (long)cxstack_ix, PL_block_type[CxTYPE(cx)]); )