summaryrefslogtreecommitdiff
path: root/op.c
diff options
context:
space:
mode:
authorFather Chrysostomos <sprout@cpan.org>2011-11-26 16:58:56 -0800
committerFather Chrysostomos <sprout@cpan.org>2011-11-26 17:06:13 -0800
commit98be996420b2ebfac029a00d114efce509421622 (patch)
tree5841898bcf755a8a0067c502d6c6406a7cf9314a /op.c
parentb2711834275e16880cacf0be35f65ba7989095ba (diff)
downloadperl-98be996420b2ebfac029a00d114efce509421622.tar.gz
Make inlined &CORE::__SUB__ the right-sized op
In commit 1a35f9ffb I forgot to make an inlined OP_RUNCV op a PVOP in ck_entersub_args_core (which inlines a &CORE::sub). This caused crashes on Linux, but not on OS X, for some reason.
Diffstat (limited to 'op.c')
-rw-r--r--op.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/op.c b/op.c
index f3088ed545..1ed3dae056 100644
--- a/op.c
+++ b/op.c
@@ -9440,7 +9440,9 @@ Perl_ck_entersub_args_core(pTHX_ OP *entersubop, GV *namegv, SV *protosv)
(void)too_many_arguments(aop, GvNAME(namegv));
op_free(aop);
}
- return newOP(opnum,0);
+ return opnum == OP_RUNCV
+ ? newPVOP(OP_RUNCV,0,NULL)
+ : newOP(opnum,0);
default:
return convert(opnum,0,aop);
}