PERL_CALLCONV void Perl_cv_ckproto(pTHX_ const CV* cv, const GV* gv, const char* p)
__attribute__nonnull__(pTHX_1);
+PERL_CALLCONV void Perl_cv_ckproto_len(pTHX_ const CV* cv, const GV* gv, const char* p, const STRLEN len)
+ __attribute__nonnull__(pTHX_1);
+
PERL_CALLCONV CV* Perl_cv_clone(pTHX_ CV* proto)
__attribute__nonnull__(pTHX_1);
__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);
PERL_CALLCONV void Perl_gv_name_set(pTHX_ GV* gv, const char *name, U32 len, U32 flags)
- __attribute__nonnull__(pTHX_1);
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
PERL_CALLCONV HV* Perl_gv_stashpv(pTHX_ const char* name, I32 create)
__attribute__nonnull__(pTHX_1);
__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);
PERL_CALLCONV void Perl_regdump(pTHX_ const regexp* r)
__attribute__nonnull__(pTHX_1);
-PERL_CALLCONV SV* Perl_regclass_swash(pTHX_ const struct regnode *n, bool doinit, SV **listsvp, SV **altsvp)
- __attribute__nonnull__(pTHX_1);
+PERL_CALLCONV SV* Perl_regclass_swash(pTHX_ const regexp *prog, const struct regnode *n, bool doinit, SV **listsvp, SV **altsvp)
+ __attribute__nonnull__(pTHX_2);
PERL_CALLCONV I32 Perl_pregexec(pTHX_ regexp* prog, char* stringarg, char* strend, char* strbeg, I32 minend, SV* screamer, U32 nosave)
__attribute__nonnull__(pTHX_1)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
-PERL_CALLCONV void Perl_regprop(pTHX_ SV* sv, const regnode* o)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
+PERL_CALLCONV void Perl_regprop(pTHX_ const regexp *prog, SV* sv, const regnode* o)
+ __attribute__nonnull__(pTHX_2)
+ __attribute__nonnull__(pTHX_3);
PERL_CALLCONV void Perl_repeatcpy(pTHX_ char* to, const char* from, I32 len, I32 count)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_1);
#ifdef PERL_IN_SV_C
-STATIC char* S_glob_2inpuv(pTHX_ GV* gv, STRLEN *len, bool want_number)
+STATIC bool S_glob_2number(pTHX_ GV* const gv)
__attribute__nonnull__(pTHX_1);
+STATIC char* S_glob_2pv(pTHX_ GV* const gv, STRLEN * const len)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+
#endif
/* PERL_CALLCONV IV sv_2iv(pTHX_ SV* sv)
__attribute__nonnull__(pTHX_1); */
PERL_CALLCONV void Perl_sv_upgrade(pTHX_ SV* sv, U32 mt)
__attribute__nonnull__(pTHX_1);
-PERL_CALLCONV void Perl_sv_usepvn(pTHX_ SV* sv, char* ptr, STRLEN len)
+/* PERL_CALLCONV void Perl_sv_usepvn(pTHX_ SV* sv, char* ptr, STRLEN len)
+ __attribute__nonnull__(pTHX_1); */
+
+PERL_CALLCONV void Perl_sv_usepvn_flags(pTHX_ SV* sv, char* ptr, STRLEN len, U32 flags)
__attribute__nonnull__(pTHX_1);
PERL_CALLCONV void Perl_sv_vcatpvfn(pTHX_ SV* sv, const char* pat, STRLEN patlen, va_list* args, SV** svargs, I32 svmax, bool *maybe_tainted)
PERL_CALLCONV void Perl_sv_setsv_mg(pTHX_ SV *dstr, SV *sstr)
__attribute__nonnull__(pTHX_1);
-PERL_CALLCONV void Perl_sv_usepvn_mg(pTHX_ SV *sv, char *ptr, STRLEN len)
- __attribute__nonnull__(pTHX_1);
+/* PERL_CALLCONV void Perl_sv_usepvn_mg(pTHX_ SV *sv, char *ptr, STRLEN len)
+ __attribute__nonnull__(pTHX_1); */
PERL_CALLCONV MGVTBL* Perl_get_vtbl(pTHX_ int vtbl_id)
__attribute__warn_unused_result__;
END_EXTERN_C
#if defined(PERL_IN_DOOP_C) || defined(PERL_DECL_PROT)
-STATIC I32 S_do_trans_simple(pTHX_ SV *sv)
+STATIC I32 S_do_trans_simple(pTHX_ SV * const sv)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
-STATIC I32 S_do_trans_count(pTHX_ SV *sv)
+STATIC I32 S_do_trans_count(pTHX_ SV * const sv)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
-STATIC I32 S_do_trans_complex(pTHX_ SV *sv)
+STATIC I32 S_do_trans_complex(pTHX_ SV * const sv)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
-STATIC I32 S_do_trans_simple_utf8(pTHX_ SV *sv)
+STATIC I32 S_do_trans_simple_utf8(pTHX_ SV * const sv)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
-STATIC I32 S_do_trans_count_utf8(pTHX_ SV *sv)
+STATIC I32 S_do_trans_count_utf8(pTHX_ SV * const sv)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
-STATIC I32 S_do_trans_complex_utf8(pTHX_ SV *sv)
+STATIC I32 S_do_trans_complex_utf8(pTHX_ SV * const sv)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
STATIC void S_run_body(pTHX_ I32 oldscope)
__attribute__noreturn__;
-STATIC void S_call_body(pTHX_ const OP *myop, bool is_eval)
- __attribute__nonnull__(pTHX_1);
-
-STATIC void* S_call_list_body(pTHX_ CV *cv)
- __attribute__nonnull__(pTHX_1);
-
STATIC SV * S_incpush_if_exists(pTHX_ SV *dir)
__attribute__nonnull__(pTHX_1);
#endif
#if defined(PERL_IN_REGEXEC_C) || defined(PERL_DECL_PROT)
-STATIC I32 S_regmatch(pTHX_ regexp *rex, regnode *prog)
+STATIC I32 S_regmatch(pTHX_ const regmatch_info *reginfo, regnode *prog)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
-STATIC I32 S_regrepeat(pTHX_ const regnode *p, I32 max)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-STATIC I32 S_regtry(pTHX_ regexp *prog, char *startpos)
+STATIC I32 S_regrepeat(pTHX_ const regexp *prog, const regnode *p, I32 max)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
-STATIC bool S_reginclass(pTHX_ const regnode *n, const U8 *p, STRLEN *lenp, bool do_utf8sv_is_utf8)
+STATIC I32 S_regtry(pTHX_ const regmatch_info *reginfo, char *startpos)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
+STATIC bool S_reginclass(pTHX_ const regexp *prog, const regnode *n, const U8 *p, STRLEN *lenp, bool do_utf8sv_is_utf8)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_2)
+ __attribute__nonnull__(pTHX_3);
+
STATIC CHECKPOINT S_regcppush(pTHX_ I32 parenfloor);
STATIC char* S_regcppop(pTHX_ const regexp *rex)
__attribute__nonnull__(pTHX_1);
__attribute__nonnull__(1)
__attribute__nonnull__(3);
-STATIC char* S_find_byclass(pTHX_ regexp * prog, const regnode *c, char *s, const char *strend, I32 norun)
+STATIC char* S_find_byclass(pTHX_ regexp * prog, const regnode *c, char *s, const char *strend, const regmatch_info *reginfo)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2)
__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);
+
#endif
#if defined(PERL_IN_SCOPE_C) || defined(PERL_DECL_PROT)
__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)
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 bool Perl_ckwarn(pTHX_ U32 w);
PERL_CALLCONV bool Perl_ckwarn_d(pTHX_ U32 w);
-PERL_CALLCONV STRLEN * Perl_new_warnings_bitfield(STRLEN *buffer, const char *const bits, STRLEN size)
+PERL_CALLCONV STRLEN * Perl_new_warnings_bitfield(pTHX_ STRLEN *buffer, const char *const bits, STRLEN size)
__attribute__malloc__
__attribute__warn_unused_result__
- __attribute__nonnull__(2);
+ __attribute__nonnull__(pTHX_2);
PERL_CALLCONV void Perl_offer_nice_chunk(pTHX_ void *chunk, U32 chunk_size)