Subject: | Compilation error with perl 5.25.1 (op_sibling) |
The module does not compile anymore with perl 5.25.1:
...
cc -c -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_FORTIFY_SOURCE=2 -O2 -pipe -DVERSION=\"0.04\" -DXS_VERSION=\"0.04\" -DPIC -fPIC "-I/usr/perl5.25.1p/lib/5.25.1/amd64-freebsd/CORE" Plain.c
In file included from Plain.xs:94:
In file included from ./hax/scalar.c.inc:3:
./hax/scalarseq.c.inc:22:29: error: no member named 'op_sibling' in 'struct op'
modop = modop_pushmark->op_sibling;
~~~~~~~~~~~~~~ ^
./hax/scalarseq.c.inc:28:16: error: no member named 'op_sibling' in 'struct op'
if (modop->op_sibling)
~~~~~ ^
./hax/scalarseq.c.inc:32:45: error: no member named 'op_sibling' in 'struct op'
if (!(oright = cUNOPx(modop)->op_first->op_sibling)) return;
~~~~~~~~~~~~~~~~~~~~~~~ ^
./hax/scalarseq.c.inc:37:26: error: no member named 'op_sibling' in 'struct op'
oright = oright->op_sibling;
~~~~~~ ^
./hax/scalarseq.c.inc:41:47: error: no member named 'op_sibling' in 'struct op'
oleft_pushmark = cUNOPx(cUNOPo->op_first->op_sibling)->op_first;
~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
... (etc) ...
The problem can be fixed by using the OpSIBLING and OpHAS_SIBLING macros from newest Devel::PPPort.