summaryrefslogtreecommitdiff
path: root/pp.c
diff options
context:
space:
mode:
authorFather Chrysostomos <sprout@cpan.org>2014-12-28 17:32:37 -0800
committerFather Chrysostomos <sprout@cpan.org>2014-12-28 17:50:25 -0800
commit245d035e08b34a4c906e1a91131a52501d5b72e4 (patch)
tree5e3efc244eac552b5205a474e17778d7ee8fc332 /pp.c
parent699e9491db1bc1e807b382c0ece25c3ea5748303 (diff)
downloadperl-245d035e08b34a4c906e1a91131a52501d5b72e4.tar.gz
pp.c:pp_negate: No PUTBACK necessary
We don’t manipulate the stack pointer here.
Diffstat (limited to 'pp.c')
-rw-r--r--pp.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/pp.c b/pp.c
index 1ecf4c427a..a5c6977730 100644
--- a/pp.c
+++ b/pp.c
@@ -2263,7 +2263,7 @@ S_negate_string(pTHX)
*SvPV_force_nomg(TARG, len) = *s == '-' ? '+' : '-';
}
else return FALSE;
- SETTARG; PUTBACK;
+ SETTARG;
return TRUE;
}
@@ -2283,21 +2283,21 @@ PP(pp_negate)
/* 2s complement assumption. */
SETi(SvIVX(sv)); /* special case: -((UV)IV_MAX+1) ==
IV_MIN */
- RETURN;
+ return NORMAL;
}
else if (SvUVX(sv) <= IV_MAX) {
SETi(-SvIVX(sv));
- RETURN;
+ return NORMAL;
}
}
else if (SvIVX(sv) != IV_MIN) {
SETi(-SvIVX(sv));
- RETURN;
+ return NORMAL;
}
#ifdef PERL_PRESERVE_IVUV
else {
SETu((UV)IV_MIN);
- RETURN;
+ return NORMAL;
}
#endif
}
@@ -2308,7 +2308,7 @@ PP(pp_negate)
else
SETn(-SvNV_nomg(sv));
}
- RETURN;
+ return NORMAL;
}
PP(pp_not)