summaryrefslogtreecommitdiff
path: root/dev-lang/perl/files
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-12-31 13:43:35 +0000
committerV3n3RiX <venerix@redcorelinux.org>2018-12-31 13:43:35 +0000
commit2891d29af8907ce881662f4a02844926d7a293c7 (patch)
tree56979d96839d0827aa52008b81b746b4934d88df /dev-lang/perl/files
parentde49812990871e1705b64051c35161d5e6400269 (diff)
gentoo resync : 31.12.2018
Diffstat (limited to 'dev-lang/perl/files')
-rw-r--r--dev-lang/perl/files/perl-5.26.2-hppa.patch105
1 files changed, 105 insertions, 0 deletions
diff --git a/dev-lang/perl/files/perl-5.26.2-hppa.patch b/dev-lang/perl/files/perl-5.26.2-hppa.patch
new file mode 100644
index 000000000000..83ed944353e5
--- /dev/null
+++ b/dev-lang/perl/files/perl-5.26.2-hppa.patch
@@ -0,0 +1,105 @@
+https://bugs.gentoo.org/634162
+
+Source:
+https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=869122
+
+Index: perl-5.26.0/op.c
+===================================================================
+--- perl-5.26.0.orig/op.c
++++ perl-5.26.0/op.c
+@@ -14832,6 +14832,7 @@ Perl_custom_op_get_field(pTHX_ const OP
+ SV *keysv;
+ HE *he = NULL;
+ XOP *xop;
++ XOPRETANY any;
+
+ static const XOP xop_null = { 0, 0, 0, 0, 0 };
+
+@@ -14874,58 +14875,37 @@ Perl_custom_op_get_field(pTHX_ const OP
+ else
+ xop = INT2PTR(XOP *, SvIV(HeVAL(he)));
+ }
+- {
+- XOPRETANY any;
+- if(field == XOPe_xop_ptr) {
+- any.xop_ptr = xop;
+- } else {
+- const U32 flags = XopFLAGS(xop);
+- if(flags & field) {
+- switch(field) {
+- case XOPe_xop_name:
+- any.xop_name = xop->xop_name;
+- break;
+- case XOPe_xop_desc:
+- any.xop_desc = xop->xop_desc;
+- break;
+- case XOPe_xop_class:
+- any.xop_class = xop->xop_class;
+- break;
+- case XOPe_xop_peep:
+- any.xop_peep = xop->xop_peep;
+- break;
+- default:
+- NOT_REACHED; /* NOTREACHED */
+- break;
+- }
+- } else {
+- switch(field) {
+- case XOPe_xop_name:
+- any.xop_name = XOPd_xop_name;
+- break;
+- case XOPe_xop_desc:
+- any.xop_desc = XOPd_xop_desc;
+- break;
+- case XOPe_xop_class:
+- any.xop_class = XOPd_xop_class;
+- break;
+- case XOPe_xop_peep:
+- any.xop_peep = XOPd_xop_peep;
+- break;
+- default:
+- NOT_REACHED; /* NOTREACHED */
+- break;
+- }
+- }
++
++ if(field == XOPe_xop_ptr) {
++ any.xop_ptr = xop;
++ } else {
++ const U32 flags = XopFLAGS(xop);
++ switch(field) {
++ case XOPe_xop_name:
++ any.xop_name = (flags & field) ? xop->xop_name : XOPd_xop_name;
++ break;
++ case XOPe_xop_desc:
++ any.xop_desc = (flags & field) ? xop->xop_desc : XOPd_xop_desc;
++ break;
++ case XOPe_xop_class:
++ any.xop_class = (flags & field) ? xop->xop_class : XOPd_xop_class;
++ break;
++ case XOPe_xop_peep:
++ any.xop_peep = (flags & field) ? xop->xop_peep : XOPd_xop_peep;
++ break;
++ default:
++ NOT_REACHED; /* NOTREACHED */
++ break;
+ }
+- /* On some platforms (HP-UX, IA64) gcc emits a warning for this function:
+- * op.c: In function 'Perl_custom_op_get_field':
+- * op.c:...: warning: 'any.xop_name' may be used uninitialized in this function [-Wmaybe-uninitialized]
+- * This is because on those platforms (with -DEBUGGING) NOT_REACHED
+- * expands to assert(0), which expands to ((0) ? (void)0 :
+- * __assert(...)), and gcc doesn't know that __assert can never return. */
+- return any;
+ }
++
++ /* On some platforms (HP-UX, IA64) gcc emits a warning for this function:
++ * op.c: In function 'Perl_custom_op_get_field':
++ * op.c:...: warning: 'any.xop_name' may be used uninitialized in this function [-Wmaybe-uninitialized]
++ * This is because on those platforms (with -DEBUGGING) NOT_REACHED
++ * expands to assert(0), which expands to ((0) ? (void)0 :
++ * __assert(...)), and gcc doesn't know that __assert can never return. */
++ return any;
+ }
+
+ /*