On Wed, Aug 12, 2015 at 05:38:28PM -0700, Tony Cook via RT wrote: > On Wed Aug 12 01:31:29 2015, rurban@cpanel.net wrote: > > > > This is a bug report for perl from rurban@cpanel.net, > > generated with the help of perlbug 1.40 running under perl 5.23.2. > > Fails early when built with -DPERL_OP_PARENT: > > cc -fstack-protector -L/usr/local/lib -o miniperl \ > perlmini.o opmini.o miniperlmain.o gv.o toke.o perly.o pad.o regcomp.o dump.o util.o mg.o reentr.o mro_core.o keywords.o hv.o av.o run.o pp_hot.o sv.o pp.o scope.o pp_ctl.o pp_sys.o doop.o doio.o regexec.o utf8.o taint.o deb.o universal.o globals.o perlio.o perlapi.o numeric.o mathoms.o locale.o pp_pack.o pp_sort.o caretx.o dquote.o time64.o -lpthread -lnsl -ldl -lm -lcrypt -lutil -lc > ./miniperl -w -Ilib -Idist/Exporter/lib -MExporter -e '<?>' || sh -c 'echo >&2 Failed to build miniperl. Please run make minitest; exit 1' > miniperl: op.c:2566: S_finalize_op: Assertion `kid == ((LISTOP*)(o))->op_last' failed. > Aborted > Failed to build miniperl. Please run make minitest I've now applied these two commits, along with: * a temporary hack to the first commit to make it work under PERL_OP_PARENT (now the default); * a third commit which for an OP_SASSIGN with a single arg, sets op_last to be equal to op_first rather than NULL, and so allows the temporary hack and the special-casing in S_finalize_op to be removed. I also added some extra commentary to the two commit messages. 1257c08 sassign is wrongly declared as BASEOP, not BINOP. 354eabf sassign was used as UNOP, optimize {or,and,dor}assign 35a2929 OP_SASSIGN: make op_first==op_last for UNOP -- This email is confidential, and now that you have read it you are legally obliged to shoot yourself. Or shoot a lawyer, if you prefer. If you have received this email in error, place it in its original wrapping and return for a full refund. By opening this email, you accept that Elvis lives.Thread Previous | Thread Next