X-Git-Url: https://perl5.git.perl.org/perl5.git/blobdiff_plain/e5d7f4e5fdc8fcb324745c39345b369ab04cadb1..4c404f263914b5bf989d64b86ad715cc085b84a0:/embed.fnc diff --git a/embed.fnc b/embed.fnc index b87c5dd..07a38a1 100644 --- a/embed.fnc +++ b/embed.fnc @@ -282,6 +282,7 @@ ApdR |SV** |av_fetch |NN AV *av|SSize_t key|I32 lval Apd |void |av_fill |NN AV *av|SSize_t fill ApdR |SSize_t|av_len |NN AV *av ApdR |AV* |av_make |SSize_t size|NN SV **strp +p |SV* |av_nonelem |NN AV *av|SSize_t ix Apd |SV* |av_pop |NN AV *av ApdoxM |void |av_create_and_push|NN AV **const avp|NN SV *const val Apd |void |av_push |NN AV *av|NN SV *val @@ -357,8 +358,8 @@ Afnp |void |sv_catpvf_nocontext|NN SV *const sv|NN const char *const pat|... Afnp |void |sv_setpvf_nocontext|NN SV *const sv|NN const char *const pat|... Afnp |void |sv_catpvf_mg_nocontext|NN SV *const sv|NN const char *const pat|... Afnp |void |sv_setpvf_mg_nocontext|NN SV *const sv|NN const char *const pat|... -Afnp |int |fprintf_nocontext|NN PerlIO *stream|NN const char *format|... -Afnp |int |printf_nocontext|NN const char *format|... +Abfnp |int |fprintf_nocontext|NN PerlIO *stream|NN const char *format|... +Abfnp |int |printf_nocontext|NN const char *format|... #endif : Used in pp.c p |SV * |core_prototype |NULLOK SV *sv|NN const char *name \ @@ -395,6 +396,7 @@ Afp |void |deb |NN const char* pat|... Ap |void |vdeb |NN const char* pat|NULLOK va_list* args Ap |void |debprofdump EXp |SV* |multideref_stringify |NN const OP* o|NULLOK CV *cv +EXp |SV* |multiconcat_stringify |NN const OP* o Ap |I32 |debop |NN const OP* o Ap |I32 |debstack Ap |I32 |debstackptrs @@ -416,7 +418,7 @@ Ap |void |dounwind |I32 cxix pmb |bool|do_aexec |NULLOK SV* really|NN SV** mark|NN SV** sp : Used in pp_sys.c p |bool|do_aexec5 |NULLOK SV* really|NN SV** mark|NN SV** sp|int fd|int do_report -Ap |int |do_binmode |NN PerlIO *fp|int iotype|int mode +Abp |int |do_binmode |NN PerlIO *fp|int iotype|int mode : Used in pp.c Ap |bool |do_close |NULLOK GV* gv|bool not_implicit : Defined in doio.c, used only in pp_sys.c @@ -436,9 +438,9 @@ Ap |int |do_spawn_nowait|NN char* cmd #if !defined(WIN32) p |bool|do_exec3 |NN const char *incmd|int fd|int do_report #endif -p |void |do_execfree #if defined(PERL_IN_DOIO_C) s |void |exec_failed |NN const char *cmd|int fd|int do_report +s |bool |argvout_final |NN MAGIC *mg|NN IO *io|bool not_implicit #endif #if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM) : Defined in doio.c, used only in pp_sys.c @@ -461,9 +463,34 @@ Ap |void |do_join |NN SV *sv|NN SV *delim|NN SV **mark|NN SV **sp pR |I32 |do_ncmp |NN SV *const left|NN SV *const right Apmb |bool |do_open |NN GV* gv|NN const char* name|I32 len|int as_raw \ |int rawmode|int rawperm|NULLOK PerlIO* supplied_fp -Ap |bool |do_open9 |NN GV *gv|NN const char *name|I32 len|int as_raw \ +Abp |bool |do_open9 |NN GV *gv|NN const char *name|I32 len|int as_raw \ |int rawmode|int rawperm|NULLOK PerlIO *supplied_fp \ |NN SV *svs|I32 num +pn |void |setfd_cloexec|int fd +pn |void |setfd_inhexec|int fd +p |void |setfd_cloexec_for_nonsysfd|int fd +p |void |setfd_inhexec_for_sysfd|int fd +p |void |setfd_cloexec_or_inhexec_by_sysfdness|int fd +pR |int |PerlLIO_dup_cloexec|int oldfd +p |int |PerlLIO_dup2_cloexec|int oldfd|int newfd +pR |int |PerlLIO_open_cloexec|NN const char *file|int flag +pR |int |PerlLIO_open3_cloexec|NN const char *file|int flag|int perm +pnoR |int |my_mkstemp_cloexec|NN char *templte +#ifdef HAS_PIPE +pR |int |PerlProc_pipe_cloexec|NN int *pipefd +#endif +#ifdef HAS_SOCKET +pR |int |PerlSock_socket_cloexec|int domain|int type|int protocol +pR |int |PerlSock_accept_cloexec|int listenfd \ + |NULLOK struct sockaddr *addr \ + |NULLOK Sock_size_t *addrlen +#endif +#if defined (HAS_SOCKETPAIR) || \ + (defined (HAS_SOCKET) && defined(SOCK_DGRAM) && \ + defined(AF_INET) && defined(PF_INET)) +pR |int |PerlSock_socketpair_cloexec|int domain|int type|int protocol \ + |NN int *pairfd +#endif #if defined(PERL_IN_DOIO_C) s |IO * |openn_setup |NN GV *gv|NN char *mode|NN PerlIO **saveifp \ |NN PerlIO **saveofp|NN int *savefd \ @@ -496,7 +523,7 @@ p |Off_t |do_sysseek |NN GV* gv|Off_t pos|int whence : Defined in doio.c, used only in pp_sys.c pR |Off_t |do_tell |NN GV* gv : Defined in doop.c, used only in pp.c -p |I32 |do_trans |NN SV* sv +p |Size_t |do_trans |NN SV* sv : Used in my.c and pp.c p |UV |do_vecget |NN SV* sv|STRLEN offset|int size : Defined in doop.c, used only in mg.c (with /* XXX slurp this routine */) @@ -536,6 +563,7 @@ i |OP* |newMETHOP_internal |I32 type|I32 flags|NULLOK OP* dynamic_meth \ |NULLOK SV* const_meth : FIXME s |OP* |fold_constants |NN OP * const o +s |OP* |traverse_op_tree|NN OP* top|NN OP* o #endif Afpd |char* |form |NN const char* pat|... Ap |char* |vform |NN const char* pat|NULLOK va_list* args @@ -563,7 +591,7 @@ ApR |GV* |gv_autoload_pv |NULLOK HV* stash|NN const char* namepv \ ApR |GV* |gv_autoload_pvn |NULLOK HV* stash|NN const char* name \ |STRLEN len|U32 flags Ap |void |gv_check |NN HV* stash -Ap |void |gv_efullname |NN SV* sv|NN const GV* gv +Abp |void |gv_efullname |NN SV* sv|NN const GV* gv Apmb |void |gv_efullname3 |NN SV* sv|NN const GV* gv|NULLOK const char* prefix Ap |void |gv_efullname4 |NN SV* sv|NN const GV* gv|NULLOK const char* prefix|bool keepmain Ap |GV* |gv_fetchfile |NN const char* name @@ -593,7 +621,7 @@ ApM |GV* |gv_fetchmethod_pv_flags|NN HV* stash|NN const char* name \ ApM |GV* |gv_fetchmethod_pvn_flags|NN HV* stash|NN const char* name \ |const STRLEN len|U32 flags Ap |GV* |gv_fetchpv |NN const char *nambeg|I32 add|const svtype sv_type -Ap |void |gv_fullname |NN SV* sv|NN const GV* gv +Abp |void |gv_fullname |NN SV* sv|NN const GV* gv Apmb |void |gv_fullname3 |NN SV* sv|NN const GV* gv|NULLOK const char* prefix Ap |void |gv_fullname4 |NN SV* sv|NN const GV* gv|NULLOK const char* prefix|bool keepmain : Used in scope.c @@ -719,28 +747,29 @@ ApR |I32 |is_lvalue_sub : Used in cop.h XopR |I32 |was_lvalue_sub ApMRnP |STRLEN |_is_utf8_char_helper|NN const U8 * const s|NN const U8 * e|const U32 flags -ADMpR |U32 |to_uni_upper_lc|U32 c -ADMpR |U32 |to_uni_title_lc|U32 c -ADMpR |U32 |to_uni_lower_lc|U32 c -ADMpR |bool |is_uni_alnum |UV c -ADMpR |bool |is_uni_alnumc |UV c -ADMpR |bool |is_uni_idfirst |UV c -ADMpR |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 -ADMpR |bool |is_uni_graph |UV c -ADMpR |bool |is_uni_digit |UV c -ADMpR |bool |is_uni_upper |UV c -ADMpR |bool |is_uni_lower |UV c -ADMpR |bool |is_uni_print |UV c -ADMpR |bool |is_uni_punct |UV c -ADMpPR |bool |is_uni_xdigit |UV c +AbDMpR |U32 |to_uni_upper_lc|U32 c +AbDMpR |U32 |to_uni_title_lc|U32 c +AbDMpR |U32 |to_uni_lower_lc|U32 c +AbDMpR |bool |is_uni_alnum |UV c +AbDMpR |bool |is_uni_alnumc |UV c +AbDMpR |bool |is_uni_idfirst |UV c +AbDMpR |bool |is_uni_alpha |UV c +AbDMpPR |bool |is_uni_ascii |UV c +AbDMpPR |bool |is_uni_blank |UV c +AbDMpPR |bool |is_uni_space |UV c +AbDMpPR |bool |is_uni_cntrl |UV c +AbDMpR |bool |is_uni_graph |UV c +AbDMpR |bool |is_uni_digit |UV c +AbDMpR |bool |is_uni_upper |UV c +AbDMpR |bool |is_uni_lower |UV c +AbDMpR |bool |is_uni_print |UV c +AbDMpR |bool |is_uni_punct |UV c +AbDMpPR |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 -ADMpR |bool |isIDFIRST_lazy |NN const char* p -ADMpR |bool |isALNUM_lazy |NN const char* p +AbDMpR |bool |isIDFIRST_lazy |NN const char* p +AbDMpR |bool |isALNUM_lazy |NN const char* p +p |void |init_uniprops #ifdef PERL_IN_UTF8_C snR |U8 |to_lower_latin1|const U8 c|NULLOK U8 *p|NULLOK STRLEN *lenp \ |const char dummy @@ -751,7 +780,7 @@ snR |int |is_utf8_cp_above_31_bits|NN const U8 * const s \ # endif #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 unsigned int flags +EXnp |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 @@ -759,65 +788,82 @@ p |UV |_to_upper_title_latin1|const U8 c|NN U8 *p|NN STRLEN *lenp|const char S_o 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|U8 flags -ADMpR |bool |is_uni_alnum_lc|UV c -ADMpR |bool |is_uni_alnumc_lc|UV c -ADMpR |bool |is_uni_idfirst_lc|UV c +AbDMpR |bool |is_uni_alnum_lc|UV c +AbDMpR |bool |is_uni_alnumc_lc|UV c +AbDMpR |bool |is_uni_idfirst_lc|UV c AMpR |bool |_is_uni_perl_idcont|UV c AMpR |bool |_is_uni_perl_idstart|UV c -ADMpR |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 -ADMpR |bool |is_uni_graph_lc|UV c -ADMpR |bool |is_uni_digit_lc|UV c -ADMpR |bool |is_uni_upper_lc|UV c -ADMpR |bool |is_uni_lower_lc|UV c -ADMpR |bool |is_uni_print_lc|UV c -ADMpR |bool |is_uni_punct_lc|UV c -ADMpPR |bool |is_uni_xdigit_lc|UV c +AbDMpR |bool |is_uni_alpha_lc|UV c +AbDMpPR |bool |is_uni_ascii_lc|UV c +AbDMpPR |bool |is_uni_space_lc|UV c +AbDMpPR |bool |is_uni_blank_lc|UV c +AbDMpPR |bool |is_uni_cntrl_lc|UV c +AbDMpR |bool |is_uni_graph_lc|UV c +AbDMpR |bool |is_uni_digit_lc|UV c +AbDMpR |bool |is_uni_upper_lc|UV c +AbDMpR |bool |is_uni_lower_lc|UV c +AbDMpR |bool |is_uni_print_lc|UV c +AbDMpR |bool |is_uni_punct_lc|UV c +AbDMpPR |bool |is_uni_xdigit_lc|UV c AndmoR |bool |is_utf8_invariant_string|NN const U8* const s \ - |STRLEN const len + |STRLEN len AnidR |bool |is_utf8_invariant_string_loc|NN const U8* const s \ - |STRLEN const len \ + |STRLEN len \ |NULLOK const U8 ** ep -AmnpdRP |bool |is_ascii_string|NN const U8* const s|const STRLEN len -AmnpdRP |bool |is_invariant_string|NN const U8* const s|const STRLEN len -AnpdD |STRLEN |is_utf8_char |NN const U8 *s +#ifndef EBCDIC +AniR |unsigned int|_variant_byte_number|PERL_UINTMAX_T word +#endif +#if defined(PERL_CORE) || defined(PERL_EXT) +EinR |Size_t |variant_under_utf8_count|NN const U8* const s \ + |NN const U8* const e +#endif +AmnpdRP |bool |is_ascii_string|NN const U8* const s|STRLEN len +AmnpdRP |bool |is_invariant_string|NN const U8* const s|STRLEN len +#if defined(PERL_CORE) || defined (PERL_EXT) +EXnidR |bool |is_utf8_non_invariant_string|NN const U8* const s \ + |STRLEN len +#endif +AbnpdD |STRLEN |is_utf8_char |NN const U8 *s Abmnpd |STRLEN |is_utf8_char_buf|NN const U8 *buf|NN const U8 *buf_end -AnipdR |bool |is_utf8_string |NN const U8 *s|const STRLEN len +AnidR |Size_t |isUTF8_CHAR|NN const U8 * const s0 \ + |NN const U8 * const e +AnidR |Size_t |isSTRICT_UTF8_CHAR |NN const U8 * const s0 \ + |NN const U8 * const e +AnidR |Size_t |isC9_STRICT_UTF8_CHAR |NN const U8 * const s0 \ + |NN const U8 * const e +AnmdpR |bool |is_utf8_string |NN const U8 *s|STRLEN len AnidR |bool |is_utf8_string_flags \ - |NN const U8 *s|const STRLEN len|const U32 flags -AnidR |bool |is_strict_utf8_string|NN const U8 *s|const STRLEN len -AnidR |bool |is_c9strict_utf8_string|NN const U8 *s|const STRLEN len + |NN const U8 *s|STRLEN len|const U32 flags +AnmdpR |bool |is_strict_utf8_string|NN const U8 *s|STRLEN len +AnmdpR |bool |is_c9strict_utf8_string|NN const U8 *s|STRLEN len Anpdmb |bool |is_utf8_string_loc \ |NN const U8 *s|const STRLEN len|NN const U8 **ep Andm |bool |is_utf8_string_loc_flags \ - |NN const U8 *s|const STRLEN len|NN const U8 **ep \ + |NN const U8 *s|STRLEN len|NN const U8 **ep \ |const U32 flags Andm |bool |is_strict_utf8_string_loc \ - |NN const U8 *s|const STRLEN len|NN const U8 **ep + |NN const U8 *s|STRLEN len|NN const U8 **ep Andm |bool |is_c9strict_utf8_string_loc \ - |NN const U8 *s|const STRLEN len|NN const U8 **ep + |NN const U8 *s|STRLEN len|NN const U8 **ep Anipd |bool |is_utf8_string_loclen \ - |NN const U8 *s|const STRLEN len|NULLOK const U8 **ep \ + |NN const U8 *s|STRLEN len|NULLOK const U8 **ep \ |NULLOK STRLEN *el Anid |bool |is_utf8_string_loclen_flags \ - |NN const U8 *s|const STRLEN len|NULLOK const U8 **ep \ + |NN const U8 *s|STRLEN len|NULLOK const U8 **ep \ |NULLOK STRLEN *el|const U32 flags Anid |bool |is_strict_utf8_string_loclen \ - |NN const U8 *s|const STRLEN len|NULLOK const U8 **ep \ + |NN const U8 *s|STRLEN len|NULLOK const U8 **ep \ |NULLOK STRLEN *el Anid |bool |is_c9strict_utf8_string_loclen \ - |NN const U8 *s|const STRLEN len|NULLOK const U8 **ep \ + |NN const U8 *s|STRLEN len|NULLOK const U8 **ep \ |NULLOK STRLEN *el Amnd |bool |is_utf8_fixed_width_buf_flags \ - |NN const U8 * const s|const STRLEN len|const U32 flags + |NN const U8 * const s|STRLEN len|const U32 flags Amnd |bool |is_utf8_fixed_width_buf_loc_flags \ - |NN const U8 * const s|const STRLEN len \ + |NN const U8 * const s|STRLEN len \ |NULLOK const U8 **ep|const U32 flags Anid |bool |is_utf8_fixed_width_buf_loclen_flags \ - |NN const U8 * const s|const STRLEN len \ + |NN const U8 * const s|STRLEN len \ |NULLOK const U8 **ep|NULLOK STRLEN *el|const U32 flags AmndP |bool |is_utf8_valid_partial_char \ |NN const U8 * const s|NN const U8 * const e @@ -831,10 +877,10 @@ AMpR |bool |_is_utf8_FOO|U8 classnum|NN const U8 * const p \ |NN const char * const file|const unsigned line AMpR |bool |_is_utf8_FOO_with_len|const U8 classnum|NN const U8 *p \ |NN const U8 * const e -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 +AbDMpR |bool |is_utf8_alnum |NN const U8 *p +AbDMpR |bool |is_utf8_alnumc |NN const U8 *p +AbDMpR |bool |is_utf8_idfirst|NN const U8 *p +AbDMpR |bool |is_utf8_xidfirst|NN const U8 *p AMpR |bool |_is_utf8_idcont|NN const U8 *p AMpR |bool |_is_utf8_idstart|NN const U8 *p AMpR |bool |_is_utf8_xidcont|NN const U8 *p @@ -843,25 +889,29 @@ AMpR |bool |_is_utf8_perl_idcont_with_len|NN const U8 *p \ |NN const U8 * const e AMpR |bool |_is_utf8_perl_idstart_with_len|NN const U8 *p \ |NN const U8 * const e -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 +AbDMpR |bool |is_utf8_idcont |NN const U8 *p +AbDMpR |bool |is_utf8_xidcont |NN const U8 *p +AbDMpR |bool |is_utf8_alpha |NN const U8 *p +AbDMpR |bool |is_utf8_ascii |NN const U8 *p +AbDMpR |bool |is_utf8_blank |NN const U8 *p +AbDMpR |bool |is_utf8_space |NN const U8 *p +AbDMpR |bool |is_utf8_perl_space |NN const U8 *p +AbDMpR |bool |is_utf8_perl_word |NN const U8 *p +AbDMpR |bool |is_utf8_cntrl |NN const U8 *p +AbDMpR |bool |is_utf8_digit |NN const U8 *p +AbDMpR |bool |is_utf8_posix_digit |NN const U8 *p +AbDMpR |bool |is_utf8_graph |NN const U8 *p +AbDMpR |bool |is_utf8_upper |NN const U8 *p +AbDMpR |bool |is_utf8_lower |NN const U8 *p +AbDMpR |bool |is_utf8_print |NN const U8 *p +AbDMpR |bool |is_utf8_punct |NN const U8 *p +AbDMpR |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 +AbDMpR |bool |is_utf8_mark |NN const U8 *p +#if defined(PERL_CORE) || defined(PERL_EXT) +EXdpR |bool |isSCRIPT_RUN |NN const U8 *s|NN const U8 *send \ + |const bool utf8_target +#endif : Used in perly.y p |OP* |jmaybe |NN OP *o : Used in pp.c @@ -903,9 +953,7 @@ Ap |void |op_refcnt_lock Ap |void |op_refcnt_unlock Apdn |OP* |op_sibling_splice|NULLOK OP *parent|NULLOK OP *start \ |int del_count|NULLOK OP* insert -#ifdef PERL_OP_PARENT Apdn |OP* |op_parent|NN OP *o -#endif #if defined(PERL_IN_OP_C) s |OP* |listkids |NULLOK OP* o #endif @@ -917,14 +965,18 @@ 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 #if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_TOKE_C) || defined(PERL_IN_DQUOTE_C) -EMpRX |bool |grok_bslash_x |NN char** s|NN UV* uv \ +EMpRX |bool |grok_bslash_x |NN char** s \ + |NN const char* const send \ + |NN UV* uv \ |NN const char** error_msg \ |const bool output_warning \ |const bool strict \ |const bool silence_non_portable \ |const bool utf8 EMpRX |char |grok_bslash_c |const char source|const bool output_warning -EMpRX |bool |grok_bslash_o |NN char** s|NN UV* uv \ +EMpRX |bool |grok_bslash_o |NN char** s \ + |NN const char* const send \ + |NN UV* uv \ |NN const char** error_msg \ |const bool output_warning \ |const bool strict \ @@ -983,6 +1035,7 @@ p |int |magic_freearylen_p|NN SV* sv|NN MAGIC* mg p |int |magic_setdbline|NN SV* sv|NN MAGIC* mg p |int |magic_setdebugvar|NN SV* sv|NN MAGIC* mg p |int |magic_setdefelem|NN SV* sv|NN MAGIC* mg +p |int |magic_setnonelem|NN SV* sv|NN MAGIC* mg p |int |magic_setenv |NN SV* sv|NN MAGIC* mg dp |int |magic_sethint |NN SV* sv|NN MAGIC* mg p |int |magic_setisa |NN SV* sv|NN MAGIC* mg @@ -1046,7 +1099,9 @@ Apn |void |mini_mktime |NN struct tm *ptm AMmd |OP* |op_lvalue |NULLOK OP* o|I32 type poX |OP* |op_lvalue_flags|NULLOK OP* o|I32 type|U32 flags p |void |finalize_optree |NN OP* o +p |void |optimize_optree|NN OP* o #if defined(PERL_IN_OP_C) +s |void |optimize_op |NN OP* o s |void |finalize_op |NN OP* o s |void |move_proto_attr|NN OP **proto|NN OP **attrs \ |NN const GV *name|bool curstash @@ -1063,6 +1118,9 @@ Anp |void |atfork_lock Anp |void |atfork_unlock Apmb |I32 |my_lstat pX |I32 |my_lstat_flags |NULLOK const U32 flags +#if ! defined(HAS_MEMRCHR) && (defined(PERL_CORE) || defined(PERL_EXT)) +Exin |void * |my_memrchr |NN const char * s|const char c|const STRLEN len +#endif #if !defined(PERL_IMPLICIT_SYS) Ap |I32 |my_pclose |NULLOK PerlIO* ptr Ap |PerlIO*|my_popen |NN const char* cmd|NN const char* mode @@ -1100,7 +1158,7 @@ ApdR |OP* |newSLICEOP |I32 flags|NULLOK OP* subscript|NULLOK OP* listop ApdR |OP* |newSTATEOP |I32 flags|NULLOK char* label|NULLOK OP* o Apbm |CV* |newSUB |I32 floor|NULLOK OP* o|NULLOK OP* proto \ |NULLOK OP* block -p |CV * |newXS_len_flags|NULLOK const char *name|STRLEN len \ +pd |CV * |newXS_len_flags|NULLOK const char *name|STRLEN len \ |NN XSUBADDR_t subaddr\ |NULLOK const char *const filename \ |NULLOK const char *const proto \ @@ -1175,6 +1233,7 @@ Apd |void |cv_set_call_checker_flags|NN CV *cv \ |NN Perl_call_checker ckfun \ |NN SV *ckobj|U32 ckflags Apd |void |wrap_op_checker|Optype opcode|NN Perl_check_t new_checker|NN Perl_check_t *old_checker_p +AMpd |void |wrap_keyword_plugin|NN Perl_keyword_plugin_t new_plugin|NN Perl_keyword_plugin_t *old_plugin_p ApR |PERL_SI*|new_stackinfo|I32 stitems|I32 cxitems Ap |char* |scan_vstring |NN const char *s|NN const char *const e \ |NN SV *sv @@ -1237,7 +1296,7 @@ Ap |void |call_atexit |ATEXIT_t fn|NULLOK void *ptr ApdO |I32 |call_argv |NN const char* sub_name|I32 flags|NN char** argv ApdO |I32 |call_method |NN const char* methname|I32 flags ApdO |I32 |call_pv |NN const char* sub_name|I32 flags -ApdO |I32 |call_sv |NN SV* sv|VOL I32 flags +ApdO |I32 |call_sv |NN SV* sv|volatile I32 flags Ap |void |despatch_signals Ap |OP * |doref |NN OP *o|I32 type|bool set_op_ref ApdO |SV* |eval_pv |NN const char* p|I32 croak_on_error @@ -1247,23 +1306,25 @@ ApdO |AV* |get_av |NN const char *name|I32 flags ApdO |HV* |get_hv |NN const char *name|I32 flags ApdO |CV* |get_cv |NN const char* name|I32 flags Apd |CV* |get_cvn_flags |NN const char* name|STRLEN len|I32 flags -EXnpo |char* |setlocale |int category|NULLOK const char* locale +Ando |const char*|Perl_setlocale|const int category|NULLOK const char* locale #if defined(HAS_NL_LANGINFO) && defined(PERL_LANGINFO_H) Ando |const char*|Perl_langinfo|const nl_item item #else Ando |const char*|Perl_langinfo|const int item #endif ApOM |int |init_i18nl10n |int printwarn -ApOM |int |init_i18nl14n |int printwarn +AbpOM |int |init_i18nl14n |int printwarn p |char* |my_strerror |const int errnum Xpn |void |_warn_problematic_locale -p |void |new_numeric |NULLOK const char* newcoll -Xp |void |set_numeric_local +Xp |void |set_numeric_underlying Xp |void |set_numeric_standard -ApM |bool |_is_in_locale_category|const bool compiling|const int category -Apd |void |sync_locale +Xp |bool |_is_in_locale_category|const bool compiling|const int category +Apdn |void |switch_to_global_locale +Apdn |bool |sync_locale +ApMn |void |thread_locale_init +ApMn |void |thread_locale_term ApdO |void |require_pv |NN const char* pv -Apd |void |pack_cat |NN SV *cat|NN const char *pat|NN const char *patend \ +Abpd |void |pack_cat |NN SV *cat|NN const char *pat|NN const char *patend \ |NN SV **beglist|NN SV **endlist|NN SV ***next_in_list|U32 flags Apd |void |packlist |NN SV *cat|NN const char *pat|NN const char *patend|NN SV **beglist|NN SV **endlist #if defined(PERL_USES_PL_PIDSTATUS) && defined(PERL_IN_UTIL_C) @@ -1282,9 +1343,6 @@ Apmb |OP* |ref |NULLOK OP* o|I32 type s |OP* |refkids |NULLOK OP* o|I32 type #endif Ap |void |regdump |NN const regexp* r -ApM |SV* |regclass_swash |NULLOK const regexp *prog \ - |NN const struct regnode *node|bool doinit \ - |NULLOK SV **listsvp|NULLOK SV **altsvp #if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_PERL_C) || defined(PERL_IN_UTF8_C) EXpR |SV* |_new_invlist_C_array|NN const UV* const list EXMp |bool |_invlistEQ |NN SV* const a|NN SV* const b|const bool complement_b @@ -1307,7 +1365,7 @@ p |REGEXP*|re_op_compile |NULLOK SV ** const patternp \ |NN const regexp_engine* eng \ |NULLOK REGEXP *old_re \ |NULLOK bool *is_bare_re \ - |U32 rx_flags|U32 pm_flags + |const U32 rx_flags|const U32 pm_flags Ap |REGEXP*|re_compile |NN SV * const pattern|U32 orig_rx_flags Ap |char* |re_intuit_start|NN REGEXP * const rx \ |NULLOK SV* sv \ @@ -1405,10 +1463,10 @@ Ap |void |save_I8 |NN I8* bytep Ap |void |save_int |NN int* intp Ap |void |save_item |NN SV* item Ap |void |save_iv |NN IV *ivp -Ap |void |save_list |NN SV** sarg|I32 maxsarg -Ap |void |save_long |NN long* longp +Abp |void |save_list |NN SV** sarg|I32 maxsarg +Abp |void |save_long |NN long* longp Apmb |void |save_mortalizesv|NN SV* sv -Ap |void |save_nogv |NN GV* gv +Abp |void |save_nogv |NN GV* gv : Used in SAVEFREOP(), used in gv.c, op.c, perl.c, pp_ctl.c, pp_sort.c Apmb |void |save_op Ap |SV* |save_scalar |NN GV* gv @@ -1459,9 +1517,10 @@ Anp |Signal_t |csighandler |int sig #endif Ap |SV** |stack_grow |NN SV** sp|NN SV** p|SSize_t n Ap |I32 |start_subparse |I32 is_format|U32 flags +Xp |void |init_named_cv |NN CV *cv|NN OP *nameop : Used in pp_ctl.c p |void |sub_crush_depth|NN CV* cv -Amd |bool |sv_2bool |NN SV *const sv +Apbmd |bool |sv_2bool |NN SV *const sv Apd |bool |sv_2bool_flags |NN SV *sv|I32 flags Apd |CV* |sv_2cv |NULLOK SV* sv|NN HV **const st|NN GV **const gvp \ |const I32 lref @@ -1479,15 +1538,15 @@ Apmb |char* |sv_2pv |NN SV *sv|NULLOK STRLEN *lp Apd |char* |sv_2pv_flags |NN SV *const sv|NULLOK STRLEN *const lp|const I32 flags Apd |char* |sv_2pvutf8 |NN SV *sv|NULLOK STRLEN *const lp Apd |char* |sv_2pvbyte |NN SV *sv|NULLOK STRLEN *const lp -Ap |char* |sv_pvn_nomg |NN SV* sv|NULLOK STRLEN* lp +Abp |char* |sv_pvn_nomg |NN SV* sv|NULLOK STRLEN* lp Apmb |UV |sv_2uv |NN SV *sv Apd |UV |sv_2uv_flags |NN SV *const sv|const I32 flags -Apd |IV |sv_iv |NN SV* sv -Apd |UV |sv_uv |NN SV* sv -Apd |NV |sv_nv |NN SV* sv -Apd |char* |sv_pvn |NN SV *sv|NN STRLEN *lp -Apd |char* |sv_pvutf8n |NN SV *sv|NN STRLEN *lp -Apd |char* |sv_pvbyten |NN SV *sv|NN STRLEN *lp +Abpd |IV |sv_iv |NN SV* sv +Abpd |UV |sv_uv |NN SV* sv +Abpd |NV |sv_nv |NN SV* sv +Abpd |char* |sv_pvn |NN SV *sv|NN STRLEN *lp +Abpd |char* |sv_pvutf8n |NN SV *sv|NN STRLEN *lp +Abpd |char* |sv_pvbyten |NN SV *sv|NN STRLEN *lp Apd |I32 |sv_true |NULLOK SV *const sv #if defined(PERL_IN_SV_C) sd |void |sv_add_arena |NN char *const ptr|const U32 size \ @@ -1523,7 +1582,7 @@ Aopd |I32 |sv_cmp_locale |NULLOK SV *const sv1|NULLOK SV *const sv2 Apd |I32 |sv_cmp_locale_flags |NULLOK SV *const sv1 \ |NULLOK SV *const sv2|const U32 flags #if defined(USE_LOCALE_COLLATE) -Amd |char* |sv_collxfrm |NN SV *const sv|NN STRLEN *const nxp +Apbmd |char* |sv_collxfrm |NN SV *const sv|NN STRLEN *const nxp Apd |char* |sv_collxfrm_flags |NN SV *const sv|NN STRLEN *const nxp|I32 const flags #endif Apd |int |getcwd_sv |NN SV* sv @@ -1540,7 +1599,7 @@ ApdR |bool |sv_does_sv |NN SV* sv|NN SV* namesv|U32 flags ApdR |bool |sv_does_pv |NN SV* sv|NN const char *const name|U32 flags ApdR |bool |sv_does_pvn |NN SV* sv|NN const char *const name|const STRLEN len \ |U32 flags -Amd |I32 |sv_eq |NULLOK SV* sv1|NULLOK SV* sv2 +Apbmd |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 poMX |void |sv_free2 |NN SV *const sv|const U32 refcnt @@ -1635,7 +1694,6 @@ EXpRM |SV* |swash_init |NN const char* pkg|NN const char* name|NN SV* listsv|I32 EXpM |UV |swash_fetch |NN SV *swash|NN const U8 *ptr|bool do_utf8 #ifdef PERL_IN_REGCOMP_C EiMR |SV* |add_cp_to_invlist |NULLOK SV* invlist|const UV cp -EiM |void |invlist_set_len|NN SV* const invlist|const UV len|const bool offset EiMRn |bool |invlist_is_iterating|NN SV* const invlist #ifndef PERL_EXT_RE_BUILD EiMRn |UV* |_invlist_array_init |NN SV* const invlist|const bool will_have_0 @@ -1644,12 +1702,13 @@ EsM |void |_append_range_to_invlist |NN SV* const invlist|const UV start|const EsM |void |invlist_extend |NN SV* const invlist|const UV len EsM |void |invlist_replace_list_destroys_src|NN SV *dest|NN SV *src EiMRn |IV* |get_invlist_previous_index_addr|NN SV* invlist +EiM |void |invlist_set_len|NN SV* const invlist|const UV len|const bool offset EiMn |void |invlist_set_previous_index|NN SV* const invlist|const IV index EiMRn |IV |invlist_previous_index|NN SV* const invlist EiMn |void |invlist_trim |NN SV* invlist EiM |void |invlist_clear |NN SV* invlist +sM |void |initialize_invlist_guts|NN SV* invlist|const Size_t initial_size #endif -EiMR |SV* |invlist_clone |NN SV* const invlist EiMRn |STRLEN*|get_invlist_iter_addr |NN SV* invlist EiMn |void |invlist_iterinit|NN SV* invlist EsMRn |bool |invlist_iternext|NN SV* invlist|NN UV* start|NN UV* end @@ -1673,24 +1732,19 @@ EXpM |void |_invlist_union_maybe_complement_2nd \ EXmM |void |_invlist_subtract|NN SV* const a|NN SV* const b|NN SV** result EXpM |void |_invlist_invert|NN SV* const invlist 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|UV start|UV end EXMpR |SV* |_setup_canned_invlist|const STRLEN size|const UV element0|NN UV** other_elements_ptr -EXMpn |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) || 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 +#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_SV_C) +EMpX |SV* |invlist_clone |NN SV* const invlist|NULLOK SV* newlist #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_TOKE_C) || defined(PERL_IN_UTF8_C) || defined(PERL_IN_PP_C) EiMRn |UV* |invlist_array |NN SV* const invlist +EiMRn |bool |is_invlist |NN SV* const invlist EiMRn |bool* |get_invlist_offset_addr|NN SV* invlist EiMRn |UV |_invlist_len |NN SV* const invlist EMiRn |bool |_invlist_contains_cp|NN SV* const invlist|const UV cp EXpMRn |SSize_t|_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 #endif #if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C) EXpM |SV* |_get_regclass_nonbitmap_data \ @@ -1700,7 +1754,6 @@ EXpM |SV* |_get_regclass_nonbitmap_data \ |NULLOK SV **listsvp \ |NULLOK SV **lonly_utf8_locale \ |NULLOK SV **output_invlist -EXp |void|_load_PL_utf8_foldclosures| #endif #if defined(PERL_IN_REGCOMP_C) || defined (PERL_IN_DUMP_C) EXMp |void |_invlist_dump |NN PerlIO *file|I32 level \ @@ -1710,7 +1763,7 @@ EXMp |void |_invlist_dump |NN PerlIO *file|I32 level \ Ap |void |taint_env Ap |void |taint_proper |NULLOK const char* f|NN const char *const s EpM |char * |_byte_dump_string \ - |NN const U8 * s \ + |NN const U8 * const start \ |const STRLEN len \ |const bool format #if defined(PERL_IN_UTF8_C) @@ -1739,12 +1792,17 @@ s |U32 |check_and_deprecate \ |NN const char * const file \ |const unsigned line s |UV |_to_utf8_case |const UV uv1 \ - |NN const U8 *p \ + |NULLOK const U8 *p \ |NN U8* ustrp \ - |NULLOK STRLEN *lenp \ - |NN SV **swashp \ - |NN const char *normal \ - |NULLOK const char *special + |NN STRLEN *lenp \ + |NN SV *invlist \ + |NN const int * const invmap \ + |NULLOK const unsigned int * const * const aux_tables \ + |NULLOK const U8 * const aux_table_lengths \ + |NN const char * const normal +s |UV |turkic_fc |NN const U8 * const p |NN const U8 * const e|NN U8* ustrp|NN STRLEN *lenp +s |UV |turkic_lc |NN const U8 * const p0|NN const U8 * const e|NN U8* ustrp|NN STRLEN *lenp +s |UV |turkic_uc |NN const U8 * const p |NN const U8 * const e|NN U8* ustrp|NN STRLEN *lenp #endif ApbmdD |UV |to_utf8_lower |NN const U8 *p|NN U8* ustrp|NULLOK STRLEN *lenp AMp |UV |_to_utf8_lower_flags|NN const U8 *p|NULLOK const U8* e \ @@ -1771,10 +1829,10 @@ pn |bool |translate_substr_offsets|STRLEN curlen|IV pos1_iv \ #if defined(UNLINK_ALL_VERSIONS) Ap |I32 |unlnk |NN const char* f #endif -Apd |I32 |unpack_str |NN const char *pat|NN const char *patend|NN const char *s \ +Abpd |SSize_t|unpack_str |NN const char *pat|NN const char *patend|NN const char *s \ |NULLOK const char *strbeg|NN const char *strend|NULLOK char **new_s \ |I32 ocnt|U32 flags -Apd |I32 |unpackstring |NN const char *pat|NN const char *patend|NN const char *s \ +Apd |SSize_t|unpackstring |NN const char *pat|NN const char *patend|NN const char *s \ |NN const char *strend|U32 flags Ap |void |unsharepvn |NULLOK const char* sv|I32 len|U32 hash : Used in gv.c, hv.c @@ -1784,9 +1842,9 @@ p |void |utilize |int aver|I32 floor|NULLOK OP* version|NN OP* idop|NULLOK OP* a ApM |void |_force_out_malformed_utf8_message \ |NN const U8 *const p|NN const U8 * const e|const U32 flags \ |const bool die_here -Ap |U8* |utf16_to_utf8 |NN U8* p|NN U8 *d|I32 bytelen|NN I32 *newlen -Ap |U8* |utf16_to_utf8_reversed|NN U8* p|NN U8 *d|I32 bytelen|NN I32 *newlen -AdpPR |STRLEN |utf8_length |NN const U8* s|NN const U8 *e +EXp |U8* |utf16_to_utf8 |NN U8* p|NN U8 *d|I32 bytelen|NN I32 *newlen +EXp |U8* |utf16_to_utf8_reversed|NN U8* p|NN U8 *d|I32 bytelen|NN I32 *newlen +AdpR |STRLEN |utf8_length |NN const U8* s|NN const U8 *e AipdR |IV |utf8_distance |NN const U8 *a|NN const U8 *b AipdRn |U8* |utf8_hop |NN const U8 *s|SSize_t off AipdRn |U8* |utf8_hop_back|NN const U8 *s|SSize_t off|NN const U8 *start @@ -1802,31 +1860,49 @@ AMnp |U8* |bytes_from_utf8_loc|NN const U8 *s \ |NULLOK const U8 ** first_unconverted ApMd |U8* |bytes_to_utf8 |NN const U8 *s|NN STRLEN *lenp ApdD |UV |utf8_to_uvchr |NN const U8 *s|NULLOK STRLEN *retlen -ApdD |UV |utf8_to_uvuni |NN const U8 *s|NULLOK STRLEN *retlen -ApMD |UV |valid_utf8_to_uvuni |NN const U8 *s|NULLOK STRLEN *retlen +AbpdD |UV |utf8_to_uvuni |NN const U8 *s|NULLOK STRLEN *retlen +AbpMD |UV |valid_utf8_to_uvuni |NN const U8 *s|NULLOK STRLEN *retlen Aopd |UV |utf8_to_uvchr_buf |NN const U8 *s|NN const U8 *send|NULLOK STRLEN *retlen ApdD |UV |utf8_to_uvuni_buf |NN const U8 *s|NN const U8 *send|NULLOK STRLEN *retlen pM |bool |check_utf8_print |NN const U8 *s|const STRLEN len -Adop |UV |utf8n_to_uvchr |NN const U8 *s \ +Adnop |UV |utf8n_to_uvchr |NN const U8 *s \ |STRLEN curlen \ |NULLOK STRLEN *retlen \ |const U32 flags -Adp |UV |utf8n_to_uvchr_error|NN const U8 *s \ +Adnop |UV |utf8n_to_uvchr_error|NN const U8 *s \ |STRLEN curlen \ |NULLOK STRLEN *retlen \ |const U32 flags \ |NULLOK U32 * errors +AMndi |UV |utf8n_to_uvchr_msgs|NN const U8 *s \ + |STRLEN curlen \ + |NULLOK STRLEN *retlen \ + |const U32 flags \ + |NULLOK U32 * errors \ + |NULLOK AV ** msgs +AMnp |UV |_utf8n_to_uvchr_msgs_helper \ + |NN const U8 *s \ + |STRLEN curlen \ + |NULLOK STRLEN *retlen \ + |const U32 flags \ + |NULLOK U32 * errors \ + |NULLOK AV ** msgs AipnR |UV |valid_utf8_to_uvchr |NN const U8 *s|NULLOK STRLEN *retlen Ap |UV |utf8n_to_uvuni|NN const U8 *s|STRLEN curlen|NULLOK STRLEN *retlen|U32 flags Adm |U8* |uvchr_to_utf8 |NN U8 *d|UV uv Ap |U8* |uvuni_to_utf8 |NN U8 *d|UV uv Adm |U8* |uvchr_to_utf8_flags |NN U8 *d|UV uv|UV flags -Apd |U8* |uvoffuni_to_utf8_flags |NN U8 *d|UV uv|const UV flags +AdmM |U8* |uvchr_to_utf8_flags_msgs|NN U8 *d|UV uv|UV flags|NULLOK HV ** msgs +Apod |U8* |uvoffuni_to_utf8_flags |NN U8 *d|UV uv|const UV flags +ApM |U8* |uvoffuni_to_utf8_flags_msgs|NN U8 *d|UV uv|const UV flags|NULLOK HV** msgs Ap |U8* |uvuni_to_utf8_flags |NN U8 *d|UV uv|UV flags Apd |char* |pv_uni_display |NN SV *dsv|NN const U8 *spv|STRLEN len|STRLEN pvlim|UV flags ApdR |char* |sv_uni_display |NN SV *dsv|NN SV *ssv|STRLEN pvlim|UV flags +EXpR |Size_t |_inverse_folds |const UV cp \ + |NN unsigned int * first_folds_to \ + |NN const unsigned int ** remaining_folds_to : Used by Data::Alias EXp |void |vivify_defelem |NN SV* sv : Used in pp.c @@ -1967,9 +2043,9 @@ ApmdbR |char* |sv_pvutf8 |NN SV *sv ApmdbR |char* |sv_pvbyte |NN SV *sv Apmdb |STRLEN |sv_utf8_upgrade|NN SV *sv Amd |STRLEN |sv_utf8_upgrade_nomg|NN SV *sv -ApdM |bool |sv_utf8_downgrade|NN SV *const sv|const bool fail_ok +Apd |bool |sv_utf8_downgrade|NN SV *const sv|const bool fail_ok Apd |void |sv_utf8_encode |NN SV *const sv -ApdM |bool |sv_utf8_decode |NN SV *const sv +Apd |bool |sv_utf8_decode |NN SV *const sv Apdmb |void |sv_force_normal|NN SV *sv Apd |void |sv_force_normal_flags|NN SV *const sv|const U32 flags pX |SSize_t|tmps_grow_p |SSize_t ix @@ -1980,7 +2056,7 @@ AnpMd |SV* |sv_get_backrefs|NN SV *const sv p |int |magic_killbackrefs|NN SV *sv|NN MAGIC *mg Ap |OP* |newANONATTRSUB |I32 floor|NULLOK OP *proto|NULLOK OP *attrs|NULLOK OP *block Am |CV* |newATTRSUB |I32 floor|NULLOK OP *o|NULLOK OP *proto|NULLOK OP *attrs|NULLOK OP *block -pX |CV* |newATTRSUB_x |I32 floor|NULLOK OP *o|NULLOK OP *proto \ +pdX |CV* |newATTRSUB_x |I32 floor|NULLOK OP *o|NULLOK OP *proto \ |NULLOK OP *attrs|NULLOK OP *block \ |bool o_is_gv Ap |CV * |newMYSUB |I32 floor|NN OP *o|NULLOK OP *proto \ @@ -2029,8 +2105,8 @@ Ap |void |sys_intern_dup |NN struct interp_intern* src|NN struct interp_intern* #endif Amop |const XOP * |custom_op_xop |NN const OP *o -ApR |const char * |custom_op_name |NN const OP *o -ApR |const char * |custom_op_desc |NN const OP *o +AbpR |const char * |custom_op_name |NN const OP *o +AbpR |const char * |custom_op_desc |NN const OP *o pRX |XOPRETANY |custom_op_get_field |NN const OP *o|const xop_flags_enum field Aop |void |custom_op_register |NN Perl_ppaddr_t ppaddr \ |NN const XOP *xop @@ -2043,12 +2119,12 @@ Adp |int |nothreadhook p |void |init_constants #if defined(PERL_IN_DOOP_C) -sR |I32 |do_trans_simple |NN SV * const sv -sR |I32 |do_trans_count |NN SV * const sv -sR |I32 |do_trans_complex |NN SV * const sv -sR |I32 |do_trans_simple_utf8 |NN SV * const sv -sR |I32 |do_trans_count_utf8 |NN SV * const sv -sR |I32 |do_trans_complex_utf8 |NN SV * const sv +sR |Size_t |do_trans_simple |NN SV * const sv +sR |Size_t |do_trans_count |NN SV * const sv +sR |Size_t |do_trans_complex |NN SV * const sv +sR |Size_t |do_trans_simple_utf8 |NN SV * const sv +sR |Size_t |do_trans_count_utf8 |NN SV * const sv +sR |Size_t |do_trans_complex_utf8 |NN SV * const sv #endif #if defined(PERL_IN_GV_C) @@ -2196,17 +2272,17 @@ pRxo |GV* |softref2xv |NN SV *const sv|NN const char *const what \ #endif #if defined(PERL_IN_PP_PACK_C) -s |I32 |unpack_rec |NN struct tempsym* symptr|NN const char *s \ +s |SSize_t|unpack_rec |NN struct tempsym* symptr|NN const char *s \ |NN const char *strbeg|NN const char *strend|NULLOK const char **new_s s |SV ** |pack_rec |NN SV *cat|NN struct tempsym* symptr|NN SV **beglist|NN SV **endlist s |SV* |mul128 |NN SV *sv|U8 m -s |I32 |measure_struct |NN struct tempsym* symptr +s |SSize_t|measure_struct |NN struct tempsym* symptr s |bool |next_symbol |NN struct tempsym* symptr sR |SV* |is_an_int |NN const char *s|STRLEN l s |int |div128 |NN SV *pnum|NN bool *done s |const char *|group_end |NN const char *patptr|NN const char *patend \ |char ender -sR |const char *|get_num |NN const char *patptr|NN I32 *lenptr +sR |const char *|get_num |NN const char *patptr|NN SSize_t *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 @@ -2259,7 +2335,6 @@ s |I32 |amagic_cmp_locale|NN SV *const str1|NN SV *const str2 s |I32 |sortcv |NN SV *const a|NN SV *const b s |I32 |sortcv_xsub |NN SV *const a|NN SV *const b s |I32 |sortcv_stacked |NN SV *const a|NN SV *const b -s |void |qsortsvu |NULLOK SV** array|size_t num_elts|NN SVCOMPARE_t compare #endif #if defined(PERL_IN_PP_SYS_C) @@ -2279,55 +2354,53 @@ Ep |void |regprop |NULLOK const regexp *prog|NN SV* sv|NN const regnode* o|NULLO Ep |int |re_printf |NN const char *fmt|... #endif #if defined(PERL_IN_REGCOMP_C) -Es |regnode*|reg |NN RExC_state_t *pRExC_state \ +Es |regnode_offset|reg |NN RExC_state_t *pRExC_state \ |I32 paren|NN I32 *flagp|U32 depth -Es |regnode*|regnode_guts |NN RExC_state_t *pRExC_state \ +Es |regnode_offset|regnode_guts|NN RExC_state_t *pRExC_state \ |const U8 op \ |const STRLEN extra_len \ |NN const char* const name -Es |regnode*|reganode |NN RExC_state_t *pRExC_state|U8 op \ +Es |void |change_engine_size|NN RExC_state_t *pRExC_state|const Ptrdiff_t size +Es |regnode_offset|reganode|NN RExC_state_t *pRExC_state|U8 op \ |U32 arg -Es |regnode*|reg2Lanode |NN RExC_state_t *pRExC_state \ +Es |regnode_offset|reg2Lanode|NN RExC_state_t *pRExC_state \ |const U8 op \ |const U32 arg1 \ |const I32 arg2 -Es |regnode*|regatom |NN RExC_state_t *pRExC_state \ +Es |regnode_offset|regatom |NN RExC_state_t *pRExC_state \ |NN I32 *flagp|U32 depth -Es |regnode*|regbranch |NN RExC_state_t *pRExC_state \ +Es |regnode_offset|regbranch |NN RExC_state_t *pRExC_state \ |NN I32 *flagp|I32 first|U32 depth Es |void |set_ANYOF_arg |NN RExC_state_t* const pRExC_state \ |NN regnode* const node \ |NULLOK SV* const cp_list \ - |NULLOK SV* const runtime_defns \ - |NULLOK SV* const only_utf8_locale_list \ - |NULLOK SV* const swash \ - |const bool has_user_defined_property -Es |void |output_or_return_posix_warnings \ + |NULLOK SV* const runtime_defns \ + |NULLOK SV* const only_utf8_locale_list +Es |void |output_posix_warnings \ |NN RExC_state_t *pRExC_state \ - |NN AV* posix_warnings \ - |NULLOK AV** return_posix_warnings + |NN AV* posix_warnings Es |AV* |add_multi_match|NULLOK AV* multi_char_matches \ |NN SV* multi_string \ |const STRLEN cp_count -Es |regnode*|regclass |NN RExC_state_t *pRExC_state \ +Es |regnode_offset|regclass|NN RExC_state_t *pRExC_state \ |NN I32 *flagp|U32 depth|const bool stop_at_1 \ |bool allow_multi_fold \ |const bool silence_non_portable \ |const bool strict \ |bool optimizable \ - |NULLOK SV** ret_invlist \ - |NULLOK AV** return_posix_warnings + |NULLOK SV** ret_invlist Es |void|add_above_Latin1_folds|NN RExC_state_t *pRExC_state|const U8 cp \ |NN SV** invlist -Ei |regnode*|handle_named_backref|NN RExC_state_t *pRExC_state \ +Ei |regnode_offset|handle_named_backref|NN RExC_state_t *pRExC_state \ |NN I32 *flagp \ |NN char * parse_start \ |char ch EsnR |unsigned int|regex_set_precedence|const U8 my_operator -Es |regnode*|handle_regex_sets|NN RExC_state_t *pRExC_state \ +Es |regnode_offset|handle_regex_sets|NN RExC_state_t *pRExC_state \ |NULLOK SV ** return_invlist \ |NN I32 *flagp|U32 depth \ |NN char * const oregcomp_parse +Es |void |set_regex_pv |NN RExC_state_t *pRExC_state|NN REGEXP *Rx #if defined(DEBUGGING) && defined(ENABLE_REGEX_SETS_DEBUGGING) Es |void |dump_regex_sets_structures \ |NN RExC_state_t *pRExC_state \ @@ -2335,21 +2408,23 @@ Es |void |dump_regex_sets_structures \ |const IV fence|NN AV * fence_stack #endif Es |void|parse_lparen_question_flags|NN RExC_state_t *pRExC_state -Es |regnode*|reg_node |NN RExC_state_t *pRExC_state|U8 op -Es |regnode*|regpiece |NN RExC_state_t *pRExC_state \ +Es |regnode_offset|reg_node|NN RExC_state_t *pRExC_state|U8 op +Es |regnode_offset|regpiece|NN RExC_state_t *pRExC_state \ |NN I32 *flagp|U32 depth Es |bool |grok_bslash_N |NN RExC_state_t *pRExC_state \ - |NULLOK regnode** nodep \ + |NULLOK regnode_offset* nodep \ |NULLOK UV *code_point_p \ |NULLOK int* cp_count \ |NN I32 *flagp \ |const bool strict \ |const U32 depth Es |void |reginsert |NN RExC_state_t *pRExC_state \ - |U8 op|NN regnode *operand|U32 depth + |const U8 op \ + |const regnode_offset operand \ + |const U32 depth Es |void |regtail |NN RExC_state_t * pRExC_state \ - |NN const regnode * const p \ - |NN const regnode * const val \ + |NN const regnode_offset p \ + |NN const regnode_offset val \ |const U32 depth Es |SV * |reg_scan_name |NN RExC_state_t *pRExC_state \ |U32 flags @@ -2357,9 +2432,6 @@ Es |U32 |join_exact |NN RExC_state_t *pRExC_state \ |NN regnode *scan|NN UV *min_subtract \ |NN bool *unfolded_multi_char \ |U32 flags|NULLOK regnode *val|U32 depth -Ei |void |alloc_maybe_populate_EXACT|NN RExC_state_t *pRExC_state \ - |NN regnode *node|NN I32 *flagp|STRLEN len \ - |UV code_point|bool downgradable Ein |U8 |compute_EXACTish|NN RExC_state_t *pRExC_state Es |void |nextchar |NN RExC_state_t *pRExC_state Es |void |skip_to_be_ignored_text|NN RExC_state_t *pRExC_state \ @@ -2406,6 +2478,7 @@ Es |SSize_t|study_chunk |NN RExC_state_t *pRExC_state \ |I32 stopparen|U32 recursed_depth \ |NULLOK regnode_ssc *and_withp \ |U32 flags|U32 depth +EsR |SV * |get_ANYOFM_contents|NN const regnode * n EsRn |U32 |add_data |NN RExC_state_t* const pRExC_state \ |NN const char* const s|const U32 n rs |void |re_croak2 |bool utf8|NN const char* pat1|NN const char* pat2|... @@ -2427,6 +2500,23 @@ EnsR |int |edit_distance |NN const UV *src \ |const STRLEN x \ |const STRLEN y \ |const SSize_t maxDistance +EpX |SV * |parse_uniprop_string|NN const char * const name \ + |const Size_t name_len \ + |const bool is_utf8 \ + |const bool to_fold \ + |const bool runtime \ + |NN bool * user_defined_ptr \ + |NN SV * msg \ + |const STRLEN level +EXp |SV * |handle_user_defined_property|NN const char * name \ + |const STRLEN name_len \ + |const bool is_utf8 \ + |const bool to_fold \ + |const bool runtime \ + |NN SV* contents \ + |NN bool *user_defined_ptr \ + |NN SV * msg \ + |const STRLEN level # ifdef DEBUGGING Ep |int |re_indentf |NN const char *fmt|U32 depth|... Es |void |regdump_intflags|NULLOK const char *lead| const U32 flags @@ -2438,7 +2528,7 @@ Es |const regnode*|dumpuntil|NN const regexp *r|NN const regnode *start \ |NN SV* sv|I32 indent|U32 depth Es |void |put_code_point |NN SV* sv|UV c Es |bool |put_charclass_bitmap_innards|NN SV* sv \ - |NN char* bitmap \ + |NULLOK char* bitmap \ |NULLOK SV* nonbitmap_invlist \ |NULLOK SV* only_utf8_locale_invlist\ |NULLOK const regnode * const node \ @@ -2465,7 +2555,7 @@ Es |void |dump_trie_interim_table|NN const struct _reg_trie_data *trie\ |NULLOK HV* widecharmap|NN AV *revcharmap\ |U32 next_alloc|U32 depth Es |U8 |regtail_study |NN RExC_state_t *pRExC_state \ - |NN regnode *p|NN const regnode *val|U32 depth + |NN regnode_offset p|NN const regnode_offset val|U32 depth # endif #endif @@ -2478,7 +2568,13 @@ ERp |bool |_is_grapheme |NN const U8 * strbeg|NN const U8 * s|NN const U8 *stren #endif #if defined(PERL_IN_REGEXEC_C) -ERs |bool |isFOO_utf8_lc |const U8 classnum|NN const U8* character +ERs |bool |isFOO_utf8_lc |const U8 classnum|NN const U8* character|NN const U8* e +ERns |U8 * |find_next_masked|NN U8 * s \ + |NN const U8 * send \ + |const U8 byte|const U8 mask +ERns |U8 *|find_span_end |NN U8* s|NN const U8 * send|const U8 span_byte +ERns |U8 *|find_span_end_mask|NN U8 * s|NN const U8 * send \ + |const U8 span_byte|const U8 mask ERs |SSize_t|regmatch |NN regmatch_info *reginfo|NN char *startpos|NN regnode *prog WERs |I32 |regrepeat |NN regexp *prog|NN char **startposp \ |NN const regnode *p \ @@ -2552,6 +2648,7 @@ EsR |WB_enum|backup_one_WB |NN WB_enum * previous \ |NN const U8 * const strbeg \ |NN U8 ** curpos \ |const bool utf8_target +Ein |I32 |foldEQ_latin1_s2_folded|NN const char* a|NN const char* b|I32 len # ifdef DEBUGGING Es |void |dump_exec_pos |NN const char *locinput|NN const regnode *scan|NN const char *loc_regeol\ |NN const char *loc_bostr|NN const char *loc_reg_starttry|const bool do_utf8|const U32 depth @@ -2592,7 +2689,7 @@ pR |SV * |varname |NULLOK const GV *const gv|const char gvtype \ pX |void |sv_del_backref |NN SV *const tsv|NN SV *const sv #if defined(PERL_IN_SV_C) -nsR |char * |uiv_2buf |NN char *const buf|const IV iv|UV uv|const int is_uv|NN char **const peob +niR |char * |uiv_2buf |NN char *const buf|const IV iv|UV uv|const int is_uv|NN char **const peob i |void |sv_unglob |NN SV *const sv|U32 flags s |const char *|sv_display |NN SV *const sv|NN char *tmpbuf|STRLEN tmpbuf_size s |void |not_a_number |NN SV *const sv @@ -2674,11 +2771,11 @@ s |void |checkcomma |NN const char *s|NN const char *name \ |NN const char *what s |void |force_ident |NN const char *s|int kind s |void |force_ident_maybe_lex|char pit -s |void |incline |NN const char *s +s |void |incline |NN const char *s|NN const char *end s |int |intuit_method |NN char *s|NULLOK SV *ioname|NULLOK CV *cv -s |int |intuit_more |NN char *s +s |int |intuit_more |NN char *s|NN char *e s |I32 |lop |I32 f|U8 x|NN char *s -rs |void |missingterm |NULLOK char *s +rs |void |missingterm |NULLOK char *s|STRLEN len s |void |no_op |NN const char *const what|NULLOK char *s s |int |pending_ident sR |I32 |sublex_done @@ -2694,7 +2791,8 @@ so |SV* |new_constant |NULLOK const char *s|STRLEN len \ 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|bool check_dollar + |bool is_utf8|bool check_dollar \ + |bool tick_warn # if defined(PERL_CR_FILTER) s |I32 |cr_textfilter |int idx|NULLOK SV *sv|int maxlen s |void |strip_return |NN SV *sv @@ -2713,7 +2811,17 @@ s |bool |isa_lookup |NN HV *stash|NN const char * const name \ #endif #if defined(PERL_IN_LOCALE_C) -in |const char *|save_to_buffer|NN const char * string \ +# ifdef USE_LOCALE +sn |const char*|category_name |const int category +s |const char*|switch_category_locale_to_template|const int switch_category|const int template_category|NULLOK const char * template_locale +s |void |restore_switched_locale|const int category|NULLOK const char * const original_locale +# endif +# ifdef HAS_NL_LANGINFO +sn |const char*|my_nl_langinfo|const nl_item item|bool toggle +# else +sn |const char*|my_nl_langinfo|const int item|bool toggle +# endif +inR |const char *|save_to_buffer|NULLOK const char * string \ |NULLOK char **buf \ |NN Size_t *buf_size \ |const Size_t offset @@ -2721,9 +2829,16 @@ in |const char *|save_to_buffer|NN const char * string \ s |char* |stdize_locale |NN char* locs s |void |new_collate |NULLOK const char* newcoll s |void |new_ctype |NN const char* newctype -s |void |set_numeric_radix +s |void |set_numeric_radix|const bool use_locale +s |void |new_numeric |NULLOK const char* newnum +# ifdef USE_POSIX_2008_LOCALE +sn |const char*|emulate_setlocale|const int category \ + |NULLOK const char* locale \ + |unsigned int index \ + |const bool is_index_valid +# endif # ifdef WIN32 -s |char* |my_setlocale |int category|NULLOK const char* locale +s |char* |win32_setlocale|int category|NULLOK const char* locale # endif # ifdef DEBUGGING s |void |print_collxfrm_input_and_return \ @@ -2744,7 +2859,8 @@ snR |char * |setlocale_debug_string |const int category \ #if defined(USE_LOCALE) \ && ( defined(PERL_IN_LOCALE_C) \ || defined(PERL_IN_MG_C) \ - || defined (PERL_EXT_POSIX)) + || defined (PERL_EXT_POSIX) \ + || defined (PERL_EXT_LANGINFO)) ApM |bool |_is_cur_LC_category_utf8|int category #endif @@ -2768,27 +2884,20 @@ pn |Malloc_t |mem_log_realloc |const UV n|const UV typesize|NN const char *type_ pn |Malloc_t |mem_log_free |Malloc_t oldalloc|NN const char *filename|const int linenumber|NN const char *funcname #endif -#if defined(PERL_IN_NUMERIC_C) -#ifndef USE_QUADMATH -sn |NV|mulexp10 |NV value|I32 exponent -#endif -#endif - #if defined(PERL_IN_UTF8_C) +sR |HV * |new_msg_hv |NN const char * const message \ + |U32 categories \ + |U32 flag sRM |UV |check_locale_boundary_crossing \ |NN const U8* const p \ |const UV result \ |NN U8* const ustrp \ |NN STRLEN *lenp iR |bool |is_utf8_common |NN const U8 *const p \ - |NN SV **swash \ - |NN const char * const swashname \ |NULLOK SV* const invlist iR |bool |is_utf8_common_with_len|NN const U8 *const p \ - |NN const U8 *const e \ - |NN SV **swash \ - |NN const char * const swashname \ - |NULLOK SV* const invlist + |NN const U8 *const e \ + |NULLOK SV* const invlist sR |SV* |swatch_get |NN SV* swash|UV start|UV span sRM |U8* |swash_scan_list_line|NN U8* l|NN U8* const lend|NN UV* min \ |NN UV* max|NN UV* val|const bool wants_value \ @@ -2810,7 +2919,8 @@ Apd |char* |sv_pvn_force_flags|NN SV *const sv|NULLOK STRLEN *const lp|const I32 Apmb |void |sv_copypv |NN SV *const dsv|NN SV *const ssv Apmd |void |sv_copypv_nomg |NN SV *const dsv|NN SV *const ssv 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 +Apo |char* |my_atof2 |NN const char *orig|NN NV* value +Ap |char* |my_atof3 |NN const char *orig|NN NV* value|const STRLEN len Apn |int |my_socketpair |int family|int type|int protocol|int fd[2] Apn |int |my_dirfd |NULLOK DIR* dir #ifdef PERL_ANY_COW @@ -3005,10 +3115,6 @@ ApoP |bool |ckwarn_d |U32 w XEopMR |STRLEN *|new_warnings_bitfield|NULLOK STRLEN *buffer \ |NN const char *const bits|STRLEN size -#ifndef SPRINTF_RETURNS_STRLEN -Apnod |int |my_sprintf |NN char *buffer|NN const char *pat|... -#endif - Apnodf |int |my_snprintf |NN char *buffer|const Size_t len|NN const char *format|... Apnod |int |my_vsnprintf |NN char *buffer|const Size_t len|NN const char *format|va_list ap #ifdef USE_QUADMATH @@ -3042,6 +3148,13 @@ Apnod |Size_t |my_strlcat |NULLOK char *dst|NULLOK const char *src|Size_t size Apnod |Size_t |my_strlcpy |NULLOK char *dst|NULLOK const char *src|Size_t size #endif +#ifndef HAS_STRNLEN +Apnod |Size_t |my_strnlen |NN const char *str|Size_t maxlen +#endif + +#ifndef HAS_MKOSTEMP +pno |int |my_mkostemp |NN char *templte|int flags +#endif #ifndef HAS_MKSTEMP pno |int |my_mkstemp |NN char *templte #endif