X-Git-Url: http://git.vpit.fr/?a=blobdiff_plain;f=autovivification.xs;h=37b6d6509d06b1f3cc2df9462509534114b59a81;hb=c2237219516974eb5eba3b1a71a4b1e49d72c4e0;hp=a36d0a22d46232090ae0b414f1476059f25a10fc;hpb=ff9984e126b58e6eea61a3815ba4e453d426f085;p=perl%2Fmodules%2Fautovivification.git diff --git a/autovivification.xs b/autovivification.xs index a36d0a2..37b6d65 100644 --- a/autovivification.xs +++ b/autovivification.xs @@ -29,6 +29,10 @@ # define A_HAS_RPEEP A_HAS_PERL(5, 13, 5) #endif +#ifndef OP_SIBLING +# define OP_SIBLING(O) ((O)->op_sibling) +#endif + /* ... Thread safety and multiplicity ...................................... */ /* Always safe when the workaround isn't needed */ @@ -929,7 +933,7 @@ STATIC OP *a_ck_xslice(pTHX_ OP *o) { case OP_HSLICE: old_ck = a_old_ck_hslice; if (hint & A_HINT_DO) - a_recheck_rv2xv(cUNOPo->op_first->op_sibling, OP_RV2HV, a_pp_rv2hv); + a_recheck_rv2xv(OP_SIBLING(cUNOPo->op_first), OP_RV2HV, a_pp_rv2hv); break; } o = old_ck(aTHX_ o); @@ -1269,8 +1273,8 @@ PREINIT: GV *gv; PPCODE: { - dMY_CXT; #if A_WORKAROUND_REQUIRE_PROPAGATION + dMY_CXT; { a_ptable_clone_ud ud;