]> git.vpit.fr Git - perl/modules/Variable-Magic.git/commitdiff
Represent nulled COPs as B::COP objects
authorVincent Pit <vince@profvince.com>
Fri, 25 Sep 2015 10:09:04 +0000 (12:09 +0200)
committerVincent Pit <vince@profvince.com>
Fri, 25 Sep 2015 10:09:04 +0000 (12:09 +0200)
This change was added to the core B.xs in commit 619dadb5, which was made
public in perl 5.21.7. It is pretty unlikely that magic will ever be called
for these nulled ops, but it is better to keep our chunk of B.xs in sync
with the core.

Magic.xs

index 40b438f831bef3f0d35a5bae6f70960a873f655d..03671cf7ad931059480cca5d1529340e20154e23 100644 (file)
--- a/Magic.xs
+++ b/Magic.xs
@@ -426,8 +426,13 @@ static opclass vmg_opclass(const OP *o) {
   return OPc_NULL;
 #endif
 
- if (o->op_type == 0)
+ if (o->op_type == 0) {
+#if VMG_HAS_PERL(5, 21, 7)
+  if (o->op_targ == OP_NEXTSTATE || o->op_targ == OP_DBSTATE)
+   return OPc_COP;
+#endif
   return (o->op_flags & OPf_KIDS) ? OPc_UNOP : OPc_BASEOP;
+ }
 
  if (o->op_type == OP_SASSIGN)
   return ((o->op_private & OPpASSIGN_BACKWARDS) ? OPc_UNOP : OPc_BINOP);