__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
+PERL_CALLCONV GP * Perl_newGP(pTHX_ GV *const gv)
+ __attribute__nonnull__(pTHX_1);
+
PERL_CALLCONV void Perl_gv_init(pTHX_ GV* gv, HV* stash, const char* name, STRLEN len, int multi)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_3);
__attribute__nonnull__(pTHX_1); */
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)
+ __attribute__nonnull__(pTHX_1);
+
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 SV** Perl_hv_store(pTHX_ HV* tb, const char* key, I32 klen, SV* val, U32 hash);
__attribute__warn_unused_result__;
PERL_CALLCONV CV* Perl_newSUB(pTHX_ I32 floor, OP* o, OP* proto, OP* block);
+PERL_CALLCONV CV * Perl_newXS_flags(pTHX_ const char *name, XSUBADDR_t subaddr, const char *const filename, const char *const proto, U32 flags)
+ __attribute__nonnull__(pTHX_2)
+ __attribute__nonnull__(pTHX_3);
+
PERL_CALLCONV CV* Perl_newXS(pTHX_ const char* name, XSUBADDR_t f, const char* filename)
__attribute__nonnull__(pTHX_2)
__attribute__nonnull__(pTHX_3);
#endif
PERL_CALLCONV PADOFFSET Perl_pad_alloc(pTHX_ I32 optype, U32 tmptype);
-PERL_CALLCONV PADOFFSET Perl_allocmy(pTHX_ char* name)
+PERL_CALLCONV PADOFFSET Perl_allocmy(pTHX_ const char *const name)
__attribute__nonnull__(pTHX_1);
PERL_CALLCONV PADOFFSET Perl_pad_findmy(pTHX_ const char* name)
__attribute__nonnull__(pTHX_1);
#ifdef PERL_IN_SV_C
-STATIC char* S_glob_2inpuv_number(pTHX_ GV* const gv)
+STATIC bool S_glob_2number(pTHX_ GV* const gv)
__attribute__nonnull__(pTHX_1);
-STATIC char* S_glob_2inpuv(pTHX_ GV* const gv, STRLEN * const len)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
+STATIC char* S_glob_2pv(pTHX_ GV* const gv, STRLEN * const len)
+ __attribute__nonnull__(pTHX_1);
#endif
/* PERL_CALLCONV IV sv_2iv(pTHX_ SV* sv)
STATIC void S_clear_placeholders(pTHX_ HV* hb, U32 items)
__attribute__nonnull__(pTHX_1);
+STATIC SV * S_refcounted_he_value(pTHX_ const struct refcounted_he *he)
+ __attribute__nonnull__(pTHX_1);
+
#endif
#if defined(PERL_IN_MG_C) || defined(PERL_DECL_PROT)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
+STATIC char * S_bytes_to_uni(const U8 *start, STRLEN len, char *dest)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(3);
+
#endif
#if defined(PERL_IN_PP_CTL_C) || defined(PERL_DECL_PROT)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
-STATIC void S_reguni(pTHX_ const struct RExC_state_t *state, UV uv, char *s, STRLEN *lenp)
+STATIC STRLEN S_reguni(pTHX_ const struct RExC_state_t *state, UV uv, char *s)
__attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_3)
- __attribute__nonnull__(pTHX_4);
+ __attribute__nonnull__(pTHX_3);
STATIC regnode* S_regclass(pTHX_ struct RExC_state_t *state)
__attribute__nonnull__(pTHX_1);
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_3);
-STATIC void S_regoptail(pTHX_ const struct RExC_state_t *state, regnode *p, const regnode *val)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3);
-
STATIC void S_regtail(pTHX_ const struct RExC_state_t *state, regnode *p, const regnode *val)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2)
STATIC char* S_regcppop(pTHX_ const regexp *rex)
__attribute__nonnull__(pTHX_1);
-STATIC U8* S_reghop3(U8 *pos, I32 off, U8 *lim)
+STATIC U8* S_reghop3(U8 *pos, I32 off, const U8 *lim)
__attribute__warn_unused_result__
__attribute__nonnull__(1)
__attribute__nonnull__(3);
-STATIC U8* S_reghopmaybe3(U8 *pos, I32 off, U8 *lim)
+STATIC U8* S_reghopmaybe3(U8 *pos, I32 off, const U8 *lim)
__attribute__warn_unused_result__
__attribute__nonnull__(1)
__attribute__nonnull__(3);
__attribute__nonnull__(pTHX_1);
STATIC void S_sequence(pTHX_ const OP *o);
+STATIC void S_sequence_tail(pTHX_ const OP *o);
STATIC UV S_sequence_num(pTHX_ const OP *o);
STATIC SV* S_pm_description(pTHX_ const PMOP *pm)
__attribute__nonnull__(pTHX_1);
__attribute__nonnull__(pTHX_1);
#
-STATIC STRLEN S_sv_pos_u2b_forwards(pTHX_ const U8 *const start, const U8 *const send, STRLEN uoffset)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
+STATIC STRLEN S_sv_pos_u2b_forwards(const U8 *const start, const U8 *const send, STRLEN uoffset)
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(2);
-STATIC STRLEN S_sv_pos_u2b_midway(pTHX_ const U8 *const start, const U8 *send, STRLEN uoffset, STRLEN uend)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
+STATIC STRLEN S_sv_pos_u2b_midway(const U8 *const start, const U8 *send, STRLEN uoffset, STRLEN uend)
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(2);
STATIC STRLEN S_sv_pos_u2b_cached(pTHX_ SV *sv, MAGIC **mgp, const U8 *const start, const U8 *const send, STRLEN uoffset, STRLEN uoffset0, STRLEN boffset0)
__attribute__nonnull__(pTHX_1)
# endif
# if defined(DEBUGGING)
STATIC int S_tokereport(pTHX_ I32 rv);
+STATIC void S_printbuf(pTHX_ const char* fmt, const char* s)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+
# endif
#endif
#endif
+PERL_CALLCONV const char * Perl_PerlIO_context_layers(pTHX_ const char *mode);
+
#if defined(USE_PERLIO) && !defined(USE_SFIO)
PERL_CALLCONV int Perl_PerlIO_close(pTHX_ PerlIO *f);
PERL_CALLCONV int Perl_PerlIO_fill(pTHX_ PerlIO *f);
PERL_CALLCONV void Perl_pad_undef(pTHX_ CV* cv)
__attribute__nonnull__(pTHX_1);
-PERL_CALLCONV PADOFFSET Perl_pad_add_name(pTHX_ const char *name, HV* typestash, HV* ourstash, bool clone)
+PERL_CALLCONV PADOFFSET Perl_pad_add_name(pTHX_ const char *name, HV* typestash, HV* ourstash, bool clone, bool state)
__attribute__nonnull__(pTHX_1);
PERL_CALLCONV PADOFFSET Perl_pad_add_anon(pTHX_ SV* sv, OPCODE op_type)
#endif
+PERL_CALLCONV int Perl_my_snprintf(char *buffer, const Size_t len, const char *format, ...)
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(3);
+
+PERL_CALLCONV int Perl_my_vsnprintf(char *buffer, const Size_t len, const char *format, va_list ap)
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(3);
+
+
PERL_CALLCONV void Perl_my_clearenv(pTHX);
#ifdef PERL_IMPLICIT_CONTEXT