[perl #95548] Returned magical temps are not copied
authorFather Chrysostomos <sprout@cpan.org>
Thu, 5 Jan 2012 07:28:54 +0000 (23:28 -0800)
committerFather Chrysostomos <sprout@cpan.org>
Thu, 5 Jan 2012 07:54:59 +0000 (23:54 -0800)
commit6f48390ab209d16ee8f795f0a83677c8bd9ac69c
tree2fce76bff8a761818c80901e79ea952253f21173
parentb5ed8c445e54e524b4713aa7b79e2f5aa3ed19ef
[perl #95548] Returned magical temps are not copied

return and leavesub, for speed, were not copying temp variables with a
refcount of 1, which is fine as long as the fact that it was not cop-
ied is not observable.

With magical variables, that *can* be observed, so we have to forego
the optimisation and copy the variable if it’s magical.

This obviously applies only to rvalue subs.
pp_ctl.c
pp_hot.c
t/op/gmagic.t