This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
pad.c:pad_reset: Also make sure the thing is not PADMY
authorFather Chrysostomos <sprout@cpan.org>
Tue, 26 Aug 2014 15:31:22 +0000 (08:31 -0700)
committerFather Chrysostomos <sprout@cpan.org>
Thu, 28 Aug 2014 20:04:16 +0000 (13:04 -0700)
commit01b9c8639b85bcd73dfe07ed38cf151dde6a240a
treee19111c100e4b3d780988f4e24c3083c27eb9406
parent28fbeba1ab9c2dcfbb55e568b5d5df2481040bb3
pad.c:pad_reset: Also make sure the thing is not PADMY

We can’t SvPADTMP_off on just anything, because it asserts that the
thing is !SvPADMY.

A range operator has a target of sorts, but that target must not be
shared with any other operators; hence it gets allocated like a
‘my’ variable.  The target thus ends up with the SvPADMY flag set.  We
obviously don’t want to mark those targets as reusable in pad_reset,
so just skip them.

This gets things mostly working under USE_BROKEN_PAD_RESET without
threads, but a few tests still fail.
pad.c