-/* -*- buffer-read-only: t -*-
+/* -*- buffer-read-only: t -*-
*
* proto.h
*
- * Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- * 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, by Larry Wall and others
+ * Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
+ * 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 by Larry Wall and others
*
* You may distribute under the terms of either the GNU General Public
* License or the Artistic License, as specified in the README file.
*
* !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
* This file is built by regen/embed.pl from data in embed.fnc,
- * regen/embed.pl, pp.sym, intrpvar.h, and perlvars.h.
+ * regen/embed.pl, regen/opcodes, intrpvar.h and perlvars.h.
* Any changes made here will be lost!
*
* Edit those files and run 'make regen_headers' to effect changes.
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 UV Perl__to_uni_fold_flags(pTHX_ UV c, U8 *p, STRLEN *lenp, U8 flags)
+ __attribute__nonnull__(pTHX_2)
+ __attribute__nonnull__(pTHX_3);
+#define PERL_ARGS_ASSERT__TO_UNI_FOLD_FLAGS \
+ assert(p); assert(lenp)
+
+PERL_CALLCONV UV Perl__to_utf8_fold_flags(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp, U8 flags)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT__TO_UTF8_FOLD_FLAGS \
+ assert(p); assert(ustrp)
PERL_CALLCONV PADOFFSET Perl_allocmy(pTHX_ const char *const name, const STRLEN len, const U32 flags)
__attribute__nonnull__(pTHX_1);
PERL_CALLCONV UV Perl_cast_uv(pTHX_ NV f)
__attribute__warn_unused_result__;
+PERL_CALLCONV bool Perl_check_utf8_print(pTHX_ const U8 *s, const STRLEN len)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_CHECK_UTF8_PRINT \
+ assert(s)
+
PERL_CALLCONV OP * Perl_ck_anoncode(pTHX_ OP *o)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
#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 const char * Perl_cop_fetch_label(pTHX_ COP *const cop, STRLEN *len, U32 *flags)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_COP_FETCH_LABEL \
+ assert(cop)
+
+PERL_CALLCONV void Perl_cop_store_label(pTHX_ COP *const cop, const char *label, STRLEN len, U32 flags)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_COP_STORE_LABEL \
+ assert(cop); assert(label)
+
+PERL_CALLCONV SV * Perl_core_prototype(pTHX_ SV *sv, const char *name, const STRLEN len, int * const opnum, const bool croak)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_CORE_PROTOTYPE \
+ assert(name)
+
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_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_DO_JOIN \
assert(sv); assert(delim); assert(mark); assert(sp)
-PERL_CALLCONV OP* Perl_do_kv(pTHX);
PERL_CALLCONV void Perl_do_magic_dump(pTHX_ I32 level, PerlIO *file, const MAGIC *mg, I32 nest, I32 maxnest, bool dumpops, STRLEN pvlim)
__attribute__nonnull__(pTHX_2)
__attribute__nonnull__(pTHX_3);
#define PERL_ARGS_ASSERT_DO_MAGIC_DUMP \
assert(file); assert(mg)
+PERL_CALLCONV I32 Perl_do_ncmp(pTHX_ SV *const left, SV *const right)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_DO_NCMP \
+ assert(left); assert(right)
+
PERL_CALLCONV void Perl_do_op_dump(pTHX_ I32 level, PerlIO *file, const OP *o)
__attribute__nonnull__(pTHX_2);
#define PERL_ARGS_ASSERT_DO_OP_DUMP \
#define PERL_ARGS_ASSERT_FBM_INSTR \
assert(big); assert(bigend); assert(littlestr)
-PERL_CALLCONV const char * Perl_fetch_cop_label(pTHX_ COP *const cop, STRLEN *len, U32 *flags)
+PERL_CALLCONV bool Perl_feature_is_enabled(pTHX_ const char *const name, STRLEN namelen)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_FETCH_COP_LABEL \
- assert(cop)
+#define PERL_ARGS_ASSERT_FEATURE_IS_ENABLED \
+ assert(name)
PERL_CALLCONV SV* Perl_filter_add(pTHX_ filter_t funcp, SV* datasv);
PERL_CALLCONV void Perl_filter_del(pTHX_ filter_t funcp)
#define PERL_ARGS_ASSERT_FILTER_READ \
assert(buf_sv)
+PERL_CALLCONV void Perl_finalize_optree(pTHX_ OP* o)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_FINALIZE_OPTREE \
+ assert(o)
+
PERL_CALLCONV CV* Perl_find_runcv(pTHX_ U32 *db_seqp)
__attribute__warn_unused_result__;
#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_FOLDEQ_LOCALE \
assert(a); assert(b)
-PERL_CALLCONV I32 Perl_foldEQ_utf8(pTHX_ const char *s1, char **pe1, UV l1, bool u1, const char *s2, char **pe2, UV l2, bool u2)
+/* PERL_CALLCONV I32 foldEQ_utf8(pTHX_ const char *s1, char **pe1, UV l1, bool u1, const char *s2, char **pe2, UV l2, bool u2)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_5); */
+
+PERL_CALLCONV I32 Perl_foldEQ_utf8_flags(pTHX_ const char *s1, char **pe1, UV l1, bool u1, const char *s2, char **pe2, UV l2, bool u2, U32 flags)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_5);
-#define PERL_ARGS_ASSERT_FOLDEQ_UTF8 \
+#define PERL_ARGS_ASSERT_FOLDEQ_UTF8_FLAGS \
assert(s1); assert(s2)
PERL_CALLCONV char* Perl_form(pTHX_ const char* pat, ...)
#define PERL_ARGS_ASSERT_GROK_BIN \
assert(start); assert(len_p); assert(flags)
-PERL_CALLCONV char Perl_grok_bslash_c(pTHX_ const char source, const bool output_warning)
- __attribute__warn_unused_result__;
-
-PERL_CALLCONV bool Perl_grok_bslash_o(pTHX_ const char* s, UV* uv, STRLEN* len, const char** error_msg, const bool output_warning)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3)
- __attribute__nonnull__(pTHX_4);
-#define PERL_ARGS_ASSERT_GROK_BSLASH_O \
- assert(s); assert(uv); assert(len); assert(error_msg)
-
PERL_CALLCONV UV Perl_grok_hex(pTHX_ const char* start, STRLEN* len_p, I32* flags, NV *result)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2)
#define PERL_ARGS_ASSERT_HV_EITER_SET \
assert(hv)
-PERL_CALLCONV void Perl_hv_ename_add(pTHX_ HV *hv, const char *name, U32 len)
+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)
+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 \
/* 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); */
#define PERL_ARGS_ASSERT_IS_UTF8_XDIGIT \
assert(p)
+PERL_CALLCONV bool Perl_is_utf8_xidcont(pTHX_ const U8 *p)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_IS_UTF8_XIDCONT \
+ assert(p)
+
+PERL_CALLCONV bool Perl_is_utf8_xidfirst(pTHX_ const U8 *p)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_IS_UTF8_XIDFIRST \
+ assert(p)
+
PERL_CALLCONV OP* Perl_jmaybe(pTHX_ OP *o)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_JMAYBE \
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, HV * const oldstash, const GV *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 \
PERL_CALLCONV Pid_t Perl_my_fork(void);
/* PERL_CALLCONV I32 Perl_my_lstat(pTHX); */
PERL_CALLCONV I32 Perl_my_lstat_flags(pTHX_ const U32 flags);
-PERL_CALLCONV I32 Perl_my_pclose(pTHX_ PerlIO* ptr);
-PERL_CALLCONV PerlIO* Perl_my_popen(pTHX_ const char* cmd, const char* mode)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_MY_POPEN \
- assert(cmd); assert(mode)
-
PERL_CALLCONV PerlIO* Perl_my_popen_list(pTHX_ const char* mode, int n, SV ** args)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_3);
__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_OP_LINKLIST \
assert(o)
-PERL_CALLCONV OP* Perl_op_lvalue(pTHX_ OP* o, I32 type);
+/* PERL_CALLCONV OP* op_lvalue(pTHX_ OP* o, I32 type); */
+PERL_CALLCONV OP* Perl_op_lvalue_flags(pTHX_ OP* o, I32 type, U32 flags);
PERL_CALLCONV void Perl_op_null(pTHX_ OP* o)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_OP_NULL \
#define PERL_ARGS_ASSERT_PACKLIST \
assert(cat); assert(pat); assert(patend); assert(beglist); assert(endlist)
-PERL_CALLCONV PADOFFSET Perl_pad_add_anon(pTHX_ SV* sv, OPCODE op_type)
+PERL_CALLCONV PADOFFSET Perl_pad_add_anon(pTHX_ CV* func, I32 optype)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_PAD_ADD_ANON \
- assert(sv)
+ assert(func)
-PERL_CALLCONV PADOFFSET Perl_pad_add_name(pTHX_ const char *name, const STRLEN len, const U32 flags, HV *typestash, HV *ourstash)
+PERL_CALLCONV PADOFFSET Perl_pad_add_name_pv(pTHX_ const char *name, const U32 flags, HV *typestash, HV *ourstash)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_PAD_ADD_NAME \
+#define PERL_ARGS_ASSERT_PAD_ADD_NAME_PV \
+ assert(name)
+
+PERL_CALLCONV PADOFFSET Perl_pad_add_name_pvn(pTHX_ const char *namepv, STRLEN namelen, U32 flags, HV *typestash, HV *ourstash)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_PAD_ADD_NAME_PVN \
+ assert(namepv)
+
+PERL_CALLCONV PADOFFSET Perl_pad_add_name_sv(pTHX_ SV *name, U32 flags, HV *typestash, HV *ourstash)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_PAD_ADD_NAME_SV \
assert(name)
PERL_CALLCONV PADOFFSET Perl_pad_alloc(pTHX_ I32 optype, U32 tmptype);
PERL_CALLCONV HV* Perl_pad_compname_type(pTHX_ const PADOFFSET po)
__attribute__warn_unused_result__;
-PERL_CALLCONV PADOFFSET Perl_pad_findmy(pTHX_ const char* name, STRLEN len, U32 flags)
+PERL_CALLCONV PADOFFSET Perl_pad_findmy_pv(pTHX_ const char* name, U32 flags)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_PAD_FINDMY_PV \
+ assert(name)
+
+PERL_CALLCONV PADOFFSET Perl_pad_findmy_pvn(pTHX_ const char* namepv, STRLEN namelen, U32 flags)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_PAD_FINDMY_PVN \
+ assert(namepv)
+
+PERL_CALLCONV PADOFFSET Perl_pad_findmy_sv(pTHX_ SV* name, U32 flags)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_PAD_FINDMY \
+#define PERL_ARGS_ASSERT_PAD_FINDMY_SV \
assert(name)
PERL_CALLCONV void Perl_pad_fixup_inner_anons(pTHX_ PADLIST *padlist, CV *old_cv, CV *new_cv)
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 \
#define PERL_ARGS_ASSERT_POPULATE_ISA \
assert(name)
-PERL_CALLCONV OP * Perl_pp_aassign(pTHX);
-PERL_CALLCONV OP * Perl_pp_abs(pTHX);
-PERL_CALLCONV OP * Perl_pp_accept(pTHX);
-PERL_CALLCONV OP * Perl_pp_add(pTHX);
-PERL_CALLCONV OP * Perl_pp_aeach(pTHX);
-PERL_CALLCONV OP * Perl_pp_aelem(pTHX);
-PERL_CALLCONV OP * Perl_pp_aelemfast(pTHX);
-PERL_CALLCONV OP * Perl_pp_akeys(pTHX);
-PERL_CALLCONV OP * Perl_pp_alarm(pTHX);
-PERL_CALLCONV OP * Perl_pp_and(pTHX);
-PERL_CALLCONV OP * Perl_pp_andassign(pTHX);
-PERL_CALLCONV OP * Perl_pp_anoncode(pTHX);
-PERL_CALLCONV OP * Perl_pp_anonhash(pTHX);
-PERL_CALLCONV OP * Perl_pp_anonlist(pTHX);
-PERL_CALLCONV OP * Perl_pp_aslice(pTHX);
-PERL_CALLCONV OP * Perl_pp_atan2(pTHX);
-PERL_CALLCONV OP * Perl_pp_av2arylen(pTHX);
-PERL_CALLCONV OP * Perl_pp_avalues(pTHX);
-PERL_CALLCONV OP * Perl_pp_backtick(pTHX);
-PERL_CALLCONV OP * Perl_pp_bind(pTHX);
-PERL_CALLCONV OP * Perl_pp_binmode(pTHX);
-PERL_CALLCONV OP * Perl_pp_bit_and(pTHX);
-PERL_CALLCONV OP * Perl_pp_bit_or(pTHX);
-PERL_CALLCONV OP * Perl_pp_bit_xor(pTHX);
-PERL_CALLCONV OP * Perl_pp_bless(pTHX);
-PERL_CALLCONV OP * Perl_pp_boolkeys(pTHX);
-PERL_CALLCONV OP * Perl_pp_break(pTHX);
-PERL_CALLCONV OP * Perl_pp_caller(pTHX);
-PERL_CALLCONV OP * Perl_pp_chdir(pTHX);
-PERL_CALLCONV OP * Perl_pp_chmod(pTHX);
-PERL_CALLCONV OP * Perl_pp_chomp(pTHX);
-PERL_CALLCONV OP * Perl_pp_chop(pTHX);
-PERL_CALLCONV OP * Perl_pp_chown(pTHX);
-PERL_CALLCONV OP * Perl_pp_chr(pTHX);
-PERL_CALLCONV OP * Perl_pp_chroot(pTHX);
-PERL_CALLCONV OP * Perl_pp_close(pTHX);
-PERL_CALLCONV OP * Perl_pp_closedir(pTHX);
-PERL_CALLCONV OP * Perl_pp_complement(pTHX);
-PERL_CALLCONV OP * Perl_pp_concat(pTHX);
-PERL_CALLCONV OP * Perl_pp_cond_expr(pTHX);
-PERL_CALLCONV OP * Perl_pp_connect(pTHX);
-PERL_CALLCONV OP * Perl_pp_const(pTHX);
-PERL_CALLCONV OP * Perl_pp_continue(pTHX);
-PERL_CALLCONV OP * Perl_pp_cos(pTHX);
-PERL_CALLCONV OP * Perl_pp_crypt(pTHX);
-PERL_CALLCONV OP * Perl_pp_dbmclose(pTHX);
-PERL_CALLCONV OP * Perl_pp_dbmopen(pTHX);
-PERL_CALLCONV OP * Perl_pp_dbstate(pTHX);
-PERL_CALLCONV OP * Perl_pp_defined(pTHX);
-PERL_CALLCONV OP * Perl_pp_delete(pTHX);
-PERL_CALLCONV OP * Perl_pp_die(pTHX);
-PERL_CALLCONV OP * Perl_pp_divide(pTHX);
-PERL_CALLCONV OP * Perl_pp_dofile(pTHX);
-PERL_CALLCONV OP * Perl_pp_dor(pTHX);
-PERL_CALLCONV OP * Perl_pp_dorassign(pTHX);
-PERL_CALLCONV OP * Perl_pp_dump(pTHX);
-PERL_CALLCONV OP * Perl_pp_each(pTHX);
-PERL_CALLCONV OP * Perl_pp_egrent(pTHX);
-PERL_CALLCONV OP * Perl_pp_ehostent(pTHX);
-PERL_CALLCONV OP * Perl_pp_enetent(pTHX);
-PERL_CALLCONV OP * Perl_pp_enter(pTHX);
-PERL_CALLCONV OP * Perl_pp_entereval(pTHX);
-PERL_CALLCONV OP * Perl_pp_entergiven(pTHX);
-PERL_CALLCONV OP * Perl_pp_enteriter(pTHX);
-PERL_CALLCONV OP * Perl_pp_enterloop(pTHX);
-PERL_CALLCONV OP * Perl_pp_entersub(pTHX);
-PERL_CALLCONV OP * Perl_pp_entertry(pTHX);
-PERL_CALLCONV OP * Perl_pp_enterwhen(pTHX);
-PERL_CALLCONV OP * Perl_pp_enterwrite(pTHX);
-PERL_CALLCONV OP * Perl_pp_eof(pTHX);
-PERL_CALLCONV OP * Perl_pp_eprotoent(pTHX);
-PERL_CALLCONV OP * Perl_pp_epwent(pTHX);
-PERL_CALLCONV OP * Perl_pp_eq(pTHX);
-PERL_CALLCONV OP * Perl_pp_eservent(pTHX);
-PERL_CALLCONV OP * Perl_pp_exec(pTHX);
-PERL_CALLCONV OP * Perl_pp_exists(pTHX);
-PERL_CALLCONV OP * Perl_pp_exit(pTHX);
-PERL_CALLCONV OP * Perl_pp_exp(pTHX);
-PERL_CALLCONV OP * Perl_pp_fcntl(pTHX);
-PERL_CALLCONV OP * Perl_pp_fileno(pTHX);
-PERL_CALLCONV OP * Perl_pp_flip(pTHX);
-PERL_CALLCONV OP * Perl_pp_flock(pTHX);
-PERL_CALLCONV OP * Perl_pp_flop(pTHX);
-PERL_CALLCONV OP * Perl_pp_fork(pTHX);
-PERL_CALLCONV OP * Perl_pp_formline(pTHX);
-PERL_CALLCONV OP * Perl_pp_ftatime(pTHX);
-PERL_CALLCONV OP * Perl_pp_ftbinary(pTHX);
-PERL_CALLCONV OP * Perl_pp_ftblk(pTHX);
-PERL_CALLCONV OP * Perl_pp_ftchr(pTHX);
-PERL_CALLCONV OP * Perl_pp_ftctime(pTHX);
-PERL_CALLCONV OP * Perl_pp_ftdir(pTHX);
-PERL_CALLCONV OP * Perl_pp_fteexec(pTHX);
-PERL_CALLCONV OP * Perl_pp_fteowned(pTHX);
-PERL_CALLCONV OP * Perl_pp_fteread(pTHX);
-PERL_CALLCONV OP * Perl_pp_ftewrite(pTHX);
-PERL_CALLCONV OP * Perl_pp_ftfile(pTHX);
-PERL_CALLCONV OP * Perl_pp_ftis(pTHX);
-PERL_CALLCONV OP * Perl_pp_ftlink(pTHX);
-PERL_CALLCONV OP * Perl_pp_ftmtime(pTHX);
-PERL_CALLCONV OP * Perl_pp_ftpipe(pTHX);
-PERL_CALLCONV OP * Perl_pp_ftrexec(pTHX);
-PERL_CALLCONV OP * Perl_pp_ftrowned(pTHX);
-PERL_CALLCONV OP * Perl_pp_ftrread(pTHX);
-PERL_CALLCONV OP * Perl_pp_ftrwrite(pTHX);
-PERL_CALLCONV OP * Perl_pp_ftsgid(pTHX);
-PERL_CALLCONV OP * Perl_pp_ftsize(pTHX);
-PERL_CALLCONV OP * Perl_pp_ftsock(pTHX);
-PERL_CALLCONV OP * Perl_pp_ftsuid(pTHX);
-PERL_CALLCONV OP * Perl_pp_ftsvtx(pTHX);
-PERL_CALLCONV OP * Perl_pp_fttext(pTHX);
-PERL_CALLCONV OP * Perl_pp_fttty(pTHX);
-PERL_CALLCONV OP * Perl_pp_ftzero(pTHX);
-PERL_CALLCONV OP * Perl_pp_ge(pTHX);
-PERL_CALLCONV OP * Perl_pp_gelem(pTHX);
-PERL_CALLCONV OP * Perl_pp_getc(pTHX);
-PERL_CALLCONV OP * Perl_pp_getlogin(pTHX);
-PERL_CALLCONV OP * Perl_pp_getpeername(pTHX);
-PERL_CALLCONV OP * Perl_pp_getpgrp(pTHX);
-PERL_CALLCONV OP * Perl_pp_getppid(pTHX);
-PERL_CALLCONV OP * Perl_pp_getpriority(pTHX);
-PERL_CALLCONV OP * Perl_pp_getsockname(pTHX);
-PERL_CALLCONV OP * Perl_pp_ggrent(pTHX);
-PERL_CALLCONV OP * Perl_pp_ggrgid(pTHX);
-PERL_CALLCONV OP * Perl_pp_ggrnam(pTHX);
-PERL_CALLCONV OP * Perl_pp_ghbyaddr(pTHX);
-PERL_CALLCONV OP * Perl_pp_ghbyname(pTHX);
-PERL_CALLCONV OP * Perl_pp_ghostent(pTHX);
-PERL_CALLCONV OP * Perl_pp_glob(pTHX);
-PERL_CALLCONV OP * Perl_pp_gmtime(pTHX);
-PERL_CALLCONV OP * Perl_pp_gnbyaddr(pTHX);
-PERL_CALLCONV OP * Perl_pp_gnbyname(pTHX);
-PERL_CALLCONV OP * Perl_pp_gnetent(pTHX);
-PERL_CALLCONV OP * Perl_pp_goto(pTHX);
-PERL_CALLCONV OP * Perl_pp_gpbyname(pTHX);
-PERL_CALLCONV OP * Perl_pp_gpbynumber(pTHX);
-PERL_CALLCONV OP * Perl_pp_gprotoent(pTHX);
-PERL_CALLCONV OP * Perl_pp_gpwent(pTHX);
-PERL_CALLCONV OP * Perl_pp_gpwnam(pTHX);
-PERL_CALLCONV OP * Perl_pp_gpwuid(pTHX);
-PERL_CALLCONV OP * Perl_pp_grepstart(pTHX);
-PERL_CALLCONV OP * Perl_pp_grepwhile(pTHX);
-PERL_CALLCONV OP * Perl_pp_gsbyname(pTHX);
-PERL_CALLCONV OP * Perl_pp_gsbyport(pTHX);
-PERL_CALLCONV OP * Perl_pp_gservent(pTHX);
-PERL_CALLCONV OP * Perl_pp_gsockopt(pTHX);
-PERL_CALLCONV OP * Perl_pp_gt(pTHX);
-PERL_CALLCONV OP * Perl_pp_gv(pTHX);
-PERL_CALLCONV OP * Perl_pp_gvsv(pTHX);
-PERL_CALLCONV OP * Perl_pp_helem(pTHX);
-PERL_CALLCONV OP * Perl_pp_hex(pTHX);
-PERL_CALLCONV OP * Perl_pp_hintseval(pTHX);
-PERL_CALLCONV OP * Perl_pp_hslice(pTHX);
-PERL_CALLCONV OP * Perl_pp_i_add(pTHX);
-PERL_CALLCONV OP * Perl_pp_i_divide(pTHX);
-PERL_CALLCONV OP * Perl_pp_i_eq(pTHX);
-PERL_CALLCONV OP * Perl_pp_i_ge(pTHX);
-PERL_CALLCONV OP * Perl_pp_i_gt(pTHX);
-PERL_CALLCONV OP * Perl_pp_i_le(pTHX);
-PERL_CALLCONV OP * Perl_pp_i_lt(pTHX);
-PERL_CALLCONV OP * Perl_pp_i_modulo(pTHX);
-PERL_CALLCONV OP * Perl_pp_i_multiply(pTHX);
-PERL_CALLCONV OP * Perl_pp_i_ncmp(pTHX);
-PERL_CALLCONV OP * Perl_pp_i_ne(pTHX);
-PERL_CALLCONV OP * Perl_pp_i_negate(pTHX);
-PERL_CALLCONV OP * Perl_pp_i_subtract(pTHX);
-PERL_CALLCONV OP * Perl_pp_index(pTHX);
-PERL_CALLCONV OP * Perl_pp_int(pTHX);
-PERL_CALLCONV OP * Perl_pp_ioctl(pTHX);
-PERL_CALLCONV OP * Perl_pp_iter(pTHX);
-PERL_CALLCONV OP * Perl_pp_join(pTHX);
-PERL_CALLCONV OP * Perl_pp_keys(pTHX);
-PERL_CALLCONV OP * Perl_pp_kill(pTHX);
-PERL_CALLCONV OP * Perl_pp_last(pTHX);
-PERL_CALLCONV OP * Perl_pp_lc(pTHX);
-PERL_CALLCONV OP * Perl_pp_lcfirst(pTHX);
-PERL_CALLCONV OP * Perl_pp_le(pTHX);
-PERL_CALLCONV OP * Perl_pp_leave(pTHX);
-PERL_CALLCONV OP * Perl_pp_leaveeval(pTHX);
-PERL_CALLCONV OP * Perl_pp_leavegiven(pTHX);
-PERL_CALLCONV OP * Perl_pp_leaveloop(pTHX);
-PERL_CALLCONV OP * Perl_pp_leavesub(pTHX);
-PERL_CALLCONV OP * Perl_pp_leavesublv(pTHX);
-PERL_CALLCONV OP * Perl_pp_leavetry(pTHX);
-PERL_CALLCONV OP * Perl_pp_leavewhen(pTHX);
-PERL_CALLCONV OP * Perl_pp_leavewrite(pTHX);
-PERL_CALLCONV OP * Perl_pp_left_shift(pTHX);
-PERL_CALLCONV OP * Perl_pp_length(pTHX);
-PERL_CALLCONV OP * Perl_pp_lineseq(pTHX);
-PERL_CALLCONV OP * Perl_pp_link(pTHX);
-PERL_CALLCONV OP * Perl_pp_list(pTHX);
-PERL_CALLCONV OP * Perl_pp_listen(pTHX);
-PERL_CALLCONV OP * Perl_pp_localtime(pTHX);
-PERL_CALLCONV OP * Perl_pp_lock(pTHX);
-PERL_CALLCONV OP * Perl_pp_log(pTHX);
-PERL_CALLCONV OP * Perl_pp_lslice(pTHX);
-PERL_CALLCONV OP * Perl_pp_lstat(pTHX);
-PERL_CALLCONV OP * Perl_pp_lt(pTHX);
-PERL_CALLCONV OP * Perl_pp_mapstart(pTHX);
-PERL_CALLCONV OP * Perl_pp_mapwhile(pTHX);
-PERL_CALLCONV OP * Perl_pp_match(pTHX);
-PERL_CALLCONV OP * Perl_pp_method(pTHX);
-PERL_CALLCONV OP * Perl_pp_method_named(pTHX);
-PERL_CALLCONV OP * Perl_pp_mkdir(pTHX);
-PERL_CALLCONV OP * Perl_pp_modulo(pTHX);
-PERL_CALLCONV OP * Perl_pp_msgctl(pTHX);
-PERL_CALLCONV OP * Perl_pp_msgget(pTHX);
-PERL_CALLCONV OP * Perl_pp_msgrcv(pTHX);
-PERL_CALLCONV OP * Perl_pp_msgsnd(pTHX);
-PERL_CALLCONV OP * Perl_pp_multiply(pTHX);
-PERL_CALLCONV OP * Perl_pp_ncmp(pTHX);
-PERL_CALLCONV OP * Perl_pp_ne(pTHX);
-PERL_CALLCONV OP * Perl_pp_negate(pTHX);
-PERL_CALLCONV OP * Perl_pp_next(pTHX);
-PERL_CALLCONV OP * Perl_pp_nextstate(pTHX);
-PERL_CALLCONV OP * Perl_pp_not(pTHX);
-PERL_CALLCONV OP * Perl_pp_null(pTHX);
-PERL_CALLCONV OP * Perl_pp_oct(pTHX);
-PERL_CALLCONV OP * Perl_pp_once(pTHX);
-PERL_CALLCONV OP * Perl_pp_open(pTHX);
-PERL_CALLCONV OP * Perl_pp_open_dir(pTHX);
-PERL_CALLCONV OP * Perl_pp_or(pTHX);
-PERL_CALLCONV OP * Perl_pp_orassign(pTHX);
-PERL_CALLCONV OP * Perl_pp_ord(pTHX);
-PERL_CALLCONV OP * Perl_pp_pack(pTHX);
-PERL_CALLCONV OP * Perl_pp_padany(pTHX);
-PERL_CALLCONV OP * Perl_pp_padav(pTHX);
-PERL_CALLCONV OP * Perl_pp_padhv(pTHX);
-PERL_CALLCONV OP * Perl_pp_padsv(pTHX);
-PERL_CALLCONV OP * Perl_pp_pipe_op(pTHX);
-PERL_CALLCONV OP * Perl_pp_pop(pTHX);
-PERL_CALLCONV OP * Perl_pp_pos(pTHX);
-PERL_CALLCONV OP * Perl_pp_postdec(pTHX);
-PERL_CALLCONV OP * Perl_pp_postinc(pTHX);
-PERL_CALLCONV OP * Perl_pp_pow(pTHX);
-PERL_CALLCONV OP * Perl_pp_predec(pTHX);
-PERL_CALLCONV OP * Perl_pp_preinc(pTHX);
-PERL_CALLCONV OP * Perl_pp_print(pTHX);
-PERL_CALLCONV OP * Perl_pp_prototype(pTHX);
-PERL_CALLCONV OP * Perl_pp_prtf(pTHX);
-PERL_CALLCONV OP * Perl_pp_push(pTHX);
-PERL_CALLCONV OP * Perl_pp_pushmark(pTHX);
-PERL_CALLCONV OP * Perl_pp_pushre(pTHX);
-PERL_CALLCONV OP * Perl_pp_qr(pTHX);
-PERL_CALLCONV OP * Perl_pp_quotemeta(pTHX);
-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_readlink(pTHX);
-PERL_CALLCONV OP * Perl_pp_recv(pTHX);
-PERL_CALLCONV OP * Perl_pp_redo(pTHX);
-PERL_CALLCONV OP * Perl_pp_ref(pTHX);
-PERL_CALLCONV OP * Perl_pp_refgen(pTHX);
-PERL_CALLCONV OP * Perl_pp_regcmaybe(pTHX);
-PERL_CALLCONV OP * Perl_pp_regcomp(pTHX);
-PERL_CALLCONV OP * Perl_pp_regcreset(pTHX);
-PERL_CALLCONV OP * Perl_pp_rename(pTHX);
-PERL_CALLCONV OP * Perl_pp_repeat(pTHX);
-PERL_CALLCONV OP * Perl_pp_require(pTHX);
-PERL_CALLCONV OP * Perl_pp_reset(pTHX);
-PERL_CALLCONV OP * Perl_pp_return(pTHX);
-PERL_CALLCONV OP * Perl_pp_reverse(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_schomp(pTHX);
-PERL_CALLCONV OP * Perl_pp_schop(pTHX);
-PERL_CALLCONV OP * Perl_pp_scmp(pTHX);
-PERL_CALLCONV OP * Perl_pp_scope(pTHX);
-PERL_CALLCONV OP * Perl_pp_seek(pTHX);
-PERL_CALLCONV OP * Perl_pp_seekdir(pTHX);
-PERL_CALLCONV OP * Perl_pp_select(pTHX);
-PERL_CALLCONV OP * Perl_pp_semctl(pTHX);
-PERL_CALLCONV OP * Perl_pp_semget(pTHX);
-PERL_CALLCONV OP * Perl_pp_semop(pTHX);
-PERL_CALLCONV OP * Perl_pp_send(pTHX);
-PERL_CALLCONV OP * Perl_pp_seq(pTHX);
-PERL_CALLCONV OP * Perl_pp_setpgrp(pTHX);
-PERL_CALLCONV OP * Perl_pp_setpriority(pTHX);
-PERL_CALLCONV OP * Perl_pp_sge(pTHX);
-PERL_CALLCONV OP * Perl_pp_sgrent(pTHX);
-PERL_CALLCONV OP * Perl_pp_sgt(pTHX);
-PERL_CALLCONV OP * Perl_pp_shift(pTHX);
-PERL_CALLCONV OP * Perl_pp_shmctl(pTHX);
-PERL_CALLCONV OP * Perl_pp_shmget(pTHX);
-PERL_CALLCONV OP * Perl_pp_shmread(pTHX);
-PERL_CALLCONV OP * Perl_pp_shmwrite(pTHX);
-PERL_CALLCONV OP * Perl_pp_shostent(pTHX);
-PERL_CALLCONV OP * Perl_pp_shutdown(pTHX);
-PERL_CALLCONV OP * Perl_pp_sin(pTHX);
-PERL_CALLCONV OP * Perl_pp_sle(pTHX);
-PERL_CALLCONV OP * Perl_pp_sleep(pTHX);
-PERL_CALLCONV OP * Perl_pp_slt(pTHX);
-PERL_CALLCONV OP * Perl_pp_smartmatch(pTHX);
-PERL_CALLCONV OP * Perl_pp_sne(pTHX);
-PERL_CALLCONV OP * Perl_pp_snetent(pTHX);
-PERL_CALLCONV OP * Perl_pp_socket(pTHX);
-PERL_CALLCONV OP * Perl_pp_sockpair(pTHX);
-PERL_CALLCONV OP * Perl_pp_sort(pTHX);
-PERL_CALLCONV OP * Perl_pp_splice(pTHX);
-PERL_CALLCONV OP * Perl_pp_split(pTHX);
-PERL_CALLCONV OP * Perl_pp_sprintf(pTHX);
-PERL_CALLCONV OP * Perl_pp_sprotoent(pTHX);
-PERL_CALLCONV OP * Perl_pp_spwent(pTHX);
-PERL_CALLCONV OP * Perl_pp_sqrt(pTHX);
-PERL_CALLCONV OP * Perl_pp_srand(pTHX);
-PERL_CALLCONV OP * Perl_pp_srefgen(pTHX);
-PERL_CALLCONV OP * Perl_pp_sselect(pTHX);
-PERL_CALLCONV OP * Perl_pp_sservent(pTHX);
-PERL_CALLCONV OP * Perl_pp_ssockopt(pTHX);
-PERL_CALLCONV OP * Perl_pp_stat(pTHX);
-PERL_CALLCONV OP * Perl_pp_stringify(pTHX);
-PERL_CALLCONV OP * Perl_pp_stub(pTHX);
-PERL_CALLCONV OP * Perl_pp_study(pTHX);
-PERL_CALLCONV OP * Perl_pp_subst(pTHX);
-PERL_CALLCONV OP * Perl_pp_substcont(pTHX);
-PERL_CALLCONV OP * Perl_pp_substr(pTHX);
-PERL_CALLCONV OP * Perl_pp_subtract(pTHX);
-PERL_CALLCONV OP * Perl_pp_symlink(pTHX);
-PERL_CALLCONV OP * Perl_pp_syscall(pTHX);
-PERL_CALLCONV OP * Perl_pp_sysopen(pTHX);
-PERL_CALLCONV OP * Perl_pp_sysread(pTHX);
-PERL_CALLCONV OP * Perl_pp_sysseek(pTHX);
-PERL_CALLCONV OP * Perl_pp_system(pTHX);
-PERL_CALLCONV OP * Perl_pp_syswrite(pTHX);
-PERL_CALLCONV OP * Perl_pp_tell(pTHX);
-PERL_CALLCONV OP * Perl_pp_telldir(pTHX);
-PERL_CALLCONV OP * Perl_pp_tie(pTHX);
-PERL_CALLCONV OP * Perl_pp_tied(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);
-PERL_CALLCONV OP * Perl_pp_umask(pTHX);
-PERL_CALLCONV OP * Perl_pp_undef(pTHX);
-PERL_CALLCONV OP * Perl_pp_unlink(pTHX);
-PERL_CALLCONV OP * Perl_pp_unpack(pTHX);
-PERL_CALLCONV OP * Perl_pp_unshift(pTHX);
-PERL_CALLCONV OP * Perl_pp_unstack(pTHX);
-PERL_CALLCONV OP * Perl_pp_untie(pTHX);
-PERL_CALLCONV OP * Perl_pp_utime(pTHX);
-PERL_CALLCONV OP * Perl_pp_values(pTHX);
-PERL_CALLCONV OP * Perl_pp_vec(pTHX);
-PERL_CALLCONV OP * Perl_pp_wait(pTHX);
-PERL_CALLCONV OP * Perl_pp_waitpid(pTHX);
-PERL_CALLCONV OP * Perl_pp_wantarray(pTHX);
-PERL_CALLCONV OP * Perl_pp_warn(pTHX);
-PERL_CALLCONV OP * Perl_pp_xor(pTHX);
PERL_CALLCONV REGEXP* Perl_pregcomp(pTHX_ SV * const pattern, const U32 flags)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_PREGCOMP \
#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_STASHPV_HVNAME_MATCH \
assert(c); assert(hv)
-PERL_CALLCONV void Perl_store_cop_label(pTHX_ COP *const cop, const char *label, STRLEN len, U32 flags)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_STORE_COP_LABEL \
- assert(cop); assert(label)
-
PERL_CALLCONV NV Perl_str_to_version(pTHX_ SV *sv)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
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 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);
#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 \
#define PERL_ARGS_ASSERT_TAINT_PROPER \
assert(s)
+PERL_CALLCONV OP * Perl_tied_method(pTHX_ const char *const methname, SV **sp, SV *const sv, const MAGIC *const mg, const U32 flags, U32 argc, ...)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2)
+ __attribute__nonnull__(pTHX_3)
+ __attribute__nonnull__(pTHX_4);
+#define PERL_ARGS_ASSERT_TIED_METHOD \
+ assert(methname); assert(sp); assert(sv); assert(mg)
+
PERL_CALLCONV void Perl_tmps_grow(pTHX_ I32 n);
-PERL_CALLCONV UV Perl_to_uni_fold(pTHX_ UV c, U8 *p, STRLEN *lenp)
+/* PERL_CALLCONV UV Perl_to_uni_fold(pTHX_ UV c, U8 *p, STRLEN *lenp)
__attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3);
-#define PERL_ARGS_ASSERT_TO_UNI_FOLD \
- assert(p); assert(lenp)
+ __attribute__nonnull__(pTHX_3); */
PERL_CALLCONV UV Perl_to_uni_lower(pTHX_ UV c, U8 *p, STRLEN *lenp)
__attribute__nonnull__(pTHX_2)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2)
__attribute__nonnull__(pTHX_4)
- __attribute__nonnull__(pTHX_5)
- __attribute__nonnull__(pTHX_6);
+ __attribute__nonnull__(pTHX_5);
#define PERL_ARGS_ASSERT_TO_UTF8_CASE \
- assert(p); assert(ustrp); assert(swashp); assert(normal); assert(special)
+ assert(p); assert(ustrp); assert(swashp); assert(normal)
-PERL_CALLCONV UV Perl_to_utf8_fold(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp)
+/* PERL_CALLCONV UV Perl_to_utf8_fold(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp)
__attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_TO_UTF8_FOLD \
- assert(p); assert(ustrp)
+ __attribute__nonnull__(pTHX_2); */
PERL_CALLCONV UV Perl_to_utf8_lower(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp)
__attribute__nonnull__(pTHX_1)
#define PERL_ARGS_ASSERT_WARNER \
assert(pat)
+PERL_CALLCONV I32 Perl_was_lvalue_sub(pTHX)
+ __attribute__warn_unused_result__;
+
PERL_CALLCONV void Perl_watch(pTHX_ char** addr)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_WATCH \
# endif
#endif
+#if !defined(PERL_IMPLICIT_SYS)
+PERL_CALLCONV I32 Perl_my_pclose(pTHX_ PerlIO* ptr);
+PERL_CALLCONV PerlIO* Perl_my_popen(pTHX_ const char* cmd, const char* mode)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_MY_POPEN \
+ assert(cmd); assert(mode)
+
+#endif
+#if !defined(PERL_IS_MINIPERL)
+# if defined(PERL_IN_PERL_C)
+STATIC SV * S_incpush_if_exists(pTHX_ AV *const av, SV *dir, SV *const stem)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2)
+ __attribute__nonnull__(pTHX_3);
+#define PERL_ARGS_ASSERT_INCPUSH_IF_EXISTS \
+ assert(av); assert(dir); assert(stem)
+
+# endif
+#endif
#if !defined(PERL_NO_UTF16_FILTER)
# if defined(PERL_IN_TOKE_C)
STATIC U8* S_add_utf16_textfilter(pTHX_ U8 *const s, bool reversed)
#if defined(PERL_DEFAULT_DO_EXEC3_IMPLEMENTATION)
/* PERL_CALLCONV bool Perl_do_exec(pTHX_ const char* cmd)
__attribute__nonnull__(pTHX_1); */
-#define PERL_ARGS_ASSERT_DO_EXEC \
- assert(cmd)
#endif
#if defined(PERL_DONT_CREATE_GVSV)
assert(sv)
#endif
+#if defined(PERL_IN_DQUOTE_STATIC_C)
+STATIC char S_grok_bslash_c(pTHX_ const char source, const bool utf8, const bool output_warning)
+ __attribute__warn_unused_result__;
+
+STATIC bool S_grok_bslash_o(pTHX_ const char* s, UV* uv, STRLEN* len, const char** error_msg, const bool output_warning)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2)
+ __attribute__nonnull__(pTHX_3)
+ __attribute__nonnull__(pTHX_4);
+#define PERL_ARGS_ASSERT_GROK_BSLASH_O \
+ assert(s); assert(uv); assert(len); assert(error_msg)
+
+PERL_STATIC_INLINE I32 S_regcurly(pTHX_ const char *s)
+ __attribute__warn_unused_result__
+ __attribute__pure__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_REGCURLY \
+ assert(s)
+
+#endif
#if defined(PERL_IN_DUMP_C)
STATIC CV* S_deb_curcv(pTHX_ const I32 ix);
STATIC void S_debprof(pTHX_ const OP *o)
assert(hv)
STATIC SV* S_hv_delete_common(pTHX_ HV *hv, SV *keysv, const char *key, STRLEN klen, int k_flags, I32 d_flags, U32 hash);
+STATIC SV* S_hv_free_ent_ret(pTHX_ HV *hv, HE *entryK)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_HV_FREE_ENT_RET \
+ assert(hv)
+
STATIC void S_hv_magic_check(HV *hv, bool *needs_copy, bool *needs_store)
__attribute__nonnull__(1)
__attribute__nonnull__(2)
assert(sv)
#endif
+#if defined(PERL_IN_HV_C) || defined(PERL_IN_SV_C)
+PERL_CALLCONV SV* Perl_hfree_next_entry(pTHX_ HV *hv, STRLEN *indexp)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_HFREE_NEXT_ENTRY \
+ assert(hv); assert(indexp)
+
+#endif
#if defined(PERL_IN_LOCALE_C)
# if defined(USE_LOCALE_NUMERIC) || defined(USE_LOCALE_COLLATE)
STATIC char* S_stdize_locale(pTHX_ char* locs)
#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, const char *name, I32 namlen)
+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(name)
+ assert(stashes); assert(seen_stashes); assert(namesv)
STATIC AV* S_mro_get_linear_isa_dfs(pTHX_ HV* stash, U32 level)
__attribute__nonnull__(pTHX_1);
STATIC NV S_mulexp10(NV value, I32 exponent);
#endif
#if defined(PERL_IN_OP_C)
+PERL_STATIC_INLINE bool S_aassign_common_vars(pTHX_ OP* o);
STATIC void S_apply_attrs(pTHX_ HV *stash, SV *target, OP *attrs, bool for_my)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
#define PERL_ARGS_ASSERT_DUP_ATTRLIST \
assert(o)
+STATIC void S_finalize_op(pTHX_ OP* o)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_FINALIZE_OP \
+ assert(o)
+
STATIC void S_find_and_forget_pmops(pTHX_ OP *o)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_FIND_AND_FORGET_PMOPS \
#define PERL_ARGS_ASSERT_NEW_LOGOP \
assert(firstp); assert(otherp)
-STATIC void S_no_bareword_allowed(pTHX_ const OP *o)
+STATIC void S_no_bareword_allowed(pTHX_ OP *o)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_NO_BAREWORD_ALLOWED \
assert(o)
STATIC OP* S_ref_array_or_hash(pTHX_ OP* cond);
STATIC OP* S_refkids(pTHX_ OP* o, I32 type);
STATIC bool S_scalar_mod_type(const OP *o, I32 type)
- __attribute__warn_unused_result__
- __attribute__nonnull__(1);
-#define PERL_ARGS_ASSERT_SCALAR_MOD_TYPE \
- assert(o)
+ __attribute__warn_unused_result__;
STATIC OP* S_scalarboolean(pTHX_ OP *o)
__attribute__nonnull__(pTHX_1);
# endif
#endif
#if defined(PERL_IN_PAD_C)
-STATIC PADOFFSET S_pad_add_name_sv(pTHX_ SV *namesv, const U32 flags, HV *typestash, HV *ourstash)
+STATIC PADOFFSET S_pad_alloc_name(pTHX_ SV *namesv, U32 flags, HV *typestash, HV *ourstash)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_PAD_ADD_NAME_SV \
+#define PERL_ARGS_ASSERT_PAD_ALLOC_NAME \
assert(namesv)
-STATIC void S_pad_check_dup(pTHX_ SV *name, const U32 flags, const HV *ourstash)
+STATIC void S_pad_check_dup(pTHX_ SV *name, U32 flags, const HV *ourstash)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_PAD_CHECK_DUP \
assert(name)
-STATIC PADOFFSET S_pad_findlex(pTHX_ const char *name, const CV* cv, U32 seq, int warn, SV** out_capture, SV** out_name_sv, int *out_flags)
+STATIC PADOFFSET S_pad_findlex(pTHX_ const char *namepv, STRLEN namelen, U32 flags, const CV* cv, U32 seq, int warn, SV** out_capture, SV** out_name_sv, int *out_flags)
__attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_6)
- __attribute__nonnull__(pTHX_7);
+ __attribute__nonnull__(pTHX_4)
+ __attribute__nonnull__(pTHX_8)
+ __attribute__nonnull__(pTHX_9);
#define PERL_ARGS_ASSERT_PAD_FINDLEX \
- assert(name); assert(cv); assert(out_name_sv); assert(out_flags)
+ assert(namepv); assert(cv); assert(out_name_sv); assert(out_flags)
STATIC void S_pad_reset(pTHX);
#endif
#define PERL_ARGS_ASSERT_INCPUSH \
assert(dir)
-STATIC SV * S_incpush_if_exists(pTHX_ AV *const av, SV *dir, SV *const stem)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3);
-#define PERL_ARGS_ASSERT_INCPUSH_IF_EXISTS \
- assert(av); assert(dir); assert(stem)
-
STATIC void S_incpush_use_sep(pTHX_ const char *p, STRLEN len, U32 flags)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_INCPUSH_USE_SEP \
#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 SV ** S_adjust_stack_on_leave(pTHX_ SV **newsp, SV **sp, SV **mark, I32 gimme, U32 flags)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2)
+ __attribute__nonnull__(pTHX_3);
+#define PERL_ARGS_ASSERT_ADJUST_STACK_ON_LEAVE \
+ assert(newsp); assert(sp); assert(mark)
+
STATIC PerlIO * S_check_type_and_open(pTHX_ SV *name)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_DOFINDLABEL \
assert(o); assert(label); assert(opstack); assert(oplimit)
-STATIC OP* S_doparseform(pTHX_ SV *sv)
- __attribute__warn_unused_result__
+STATIC MAGIC * S_doparseform(pTHX_ SV *sv)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_DOPARSEFORM \
assert(sv)
#define PERL_ARGS_ASSERT_SPACE_JOIN_NAMES_MORTAL \
assert(array)
-STATIC OP * S_tied_handle_method(pTHX_ const char *const methname, SV **sp, IO *const io, MAGIC *const mg, const U32 flags, ...)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3)
- __attribute__nonnull__(pTHX_4);
-#define PERL_ARGS_ASSERT_TIED_HANDLE_METHOD \
- assert(methname); assert(sp); assert(io); assert(mg)
-
#endif
#if defined(PERL_IN_REGCOMP_C)
+PERL_STATIC_INLINE UV* S__invlist_array_init(pTHX_ SV* const invlist, const bool will_have_0)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT__INVLIST_ARRAY_INIT \
+ assert(invlist)
+
+STATIC void S_add_alternate(pTHX_ AV** alternate_ptr, U8* string, STRLEN len)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_ADD_ALTERNATE \
+ assert(alternate_ptr); assert(string)
+
+PERL_STATIC_INLINE SV* S_add_cp_to_invlist(pTHX_ SV* invlist, const UV cp)
+ __attribute__warn_unused_result__;
+
STATIC U32 S_add_data(struct RExC_state_t *pRExC_state, U32 n, const char *s)
__attribute__warn_unused_result__
__attribute__nonnull__(1)
#define PERL_ARGS_ASSERT_ADD_DATA \
assert(pRExC_state); assert(s)
+STATIC SV* S_add_range_to_invlist(pTHX_ SV* invlist, const UV start, const UV end)
+ __attribute__warn_unused_result__;
+
STATIC void S_checkposixcc(pTHX_ struct RExC_state_t *pRExC_state)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_CHECKPOSIXCC \
#define PERL_ARGS_ASSERT_CL_INIT \
assert(pRExC_state); assert(cl)
-STATIC void S_cl_init_zero(const struct RExC_state_t *pRExC_state, struct regnode_charclass_class *cl)
- __attribute__nonnull__(1)
- __attribute__nonnull__(2);
-#define PERL_ARGS_ASSERT_CL_INIT_ZERO \
- assert(pRExC_state); assert(cl)
-
STATIC int S_cl_is_anything(const struct regnode_charclass_class *cl)
__attribute__warn_unused_result__
__attribute__nonnull__(1);
#define PERL_ARGS_ASSERT_CL_OR \
assert(pRExC_state); assert(cl); assert(or_with)
+PERL_STATIC_INLINE UV* S_get_invlist_iter_addr(pTHX_ SV* invlist)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_GET_INVLIST_ITER_ADDR \
+ assert(invlist)
+
+PERL_STATIC_INLINE UV* S_get_invlist_len_addr(pTHX_ SV* invlist)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_GET_INVLIST_LEN_ADDR \
+ assert(invlist)
+
+PERL_STATIC_INLINE UV* S_get_invlist_zero_addr(pTHX_ SV* invlist)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_GET_INVLIST_ZERO_ADDR \
+ assert(invlist)
+
+PERL_STATIC_INLINE UV* S_invlist_array(pTHX_ SV* const invlist)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_INVLIST_ARRAY \
+ assert(invlist)
+
+PERL_STATIC_INLINE SV* S_invlist_clone(pTHX_ SV* const invlist)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_INVLIST_CLONE \
+ assert(invlist)
+
+STATIC void S_invlist_extend(pTHX_ SV* const invlist, const UV len)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_INVLIST_EXTEND \
+ assert(invlist)
+
+PERL_STATIC_INLINE void S_invlist_iterinit(pTHX_ SV* invlist)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_INVLIST_ITERINIT \
+ assert(invlist)
+
+STATIC bool S_invlist_iternext(pTHX_ SV* invlist, UV* start, UV* end)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2)
+ __attribute__nonnull__(pTHX_3);
+#define PERL_ARGS_ASSERT_INVLIST_ITERNEXT \
+ assert(invlist); assert(start); assert(end)
+
+PERL_STATIC_INLINE UV S_invlist_len(pTHX_ SV* const invlist)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_INVLIST_LEN \
+ assert(invlist)
+
+PERL_STATIC_INLINE UV S_invlist_max(pTHX_ SV* const invlist)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_INVLIST_MAX \
+ assert(invlist)
+
+PERL_STATIC_INLINE void S_invlist_set_len(pTHX_ SV* const invlist, const UV len)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_INVLIST_SET_LEN \
+ assert(invlist)
+
+PERL_STATIC_INLINE void S_invlist_trim(pTHX_ SV* const invlist)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_INVLIST_TRIM \
+ assert(invlist)
+
STATIC U32 S_join_exact(pTHX_ struct RExC_state_t *pRExC_state, regnode *scan, I32 *min, U32 flags, regnode *val, U32 depth)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2)
#define PERL_ARGS_ASSERT_REG \
assert(pRExC_state); assert(flagp)
-STATIC regnode* S_reg_namedseq(pTHX_ struct RExC_state_t *pRExC_state, UV *valuep, I32 *flagp)
+STATIC regnode* S_reg_namedseq(pTHX_ struct RExC_state_t *pRExC_state, UV *valuep, I32 *flagp, U32 depth)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_REG_NAMEDSEQ \
assert(pRExC_state)
#define PERL_ARGS_ASSERT_SCAN_COMMIT \
assert(pRExC_state); assert(data); assert(minlenp)
+PERL_STATIC_INLINE U8 S_set_regclass_bit(pTHX_ struct RExC_state_t* pRExC_state, regnode* node, const U8 value, SV** invlist_ptr, AV** alternate_ptr)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2)
+ __attribute__nonnull__(pTHX_4)
+ __attribute__nonnull__(pTHX_5);
+#define PERL_ARGS_ASSERT_SET_REGCLASS_BIT \
+ assert(pRExC_state); assert(node); assert(invlist_ptr); assert(alternate_ptr)
+
+STATIC U8 S_set_regclass_bit_fold(pTHX_ struct RExC_state_t *pRExC_state, regnode* node, const U8 value, SV** invlist_ptr, AV** alternate_ptr)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2)
+ __attribute__nonnull__(pTHX_4)
+ __attribute__nonnull__(pTHX_5);
+#define PERL_ARGS_ASSERT_SET_REGCLASS_BIT_FOLD \
+ assert(pRExC_state); assert(node); assert(invlist_ptr); assert(alternate_ptr)
+
STATIC I32 S_study_chunk(pTHX_ struct RExC_state_t *pRExC_state, regnode **scanp, I32 *minlenp, I32 *deltap, regnode *last, struct scan_data_t *data, I32 stopparen, U8* recursed, struct regnode_charclass_class *and_withp, U32 flags, U32 depth)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2)
assert(pRExC_state); assert(scanp); assert(minlenp); assert(deltap); assert(last)
#endif
+#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_UTF8_C)
+PERL_CALLCONV void Perl__append_range_to_invlist(pTHX_ SV* const invlist, const UV start, const UV end)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT__APPEND_RANGE_TO_INVLIST \
+ assert(invlist)
+
+PERL_CALLCONV void Perl__invlist_intersection(pTHX_ SV* const a, SV* const b, SV** i)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2)
+ __attribute__nonnull__(pTHX_3);
+#define PERL_ARGS_ASSERT__INVLIST_INTERSECTION \
+ assert(a); assert(b); assert(i)
+
+PERL_CALLCONV void Perl__invlist_invert(pTHX_ SV* const invlist)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT__INVLIST_INVERT \
+ assert(invlist)
+
+PERL_CALLCONV void Perl__invlist_subtract(pTHX_ SV* const a, SV* const b, SV** result)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2)
+ __attribute__nonnull__(pTHX_3);
+#define PERL_ARGS_ASSERT__INVLIST_SUBTRACT \
+ assert(a); assert(b); assert(result)
+
+PERL_CALLCONV void Perl__invlist_union(pTHX_ SV* const a, SV* const b, SV** output)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2)
+ __attribute__nonnull__(pTHX_3);
+#define PERL_ARGS_ASSERT__INVLIST_UNION \
+ assert(a); assert(b); assert(output)
+
+PERL_CALLCONV SV* Perl__new_invlist(pTHX_ IV initial_size)
+ __attribute__warn_unused_result__;
+
+PERL_CALLCONV HV* Perl__swash_inversion_hash(pTHX_ SV* const swash)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT__SWASH_INVERSION_HASH \
+ assert(swash)
+
+PERL_CALLCONV SV* Perl__swash_to_invlist(pTHX_ SV* const swash)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT__SWASH_TO_INVLIST \
+ assert(swash)
+
+#endif
#if defined(PERL_IN_REGEXEC_C)
STATIC char* S_find_byclass(pTHX_ regexp * prog, const regnode *c, char *s, const char *strend, regmatch_info *reginfo)
__attribute__warn_unused_result__
#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);
assert(s); assert(name); assert(what)
STATIC int S_deprecate_commaless_var_list(pTHX);
-STATIC bool S_feature_is_enabled(pTHX_ const char *const name, STRLEN namelen)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_FEATURE_IS_ENABLED \
- assert(name)
-
STATIC char * S_filter_gets(pTHX_ SV *sv, STRLEN append)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_NEWPADOP \
assert(sv)
-PERL_CALLCONV AV* Perl_padlist_dup(pTHX_ AV *const srcpad, CLONE_PARAMS *const param)
+PERL_CALLCONV AV* Perl_padlist_dup(pTHX_ AV *srcpad, CLONE_PARAMS *param)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_2);
#define PERL_ARGS_ASSERT_PADLIST_DUP \
assert(cmd)
#endif
+#ifdef PERL_CORE
+# include "pp_proto.h"
+#endif
END_EXTERN_C
+
/* ex: set ro: */