In perl.git, the branch blead has been updated <http://perl5.git.perl.org/perl.git/commitdiff/20c46147ebf1319e284a39fb6afe6a572f067e47?hp=b3725d49f914ef2bed63d7eb92a72ef6e886b489>
- Log ----------------------------------------------------------------- commit 20c46147ebf1319e284a39fb6afe6a572f067e47 Author: David Mitchell <[email protected]> Date: Tue Feb 10 15:03:54 2015 +0000 remove invalid ASSUME from MULTIDEREF code RT #123735 The code that examines ops looking for OP_MULTIDEREF candidates, makes assertions about what flags it think can be present on ops; the idea being that if those assumptions change, the optimisation code may need changing too. However, the following syntax-errored code print my(r) can trigger the assertion about PARENS not being set on an OP_GV. So don't assert that. ----------------------------------------------------------------------- Summary of changes: op.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/op.c b/op.c index db53f97..dea09cf 100644 --- a/op.c +++ b/op.c @@ -12891,7 +12891,8 @@ Perl_rpeep(pTHX_ OP *o) * update the code accordingly. This applies to all the * other ASSUMEs in the block of code too. */ - ASSUME(!(o2->op_flags & ~(OPf_WANT|OPf_MOD|OPf_SPECIAL))); + ASSUME(!(o2->op_flags & + ~(OPf_WANT|OPf_MOD|OPf_PARENS|OPf_SPECIAL))); ASSUME(!(o2->op_private & ~OPpEARLY_CV)); o2 = o2->op_next; -- Perl5 Master Repository
