X-Git-Url: https://perl5.git.perl.org/perl5.git/blobdiff_plain/d682515ddb57d53757782d63f41bfeee5275187b..560915b9b730a866bc0c90f927bbfa2375ca7dee:/proto.h diff --git a/proto.h b/proto.h index 5667a5e..9d47ba5 100644 --- a/proto.h +++ b/proto.h @@ -1,16 +1,16 @@ -/* -*- 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. @@ -23,12 +23,38 @@ PERL_CALLCONV int Perl_Gv_AMupdate(pTHX_ HV* stash, bool destructing) assert(stash) PERL_CALLCONV const char * Perl_PerlIO_context_layers(pTHX_ const char *mode); -PERL_CALLCONV HV* Perl__swash_inversion_hash(pTHX_ SV *swash) +PERL_CALLCONV void Perl__append_range_to_invlist(pTHX_ HV* const invlist, const UV start, const UV end) + __attribute__nonnull__(pTHX_1); +#define PERL_ARGS_ASSERT__APPEND_RANGE_TO_INVLIST \ + assert(invlist) + +PERL_CALLCONV HV* 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 HV* 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) + +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); #define PERL_ARGS_ASSERT_ALLOCMY \ @@ -255,6 +281,11 @@ PERL_CALLCONV U32 Perl_cast_ulong(pTHX_ NV f) 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); @@ -424,12 +455,6 @@ PERL_CALLCONV OP * Perl_ck_open(pTHX_ OP *o) #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); @@ -745,7 +770,6 @@ PERL_CALLCONV void Perl_do_join(pTHX_ SV *sv, SV *delim, SV **mark, SV **sp) #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); @@ -921,6 +945,11 @@ PERL_CALLCONV char* Perl_fbm_instr(pTHX_ unsigned char* big, unsigned char* bige #define PERL_ARGS_ASSERT_FBM_INSTR \ assert(big); assert(bigend); assert(littlestr) +PERL_CALLCONV bool Perl_feature_is_enabled(pTHX_ const char *const name, STRLEN namelen) + __attribute__nonnull__(pTHX_1); +#define PERL_ARGS_ASSERT_FEATURE_IS_ENABLED \ + assert(name) + PERL_CALLCONV const char * Perl_fetch_cop_label(pTHX_ COP *const cop, STRLEN *len, U32 *flags) __attribute__nonnull__(pTHX_1); #define PERL_ARGS_ASSERT_FETCH_COP_LABEL \ @@ -971,10 +1000,14 @@ PERL_CALLCONV I32 Perl_foldEQ_locale(const char* a, const char* b, I32 len) #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, ...) @@ -1059,18 +1092,6 @@ PERL_CALLCONV UV Perl_grok_bin(pTHX_ const char* start, STRLEN* len_p, I32* flag #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) @@ -1786,6 +1807,18 @@ PERL_CALLCONV bool Perl_is_utf8_xdigit(pTHX_ const U8 *p) #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 \ @@ -2866,371 +2899,6 @@ PERL_CALLCONV void Perl_populate_isa(pTHX_ const char *name, STRLEN len, ...) #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 \ @@ -4557,11 +4225,9 @@ PERL_CALLCONV OP * Perl_tied_method(pTHX_ const char *const methname, SV **sp, S 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) @@ -4597,16 +4263,13 @@ PERL_CALLCONV UV Perl_to_utf8_case(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp, S __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) @@ -5014,6 +4677,17 @@ STATIC PerlIO * S_doopen_pm(pTHX_ SV *name) # endif #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) @@ -5535,6 +5209,27 @@ STATIC I32 S_do_trans_simple_utf8(pTHX_ SV * const sv) 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) @@ -5627,6 +5322,11 @@ STATIC struct xpvhv_aux* S_hv_auxinit(HV *hv) 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) @@ -5672,6 +5372,14 @@ PERL_CALLCONV void Perl_sv_kill_backrefs(pTHX_ SV *const sv, AV *const av) 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) @@ -5928,13 +5636,6 @@ STATIC void S_incpush(pTHX_ const char *const dir, STRLEN len, U32 flags) #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 \ @@ -6022,8 +5723,7 @@ STATIC OP* S_dofindlabel(pTHX_ OP *o, const char *label, OP **opstack, OP **opli #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) @@ -6271,6 +5971,15 @@ STATIC SV * S_space_join_names_mortal(pTHX_ char *const *array) #endif #if defined(PERL_IN_REGCOMP_C) +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 HV* S_add_cp_to_invlist(pTHX_ HV* 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) @@ -6278,6 +5987,9 @@ STATIC U32 S_add_data(struct RExC_state_t *pRExC_state, U32 n, const char *s) #define PERL_ARGS_ASSERT_ADD_DATA \ assert(pRExC_state); assert(s) +STATIC HV* S_add_range_to_invlist(pTHX_ HV* 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 \ @@ -6301,12 +6013,6 @@ STATIC void S_cl_init(const struct RExC_state_t *pRExC_state, struct regnode_cha #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); @@ -6320,6 +6026,63 @@ STATIC void S_cl_or(const struct RExC_state_t *pRExC_state, struct regnode_charc #define PERL_ARGS_ASSERT_CL_OR \ assert(pRExC_state); assert(cl); assert(or_with) +PERL_STATIC_INLINE UV* S_invlist_array(pTHX_ HV* const invlist) + __attribute__warn_unused_result__ + __attribute__nonnull__(pTHX_1); +#define PERL_ARGS_ASSERT_INVLIST_ARRAY \ + assert(invlist) + +PERL_STATIC_INLINE void S_invlist_destroy(pTHX_ HV* const invlist) + __attribute__nonnull__(pTHX_1); +#define PERL_ARGS_ASSERT_INVLIST_DESTROY \ + assert(invlist) + +STATIC void S_invlist_extend(pTHX_ HV* const invlist, const UV len) + __attribute__nonnull__(pTHX_1); +#define PERL_ARGS_ASSERT_INVLIST_EXTEND \ + assert(invlist) + +STATIC HV* S_invlist_intersection(pTHX_ HV* const a, HV* const b) + __attribute__warn_unused_result__ + __attribute__nonnull__(pTHX_1) + __attribute__nonnull__(pTHX_2); +#define PERL_ARGS_ASSERT_INVLIST_INTERSECTION \ + assert(a); assert(b) + +PERL_STATIC_INLINE UV S_invlist_len(pTHX_ HV* 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_ HV* 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_ HV* const invlist, const UV len) + __attribute__nonnull__(pTHX_1); +#define PERL_ARGS_ASSERT_INVLIST_SET_LEN \ + assert(invlist) + +PERL_STATIC_INLINE void S_invlist_set_max(pTHX_ HV* const invlist, const UV max) + __attribute__nonnull__(pTHX_1); +#define PERL_ARGS_ASSERT_INVLIST_SET_MAX \ + assert(invlist) + +PERL_STATIC_INLINE void S_invlist_trim(pTHX_ HV* const invlist) + __attribute__nonnull__(pTHX_1); +#define PERL_ARGS_ASSERT_INVLIST_TRIM \ + assert(invlist) + +STATIC HV* S_invlist_union(pTHX_ HV* const a, HV* const b) + __attribute__warn_unused_result__ + __attribute__nonnull__(pTHX_1) + __attribute__nonnull__(pTHX_2); +#define PERL_ARGS_ASSERT_INVLIST_UNION \ + assert(a); assert(b) + 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) @@ -6361,7 +6124,7 @@ STATIC regnode* S_reg(pTHX_ struct RExC_state_t *pRExC_state, I32 paren, I32 *fl #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) @@ -6452,6 +6215,22 @@ STATIC void S_scan_commit(pTHX_ const struct RExC_state_t *pRExC_state, struct s #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, HV** 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, HV** 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) @@ -6739,11 +6518,6 @@ STATIC void S_checkcomma(pTHX_ const char *s, const char *name, const char *what 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); @@ -7450,5 +7224,9 @@ PERL_CALLCONV int Perl_do_spawn_nowait(pTHX_ char* cmd) assert(cmd) #endif +#ifdef PERL_CORE +# include "pp_proto.h" +#endif END_EXTERN_C + /* ex: set ro: */