X-Git-Url: https://perl5.git.perl.org/perl5.git/blobdiff_plain/108cb980748a75d7c8170cfaf25dbda9c56f6717..e9cddfae7ec5891690e4f3255cb1e68612ed33a9:/embed.fnc diff --git a/embed.fnc b/embed.fnc index 3bd03e8..2f5e089 100644 --- a/embed.fnc +++ b/embed.fnc @@ -10,19 +10,27 @@ : : flags are single letters with following meanings: : -: A Member of public API: +: A Available fully everywhere (usually part of the public API): : : add entry to the list of exported symbols (unless x or m); -: any doc entry goes in perlapi.pod rather than perlintern.pod +: any doc entry goes in perlapi.pod rather than perlintern.pod. If no +: documentation is furnished for this function, and M is also +: specified, the function is not listed as part of the public API. +: If M isn't specified and no documentation is furnished, the +: function is listed in perlapi as existing and being undocumented : makes '#define foo Perl_foo' scope not just for PERL_CORE/PERL_EXT : +: If the function is only exported for use in a public +: macro, see X. +: : a Allocates memory a la malloc/calloc. Also implies "R": : : proto.h: add __attribute__malloc__ : : b Binary backward compatibility; function is a macro : but has also Perl_ implementation (which is exported); often -: implemented in mathoms.c: +: implemented in mathoms.c (whose compilation can be suppressed; see +: INSTALL): : : add entry to the list of exported symbols; : don't define PERL_ARGS_ASSERT_FOO @@ -43,7 +51,8 @@ : Should always be combined with "X" to be usable from dynamically : loaded extensions. : -: f Function takes printf style format string, varargs: +: f Function takes printf style format string, varargs (hence any entry that +: would otherwise go in embed.h is suppressed): : : proto.h: add __attribute__format__ (or ...null_ok__) : @@ -110,6 +119,10 @@ : : add entry to the list of exported symbols, unless x or m : +: This is often used for private functions that are used by public +: macros. In those cases the macros must use the long form of the +: name (Perl_blah(aTHX_ ...)). +: : x Not exported : : suppress entry in the list of exported symbols @@ -206,6 +219,8 @@ Apd |void |av_push |NN AV *av|NN SV *val EXp |void |av_reify |NN AV *av ApdR |SV* |av_shift |NN AV *av Apd |SV** |av_store |NN AV *av|I32 key|NULLOK SV *val +AidR |I32 |av_top_index |NN AV *av +AmpdR |I32 |av_tindex |NN AV *av Apd |void |av_undef |NN AV *av ApdoxM |SV** |av_create_and_unshift_one|NN AV **const avp|NN SV *const val Apd |void |av_unshift |NN AV *av|I32 num @@ -246,10 +261,14 @@ Aprd |void |croak_sv |NN SV *baseex : croak()'s first parm can be NULL. Otherwise, mod_perl breaks. Afprd |void |croak |NULLOK const char* pat|... Aprd |void |vcroak |NULLOK const char* pat|NULLOK va_list* args -Aprd |void |croak_no_modify -Aprd |void |croak_xs_usage |NN const CV *const cv \ +Anprd |void |croak_no_modify +Anprd |void |croak_xs_usage |NN const CV *const cv \ |NN const char *const params - +npr |void |croak_no_mem +nprX |void |croak_popstack +#if defined(WIN32) +norx |void |win32_croak_not_implemented|NN const char * fname +#endif #if defined(PERL_IMPLICIT_CONTEXT) Afnrp |void |croak_nocontext|NULLOK const char* pat|... Afnp |OP* |die_nocontext |NULLOK const char* pat|... @@ -271,7 +290,7 @@ Afnp |int |printf_nocontext|NN const char *format|... p |SV * |core_prototype |NULLOK SV *sv|NN const char *name \ |const int code|NULLOK int * const opnum : Used in gv.c -p |OP * |coresub_op |NN SV *coreargssv|const int code \ +p |OP * |coresub_op |NN SV *const coreargssv|const int code \ |const int opnum : Used in sv.c p |void |cv_ckproto_len_flags |NN const CV* cv|NULLOK const GV* gv\ @@ -511,7 +530,7 @@ Ap |void* |hv_common_key_len|NULLOK HV *hv|NN const char *key \ |I32 klen_i32|const int action|NULLOK SV *val \ |const U32 hash Apod |STRLEN |hv_fill |NN HV const *const hv -Ap |void |hv_free_ent |NN HV *hv|NULLOK HE *entryK +Ap |void |hv_free_ent |NN HV *hv|NULLOK HE *entry Apd |I32 |hv_iterinit |NN HV *hv ApdR |char* |hv_iterkey |NN HE* entry|NN I32* retlen ApdR |SV* |hv_iterkeysv |NN HE* entry @@ -587,25 +606,28 @@ pR |OP* |invert |NULLOK OP* cmd ApR |I32 |is_lvalue_sub : Used in cop.h XopR |I32 |was_lvalue_sub -ApPR |U32 |to_uni_upper_lc|U32 c -ApPR |U32 |to_uni_title_lc|U32 c -ApPR |U32 |to_uni_lower_lc|U32 c -ApPR |bool |is_uni_alnum |UV c -ApPR |bool |is_uni_idfirst |UV c -ApPR |bool |is_uni_alpha |UV c -ApPR |bool |is_uni_ascii |UV c -ApPR |bool |is_uni_blank |UV c -ApPR |bool |is_uni_space |UV c -ApPR |bool |is_uni_cntrl |UV c -ApPR |bool |is_uni_graph |UV c -ApPR |bool |is_uni_digit |UV c -ApPR |bool |is_uni_upper |UV c -ApPR |bool |is_uni_lower |UV c -ApPR |bool |is_uni_print |UV c -ApPR |bool |is_uni_punct |UV c -ApPR |bool |is_uni_xdigit |UV c -Ap |UV |to_uni_upper |UV c|NN U8 *p|NN STRLEN *lenp -Ap |UV |to_uni_title |UV c|NN U8 *p|NN STRLEN *lenp +ADMpPR |U32 |to_uni_upper_lc|U32 c +ADMpPR |U32 |to_uni_title_lc|U32 c +ADMpPR |U32 |to_uni_lower_lc|U32 c +ADMpPR |bool |is_uni_alnum |UV c +ADMpPR |bool |is_uni_alnumc |UV c +ADMpPR |bool |is_uni_idfirst |UV c +ADMpPR |bool |is_uni_alpha |UV c +ADMpPR |bool |is_uni_ascii |UV c +ADMpPR |bool |is_uni_blank |UV c +ADMpPR |bool |is_uni_space |UV c +ADMpPR |bool |is_uni_cntrl |UV c +ADMpPR |bool |is_uni_graph |UV c +ADMpPR |bool |is_uni_digit |UV c +ADMpPR |bool |is_uni_upper |UV c +ADMpPR |bool |is_uni_lower |UV c +ADMpPR |bool |is_uni_print |UV c +ADMpPR |bool |is_uni_punct |UV c +ADMpPR |bool |is_uni_xdigit |UV c +AMp |UV |to_uni_upper |UV c|NN U8 *p|NN STRLEN *lenp +AMp |UV |to_uni_title |UV c|NN U8 *p|NN STRLEN *lenp +iDMPR |bool |isIDFIRST_lazy |NN const char* p +iDMPR |bool |isALNUM_lazy |NN const char* p #ifdef PERL_IN_UTF8_C sR |U8 |to_lower_latin1|const U8 c|NULLOK U8 *p|NULLOK STRLEN *lenp #endif @@ -615,52 +637,59 @@ EXp |UV |_to_fold_latin1|const U8 c|NN U8 *p|NN STRLEN *lenp|const #if defined(PERL_IN_UTF8_C) || defined(PERL_IN_PP_C) p |UV |_to_upper_title_latin1|const U8 c|NN U8 *p|NN STRLEN *lenp|const char S_or_s #endif -Ap |UV |to_uni_lower |UV c|NN U8 *p|NN STRLEN *lenp -Amp |UV |to_uni_fold |UV c|NN U8 *p|NN STRLEN *lenp +AMp |UV |to_uni_lower |UV c|NN U8 *p|NN STRLEN *lenp +AMmp |UV |to_uni_fold |UV c|NN U8 *p|NN STRLEN *lenp AMp |UV |_to_uni_fold_flags|UV c|NN U8 *p|NN STRLEN *lenp|const U8 flags -ApPR |bool |is_uni_alnum_lc|UV c -ApPR |bool |is_uni_idfirst_lc|UV c -ApPR |bool |is_uni_alpha_lc|UV c -ApPR |bool |is_uni_ascii_lc|UV c -ApPR |bool |is_uni_space_lc|UV c -ApPR |bool |is_uni_cntrl_lc|UV c -ApPR |bool |is_uni_graph_lc|UV c -ApPR |bool |is_uni_digit_lc|UV c -ApPR |bool |is_uni_upper_lc|UV c -ApPR |bool |is_uni_lower_lc|UV c -ApPR |bool |is_uni_print_lc|UV c -ApPR |bool |is_uni_punct_lc|UV c -ApPR |bool |is_uni_xdigit_lc|UV c +ADMpPR |bool |is_uni_alnum_lc|UV c +ADMpPR |bool |is_uni_alnumc_lc|UV c +ADMpPR |bool |is_uni_idfirst_lc|UV c +AMpR |bool |_is_uni_perl_idcont|UV c +AMpR |bool |_is_uni_perl_idstart|UV c +ADMpPR |bool |is_uni_alpha_lc|UV c +ADMpPR |bool |is_uni_ascii_lc|UV c +ADMpPR |bool |is_uni_space_lc|UV c +ADMpPR |bool |is_uni_blank_lc|UV c +ADMpPR |bool |is_uni_cntrl_lc|UV c +ADMpPR |bool |is_uni_graph_lc|UV c +ADMpPR |bool |is_uni_digit_lc|UV c +ADMpPR |bool |is_uni_upper_lc|UV c +ADMpPR |bool |is_uni_lower_lc|UV c +ADMpPR |bool |is_uni_print_lc|UV c +ADMpPR |bool |is_uni_punct_lc|UV c +ADMpPR |bool |is_uni_xdigit_lc|UV c Anpd |bool |is_ascii_string|NN const U8 *s|STRLEN len AnpdD |STRLEN |is_utf8_char |NN const U8 *s Anpd |STRLEN |is_utf8_char_buf|NN const U8 *buf|NN const U8 *buf_end Anpd |bool |is_utf8_string |NN const U8 *s|STRLEN len Anpdmb |bool |is_utf8_string_loc|NN const U8 *s|STRLEN len|NULLOK const U8 **ep Anpd |bool |is_utf8_string_loclen|NN const U8 *s|STRLEN len|NULLOK const U8 **ep|NULLOK STRLEN *el -ApR |bool |is_utf8_alnum |NN const U8 *p -ApR |bool |is_utf8_idfirst|NN const U8 *p -ApR |bool |is_utf8_xidfirst|NN const U8 *p -EXpR |bool |_is_utf8__perl_idstart|NN const U8 *p -ApR |bool |is_utf8_idcont |NN const U8 *p -ApR |bool |is_utf8_xidcont |NN const U8 *p -ApR |bool |is_utf8_alpha |NN const U8 *p -ApR |bool |is_utf8_ascii |NN const U8 *p -ApR |bool |is_utf8_blank |NN const U8 *p -ApR |bool |is_utf8_space |NN const U8 *p -ApR |bool |is_utf8_perl_space |NN const U8 *p -ApR |bool |is_utf8_perl_word |NN const U8 *p -ApR |bool |is_utf8_cntrl |NN const U8 *p -ApR |bool |is_utf8_digit |NN const U8 *p -ApR |bool |is_utf8_posix_digit |NN const U8 *p -ApR |bool |is_utf8_graph |NN const U8 *p -ApR |bool |is_utf8_upper |NN const U8 *p -ApR |bool |is_utf8_lower |NN const U8 *p -ApR |bool |is_utf8_print |NN const U8 *p -ApR |bool |is_utf8_punct |NN const U8 *p -ApR |bool |is_utf8_xdigit |NN const U8 *p -ApR |bool |is_utf8_mark |NN const U8 *p -EXpR |bool |is_utf8_X_extend |NN const U8 *p -EXpR |bool |is_utf8_X_regular_begin|NN const U8 *p +AMpR |bool |_is_uni_FOO|const U8 classnum|const UV c +AMpR |bool |_is_utf8_FOO|const U8 classnum|NN const U8 *p +ADMpR |bool |is_utf8_alnum |NN const U8 *p +ADMpR |bool |is_utf8_alnumc |NN const U8 *p +ADMpR |bool |is_utf8_idfirst|NN const U8 *p +ADMpR |bool |is_utf8_xidfirst|NN const U8 *p +AMpR |bool |_is_utf8_perl_idcont|NN const U8 *p +AMpR |bool |_is_utf8_perl_idstart|NN const U8 *p +ADMpR |bool |is_utf8_idcont |NN const U8 *p +ADMpR |bool |is_utf8_xidcont |NN const U8 *p +ADMpR |bool |is_utf8_alpha |NN const U8 *p +ADMpR |bool |is_utf8_ascii |NN const U8 *p +ADMpR |bool |is_utf8_blank |NN const U8 *p +ADMpR |bool |is_utf8_space |NN const U8 *p +ADMpR |bool |is_utf8_perl_space |NN const U8 *p +ADMpR |bool |is_utf8_perl_word |NN const U8 *p +ADMpR |bool |is_utf8_cntrl |NN const U8 *p +ADMpR |bool |is_utf8_digit |NN const U8 *p +ADMpR |bool |is_utf8_posix_digit |NN const U8 *p +ADMpR |bool |is_utf8_graph |NN const U8 *p +ADMpR |bool |is_utf8_upper |NN const U8 *p +ADMpR |bool |is_utf8_lower |NN const U8 *p +ADMpR |bool |is_utf8_print |NN const U8 *p +ADMpR |bool |is_utf8_punct |NN const U8 *p +ADMpR |bool |is_utf8_xdigit |NN const U8 *p +AMpR |bool |_is_utf8_mark |NN const U8 *p +ADMpR |bool |is_utf8_mark |NN const U8 *p : Used in perly.y p |OP* |jmaybe |NN OP *o : Used in pp.c @@ -710,10 +739,22 @@ Ap |void |vload_module|U32 flags|NN SV* name|NULLOK SV* ver|NULLOK va_list* args p |OP* |localize |NN OP *o|I32 lex ApdR |I32 |looks_like_number|NN SV *const sv Apd |UV |grok_bin |NN const char* start|NN STRLEN* len_p|NN I32* flags|NULLOK NV *result -#ifdef PERL_IN_DQUOTE_STATIC_C +#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_TOKE_C) EMsR |char |grok_bslash_c |const char source|const bool utf8|const bool output_warning -EMsR |bool |grok_bslash_o |NN const char* s|NN UV* uv|NN STRLEN* len|NN const char** error_msg|const bool output_warning -EMiR |bool |grok_bslash_x |NN const char* s|NN UV* uv|NN STRLEN* len|NN const char** error_msg|const bool output_warning +EMsR |bool |grok_bslash_o |NN char** s|NN UV* uv \ + |NN const char** error_msg \ + |const bool output_warning \ + |const bool strict \ + |const bool silence_non_portable \ + |const bool utf8 +EMiR |bool |grok_bslash_x |NN char** s|NN UV* uv \ + |NN const char** error_msg \ + |const bool output_warning \ + |const bool strict \ + |const bool silence_non_portable \ + |const bool utf8 +EMsPR |char*|form_short_octal_warning|NN const char * const s \ + |const STRLEN len #endif Apd |UV |grok_hex |NN const char* start|NN STRLEN* len_p|NN I32* flags|NULLOK NV *result Apd |int |grok_number |NN const char *pv|STRLEN len|NULLOK UV *valuep @@ -745,7 +786,13 @@ p |int |magic_getvec |NN SV* sv|NN MAGIC* mg p |int |magic_nextpack |NN SV *sv|NN MAGIC *mg|NN SV *key p |U32 |magic_regdata_cnt|NN SV* sv|NN MAGIC* mg p |int |magic_regdatum_get|NN SV* sv|NN MAGIC* mg +:removing noreturn to silence a warning for this function resulted in no +:change to the interpreter DLL image under VS 2003 -O1 -GL 32 bits +#ifdef _MSC_VER +p |int |magic_regdatum_set|NN SV* sv|NN MAGIC* mg +#else pr |int |magic_regdatum_set|NN SV* sv|NN MAGIC* mg +#endif p |int |magic_set |NN SV* sv|NN MAGIC* mg p |int |magic_setarylen|NN SV* sv|NN MAGIC* mg p |int |magic_cleararylen_p|NN SV* sv|NN MAGIC* mg @@ -841,9 +888,9 @@ Apmb |I32 |my_stat pX |I32 |my_stat_flags |NULLOK const U32 flags Ap |char * |my_strftime |NN const char *fmt|int sec|int min|int hour|int mday|int mon|int year|int wday|int yday|int isdst #if defined(MYSWAP) -ApPa |short |my_swap |short s -ApPa |long |my_htonl |long l -ApPa |long |my_ntohl |long l +ApPR |short |my_swap |short s +ApPR |long |my_htonl |long l +ApPR |long |my_ntohl |long l #endif : Used in pp_ctl.c p |void |my_unexec @@ -1040,7 +1087,6 @@ Ap |SV* |regclass_swash |NULLOK const regexp *prog \ |NN const struct regnode *node|bool doinit \ |NULLOK SV **listsvp|NULLOK SV **altsvp #ifdef PERL_IN_REGCOMP_C -EMs |void |add_alternate |NN AV** alternate_ptr|NN U8* string|STRLEN len EMsR |SV* |_new_invlist_C_array|NN UV* list : Not used currently: EXMs |bool |_invlistEQ |NN SV* const a|NN SV* const b|bool complement_b #endif @@ -1068,8 +1114,9 @@ Ap |char* |re_intuit_start|NN REGEXP * const rx|NULLOK SV* sv|NN char* strpos \ |NN char* strend|const U32 flags \ |NULLOK re_scream_pos_data *data Ap |SV* |re_intuit_string|NN REGEXP *const r -#if defined(PERL_IN_DQUOTE_STATIC_C) -EiPR |I32 |regcurly |NN const char *s +#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_TOKE_C) +EiPR |I32 |regcurly |NN const char *s \ + |const bool rbrace_must_be_escaped #endif Ap |I32 |regexec_flags |NN REGEXP *const rx|NN char *stringarg \ |NN char *strend|NN char *strbeg|I32 minend \ @@ -1290,9 +1337,7 @@ ApdR |bool |sv_does_pvn |NN SV* sv|NN const char *const name|const STRLEN len \ Amd |I32 |sv_eq |NULLOK SV* sv1|NULLOK SV* sv2 Apd |I32 |sv_eq_flags |NULLOK SV* sv1|NULLOK SV* sv2|const U32 flags Apd |void |sv_free |NULLOK SV *const sv -: FIXME Used in SvREFCNT_dec() but only -: if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN) -poMX |void |sv_free2 |NN SV *const sv +poMX |void |sv_free2 |NN SV *const sv|const U32 refcnt : Used only in perl.c pd |void |sv_free_arenas Apd |char* |sv_gets |NN SV *const sv|NN PerlIO *const fp|I32 append @@ -1390,10 +1435,12 @@ EiMR |IV |invlist_previous_index|NN SV* const invlist EiM |void |invlist_set_previous_index|NN SV* const invlist|const IV index EiM |void |invlist_trim |NN SV* const invlist EiMR |SV* |invlist_clone |NN SV* const invlist +EiMR |bool |invlist_is_iterating|NN SV* const invlist EiMR |UV* |get_invlist_iter_addr |NN SV* invlist EiMR |UV* |get_invlist_version_id_addr |NN SV* invlist EiM |void |invlist_iterinit|NN SV* invlist EsMR |bool |invlist_iternext|NN SV* invlist|NN UV* start|NN UV* end +EiM |void |invlist_iterfinish|NN SV* invlist EiMR |UV |invlist_highest|NN SV* const invlist #endif #if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_UTF8_C) @@ -1404,22 +1451,25 @@ EXpM |void |_invlist_union_maybe_complement_2nd|NULLOK SV* const a|NN SV* const EXmM |void |_invlist_subtract|NN SV* const a|NN SV* const b|NN SV** result EXpM |void |_invlist_invert|NN SV* const invlist EXpM |void |_invlist_invert_prop|NN SV* const invlist -EXMpR |HV* |_swash_inversion_hash |NN SV* const swash EXMpR |SV* |_new_invlist |IV initial_size EXMpR |SV* |_swash_to_invlist |NN SV* const swash EXMpR |SV* |_add_range_to_invlist |NULLOK SV* invlist|const UV start|const UV end EXMp |void |_invlist_populate_swatch |NN SV* const invlist|const UV start|const UV end|NN U8* swatch #endif -#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C) || defined(PERL_IN_UTF8_C) +#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C) || defined(PERL_IN_UTF8_C) || defined(PERL_IN_TOKE_C) EXp |SV* |_core_swash_init|NN const char* pkg|NN const char* name \ |NN SV* listsv|I32 minbits|I32 none \ |NULLOK SV* invlist|NULLOK U8* const flags_p +#endif +#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C) || defined(PERL_IN_UTF8_C) EXMpR |SV* |_invlist_contents|NN SV* const invlist EiMR |UV* |_get_invlist_len_addr |NN SV* invlist EiMR |UV |_invlist_len |NN SV* const invlist EMiR |bool |_invlist_contains_cp|NN SV* const invlist|const UV cp EXpMR |IV |_invlist_search |NN SV* const invlist|const UV cp EXMpR |SV* |_get_swash_invlist|NN SV* const swash +EXMpR |HV* |_swash_inversion_hash |NN SV* const swash +: Not used currently: EXMp |void |_invlist_dump |NN SV* const invlist|NN const char * const header #endif Ap |void |taint_env Ap |void |taint_proper |NULLOK const char* f|NN const char *const s @@ -1505,7 +1555,7 @@ p |I32 |wait4pid |Pid_t pid|NN int* statusp|int flags p |U32 |parse_unicode_opts|NN const char **popt Ap |U32 |seed : Only used in perl.c -pR |UV |get_hash_seed +p |void |get_hash_seed |NN unsigned char *seed_buffer : Used in doio.c, pp_hot.c, pp_sys.c p |void |report_evil_fh |NULLOK const GV *gv : Used in doio.c, pp_hot.c, pp_sys.c @@ -1543,6 +1593,10 @@ p |void |yyunlex p |int |yyparse |int gramtype : Only used in scope.c p |void |parser_free |NN const yy_parser *parser +#ifdef PERL_CORE +p |void |parser_free_nexttoke_ops|NN yy_parser *parser \ + |NN OPSLAB *slab +#endif #if defined(PERL_IN_TOKE_C) s |int |yywarn |NN const char *const s|U32 flags #endif @@ -1554,6 +1608,7 @@ Anpa |Malloc_t|safesysmalloc |MEM_SIZE nbytes Anpa |Malloc_t|safesyscalloc |MEM_SIZE elements|MEM_SIZE size Anpa |Malloc_t|safesysrealloc|Malloc_t where|MEM_SIZE nbytes Anp |Free_t |safesysfree |Malloc_t where +Asrnx |void |croak_memory_wrap #if defined(PERL_GLOBAL_STRUCT) Ap |struct perl_vars *|GetVars Ap |struct perl_vars*|init_global_struct @@ -1714,9 +1769,9 @@ po |SV* |hfree_next_entry |NN HV *hv|NN STRLEN *indexp #endif #if defined(PERL_IN_HV_C) -s |void |hsplit |NN HV *hv +s |void |hsplit |NN HV *hv|STRLEN const oldsize|STRLEN newsize s |void |hfreeentries |NN HV *hv -s |SV* |hv_free_ent_ret|NN HV *hv|NULLOK HE *entryK +s |SV* |hv_free_ent_ret|NN HV *hv|NN HE *entry sa |HE* |new_he sanR |HEK* |save_hek_flags |NN const char *str|I32 len|U32 hash|int flags sn |void |hv_magic_check |NN HV *hv|NN bool *needs_copy|NN bool *needs_store @@ -1744,11 +1799,7 @@ s |void |unwind_handler_stack|NULLOK const void *p #if defined(PERL_IN_OP_C) sRn |bool |is_handle_constructor|NN const OP *o|I32 numargs sR |I32 |is_list_assignment|NULLOK const OP *o -# ifdef USE_ITHREADS -so |void |forget_pmop |NN PMOP *const o|U32 flags -# else -so |void |forget_pmop |NN PMOP *const o -# endif +s |void |forget_pmop |NN PMOP *const o s |void |find_and_forget_pmops |NN OP *o s |void |cop_free |NN COP *cop s |OP* |modkids |NULLOK OP *o|I32 type @@ -1883,7 +1934,7 @@ s |OP* |do_smartmatch |NULLOK HV* seen_this \ #endif #if defined(PERL_IN_PP_HOT_C) -s |void |do_oddball |NN HV *hash|NN SV **relem|NN SV **firstrelem +s |void |do_oddball |NN SV **oddkey|NN SV **firstkey sR |SV* |method_common |NN SV* meth|NULLOK U32* hashp #endif @@ -1923,14 +1974,24 @@ Es |regnode*|regbranch |NN struct RExC_state_t *pRExC_state \ Es |STRLEN |reguni |NN const struct RExC_state_t *pRExC_state \ |UV uv|NN char *s Es |regnode*|regclass |NN struct RExC_state_t *pRExC_state \ - |NN I32 *flagp|U32 depth + |NN I32 *flagp|U32 depth|const bool stop_at_1 \ + |bool allow_multi_fold \ + |const bool silence_non_portable \ + |NULLOK SV** ret_invlist +Es |bool|could_it_be_a_POSIX_class|NN struct RExC_state_t *pRExC_state +Es |regnode*|handle_regex_sets|NN struct RExC_state_t *pRExC_state \ + |NULLOK SV ** return_invlist \ + |NN I32 *flagp|U32 depth \ + |NN char * const oregcomp_parse +Es |void|parse_lparen_question_flags|NN struct RExC_state_t *pRExC_state Es |regnode*|reg_node |NN struct RExC_state_t *pRExC_state|U8 op Es |UV |reg_recode |const char value|NN SV **encp Es |regnode*|regpiece |NN struct RExC_state_t *pRExC_state \ |NN I32 *flagp|U32 depth -Es |bool |grok_bslash_N |NN struct RExC_state_t *pRExC_state \ - |NULLOK regnode** nodep|NULLOK UV *valuep \ - |NN I32 *flagp|U32 depth|bool in_char_class +Es |bool |grok_bslash_N |NN struct RExC_state_t *pRExC_state \ + |NULLOK regnode** nodep|NULLOK UV *valuep \ + |NN I32 *flagp|U32 depth|bool in_char_class \ + |const bool strict Es |void |reginsert |NN struct RExC_state_t *pRExC_state \ |U8 op|NN regnode *opnd|U32 depth Es |void |regtail |NN struct RExC_state_t *pRExC_state \ @@ -1943,6 +2004,8 @@ Es |U32 |join_exact |NN struct RExC_state_t *pRExC_state \ |U32 flags|NULLOK regnode *val|U32 depth EsRn |char * |regwhite |NN struct RExC_state_t *pRExC_state \ |NN char *p +EsRn |char * |regpatws |NN struct RExC_state_t *pRExC_state \ + |NN char *p|const bool recognize_comment Ei |void |alloc_maybe_populate_EXACT|NN struct RExC_state_t *pRExC_state \ |NN regnode *node|NN I32 *flagp|STRLEN len \ |UV code_point @@ -1972,8 +2035,8 @@ Es |I32 |study_chunk |NN struct RExC_state_t *pRExC_state \ EsRn |U32 |add_data |NN struct RExC_state_t *pRExC_state|U32 n \ |NN const char *s rs |void |re_croak2 |NN const char* pat1|NN const char* pat2|... -Es |I32 |regpposixcc |NN struct RExC_state_t *pRExC_state|I32 value -Es |void |checkposixcc |NN struct RExC_state_t *pRExC_state +Ei |I32 |regpposixcc |NN struct RExC_state_t *pRExC_state \ + |I32 value|NULLOK SV *free_me|const bool strict Es |I32 |make_trie |NN struct RExC_state_t *pRExC_state \ |NN regnode *startbranch|NN regnode *first \ |NN regnode *last|NN regnode *tail \ @@ -2004,27 +2067,34 @@ Es |U8 |regtail_study |NN struct RExC_state_t *pRExC_state \ #endif #if defined(PERL_IN_REGEXEC_C) +ERs |bool |isFOO_lc |const U8 classnum|const U8 character +ERs |bool |isFOO_utf8_lc |const U8 classnum|NN const U8* character ERs |I32 |regmatch |NN regmatch_info *reginfo|NN char *startpos|NN regnode *prog -ERs |I32 |regrepeat |NN const regexp *prog|NN char **startposp|NN const regnode *p|I32 max|int depth +ERs |I32 |regrepeat |NN regexp *prog|NN char **startposp \ + |NN const regnode *p|I32 max|int depth \ + |bool is_utf8_pat ERs |I32 |regtry |NN regmatch_info *reginfo|NN char **startposp -ERs |bool |reginclass |NULLOK const regexp * const prog|NN const regnode * const n|NN const U8 * const p|NULLOK STRLEN *lenp\ - |bool const do_utf8sv_is_utf8 -Es |CHECKPOINT|regcppush |NN const regexp *rex|I32 parenfloor -Es |void |regcppop |NN regexp *rex +ERs |bool |reginclass |NULLOK regexp * const prog|NN const regnode * const n|NN const U8 * const p\ + |bool const utf8_target +Es |CHECKPOINT|regcppush |NN const regexp *rex|I32 parenfloor\ + |U32 maxopenparen +Es |void |regcppop |NN regexp *rex\ + |NN U32 *maxopenparen_p ERsn |U8* |reghop3 |NN U8 *s|I32 off|NN const U8 *lim ERsM |SV* |core_regclass_swash|NULLOK const regexp *prog \ |NN const struct regnode *node|bool doinit \ - |NULLOK SV **listsvp|NULLOK SV **altsvp -:not currently used EiR |bool |is_utf8_X_LV |NN const U8 *p -EiR |bool |is_utf8_X_LVT |NN const U8 *p + |NULLOK SV **listsvp #ifdef XXX_dmq ERsn |U8* |reghop4 |NN U8 *s|I32 off|NN const U8 *llim \ |NN const U8 *rlim #endif ERsn |U8* |reghopmaybe3 |NN U8 *s|I32 off|NN const U8 *lim -ERs |char* |find_byclass |NN regexp * prog|NN const regnode *c|NN char *s|NN const char *strend|NULLOK regmatch_info *reginfo +ERs |char* |find_byclass |NN regexp * prog|NN const regnode *c \ + |NN char *s|NN const char *strend \ + |NULLOK regmatch_info *reginfo \ + |bool is_utf_pat Es |void |to_utf8_substr |NN regexp * prog -Es |void |to_byte_substr |NN regexp * prog +Es |bool |to_byte_substr |NN regexp * prog ERs |I32 |reg_check_named_buff_matched |NN const regexp *rex \ |NN const regnode *scan # ifdef DEBUGGING @@ -2123,6 +2193,8 @@ s |char* |force_word |NN char *start|int token|int check_keyword \ s |SV* |tokeq |NN SV *sv s |void |readpipe_override| sR |char* |scan_const |NN char *start +iR |SV* |get_and_check_backslash_N_name|NN const char* s \ + |NN const char* const e sR |char* |scan_formline |NN char *s sR |char* |scan_heredoc |NN char *s s |char* |scan_ident |NN char *s|NN const char *send|NN char *dest \ @@ -2130,7 +2202,8 @@ s |char* |scan_ident |NN char *s|NN const char *send|NN char *dest \ sR |char* |scan_inputsymbol|NN char *start sR |char* |scan_pat |NN char *start|I32 type sR |char* |scan_str |NN char *start|int keep_quoted \ - |int keep_delims|int re_reparse + |int keep_delims|int re_reparse \ + |bool deprecate_escaped_matching sR |char* |scan_subst |NN char *start sR |char* |scan_trans |NN char *start s |char* |scan_word |NN char *s|NN char *dest|STRLEN destlen \ @@ -2166,6 +2239,9 @@ so |SV* |new_constant |NULLOK const char *s|STRLEN len \ |STRLEN typelen s |int |deprecate_commaless_var_list s |int |ao |int toketype +s |void|parse_ident|NN char **s|NN char **d \ + |NN char * const e|int allow_package \ + |bool is_utf8 # if defined(PERL_CR_FILTER) s |I32 |cr_textfilter |int idx|NULLOK SV *sv|int maxlen s |void |strip_return |NN SV *sv @@ -2192,7 +2268,6 @@ s |const COP*|closest_cop |NN const COP *cop|NULLOK const OP *o s |SV* |mess_alloc s |SV *|with_queued_errors|NN SV *ex s |bool |invoke_exception_hook|NULLOK SV *ex|bool warn -sr |char * |write_no_mem #if defined(PERL_MEM_LOG) && !defined(PERL_MEM_LOG_NOIMPL) sn |void |mem_log_common |enum mem_log_type mlt|const UV n|const UV typesize \ |NN const char *type_name|NULLOK const SV *sv \ @@ -2207,9 +2282,9 @@ sn |NV|mulexp10 |NV value|I32 exponent #endif #if defined(PERL_IN_UTF8_C) -sRn |STRLEN |is_utf8_char_slow|NN const U8 *s|const STRLEN len +iRn |STRLEN |is_utf8_char_slow|NN const U8 *s|const STRLEN len sRM |UV |check_locale_boundary_crossing|NN const U8* const p|const UV result|NN U8* const ustrp|NN STRLEN *lenp -sR |bool |is_utf8_common |NN const U8 *const p|NN SV **swash|NN const char * const swashname +iR |bool |is_utf8_common |NN const U8 *const p|NN SV **swash|NN const char * const swashname sR |SV* |swatch_get |NN SV* swash|UV start|UV span #endif @@ -2228,7 +2303,7 @@ Apd |void |sv_copypv_flags |NN SV *const dsv|NN SV *const ssv|const I32 flags Ap |char* |my_atof2 |NN const char *s|NN NV* value Apn |int |my_socketpair |int family|int type|int protocol|int fd[2] Ap |int |my_dirfd |NULLOK DIR* dir -#ifdef PERL_OLD_COPY_ON_WRITE +#ifdef PERL_ANY_COW : Used in pp_hot.c and regexec.c pMXE |SV* |sv_setsv_cow |NULLOK SV* dstr|NN SV* sstr #endif