diff options
Diffstat (limited to 'main/perl-params-classify/Params-Classify-0.013-Fix-5.25-or-5.22-24-with-PERL_OP_PARENT.patch')
-rw-r--r-- | main/perl-params-classify/Params-Classify-0.013-Fix-5.25-or-5.22-24-with-PERL_OP_PARENT.patch | 95 |
1 files changed, 0 insertions, 95 deletions
diff --git a/main/perl-params-classify/Params-Classify-0.013-Fix-5.25-or-5.22-24-with-PERL_OP_PARENT.patch b/main/perl-params-classify/Params-Classify-0.013-Fix-5.25-or-5.22-24-with-PERL_OP_PARENT.patch deleted file mode 100644 index a3964c8e2b..0000000000 --- a/main/perl-params-classify/Params-Classify-0.013-Fix-5.25-or-5.22-24-with-PERL_OP_PARENT.patch +++ /dev/null @@ -1,95 +0,0 @@ -From 0d301779bd42da52b4f8e13a667499846fc2cc55 Mon Sep 17 00:00:00 2001 -From: Reini Urban <rurban@cpanel.net> -Date: Tue, 14 Jun 2016 17:08:24 +0200 -Subject: [PATCH] Fix 5.25 or 5.22/24 with PERL_OP_PARENT -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Fixes RT #114490 - -Signed-off-by: Petr Písař <ppisar@redhat.com> ---- - lib/Params/Classify.xs | 36 ++++++++++++++++++++++++++---------- - 1 file changed, 26 insertions(+), 10 deletions(-) - -diff --git a/lib/Params/Classify.xs b/lib/Params/Classify.xs -index 15a5ad5..f4012fd 100644 ---- a/lib/Params/Classify.xs -+++ b/lib/Params/Classify.xs -@@ -123,6 +123,22 @@ static void *THX_ptr_table_fetch(pTHX_ PTR_TBL_t *tbl, void *from) - # define sv_is_regexp(sv) 0 - #endif /* <5.11.0 */ - -+ -+#ifndef OpSIBLING -+# ifdef PERL_OP_PARENT -+# define OpSIBLING(o) (0 + (o)->op_moresib ? (o)->op_sibparent : NULL) -+# define OpMAYBESIB_set(o, sib, parent) \ -+ ((o)->op_sibparent = ((o)->op_moresib = cBOOL(sib)) ? (sib) : (parent)) -+# else -+# define OpSIBLING(o) (0 + (o)->op_sibling) -+# if PERL_VERSION_GE(5,11,0) -+# define OpMAYBESIB_set(o, sib, parent) ((o)->op_sibling = (sib)) -+# else -+# define OpMAYBESIB_set(o, sib, parent) ((o)->op_moresib = cBOOL(sib), (o)->op_sibling = (sib)) -+# endif -+# endif -+#endif -+ - #define sv_is_undef(sv) (!sv_is_glob(sv) && !sv_is_regexp(sv) && !SvOK(sv)) - - #define sv_is_string(sv) \ -@@ -631,8 +647,8 @@ static OP *myck_entersub(pTHX_ OP *op) - OP *(*ppfunc)(pTHX); - I32 cvflags; - pushop = cUNOPx(op)->op_first; -- if(!pushop->op_sibling) pushop = cUNOPx(pushop)->op_first; -- for(cvop = pushop; cvop->op_sibling; cvop = cvop->op_sibling) ; -+ if(!OpSIBLING(pushop)) pushop = cUNOPx(pushop)->op_first; -+ for(cvop = pushop; OpSIBLING(cvop); cvop = OpSIBLING(cvop)) ; - if(!(cvop->op_type == OP_RV2CV && - !(cvop->op_private & OPpENTERSUB_AMPER) && - (cv = rvop_cv(cUNOPx(cvop)->op_first)) && -@@ -641,20 +657,20 @@ static OP *myck_entersub(pTHX_ OP *op) - return nxck_entersub(aTHX_ op); - cvflags = CvXSUBANY(cv).any_i32; - op = nxck_entersub(aTHX_ op); /* for prototype checking */ -- aop = pushop->op_sibling; -- bop = aop->op_sibling; -+ aop = OpSIBLING(pushop); -+ bop = OpSIBLING(aop); - if(bop == cvop) { - if(!(cvflags & PC_ALLOW_UNARY)) return op; - unary: -- pushop->op_sibling = bop; -- aop->op_sibling = NULL; -+ OpMAYBESIB_set(pushop, bop, NULL); -+ OpMAYBESIB_set(aop, NULL, NULL); - op_free(op); - op = newUNOP(OP_NULL, 0, aop); - op->op_type = OP_RAND; - op->op_ppaddr = ppfunc; - op->op_private = (U8)cvflags; - return op; -- } else if(bop && bop->op_sibling == cvop) { -+ } else if(bop && OpSIBLING(bop) == cvop) { - if(!(cvflags & PC_ALLOW_BINARY)) return op; - if(ppfunc == THX_pp_check_sclass && - (cvflags & PC_TYPE_MASK) == SCLASS_REF) { -@@ -673,9 +689,9 @@ static OP *myck_entersub(pTHX_ OP *op) - cvflags &= ~PC_TYPE_MASK; - ppfunc = THX_pp_check_dyn_battr; - } -- pushop->op_sibling = cvop; -- aop->op_sibling = NULL; -- bop->op_sibling = NULL; -+ OpMAYBESIB_set(pushop, cvop, NULL); -+ OpMAYBESIB_set(aop, NULL, NULL); -+ OpMAYBESIB_set(bop, NULL, NULL); - op_free(op); - op = newBINOP(OP_NULL, 0, aop, bop); - op->op_type = OP_RAND; --- -2.9.4 - |