diff options
author | Father Chrysostomos <sprout@cpan.org> | 2011-04-05 21:39:01 -0700 |
---|---|---|
committer | Father Chrysostomos <sprout@cpan.org> | 2011-04-05 22:21:01 -0700 |
commit | c31c2913381bad74c5f1f5c67c4d9c6e037550ad (patch) | |
tree | 37b444f97af6a3be1c7a487e627cd7541a85aa25 /pp.h | |
parent | 801eb0831ada14406f0f0900110602ffb6aa5476 (diff) | |
download | perl-c31c2913381bad74c5f1f5c67c4d9c6e037550ad.tar.gz |
[perl #87708] atan2 $tied, $tied
This fixes atan2 when the same tied scalar is used for both operands
and returns two different values. Before this commit, get-magic would
be called only once and the same value used. In 5.12.x, the operands
would be reversed.
Diffstat (limited to 'pp.h')
-rw-r--r-- | pp.h | 5 |
1 files changed, 5 insertions, 0 deletions
@@ -370,6 +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) |