assert(stash)
PERL_CALLCONV const char * Perl_PerlIO_context_layers(pTHX_ const char *mode);
+PERL_CALLCONV HV* Perl__swash_inversion_hash(pTHX_ SV *swash)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT__SWASH_INVERSION_HASH \
+ assert(swash)
+
PERL_CALLCONV PADOFFSET Perl_allocmy(pTHX_ const char *const name, const STRLEN len, const U32 flags)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_ALLOCMY \
#define PERL_ARGS_ASSERT_AMAGIC_CALL \
assert(left); assert(right)
+PERL_CALLCONV SV * Perl_amagic_deref_call(pTHX_ SV *ref, int method)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_AMAGIC_DEREF_CALL \
+ assert(ref)
+
PERL_CALLCONV I32 Perl_apply(pTHX_ I32 type, SV** mark, SV** sp)
__attribute__nonnull__(pTHX_2)
__attribute__nonnull__(pTHX_3);
PERL_CALLCONV void Perl_boot_core_PerlIO(pTHX);
PERL_CALLCONV void Perl_boot_core_UNIVERSAL(pTHX);
PERL_CALLCONV void Perl_boot_core_mro(pTHX);
+PERL_CALLCONV int Perl_bytes_cmp_utf8(pTHX_ const U8 *b, STRLEN blen, const U8 *u, STRLEN ulen)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_3);
+#define PERL_ARGS_ASSERT_BYTES_CMP_UTF8 \
+ assert(b); assert(u)
+
PERL_CALLCONV U8* Perl_bytes_from_utf8(pTHX_ const U8 *s, STRLEN *len, bool *is_utf8)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
#define PERL_ARGS_ASSERT_CK_OPEN \
assert(o)
+PERL_CALLCONV OP * Perl_ck_push(pTHX_ OP *o)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_CK_PUSH \
+ assert(o)
+
PERL_CALLCONV OP * Perl_ck_readline(pTHX_ OP *o)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
PERL_CALLCONV OP* Perl_convert(pTHX_ I32 optype, I32 flags, OP* o)
__attribute__warn_unused_result__;
-PERL_CALLCONV HV* Perl_cop_hints_2hv(pTHX_ const COP *cop)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_COP_HINTS_2HV \
- assert(cop)
-
-/* PERL_CALLCONV SV* cop_hints_fetchpv(pTHX_ const COP *cop, const char *const key, int flags, U32 hash)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2); */
-
-PERL_CALLCONV SV* Perl_cop_hints_fetchpvn(pTHX_ const COP *cop, const char *key, STRLEN klen, int flags, U32 hash)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_COP_HINTS_FETCHPVN \
- assert(cop); assert(key)
-
-/* PERL_CALLCONV SV* cop_hints_fetchpvs(pTHX_ const COP *cop, const char *const key)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2); */
-
-/* PERL_CALLCONV SV* cop_hints_fetchsv(pTHX_ const COP *cop, SV *keysv, U32 hash)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2); */
-
PERL_CALLCONV PERL_CONTEXT* Perl_create_eval_scope(pTHX_ U32 flags);
PERL_CALLCONV void Perl_croak(pTHX_ const char* pat, ...)
__attribute__noreturn__
#define PERL_ARGS_ASSERT_CUSTOM_OP_NAME \
assert(o)
+PERL_CALLCONV void Perl_custom_op_register(pTHX_ Perl_ppaddr_t ppaddr, const XOP *xop)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_CUSTOM_OP_REGISTER \
+ assert(ppaddr); assert(xop)
+
+PERL_CALLCONV const XOP * Perl_custom_op_xop(pTHX_ const OP *o)
+ __attribute__pure__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_CUSTOM_OP_XOP \
+ assert(o)
+
PERL_CALLCONV void Perl_cv_ckproto_len(pTHX_ const CV* cv, const GV* gv, const char* p, const STRLEN len)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_CV_CKPROTO_LEN \
#define PERL_ARGS_ASSERT_CVGV_SET \
assert(cv)
+PERL_CALLCONV void Perl_cvstash_set(pTHX_ CV* cv, HV* stash)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_CVSTASH_SET \
+ assert(cv)
+
PERL_CALLCONV void Perl_cx_dump(pTHX_ PERL_CONTEXT* cx)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_CX_DUMP \
#define PERL_ARGS_ASSERT_DO_BINMODE \
assert(fp)
-PERL_CALLCONV I32 Perl_do_chomp(pTHX_ SV* sv)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_DO_CHOMP \
- assert(sv)
-
-PERL_CALLCONV void Perl_do_chop(pTHX_ SV *astr, SV *sv)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_DO_CHOP \
- assert(astr); assert(sv)
-
PERL_CALLCONV bool Perl_do_close(pTHX_ GV* gv, bool not_implicit);
PERL_CALLCONV void Perl_do_dump_pad(pTHX_ I32 level, PerlIO *file, PADLIST *padlist, int full)
__attribute__nonnull__(pTHX_2);
#define PERL_ARGS_ASSERT_FOLDEQ \
assert(a); assert(b)
+PERL_CALLCONV I32 Perl_foldEQ_latin1(const char* a, const char* b, I32 len)
+ __attribute__pure__
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(2);
+#define PERL_ARGS_ASSERT_FOLDEQ_LATIN1 \
+ assert(a); assert(b)
+
PERL_CALLCONV I32 Perl_foldEQ_locale(const char* a, const char* b, I32 len)
__attribute__pure__
__attribute__nonnull__(1)
#define PERL_ARGS_ASSERT_HV_EITER_SET \
assert(hv)
+PERL_CALLCONV void Perl_hv_ename_add(pTHX_ HV *hv, const char *name, U32 len, U32 flags)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_HV_ENAME_ADD \
+ assert(hv); assert(name)
+
+PERL_CALLCONV void Perl_hv_ename_delete(pTHX_ HV *hv, const char *name, U32 len, U32 flags)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_HV_ENAME_DELETE \
+ assert(hv); assert(name)
+
/* PERL_CALLCONV bool Perl_hv_exists(pTHX_ HV *hv, const char *key, I32 klen)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_2); */
/* PERL_CALLCONV SV** Perl_hv_store(pTHX_ HV *hv, const char *key, I32 klen, SV *val, U32 hash); */
/* PERL_CALLCONV HE* Perl_hv_store_ent(pTHX_ HV *hv, SV *key, SV *val, U32 hash); */
/* PERL_CALLCONV SV** Perl_hv_store_flags(pTHX_ HV *hv, const char *key, I32 klen, SV *val, U32 hash, int flags); */
-PERL_CALLCONV void Perl_hv_undef(pTHX_ HV *hv);
+/* PERL_CALLCONV void hv_undef(pTHX_ HV *hv); */
+PERL_CALLCONV void Perl_hv_undef_flags(pTHX_ HV *hv, U32 flags);
/* PERL_CALLCONV I32 ibcmp(pTHX_ const char* a, const char* b, I32 len)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2); */
PERL_CALLCONV MAGIC* Perl_mg_find(pTHX_ const SV* sv, int type)
__attribute__warn_unused_result__;
+PERL_CALLCONV MAGIC* Perl_mg_findext(pTHX_ const SV* sv, int type, const MGVTBL *vtbl)
+ __attribute__warn_unused_result__;
+
PERL_CALLCONV int Perl_mg_free(pTHX_ SV* sv)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_MG_FREE \
#define PERL_ARGS_ASSERT_MRO_GET_PRIVATE_DATA \
assert(smeta); assert(which)
-/* PERL_CALLCONV void mro_isa_changed_in(pTHX_ HV* stash)
- __attribute__nonnull__(pTHX_1); */
+PERL_CALLCONV void Perl_mro_isa_changed_in(pTHX_ HV* stash)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_MRO_ISA_CHANGED_IN \
+ assert(stash)
-PERL_CALLCONV void Perl_mro_isa_changed_in3(pTHX_ HV* stash, const char *stashname, STRLEN stashname_len);
PERL_CALLCONV struct mro_meta* Perl_mro_meta_init(pTHX_ HV* stash)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_MRO_META_INIT \
#define PERL_ARGS_ASSERT_MRO_METHOD_CHANGED_IN \
assert(stash)
-PERL_CALLCONV void Perl_mro_package_moved(pTHX_ HV * const stash, const HV * const oldstash, const GV * const gv, const char *newname, I32 newname_len);
+PERL_CALLCONV void Perl_mro_package_moved(pTHX_ HV * const stash, HV * const oldstash, const GV * const gv, U32 flags)
+ __attribute__nonnull__(pTHX_3);
+#define PERL_ARGS_ASSERT_MRO_PACKAGE_MOVED \
+ assert(gv)
+
PERL_CALLCONV void Perl_mro_register(pTHX_ const struct mro_alg *mro)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_MRO_REGISTER \
__attribute__malloc__
__attribute__warn_unused_result__;
-PERL_CALLCONV OP* Perl_newFOROP(pTHX_ I32 flags, char* label, line_t forline, OP* sv, OP* expr, OP* block, OP* cont)
+PERL_CALLCONV OP* Perl_newFOROP(pTHX_ I32 flags, OP* sv, OP* expr, OP* block, OP* cont)
__attribute__malloc__
__attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_5);
+ __attribute__nonnull__(pTHX_3);
#define PERL_ARGS_ASSERT_NEWFOROP \
assert(expr)
__attribute__malloc__
__attribute__warn_unused_result__;
-PERL_CALLCONV CV* Perl_newSUB(pTHX_ I32 floor, OP* o, OP* proto, OP* block);
+/* PERL_CALLCONV CV* Perl_newSUB(pTHX_ I32 floor, OP* o, OP* proto, OP* block); */
PERL_CALLCONV SV* Perl_newSV(pTHX_ const STRLEN len)
__attribute__malloc__
__attribute__warn_unused_result__;
#define PERL_ARGS_ASSERT_NEWWHENOP \
assert(block)
-PERL_CALLCONV OP* Perl_newWHILEOP(pTHX_ I32 flags, I32 debuggable, LOOP* loop, I32 whileline, OP* expr, OP* block, OP* cont, I32 has_my)
+PERL_CALLCONV OP* Perl_newWHILEOP(pTHX_ I32 flags, I32 debuggable, LOOP* loop, OP* expr, OP* block, OP* cont, I32 has_my)
__attribute__malloc__
__attribute__warn_unused_result__;
#define PERL_ARGS_ASSERT_OP_LINKLIST \
assert(o)
+PERL_CALLCONV OP* Perl_op_lvalue(pTHX_ OP* o, I32 type);
PERL_CALLCONV void Perl_op_null(pTHX_ OP* o)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_OP_NULL \
PERL_CALLCONV OP* Perl_op_prepend_elem(pTHX_ I32 optype, OP* first, OP* last);
PERL_CALLCONV void Perl_op_refcnt_lock(pTHX);
PERL_CALLCONV void Perl_op_refcnt_unlock(pTHX);
+PERL_CALLCONV OP* Perl_op_scope(pTHX_ OP* o);
PERL_CALLCONV void Perl_pack_cat(pTHX_ SV *cat, const char *pat, const char *patend, SV **beglist, SV **endlist, SV ***next_in_list, U32 flags)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2)
PERL_CALLCONV void Perl_pad_swipe(pTHX_ PADOFFSET po, bool refadjust);
PERL_CALLCONV void Perl_pad_tidy(pTHX_ padtidy_type type);
-PERL_CALLCONV void Perl_pad_undef(pTHX_ CV* cv)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_PAD_UNDEF \
- assert(cv)
-
+PERL_CALLCONV OP* Perl_parse_arithexpr(pTHX_ U32 flags);
+PERL_CALLCONV OP* Perl_parse_barestmt(pTHX_ U32 flags);
+PERL_CALLCONV OP* Perl_parse_block(pTHX_ U32 flags);
+PERL_CALLCONV OP* Perl_parse_fullexpr(pTHX_ U32 flags);
PERL_CALLCONV OP* Perl_parse_fullstmt(pTHX_ U32 flags);
+PERL_CALLCONV SV* Perl_parse_label(pTHX_ U32 flags);
+PERL_CALLCONV OP* Perl_parse_listexpr(pTHX_ U32 flags);
PERL_CALLCONV OP* Perl_parse_stmtseq(pTHX_ U32 flags);
+PERL_CALLCONV OP* Perl_parse_termexpr(pTHX_ U32 flags);
PERL_CALLCONV U32 Perl_parse_unicode_opts(pTHX_ const char **popt)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_PARSE_UNICODE_OPTS \
PERL_CALLCONV OP * Perl_pp_rand(pTHX);
PERL_CALLCONV OP * Perl_pp_range(pTHX);
PERL_CALLCONV OP * Perl_pp_rcatline(pTHX);
+PERL_CALLCONV OP * Perl_pp_reach(pTHX);
PERL_CALLCONV OP * Perl_pp_read(pTHX);
PERL_CALLCONV OP * Perl_pp_readdir(pTHX);
PERL_CALLCONV OP * Perl_pp_readline(pTHX);
PERL_CALLCONV OP * Perl_pp_rewinddir(pTHX);
PERL_CALLCONV OP * Perl_pp_right_shift(pTHX);
PERL_CALLCONV OP * Perl_pp_rindex(pTHX);
+PERL_CALLCONV OP * Perl_pp_rkeys(pTHX);
PERL_CALLCONV OP * Perl_pp_rmdir(pTHX);
PERL_CALLCONV OP * Perl_pp_rv2av(pTHX);
PERL_CALLCONV OP * Perl_pp_rv2cv(pTHX);
PERL_CALLCONV OP * Perl_pp_rv2gv(pTHX);
PERL_CALLCONV OP * Perl_pp_rv2hv(pTHX);
PERL_CALLCONV OP * Perl_pp_rv2sv(pTHX);
+PERL_CALLCONV OP * Perl_pp_rvalues(pTHX);
PERL_CALLCONV OP * Perl_pp_sassign(pTHX);
PERL_CALLCONV OP * Perl_pp_say(pTHX);
PERL_CALLCONV OP * Perl_pp_scalar(pTHX);
PERL_CALLCONV OP * Perl_pp_time(pTHX);
PERL_CALLCONV OP * Perl_pp_tms(pTHX);
PERL_CALLCONV OP * Perl_pp_trans(pTHX);
+PERL_CALLCONV OP * Perl_pp_transr(pTHX);
PERL_CALLCONV OP * Perl_pp_truncate(pTHX);
PERL_CALLCONV OP * Perl_pp_uc(pTHX);
PERL_CALLCONV OP * Perl_pp_ucfirst(pTHX);
__attribute__warn_unused_result__;
/* PERL_CALLCONV OP* Perl_ref(pTHX_ OP* o, I32 type); */
-PERL_CALLCONV HV * Perl_refcounted_he_chain_2hv(pTHX_ const struct refcounted_he *c);
-PERL_CALLCONV SV * Perl_refcounted_he_fetch(pTHX_ const struct refcounted_he *chain, SV *keysv, const char *key, STRLEN klen, int flags, U32 hash);
+PERL_CALLCONV HV * Perl_refcounted_he_chain_2hv(pTHX_ const struct refcounted_he *c, U32 flags);
+PERL_CALLCONV SV * Perl_refcounted_he_fetch_pv(pTHX_ const struct refcounted_he *chain, const char *key, U32 hash, U32 flags)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_REFCOUNTED_HE_FETCH_PV \
+ assert(key)
+
+PERL_CALLCONV SV * Perl_refcounted_he_fetch_pvn(pTHX_ const struct refcounted_he *chain, const char *keypv, STRLEN keylen, U32 hash, U32 flags)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_REFCOUNTED_HE_FETCH_PVN \
+ assert(keypv)
+
+PERL_CALLCONV SV * Perl_refcounted_he_fetch_sv(pTHX_ const struct refcounted_he *chain, SV *key, U32 hash, U32 flags)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_REFCOUNTED_HE_FETCH_SV \
+ assert(key)
+
PERL_CALLCONV void Perl_refcounted_he_free(pTHX_ struct refcounted_he *he);
-PERL_CALLCONV struct refcounted_he * Perl_refcounted_he_new(pTHX_ struct refcounted_he *const parent, SV *const key, SV *const value);
+PERL_CALLCONV struct refcounted_he * Perl_refcounted_he_inc(pTHX_ struct refcounted_he *he);
+PERL_CALLCONV struct refcounted_he * Perl_refcounted_he_new_pv(pTHX_ struct refcounted_he *parent, const char *key, U32 hash, SV *value, U32 flags)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_REFCOUNTED_HE_NEW_PV \
+ assert(key)
+
+PERL_CALLCONV struct refcounted_he * Perl_refcounted_he_new_pvn(pTHX_ struct refcounted_he *parent, const char *keypv, STRLEN keylen, U32 hash, SV *value, U32 flags)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_REFCOUNTED_HE_NEW_PVN \
+ assert(keypv)
+
+PERL_CALLCONV struct refcounted_he * Perl_refcounted_he_new_sv(pTHX_ struct refcounted_he *parent, SV *key, U32 hash, SV *value, U32 flags)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_REFCOUNTED_HE_NEW_SV \
+ assert(key)
+
PERL_CALLCONV SV* Perl_reg_named_buff(pTHX_ REGEXP * const rx, SV * const key, SV * const value, const U32 flags)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_REG_NAMED_BUFF \
#define PERL_ARGS_ASSERT_REPEATCPY \
assert(to); assert(from)
-PERL_CALLCONV void Perl_report_evil_fh(pTHX_ const GV *gv, const IO *io, I32 op);
+PERL_CALLCONV void Perl_report_evil_fh(pTHX_ const GV *gv);
PERL_CALLCONV void Perl_report_uninit(pTHX_ const SV *uninit_sv);
+PERL_CALLCONV void Perl_report_wrongway_fh(pTHX_ const GV *gv, const char have);
PERL_CALLCONV void Perl_require_pv(pTHX_ const char* pv)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_REQUIRE_PV \
#define PERL_ARGS_ASSERT_SCAN_VSTRING \
assert(s); assert(e); assert(sv)
-PERL_CALLCONV OP* Perl_scope(pTHX_ OP* o);
PERL_CALLCONV char* Perl_screaminstr(pTHX_ SV *bigstr, SV *littlestr, I32 start_shift, I32 end_shift, I32 *old_posp, I32 last)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2)
assert(orig_sv)
PERL_CALLCONV I32 Perl_sv_cmp(pTHX_ SV *const sv1, SV *const sv2);
-PERL_CALLCONV I32 Perl_sv_cmp_flags(pTHX_ SV *const sv1, SV *const sv2, const I32 flags);
+PERL_CALLCONV I32 Perl_sv_cmp_flags(pTHX_ SV *const sv1, SV *const sv2, const U32 flags);
PERL_CALLCONV I32 Perl_sv_cmp_locale(pTHX_ SV *const sv1, SV *const sv2);
-PERL_CALLCONV I32 Perl_sv_cmp_locale_flags(pTHX_ SV *const sv1, SV *const sv2, const I32 flags);
+PERL_CALLCONV I32 Perl_sv_cmp_locale_flags(pTHX_ SV *const sv1, SV *const sv2, const U32 flags);
PERL_CALLCONV OP* Perl_sv_compile_2op(pTHX_ SV *sv, OP **startop, const char *code, PAD **padp)
+ __attribute__deprecated__
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2)
__attribute__nonnull__(pTHX_3)
#define PERL_ARGS_ASSERT_SV_COMPILE_2OP \
assert(sv); assert(startop); assert(code); assert(padp)
+PERL_CALLCONV OP* Perl_sv_compile_2op_is_broken(pTHX_ SV *sv, OP **startop, const char *code, PAD **padp)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2)
+ __attribute__nonnull__(pTHX_3)
+ __attribute__nonnull__(pTHX_4);
+#define PERL_ARGS_ASSERT_SV_COMPILE_2OP_IS_BROKEN \
+ assert(sv); assert(startop); assert(code); assert(padp)
+
PERL_CALLCONV void Perl_sv_copypv(pTHX_ SV *const dsv, SV *const ssv)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
assert(sv)
/* PERL_CALLCONV I32 sv_eq(pTHX_ SV* sv1, SV* sv2); */
-PERL_CALLCONV I32 Perl_sv_eq_flags(pTHX_ SV* sv1, SV* sv2, const I32 flags);
+PERL_CALLCONV I32 Perl_sv_eq_flags(pTHX_ SV* sv1, SV* sv2, const U32 flags);
/* PERL_CALLCONV void Perl_sv_force_normal(pTHX_ SV *sv)
__attribute__nonnull__(pTHX_1); */
#define PERL_ARGS_ASSERT_SV_FORCE_NORMAL \
#define PERL_ARGS_ASSERT_SV_UNMAGIC \
assert(sv)
+PERL_CALLCONV int Perl_sv_unmagicext(pTHX_ SV *const sv, const int type, MGVTBL *vtbl)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_SV_UNMAGICEXT \
+ assert(sv)
+
/* PERL_CALLCONV void Perl_sv_unref(pTHX_ SV* sv)
__attribute__nonnull__(pTHX_1); */
#define PERL_ARGS_ASSERT_SV_UNREF \
#endif
#if !defined(PERL_DISABLE_PMC)
# if defined(PERL_IN_PP_CTL_C)
-STATIC PerlIO * S_doopen_pm(pTHX_ const char *name, const STRLEN namelen)
+STATIC PerlIO * S_doopen_pm(pTHX_ SV *name)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_DOOPEN_PM \
__attribute__malloc__
__attribute__warn_unused_result__;
-STATIC struct refcounted_he * S_refcounted_he_new_common(pTHX_ struct refcounted_he *const parent, const char *const key_p, const STRLEN key_len, const char flags, char value_type, const void *value, const STRLEN value_len)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_6);
-#define PERL_ARGS_ASSERT_REFCOUNTED_HE_NEW_COMMON \
- assert(key_p); assert(value)
-
STATIC SV * S_refcounted_he_value(pTHX_ const struct refcounted_he *he)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_REFCOUNTED_HE_VALUE \
#define PERL_ARGS_ASSERT_SAVE_MAGIC \
assert(sv)
-STATIC void S_unwind_handler_stack(pTHX_ const void *p)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_UNWIND_HANDLER_STACK \
- assert(p)
-
+STATIC void S_unwind_handler_stack(pTHX_ const void *p);
#endif
#if defined(PERL_IN_MRO_C)
+STATIC void S_mro_clean_isarev(pTHX_ HV * const isa, const char * const name, const STRLEN len, HV * const exceptions)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_MRO_CLEAN_ISAREV \
+ assert(isa); assert(name)
+
+STATIC void S_mro_gather_and_rename(pTHX_ HV * const stashes, HV * const seen_stashes, HV *stash, HV *oldstash, SV *namesv)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2)
+ __attribute__nonnull__(pTHX_5);
+#define PERL_ARGS_ASSERT_MRO_GATHER_AND_RENAME \
+ assert(stashes); assert(seen_stashes); assert(namesv)
+
STATIC AV* S_mro_get_linear_isa_dfs(pTHX_ HV* stash, U32 level)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_MRO_GET_LINEAR_ISA_DFS \
#endif
#if defined(PERL_IN_PP_C)
+STATIC void S_do_chomp(pTHX_ SV *retval, SV *sv, bool chomping)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_DO_CHOMP \
+ assert(retval); assert(sv)
+
STATIC OP* S_do_delete_local(pTHX);
STATIC SV* S_refto(pTHX_ SV* sv)
__attribute__warn_unused_result__
#endif
#if defined(PERL_IN_PP_CTL_C)
-STATIC PerlIO * S_check_type_and_open(pTHX_ const char *name)
+STATIC PerlIO * S_check_type_and_open(pTHX_ SV *name)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_CHECK_TYPE_AND_OPEN \
#define PERL_ARGS_ASSERT_REGHOPMAYBE3 \
assert(s); assert(lim)
-STATIC bool S_reginclass(pTHX_ const regexp *prog, const regnode *n, const U8 *p, STRLEN *lenp, bool do_utf8sv_is_utf8)
+STATIC bool S_reginclass(pTHX_ const regexp * const prog, const regnode * const n, const U8 * const p, STRLEN *lenp, bool const do_utf8sv_is_utf8)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_2)
__attribute__nonnull__(pTHX_3);
#define PERL_ARGS_ASSERT_ASSERT_UFT8_CACHE_COHERENT \
assert(func); assert(sv)
+STATIC bool S_curse(pTHX_ SV * const sv, const bool check_refcnt)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_CURSE \
+ assert(sv)
+
STATIC I32 S_expect_number(pTHX_ char **const pattern)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
# endif
#endif
#if defined(PERL_IN_UNIVERSAL_C)
-STATIC HV * S_get_isa_hash(pTHX_ HV *const stash)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_GET_ISA_HASH \
- assert(stash)
-
STATIC bool S_isa_lookup(pTHX_ HV *stash, const char * const name)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
#define PERL_ARGS_ASSERT_CX_DUP \
assert(param)
-PERL_CALLCONV DIR* Perl_dirp_dup(pTHX_ DIR *const dp)
- __attribute__warn_unused_result__;
+PERL_CALLCONV DIR* Perl_dirp_dup(pTHX_ DIR *const dp, CLONE_PARAMS *const param)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_DIRP_DUP \
+ assert(param)
PERL_CALLCONV PerlIO* Perl_fp_dup(pTHX_ PerlIO *const fp, const char type, CLONE_PARAMS *const param)
__attribute__nonnull__(pTHX_3);