diff --git a/av.h b/av.h index aaf3be64fb..5913e416f0 100644 --- a/av.h +++ b/av.h @@ -236,8 +236,7 @@ to fit one element without extending: */ -#define Perl_newAV(mTHX) MUTABLE_AV(Perl_newSV_type(aTHX_ SVt_PVAV)) - +#define newAV() MUTABLE_AV(newSV_type(SVt_PVAV)) #define newAV_mortal() MUTABLE_AV(newSV_type_mortal(SVt_PVAV)) #define newAV_alloc_x(size) av_new_alloc(size,0) #define newAV_alloc_xz(size) av_new_alloc(size,1) diff --git a/embed.fnc b/embed.fnc index fbb9ad656b..511bb585c9 100644 --- a/embed.fnc +++ b/embed.fnc @@ -2176,7 +2176,7 @@ Xdp |CV * |newATTRSUB_x |I32 floor \ |NULLOK OP *attrs \ |NULLOK OP *block \ |bool o_is_gv -ARdmp |AV * |newAV +AMRbdp |AV * |newAV ARdm |AV * |newAV_alloc_x |SSize_t size ARdm |AV * |newAV_alloc_xz |SSize_t size ARdp |AV * |newAVav |NULLOK AV *oav diff --git a/embed.h b/embed.h index df58ec7dc2..699ace989b 100644 --- a/embed.h +++ b/embed.h @@ -410,7 +410,6 @@ # define newANONSUB(a,b,c) Perl_newANONSUB(aTHX_ a,b,c) # define newARGDEFELEMOP(a,b,c) Perl_newARGDEFELEMOP(aTHX_ a,b,c) # define newASSIGNOP(a,b,c,d) Perl_newASSIGNOP(aTHX_ a,b,c,d) -# define newAV() Perl_newAV(aTHX) # define newAVREF(a) Perl_newAVREF(aTHX_ a) # define newAVav(a) Perl_newAVav(aTHX_ a) # define newAVhv(a) Perl_newAVhv(aTHX_ a) diff --git a/mathoms.c b/mathoms.c index 650c89d029..c645e521b7 100644 --- a/mathoms.c +++ b/mathoms.c @@ -135,6 +135,16 @@ Perl_sv_nounlocking(pTHX_ SV *sv) PERL_UNUSED_ARG(sv); } +AV * +Perl_newAV(pTHX) +{ + return MUTABLE_AV(newSV_type(SVt_PVAV)); + /* sv_upgrade does AvREAL_only(): + AvALLOC(av) = 0; + AvARRAY(av) = NULL; + AvMAX(av) = AvFILLp(av) = -1; */ +} + void Perl_save_freesv(pTHX_ SV *sv) { diff --git a/proto.h b/proto.h index 64349d9a6a..c98176f10f 100644 --- a/proto.h +++ b/proto.h @@ -2790,10 +2790,6 @@ PERL_CALLCONV CV * Perl_newATTRSUB_x(pTHX_ I32 floor, OP *o, OP *proto, OP *attrs, OP *block, bool o_is_gv); #define PERL_ARGS_ASSERT_NEWATTRSUB_X -/* PERL_CALLCONV AV * -Perl_newAV(pTHX) - __attribute__warn_unused_result__; */ - PERL_CALLCONV OP * Perl_newAVREF(pTHX_ OP *o) __attribute__warn_unused_result__; @@ -6000,6 +5996,11 @@ Perl_is_utf8_char_buf(const U8 *buf, const U8 *buf_end); # define PERL_ARGS_ASSERT_IS_UTF8_CHAR_BUF \ assert(buf); assert(buf_end) +PERL_CALLCONV AV * +Perl_newAV(pTHX) + __attribute__warn_unused_result__; +# define PERL_ARGS_ASSERT_NEWAV + PERL_CALLCONV IO * Perl_newIO(pTHX) __attribute__warn_unused_result__;