X-Git-Url: https://perl5.git.perl.org/perl5.git/blobdiff_plain/073dd0357a846739ff3ae9a14379de2302d5e877..b6990ae0c41eccbe44ff95183c3f5a1f24b50382:/embed.fnc diff --git a/embed.fnc b/embed.fnc index 806711a..0e2d854 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 @@ -31,7 +39,7 @@ : : proto.h: add __attribute__deprecated__ : -: d Function has documentation in the source: +: d Function has documentation (somewhere) in the source: : : enables 'no docs for foo" warning in autodoc.pl : @@ -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,9 +261,12 @@ 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 +nroX |void |Perl_croak_memory_wrap +nprX |void |croak_popstack #if defined(WIN32) norx |void |win32_croak_not_implemented|NN const char * fname #endif @@ -273,7 +291,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\ @@ -513,7 +531,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 @@ -589,80 +607,90 @@ 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 #if defined(PERL_IN_UTF8_C) || defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C) -EXp |UV |_to_fold_latin1|const U8 c|NN U8 *p|NN STRLEN *lenp|const bool flags +EXp |UV |_to_fold_latin1|const U8 c|NN U8 *p|NN STRLEN *lenp|const unsigned int flags #endif #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 @@ -712,10 +740,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 @@ -747,7 +787,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 @@ -842,11 +888,6 @@ Ap |void |my_setenv |NULLOK const char* nam|NULLOK const char* val 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) -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 Apa |OP* |newANONLIST |NULLOK OP* o @@ -1061,7 +1102,7 @@ Ap |REGEXP*|pregcomp |NN SV * const pattern|const U32 flags p |REGEXP*|re_op_compile |NULLOK SV ** const patternp \ |int pat_count|NULLOK OP *expr \ |NN const regexp_engine* eng \ - |NULLOK REGEXP *VOL old_re \ + |NULLOK REGEXP *old_re \ |NULLOK bool *is_bare_re \ |U32 rx_flags|U32 pm_flags Ap |REGEXP*|re_compile |NN SV * const pattern|U32 orig_rx_flags @@ -1069,8 +1110,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 \ @@ -1291,9 +1333,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 @@ -1391,10 +1431,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) @@ -1410,10 +1452,12 @@ 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 @@ -1421,6 +1465,7 @@ 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 @@ -1506,7 +1551,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 * const 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 @@ -1544,6 +1589,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 @@ -1555,7 +1604,6 @@ 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 @@ -1716,16 +1764,17 @@ 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 s |void |unshare_hek_or_pvn|NULLOK const HEK* hek|NULLOK const char* str|I32 len|U32 hash sR |HEK* |share_hek_flags|NN const char *str|I32 len|U32 hash|int flags rs |void |hv_notallowed |int flags|NN const char *key|I32 klen|NN const char *msg -sn |struct xpvhv_aux*|hv_auxinit|NN HV *hv +sn |U32|ptr_hash|PTRV u +s |struct xpvhv_aux*|hv_auxinit|NN HV *hv sM |SV* |hv_delete_common|NULLOK HV *hv|NULLOK SV *keysv \ |NULLOK const char *key|STRLEN klen|int k_flags|I32 d_flags \ |U32 hash @@ -1746,11 +1795,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 @@ -1852,7 +1897,8 @@ sR |const char *|get_num |NN const char *patptr|NN I32 *lenptr ns |bool |need_utf8 |NN const char *pat|NN const char *patend ns |char |first_symbol |NN const char *pat|NN const char *patend sR |char * |sv_exp_grow |NN SV *sv|STRLEN needed -snR |char * |bytes_to_uni |NN const U8 *start|STRLEN len|NN char *dest +snR |char * |bytes_to_uni |NN const U8 *start|STRLEN len|NN char *dest \ + |const bool needs_swap #endif #if defined(PERL_IN_PP_CTL_C) @@ -1885,7 +1931,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 @@ -1925,14 +1971,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 \ @@ -1945,6 +2001,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 @@ -1974,8 +2032,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|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 \ @@ -2006,25 +2064,32 @@ 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\ +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 -Es |void |regcppop |NN regexp *rex +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 -:not currently used EiR |bool |is_utf8_X_LV |NN const U8 *p -EiR |bool |is_utf8_X_LVT |NN const U8 *p #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 |bool |to_byte_substr |NN regexp * prog ERs |I32 |reg_check_named_buff_matched |NN const regexp *rex \ @@ -2125,6 +2190,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 \ @@ -2132,7 +2199,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 \ @@ -2168,6 +2236,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 @@ -2194,7 +2265,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 \ @@ -2209,9 +2279,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 @@ -2230,7 +2300,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 @@ -2361,6 +2431,7 @@ ApoR |I32* |hv_riter_p |NN HV *hv ApoR |HE** |hv_eiter_p |NN HV *hv Apo |void |hv_riter_set |NN HV *hv|I32 riter Apo |void |hv_eiter_set |NN HV *hv|NULLOK HE *eiter +Ap |void |hv_rand_set |NN HV *hv|U32 new_xhv_rand Ap |void |hv_name_set |NN HV *hv|NULLOK const char *name|U32 len|U32 flags p |void |hv_ename_add |NN HV *hv|NN const char *name|U32 len \ |U32 flags @@ -2388,84 +2459,6 @@ sMd |SV* |find_uninit_var|NULLOK const OP *const obase \ |NULLOK const SV *const uninit_sv|bool top #endif -#ifdef PERL_NEED_MY_HTOLE16 -np |U16 |my_htole16 |U16 n -#endif -#ifdef PERL_NEED_MY_LETOH16 -np |U16 |my_letoh16 |U16 n -#endif -#ifdef PERL_NEED_MY_HTOBE16 -np |U16 |my_htobe16 |U16 n -#endif -#ifdef PERL_NEED_MY_BETOH16 -np |U16 |my_betoh16 |U16 n -#endif -#ifdef PERL_NEED_MY_HTOLE32 -np |U32 |my_htole32 |U32 n -#endif -#ifdef PERL_NEED_MY_LETOH32 -np |U32 |my_letoh32 |U32 n -#endif -#ifdef PERL_NEED_MY_HTOBE32 -np |U32 |my_htobe32 |U32 n -#endif -#ifdef PERL_NEED_MY_BETOH32 -np |U32 |my_betoh32 |U32 n -#endif -#ifdef PERL_NEED_MY_HTOLE64 -np |U64 |my_htole64 |U64 n -#endif -#ifdef PERL_NEED_MY_LETOH64 -np |U64 |my_letoh64 |U64 n -#endif -#ifdef PERL_NEED_MY_HTOBE64 -np |U64 |my_htobe64 |U64 n -#endif -#ifdef PERL_NEED_MY_BETOH64 -np |U64 |my_betoh64 |U64 n -#endif - -#ifdef PERL_NEED_MY_HTOLES -np |short |my_htoles |short n -#endif -#ifdef PERL_NEED_MY_LETOHS -np |short |my_letohs |short n -#endif -#ifdef PERL_NEED_MY_HTOBES -np |short |my_htobes |short n -#endif -#ifdef PERL_NEED_MY_BETOHS -np |short |my_betohs |short n -#endif -#ifdef PERL_NEED_MY_HTOLEI -np |int |my_htolei |int n -#endif -#ifdef PERL_NEED_MY_LETOHI -np |int |my_letohi |int n -#endif -#ifdef PERL_NEED_MY_HTOBEI -np |int |my_htobei |int n -#endif -#ifdef PERL_NEED_MY_BETOHI -np |int |my_betohi |int n -#endif -#ifdef PERL_NEED_MY_HTOLEL -np |long |my_htolel |long n -#endif -#ifdef PERL_NEED_MY_LETOHL -np |long |my_letohl |long n -#endif -#ifdef PERL_NEED_MY_HTOBEL -np |long |my_htobel |long n -#endif -#ifdef PERL_NEED_MY_BETOHL -np |long |my_betohl |long n -#endif - -: I think that these are only used by the above, which are macros, and in turn -: currently they are only used in pp_pack.c, but this is in util.c -np |void |my_swabn |NN void* ptr|int n - Ap |GV* |gv_fetchpvn_flags|NN const char* name|STRLEN len|I32 flags|const svtype sv_type Ap |GV* |gv_fetchsv|NN SV *name|I32 flags|const svtype sv_type