summaryrefslogtreecommitdiff
path: root/pp.h
diff options
context:
space:
mode:
authorFather Chrysostomos <sprout@cpan.org>2011-04-08 13:03:56 -0700
committerFather Chrysostomos <sprout@cpan.org>2011-04-08 13:03:56 -0700
commit096c060c3521cdedd801e684e4308ce9cee97019 (patch)
tree684814e29cf7a8585ba47dd3a49463fd2410dc31 /pp.h
parent85935d8e7bc504b57c9aea69973920ebe632631d (diff)
downloadperl-096c060c3521cdedd801e684e4308ce9cee97019.tar.gz
Revert parts of c31c291..96b6b87
This restores the old definition of dPOPTOPiirl_nomg from before 96b6b87 and the old definition of dPOPXiirl_ul_nomg from before e62ca0f (except for a bug fix: POPi cannot be used since it’s magical). It also reverts most of c31c291. This does mean that uninitialized warnings for various operators are back in reverse order. So I am reinstating a bug with this commit. But that bug was never a 5.14 blocker and so should never have been fixed during code freeze (and there is the slight possibility that the fix would break sensitive test suites). It was only fixed ‘for free’ as a side effect of fixing [perl #87708], but that bug turned out to have a better fix (commit 75ea7a1) that allows these changes to be reverted.
Diffstat (limited to 'pp.h')
-rw-r--r--pp.h13
1 files changed, 3 insertions, 10 deletions
diff --git a/pp.h b/pp.h
index ca45f61687..5cde92b047 100644
--- a/pp.h
+++ b/pp.h
@@ -355,10 +355,9 @@ Does not use C<TARG>. See also C<XPUSHu>, C<mPUSHu> and C<PUSHu>.
SV *leftsv = CAT2(X,s); \
IV left = USE_LEFT(leftsv) ? SvIV(leftsv) : 0
#define dPOPXiirl_ul_nomg(X) \
- SV *rightsv = POPs; \
+ IV right = (sp--, SvIV_nomg(TOPp1s)); \
SV *leftsv = CAT2(X,s); \
- IV left = USE_LEFT(leftsv) ? SvIV_nomg(leftsv) : 0; \
- IV right = SvIV_nomg(rightsv)
+ IV left = USE_LEFT(leftsv) ? SvIV_nomg(leftsv) : 0
#define dPOPPOPssrl dPOPXssrl(POP)
#define dPOPPOPnnrl dPOPXnnrl(POP)
@@ -371,17 +370,11 @@ Does not use C<TARG>. See also C<XPUSHu>, C<mPUSHu> and C<PUSHu>.
#define dPOPTOPnnrl_ul dPOPXnnrl_ul(TOP)
#define dPOPTOPnnrl_nomg \
NV right = SvNV_nomg(TOPs); NV left = (sp--, SvNV_nomg(TOPs))
-#ifdef PERL_CORE
-# define dPOPTOPnnrl_halfmg \
- NV left = SvNV_nomg(TOPm1s); \
- NV right = TOPs == TOPm1s ? SvNV(TOPs) : SvNV_nomg(TOPs); sp--
-#endif
#define dPOPTOPiirl dPOPXiirl(TOP)
#define dPOPTOPiirl_ul dPOPXiirl_ul(TOP)
#define dPOPTOPiirl_ul_nomg dPOPXiirl_ul_nomg(TOP)
#define dPOPTOPiirl_nomg \
- IV left = SvIV_nomg(TOPm1s); \
- IV right = (sp--, TOPp1s == TOPs ? SvIV(TOPs) : SvIV_nomg(TOPp1s))
+ IV right = SvIV_nomg(TOPs); IV left = (sp--, SvIV_nomg(TOPs))
#define RETPUSHYES RETURNX(PUSHs(&PL_sv_yes))
#define RETPUSHNO RETURNX(PUSHs(&PL_sv_no))