summaryrefslogtreecommitdiff
path: root/pp.h
diff options
context:
space:
mode:
authorTon Hospel <perl5-porters@ton.iguana.be>2004-12-23 17:55:13 +0000
committerRafael Garcia-Suarez <rgarciasuarez@gmail.com>2004-12-24 13:42:08 +0000
commit16e7e110aa309fe46949255956fb809489906231 (patch)
treef4128a69a3533f0cf086766f4af3813908cf40b2 /pp.h
parent91f668c3f8088a8ade9864ff2621af073dcb5766 (diff)
downloadperl-16e7e110aa309fe46949255956fb809489906231.tar.gz
Missign STATEMENT brackets in PUSHMARK
Message-Id: <cqf0q1$9cc$1@post.home.lunix> p4raw-id: //depot/perl@23680
Diffstat (limited to 'pp.h')
-rw-r--r--pp.h34
1 files changed, 20 insertions, 14 deletions
diff --git a/pp.h b/pp.h
index 40b16e6bf2..82635dfd80 100644
--- a/pp.h
+++ b/pp.h
@@ -55,9 +55,12 @@ Refetch the stack pointer. Used after a callback. See L<perlcall>.
#define MARK mark
#define TARG targ
-#define PUSHMARK(p) if (++PL_markstack_ptr == PL_markstack_max) \
- markstack_grow(); \
- *PL_markstack_ptr = (p) - PL_stack_base
+#define PUSHMARK(p) \
+ STMT_START { \
+ if (++PL_markstack_ptr == PL_markstack_max) \
+ markstack_grow(); \
+ *PL_markstack_ptr = (p) - PL_stack_base; \
+ } STMT_END
#define TOPMARK (*PL_markstack_ptr)
#define POPMARK (*PL_markstack_ptr--)
@@ -70,7 +73,7 @@ Refetch the stack pointer. Used after a callback. See L<perlcall>.
#define ORIGMARK (PL_stack_base + origmark)
#define SPAGAIN sp = PL_stack_sp
-#define MSPAGAIN sp = PL_stack_sp; mark = ORIGMARK
+#define MSPAGAIN STMT_START { sp = PL_stack_sp; mark = ORIGMARK; } STMT_END
#define GETTARGETSTACKED targ = (PL_op->op_flags & OPf_STACKED ? POPs : PAD_SV(PL_op->op_targ))
#define dTARGETSTACKED SV * GETTARGETSTACKED
@@ -437,17 +440,20 @@ and C<PUSHu>.
#define tryAMAGICun(meth) tryAMAGICunW(meth,SETsvUN,0,RETURN)
#define tryAMAGICunSET(meth) tryAMAGICunW(meth,SETs,0,RETURN)
#define tryAMAGICunTARGET(meth, shift) \
- { dSP; sp--; /* get TARGET from below PL_stack_sp */ \
+ STMT_START { dSP; sp--; /* get TARGET from below PL_stack_sp */ \
{ dTARGETSTACKED; \
- { dSP; tryAMAGICunW(meth,FORCE_SETs,shift,RETURN);}}}
-
-#define setAGAIN(ref) sv = ref; \
- if (!SvROK(ref)) \
- Perl_croak(aTHX_ "Overloaded dereference did not return a reference"); \
- if (ref != arg && SvRV(ref) != SvRV(arg)) { \
- arg = ref; \
- goto am_again; \
- }
+ { dSP; tryAMAGICunW(meth,FORCE_SETs,shift,RETURN);}}} STMT_END
+
+#define setAGAIN(ref) \
+ STMT_START { \
+ sv = ref; \
+ if (!SvROK(ref)) \
+ Perl_croak(aTHX_ "Overloaded dereference did not return a reference"); \
+ if (ref != arg && SvRV(ref) != SvRV(arg)) { \
+ arg = ref; \
+ goto am_again; \
+ } \
+ } STMT_END
#define tryAMAGICunDEREF(meth) tryAMAGICunW(meth,setAGAIN,0,(void)0)