:
: proto.h: add __attribute__malloc__
:
-: b Binary backward compatibility; has an exported Perl_ implementation
-: but function is also normally a macro (i.e. has the "m" flag as well).
-: Backcompat functions ("b") can be anywhere, but if they are also
-: macros ("m") then they have no proto.h entries so must either be in
-: mathoms.c to get marked EXTERN_C (and skipped for -DNO_MATHOMS builds)
-: or else will require special attention to ensure they are marked
-: EXTERN_C (and then won't be automatically skipped for -DNO_MATHOMS
-: builds).
+: b Binary backward compatibility. This is used for functions which are
+: kept only to not have to change legacy applications that call them. If
+: there are no such legacy applications in a Perl installation for all
+: functions flagged with this, the installation can run Configure with the
+: -Accflags='-DNO_MATHOMS' parameter to not even compile them. If there
+: is a macro form of this function that provides equivalent functionality
+: (using a different implementation), also specify the 'm' flag. The 'b'
+: functions are normally moved to mathoms.c, but if circumstances dictate
+: otherwise, they can be anywhere, provided the whole function is wrapped
+: with
+: #ifndef NO_MATHOMS
+: ...
+: #endif
:
+: Note that this flag no longer automatically adds a 'Perl_' prefix to the
+: name. Additionally specify 'p' to do that.
+:
+: For functions, like wrappers, whose macro shortcut doesn't call the
+: function, but which, for whatever reason, aren't considered legacy-only,
+: use the 'o' flag
+:
+: This flag effectively causes nothing to happen if the perl interpreter
+: is compiled with -DNO_MATHOMS; otherwise these happen:
: add entry to the list of exported symbols;
-: don't define PERL_ARGS_ASSERT_FOO
+: create PERL_ARGS_ASSERT_FOO;
+: add embed.h entry (unless overridden by the 'm' flag)
:
: D Function is deprecated:
:
:
: m Implemented as a macro:
:
-: suppress proto.h entry (actually, not suppressed, but commented out)
+: suppress proto.h entry unless 'b' also specified (actually, not
+: suppressed, but commented out)
: suppress entry in the list of exported symbols
: suppress embed.h entry
:
pR |OP* |bind_match |I32 type|NN OP *left|NN OP *right
: Used in perly.y
ApdR |OP* |block_end |I32 floor|NULLOK OP* seq
-ApR |I32 |block_gimme
+ApR |U8 |block_gimme
: Used in perly.y
ApdR |int |block_start |int full
Aodp |void |blockhook_register |NN BHK *hk
: Used in perly.y
ApdR |OP* |op_convert_list |I32 optype|I32 flags|NULLOK OP* o
: Used in op.c and perl.c
-pM |PERL_CONTEXT* |create_eval_scope|U32 flags
+pM |void |create_eval_scope|NULLOK OP *retop|U32 flags
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|...
p |void |do_vop |I32 optype|NN SV* sv|NN SV* left|NN SV* right
: Used in perly.y
p |OP* |dofile |NN OP* term|I32 force_builtin
-ApR |I32 |dowantarray
+ApR |U8 |dowantarray
Ap |void |dump_all
p |void |dump_all_perl |bool justperl
Ap |void |dump_eval
: used in SAVEHINTS() and op.c
ApdR |HV * |hv_copy_hints_hv|NULLOK HV *const ohv
Ap |void |hv_delayfree_ent|NN HV *hv|NULLOK HE *entry
-Abmd |SV* |hv_delete |NULLOK HV *hv|NN const char *key|I32 klen \
+Abmdp |SV* |hv_delete |NULLOK HV *hv|NN const char *key|I32 klen \
|I32 flags
-Abmd |SV* |hv_delete_ent |NULLOK HV *hv|NN SV *keysv|I32 flags|U32 hash
-AbmdR |bool |hv_exists |NULLOK HV *hv|NN const char *key|I32 klen
-AbmdR |bool |hv_exists_ent |NULLOK HV *hv|NN SV *keysv|U32 hash
-Abmd |SV** |hv_fetch |NULLOK HV *hv|NN const char *key|I32 klen \
+Abmdp |SV* |hv_delete_ent |NULLOK HV *hv|NN SV *keysv|I32 flags|U32 hash
+AbmdRp |bool |hv_exists |NULLOK HV *hv|NN const char *key|I32 klen
+AbmdRp |bool |hv_exists_ent |NULLOK HV *hv|NN SV *keysv|U32 hash
+Abmdp |SV** |hv_fetch |NULLOK HV *hv|NN const char *key|I32 klen \
|I32 lval
-Abmd |HE* |hv_fetch_ent |NULLOK HV *hv|NN SV *keysv|I32 lval|U32 hash
+Abmdp |HE* |hv_fetch_ent |NULLOK HV *hv|NN SV *keysv|I32 lval|U32 hash
Ap |void* |hv_common |NULLOK HV *hv|NULLOK SV *keysv \
|NULLOK const char* key|STRLEN klen|int flags \
|int action|NULLOK SV *val|U32 hash
|U32 hash|NULLOK SV *value|U32 flags
Xpd |void |refcounted_he_free|NULLOK struct refcounted_he *he
Xpd |struct refcounted_he *|refcounted_he_inc|NULLOK struct refcounted_he *he
-Abmd |SV** |hv_store |NULLOK HV *hv|NULLOK const char *key \
+Apbmd |SV** |hv_store |NULLOK HV *hv|NULLOK const char *key \
|I32 klen|NULLOK SV *val|U32 hash
-Abmd |HE* |hv_store_ent |NULLOK HV *hv|NULLOK SV *key|NULLOK SV *val\
+Apbmd |HE* |hv_store_ent |NULLOK HV *hv|NULLOK SV *key|NULLOK SV *val\
|U32 hash
-AbmM |SV** |hv_store_flags |NULLOK HV *hv|NULLOK const char *key \
+ApbmM |SV** |hv_store_flags |NULLOK HV *hv|NULLOK const char *key \
|I32 klen|NULLOK SV *val|U32 hash|int flags
Amd |void |hv_undef |NULLOK HV *hv
poX |void |hv_undef_flags |NULLOK HV *hv|U32 flags
Ap |void |init_stacks
Ap |void |init_tm |NN struct tm *ptm
: Used in perly.y
-AnpPR |char* |instr |NN const char* big|NN const char* little
+AbmnpPR |char* |instr |NN const char* big|NN const char* little
: Used in sv.c
p |bool |io_close |NN IO* io|NULLOK GV *gv \
|bool not_implicit|bool warn_on_fail
#if defined(PERL_IN_OP_C)
s |OP* |listkids |NULLOK OP* o
#endif
-: Used in S_doeval in pp_ctl.c
p |OP* |list |NULLOK OP* o
Apd |void |load_module|U32 flags|NN SV* name|NULLOK SV* ver|...
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
-#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_TOKE_C)
-EMiR |bool |grok_bslash_x |NN char** s|NN UV* uv \
+#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 \
|NN const char** error_msg \
|const bool output_warning \
|const bool strict \
|const bool silence_non_portable \
|const bool utf8
-#endif
EMpRX |char |grok_bslash_c |const char source|const bool output_warning
EMpRX |bool |grok_bslash_o |NN char** s|NN UV* uv \
|NN const char** error_msg \
|const bool strict \
|const bool silence_non_portable \
|const bool utf8
-EMpPRX |char*|form_short_octal_warning|NN const char * const s \
+EMiR |char*|form_short_octal_warning|NN const char * const s \
|const STRLEN len
+EiPRn |I32 |regcurly |NN const char *s
+#endif
Apd |UV |grok_hex |NN const char* start|NN STRLEN* len_p|NN I32* flags|NULLOK NV *result
Apd |int |grok_infnan |NN const char** sp|NN const char *send
Apd |int |grok_number |NN const char *pv|STRLEN len|NULLOK UV *valuep
Ap |I32 * |markstack_grow
#if defined(USE_LOCALE_COLLATE)
p |int |magic_setcollxfrm|NN SV* sv|NN MAGIC* mg
+pb |char* |mem_collxfrm |NN const char* input_string|STRLEN len|NN STRLEN* xlen
: Defined in locale.c, used only in sv.c
-p |char* |mem_collxfrm |NN const char* s|STRLEN len|NN STRLEN* xlen
+# if defined(PERL_IN_LOCALE_C) || defined(PERL_IN_SV_C) || defined(PERL_IN_MATHOMS_C)
+pM |char* |_mem_collxfrm |NN const char* input_string \
+ |STRLEN len \
+ |NN STRLEN* xlen \
+ |bool utf8
+# endif
#endif
Afpd |SV* |mess |NN const char* pat|...
Apd |SV* |mess_sv |NN SV* basemsg|bool consume
p |int |mode_from_discipline|NULLOK const char* s|STRLEN len
Ap |const char* |moreswitches |NN const char* s
Ap |NV |my_atof |NN const char *s
-#if (!defined(HAS_MEMCPY) && !defined(HAS_BCOPY)) || (!defined(HAS_MEMMOVE) && !defined(HAS_SAFE_MEMCPY) && !defined(HAS_SAFE_BCOPY))
-Anp |char* |my_bcopy |NN const char* from|NN char* to|I32 len
+#if !defined(HAS_MEMCPY) || (!defined(HAS_MEMMOVE) && !defined(HAS_SAFE_MEMCPY))
+Anp |void* |my_bcopy |NN const void* vfrom|NN void* vto|size_t len
#endif
#if !defined(HAS_BZERO) && !defined(HAS_MEMSET)
-Anp |char* |my_bzero |NN char* loc|I32 len
+Anp |void* |my_bzero |NN void* vloc|size_t len
#endif
Apr |void |my_exit |U32 status
Apr |void |my_failure_exit
Apmb |I32 |my_lstat
pX |I32 |my_lstat_flags |NULLOK const U32 flags
#if !defined(HAS_MEMCMP) || !defined(HAS_SANE_MEMCMP)
-AnpP |I32 |my_memcmp |NN const char* s1|NN const char* s2|I32 len
+AnpP |int |my_memcmp |NN const void* vs1|NN const void* vs2|size_t len
#endif
#if !defined(HAS_MEMSET)
-Anp |void* |my_memset |NN char* loc|I32 ch|I32 len
+Anp |void* |my_memset |NN void* vloc|int ch|size_t len
#endif
#if !defined(PERL_IMPLICIT_SYS)
Ap |I32 |my_pclose |NULLOK PerlIO* ptr
Afp |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
: Used in pp_ctl.c
p |void |my_unexec
-ADMnoPR |UV |NATIVE_TO_NEED |const UV enc|const UV ch
-ADMnoPR |UV |ASCII_TO_NEED |const UV enc|const UV ch
+AbDMnPR |UV |NATIVE_TO_NEED |const UV enc|const UV ch
+AbDMnPR |UV |ASCII_TO_NEED |const UV enc|const UV ch
Apa |OP* |newANONLIST |NULLOK OP* o
Apa |OP* |newANONHASH |NULLOK OP* o
Ap |OP* |newANONSUB |I32 floor|NULLOK OP* proto|NULLOK OP* block
Apda |OP* |newRANGE |I32 flags|NN OP* left|NN OP* right
Apda |OP* |newSLICEOP |I32 flags|NULLOK OP* subscript|NULLOK OP* listop
Apda |OP* |newSTATEOP |I32 flags|NULLOK char* label|NULLOK OP* o
-Abm |CV* |newSUB |I32 floor|NULLOK OP* o|NULLOK OP* proto \
+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 \
|NN XSUBADDR_t subaddr\
|NULLOK const char *const proto|U32 flags
Apd |CV* |newXS |NULLOK const char *name|NN XSUBADDR_t subaddr\
|NN const char *filename
-AmdbR |AV* |newAV
+ApmdbR |AV* |newAV
Apa |OP* |newAVREF |NN OP* o
Apda |OP* |newBINOP |I32 type|I32 flags|NULLOK OP* first|NULLOK OP* last
Apa |OP* |newCVREF |I32 flags|NULLOK OP* o
Apa |GV* |newGVgen_flags |NN const char* pack|U32 flags
Apa |OP* |newGVREF |I32 type|NULLOK OP* o
ApaR |OP* |newHVREF |NN OP* o
-AmdbR |HV* |newHV
+ApmdbR |HV* |newHV
ApaR |HV* |newHVhv |NULLOK HV *hv
Apabm |IO* |newIO
Apda |OP* |newLISTOP |I32 type|I32 flags|NULLOK OP* first|NULLOK OP* last
Apd |int |vcmp |NN SV *lhv|NN SV *rhv
: Used in pp_hot.c and pp_sys.c
p |PerlIO*|nextargv |NN GV* gv|bool nomagicopen
-AnpP |char* |ninstr |NN const char* big|NN const char* bigend \
+#ifdef HAS_MEMMEM
+AdnopP |char* |ninstr |NN const char* big|NN const char* bigend \
|NN const char* little|NN const char* lend
+#else
+AdnpP |char* |ninstr |NN const char* big|NN const char* bigend \
+ |NN const char* little|NN const char* lend
+#endif
Apd |void |op_free |NULLOK OP* arg
Mp |OP* |op_unscope |NULLOK OP* o
#ifdef PERL_CORE
#endif
Ap |void |pop_scope
Ap |void |push_scope
-Amb |OP* |ref |NULLOK OP* o|I32 type
+Apmb |OP* |ref |NULLOK OP* o|I32 type
#if defined(PERL_IN_OP_C)
s |OP* |refkids |NULLOK OP* o|I32 type
#endif
Ap |void |regdump |NN const regexp* r
-Ap |SV* |regclass_swash |NULLOK const regexp *prog \
+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)
AMpR |SV* |_new_invlist_C_array|NN const UV* const list
-: Not used currently: EXMs |bool |_invlistEQ |NN SV* const a|NN SV* const b|const bool complement_b
+EXMp |bool |_invlistEQ |NN SV* const a|NN SV* const b|const bool complement_b
#endif
Ap |I32 |pregexec |NN REGEXP * const prog|NN char* stringarg \
|NN char* strend|NN char* strbeg \
|const U32 flags \
|NULLOK re_scream_pos_data *data
Ap |SV* |re_intuit_string|NN REGEXP *const r
-#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_TOKE_C)
-EiPRn |I32 |regcurly |NN const char *s
-#endif
Ap |I32 |regexec_flags |NN REGEXP *const rx|NN char *stringarg \
|NN char *strend|NN char *strbeg \
|SSize_t minend|NN SV *sv \
EXp |SV*|reg_qr_package|NN REGEXP * const rx
Anp |void |repeatcpy |NN char* to|NN const char* from|I32 len|IV count
-AnpP |char* |rninstr |NN const char* big|NN const char* bigend \
+AdnpP |char* |rninstr |NN const char* big|NN const char* bigend \
|NN const char* little|NN const char* lend
Ap |Sighandler_t|rsignal |int i|Sighandler_t t
: Used in pp_sys.c
Ap |void |save_generic_svref|NN SV** sptr
Ap |void |save_generic_pvref|NN char** str
Ap |void |save_shared_pvref|NN char** str
-Ap |void |save_gp |NN GV* gv|I32 empty
+Adp |void |save_gp |NN GV* gv|I32 empty
Ap |HV* |save_hash |NN GV* gv
Ap |void |save_hints
Amp |void |save_helem |NN HV *hv|NN SV *key|NN SV **sptr
Ap |void |save_sptr |NN SV** sptr
Xp |void |save_strlen |NN STRLEN* ptr
Ap |SV* |save_svref |NN SV** sptr
+AMpo |void |savetmps
Ap |void |save_pushptr |NULLOK void *const ptr|const int type
Ap |void |save_pushi32ptr|const I32 i|NULLOK void *const ptr|const int type
: Used by SAVESWITCHSTACK() in pp.c
#if defined(PERL_IN_SV_C)
s |bool |glob_2number |NN GV* const gv
#endif
-Amb |IV |sv_2iv |NN SV *sv
+Apmb |IV |sv_2iv |NN SV *sv
Apd |IV |sv_2iv_flags |NN SV *const sv|const I32 flags
Apd |SV* |sv_2mortal |NULLOK SV *const sv
Apd |NV |sv_2nv_flags |NN SV *const sv|const I32 flags
: Used in pp.c, pp_hot.c, sv.c
pMd |SV* |sv_2num |NN SV *const sv
-Amb |char* |sv_2pv |NN SV *sv|NULLOK STRLEN *lp
+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
-Amb |UV |sv_2uv |NN SV *sv
+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 |void |sv_vcatpvf |NN SV *const sv|NN const char *const pat \
|NULLOK va_list *const args
Apd |void |sv_catpv |NN SV *const sv|NULLOK const char* ptr
-Amdb |void |sv_catpvn |NN SV *dsv|NN const char *sstr|STRLEN len
-Amdb |void |sv_catsv |NN SV *dstr|NULLOK SV *sstr
+Apmdb |void |sv_catpvn |NN SV *dsv|NN const char *sstr|STRLEN len
+Apmdb |void |sv_catsv |NN SV *dstr|NULLOK SV *sstr
Apd |void |sv_chop |NN SV *const sv|NULLOK const char *const ptr
: Used only in perl.c
pd |I32 |sv_clean_all
Apd |char* |sv_grow |NN SV *const sv|STRLEN newlen
Apd |void |sv_inc |NULLOK SV *const sv
Apd |void |sv_inc_nomg |NULLOK SV *const sv
-Amdb |void |sv_insert |NN SV *const bigstr|const STRLEN offset \
+Apmdb |void |sv_insert |NN SV *const bigstr|const STRLEN offset \
|const STRLEN len|NN const char *const little \
|const STRLEN littlelen
Apd |void |sv_insert_flags|NN SV *const bigstr|const STRLEN offset|const STRLEN len \
Apd |void |sv_pos_b2u |NULLOK SV *const sv|NN I32 *const offsetp
Apd |STRLEN |sv_pos_b2u_flags|NN SV *const sv|STRLEN const offset \
|U32 flags
-Amdb |char* |sv_pvn_force |NN SV* sv|NULLOK STRLEN* lp
+Apmdb |char* |sv_pvn_force |NN SV* sv|NULLOK STRLEN* lp
Apd |char* |sv_pvutf8n_force|NN SV *const sv|NULLOK STRLEN *const lp
Apd |char* |sv_pvbyten_force|NN SV *const sv|NULLOK STRLEN *const lp
Apd |char* |sv_recode_to_utf8 |NN SV* sv|NN SV *encoding
Apd |bool |sv_cat_decode |NN SV* dsv|NN SV *encoding|NN SV *ssv|NN int *offset \
|NN char* tstr|int tlen
ApdR |const char* |sv_reftype |NN const SV *const sv|const int ob
-pd |SV* |sv_ref |NULLOK SV *dst|NN const SV *const sv|const int ob
+Apd |SV* |sv_ref |NULLOK SV *dst|NN const SV *const sv|const int ob
Apd |void |sv_replace |NN SV *const sv|NN SV *const nsv
Apd |void |sv_report_used
Apd |void |sv_reset |NN const char* s|NULLOK HV *const stash
Apd |void |sv_setpv |NN SV *const sv|NULLOK const char *const ptr
Apd |void |sv_setpvn |NN SV *const sv|NULLOK const char *const ptr|const STRLEN len
Xp |void |sv_sethek |NN SV *const sv|NULLOK const HEK *const hek
-Amdb |void |sv_setsv |NN SV *dstr|NULLOK SV *sstr
-Amdb |void |sv_taint |NN SV* sv
+Apmdb |void |sv_setsv |NN SV *dstr|NULLOK SV *sstr
+Apmdb |void |sv_taint |NN SV* sv
ApdR |bool |sv_tainted |NN SV *const sv
Apd |int |sv_unmagic |NN SV *const sv|const int type
Apd |int |sv_unmagicext |NN SV *const sv|const int type|NULLOK MGVTBL *vtbl
|NULLOK va_list *const args|NULLOK SV **const svargs \
|const I32 svmax|NULLOK bool *const maybe_tainted
ApR |NV |str_to_version |NN SV *sv
-ApR |SV* |swash_init |NN const char* pkg|NN const char* name|NN SV* listsv|I32 minbits|I32 none
-Ap |UV |swash_fetch |NN SV *swash|NN const U8 *ptr|bool do_utf8
+ApRM |SV* |swash_init |NN const char* pkg|NN const char* name|NN SV* listsv|I32 minbits|I32 none
+ApM |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
-EsM |void |_append_range_to_invlist |NN SV* const invlist|const UV start|const UV end
EiMRn |UV* |_invlist_array_init |NN SV* const invlist|const bool will_have_0
-EsM |void |invlist_extend |NN SV* const invlist|const UV len
EiMRn |UV |invlist_max |NN SV* const invlist
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
+EsM |void |_append_range_to_invlist |NN SV* const invlist|const UV start|const UV end
+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
-EiMRn |bool |invlist_is_iterating|NN SV* const invlist
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* const invlist
+EiMn |void |invlist_trim |NN SV* invlist
+EiM |void |invlist_clear |NN SV* invlist
#endif
EiMR |SV* |invlist_clone |NN SV* const invlist
EiMRn |STRLEN*|get_invlist_iter_addr |NN SV* invlist
EiMRn |UV |invlist_highest|NN SV* const invlist
EMRs |SV* |_make_exactf_invlist |NN RExC_state_t *pRExC_state \
|NN regnode *node
+EsMR |SV* |invlist_contents|NN SV* const invlist \
+ |const bool traditional_style
#endif
#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_UTF8_C)
EXmM |void |_invlist_intersection |NN SV* const a|NN SV* const b|NN SV** i
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|const UV start|const UV end
+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
#endif
#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C) || defined(PERL_IN_UTF8_C)
EiMRn |UV* |invlist_array |NN SV* const invlist
-EXMpR |SV* |_invlist_contents|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 |IV |_invlist_search |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
|bool doinit \
|NULLOK SV **listsvp \
|NULLOK SV **lonly_utf8_locale \
- |NULLOK SV *exclude_list
+ |NULLOK SV **output_invlist
EXp |void|_load_PL_utf8_foldclosures|
#endif
#if defined(PERL_IN_REGCOMP_C) || defined (PERL_IN_DUMP_C)
#endif
Ap |void |taint_env
Ap |void |taint_proper |NULLOK const char* f|NN const char *const s
-Apd |UV |to_utf8_case |NN const U8 *p|NN U8* ustrp|NULLOK STRLEN *lenp \
- |NN SV **swashp|NN const char *normal|NULLOK const char *special
-Abmd |UV |to_utf8_lower |NN const U8 *p|NN U8* ustrp|NULLOK STRLEN *lenp
+ApdD |UV |to_utf8_case |NN const U8 *p \
+ |NN U8* ustrp \
+ |NULLOK STRLEN *lenp \
+ |NN SV **swashp \
+ |NN const char *normal| \
+ NULLOK const char *special
+#if defined(PERL_IN_UTF8_C)
+s |UV |_to_utf8_case |const UV uv1 \
+ |NN const U8 *p \
+ |NN U8* ustrp \
+ |NULLOK STRLEN *lenp \
+ |NN SV **swashp \
+ |NN const char *normal \
+ |NULLOK const char *special
+#endif
+Apbmd |UV |to_utf8_lower |NN const U8 *p|NN U8* ustrp|NULLOK STRLEN *lenp
AMp |UV |_to_utf8_lower_flags |NN const U8 *p|NN U8* ustrp \
|NULLOK STRLEN *lenp|bool flags
-Abmd |UV |to_utf8_upper |NN const U8 *p|NN U8* ustrp|NULLOK STRLEN *lenp
+Apbmd |UV |to_utf8_upper |NN const U8 *p|NN U8* ustrp|NULLOK STRLEN *lenp
AMp |UV |_to_utf8_upper_flags |NN const U8 *p|NN U8* ustrp \
|NULLOK STRLEN *lenp|bool flags
-Abmd |UV |to_utf8_title |NN const U8 *p|NN U8* ustrp|NULLOK STRLEN *lenp
+Apbmd |UV |to_utf8_title |NN const U8 *p|NN U8* ustrp|NULLOK STRLEN *lenp
AMp |UV |_to_utf8_title_flags |NN const U8 *p|NN U8* ustrp \
|NULLOK STRLEN *lenp|bool flags
-Abmd |UV |to_utf8_fold |NN const U8 *p|NN U8* ustrp|NULLOK STRLEN *lenp
+Apbmd |UV |to_utf8_fold |NN const U8 *p|NN U8* ustrp|NULLOK STRLEN *lenp
AMp |UV |_to_utf8_fold_flags|NN const U8 *p|NN U8* ustrp \
|NULLOK STRLEN *lenp|U8 flags
#if defined(PERL_IN_MG_C) || defined(PERL_IN_PP_C)
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
ApdPR |IV |utf8_distance |NN const U8 *a|NN const U8 *b
-ApdPRn |U8* |utf8_hop |NN const U8 *s|I32 off
+ApdPRn |U8* |utf8_hop |NN const U8 *s|SSize_t off
ApMd |U8* |utf8_to_bytes |NN U8 *s|NN STRLEN *len
Apd |int |bytes_cmp_utf8 |NN const U8 *b|STRLEN blen|NN const U8 *u \
|STRLEN ulen
ApdRmb |char* |sv_2pv_nolen |NN SV* sv
ApdRmb |char* |sv_2pvutf8_nolen|NN SV* sv
ApdRmb |char* |sv_2pvbyte_nolen|NN SV* sv
-AmdbR |char* |sv_pv |NN SV *sv
-AmdbR |char* |sv_pvutf8 |NN SV *sv
-AmdbR |char* |sv_pvbyte |NN SV *sv
-Amdb |STRLEN |sv_utf8_upgrade|NN SV *sv
+ApmdbR |char* |sv_pv |NN SV *sv
+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 |void |sv_utf8_encode |NN SV *const sv
Adp |void |sv_nosharing |NULLOK SV *sv
Adpbm |void |sv_nolocking |NULLOK SV *sv
Adp |bool |sv_destroyable |NULLOK SV *sv
-#ifdef NO_MATHOMS
-Adpbm |void |sv_nounlocking |NULLOK SV *sv
-#else
Adpb |void |sv_nounlocking |NULLOK SV *sv
-#endif
Adp |int |nothreadhook
p |void |init_constants
#if defined(PERL_IN_MG_C)
s |void |save_magic_flags|I32 mgs_ix|NN SV *sv|U32 flags
--s |int |magic_methpack |NN SV *sv|NN const MAGIC *mg|NN SV *meth
+s |int |magic_methpack |NN SV *sv|NN const MAGIC *mg|NN SV *meth
s |SV* |magic_methcall1|NN SV *sv|NN const MAGIC *mg \
|NN SV *meth|U32 flags \
|int n|NULLOK SV *val
s |MAGIC *|doparseform |NN SV *sv
snR |bool |num_overflow |NV value|I32 fldsize|I32 frcsize
sR |I32 |dopoptoeval |I32 startingblock
-sR |I32 |dopoptogiven |I32 startingblock
+sR |I32 |dopoptogivenfor|I32 startingblock
sR |I32 |dopoptolabel |NN const char *label|STRLEN len|U32 flags
sR |I32 |dopoptoloop |I32 startingblock
sR |I32 |dopoptosub_at |NN const PERL_CONTEXT* cxstk|I32 startingblock
sR |I32 |dopoptowhen |I32 startingblock
s |void |save_lines |NULLOK AV *array|NN SV *sv
-s |bool |doeval |int gimme \
+s |bool |doeval_compile |U8 gimme \
|NULLOK CV* outside|U32 seq|NULLOK HV* hh
sR |PerlIO *|check_type_and_open|NN SV *name
#ifndef PERL_DISABLE_PMC
sR |PerlIO *|doopen_pm |NN SV *name
#endif
-s |SV ** |leave_common |NN SV **newsp|NN SV **sp|NN SV **mark|I32 gimme \
- |U32 flags|bool lvalue
iRn |bool |path_is_searchable|NN const char *name
sR |I32 |run_user_filter|int idx|NN SV *buf_sv|int maxlen
sR |PMOP* |make_matcher |NN REGEXP* re
s |I32 |amagic_ncmp |NN SV *const a|NN SV *const b
s |I32 |amagic_i_ncmp |NN SV *const a|NN SV *const b
s |I32 |amagic_cmp |NN SV *const str1|NN SV *const str2
-# ifdef USE_LOCALE_COLLATE
+# ifdef USE_LOCALE_COLLATE
s |I32 |amagic_cmp_locale|NN SV *const str1|NN SV *const str2
-#endif
+# endif
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
#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C)
Ep |void |regprop |NULLOK const regexp *prog|NN SV* sv|NN const regnode* o|NULLOK const regmatch_info *reginfo \
|NULLOK const RExC_state_t *pRExC_state
+Ep |int |re_printf |NN const char *fmt|...
#endif
#if defined(PERL_IN_REGCOMP_C)
Es |regnode*|reg |NN RExC_state_t *pRExC_state \
|NULLOK SV* const only_utf8_locale_list \
|NULLOK SV* const swash \
|const bool has_user_defined_property
+Es |void |output_or_return_posix_warnings \
+ |NN RExC_state_t *pRExC_state \
+ |NN AV* posix_warnings \
+ |NULLOK AV** return_posix_warnings
Es |AV* |add_multi_match|NULLOK AV* multi_char_matches \
|NN SV* multi_string \
|const STRLEN cp_count
|bool allow_multi_fold \
|const bool silence_non_portable \
|const bool strict \
- |bool optimizable \
- |NULLOK SV** ret_invlist
+ |bool optimizable \
+ |NULLOK SV** ret_invlist \
+ |NULLOK AV** return_posix_warnings
Es |void|add_above_Latin1_folds|NN RExC_state_t *pRExC_state|const U8 cp \
|NN SV** invlist
-Esn |bool|could_it_be_a_POSIX_class|NN RExC_state_t *pRExC_state
+Ei |regnode*|handle_named_backref|NN RExC_state_t *pRExC_state \
+ |NN I32 *flagp \
+ |NN char * parse_start \
+ |char ch
EsnP |unsigned int|regex_set_precedence|const U8 my_operator
Es |regnode*|handle_regex_sets|NN RExC_state_t *pRExC_state \
|NULLOK SV ** return_invlist \
|NN char * const oregcomp_parse
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 |UV |reg_recode |const U8 value|NN SV **encp
Es |regnode*|regpiece |NN RExC_state_t *pRExC_state \
|NN I32 *flagp|U32 depth
Es |bool |grok_bslash_N |NN RExC_state_t *pRExC_state \
|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 *opnd|U32 depth
-Es |void |regtail |NN RExC_state_t *pRExC_state \
- |NN regnode *p|NN const regnode *val|U32 depth
+Es |void |regtail |NN RExC_state_t * pRExC_state \
+ |NN const regnode * const p \
+ |NN const regnode * const val \
+ |const U32 depth
Es |SV * |reg_scan_name |NN RExC_state_t *pRExC_state \
|U32 flags
Es |U32 |join_exact |NN RExC_state_t *pRExC_state \
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|...
-Ei |I32 |regpposixcc |NN RExC_state_t *pRExC_state \
- |I32 value|const bool strict
+Es |int |handle_possible_posix \
+ |NN RExC_state_t *pRExC_state \
+ |NN const char* const s \
+ |NULLOK char ** updated_parse_ptr \
+ |NULLOK AV** posix_warnings \
+ |const bool check_only
Es |I32 |make_trie |NN RExC_state_t *pRExC_state \
|NN regnode *startbranch|NN regnode *first \
|NN regnode *last|NN regnode *tail \
Es |regnode *|construct_ahocorasick_from_trie|NN RExC_state_t *pRExC_state \
|NN regnode *source|U32 depth
EnPs |const char *|cntrl_to_mnemonic|const U8 c
+EnPs |int |edit_distance |NN const UV *src \
+ |NN const UV *tgt \
+ |const STRLEN x \
+ |const STRLEN y \
+ |const SSize_t maxDistance
# ifdef DEBUGGING
+Ep |int |re_indentf |NN const char *fmt|U32 depth|...
Es |void |regdump_intflags|NULLOK const char *lead| const U32 flags
Es |void |regdump_extflags|NULLOK const char *lead| const U32 flags
Es |const regnode*|dumpuntil|NN const regexp *r|NN const regnode *start \
|NULLOK const regnode *plast \
|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 SV** bitmap_invlist
+Es |bool |put_charclass_bitmap_innards|NN SV* sv \
+ |NN char* bitmap \
+ |NULLOK SV* nonbitmap_invlist \
+ |NULLOK SV* only_utf8_locale_invlist\
+ |NULLOK const regnode * const node \
+ |const bool force_as_is_display
+Es |SV* |put_charclass_bitmap_innards_common \
+ |NN SV* invlist \
+ |NULLOK SV* posixes \
+ |NULLOK SV* only_utf8 \
+ |NULLOK SV* not_utf8 \
+ |NULLOK SV* only_utf8_locale \
+ |const bool invert
+Es |void |put_charclass_bitmap_innards_invlist \
+ |NN SV *sv \
+ |NN SV* invlist
Es |void |put_range |NN SV* sv|UV start|const UV end \
|const bool allow_literals
Es |void |dump_trie |NN const struct _reg_trie_data *trie\
ERsn |U8* |reghop3 |NN U8 *s|SSize_t off|NN const U8 *lim
ERsn |U8* |reghop4 |NN U8 *s|SSize_t off|NN const U8 *llim \
|NN const U8 *rlim
-ERsn |U8* |reghopmaybe3 |NN U8 *s|SSize_t off|NN const U8 *lim
+ERsn |U8* |reghopmaybe3 |NN U8 *s|SSize_t off|NN const U8 * const lim
ERs |char* |find_byclass |NN regexp * prog|NN const regnode *c \
|NN char *s|NN const char *strend \
|NULLOK regmatch_info *reginfo
Es |bool |to_byte_substr |NN regexp * prog
ERsn |I32 |reg_check_named_buff_matched |NN const regexp *rex \
|NN const regnode *scan
-EsnR |bool |isGCB |const GCB_enum before|const GCB_enum after
+EsR |bool |isGCB |const GCB_enum before \
+ |const GCB_enum after \
+ |NN const U8 * const strbeg \
+ |NN const U8 * const curpos \
+ |const bool utf8_target
+EsR |GCB_enum|backup_one_GCB|NN const U8 * const strbeg \
+ |NN U8 ** curpos \
+ |const bool utf8_target
+EsR |bool |isLB |LB_enum before \
+ |LB_enum after \
+ |NN const U8 * const strbeg \
+ |NN const U8 * const curpos \
+ |NN const U8 * const strend \
+ |const bool utf8_target
+EsR |LB_enum|advance_one_LB |NN U8 ** curpos \
+ |NN const U8 * const strend \
+ |const bool utf8_target
+EsR |LB_enum|backup_one_LB |NN const U8 * const strbeg \
+ |NN U8 ** curpos \
+ |const bool utf8_target
EsR |bool |isSB |SB_enum before \
|SB_enum after \
|NN const U8 * const strbeg \
|const bool utf8_target
EsR |WB_enum|advance_one_WB |NN U8 ** curpos \
|NN const U8 * const strend \
- |const bool utf8_target
+ |const bool utf8_target \
+ |const bool skip_Extend_Format
EsR |WB_enum|backup_one_WB |NN WB_enum * previous \
|NN const U8 * const strbeg \
|NN U8 ** curpos \
|const bool utf8_target
# 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
+ |NN const char *loc_bostr|NN const char *loc_reg_starttry|const bool do_utf8|const U32 depth
Es |void |debug_start_match|NN const REGEXP *prog|const bool do_utf8\
|NN const char *start|NN const char *end\
|NN const char *blurb
+
+Ep |int |re_exec_indentf |NN const char *fmt|U32 depth|...
# endif
#endif
#if defined(PERL_IN_SV_C) || defined (PERL_IN_OP_C)
pR |SV * |varname |NULLOK const GV *const gv|const char gvtype \
|PADOFFSET targ|NULLOK const SV *const keyname \
- |I32 aindex|int subscript_type
+ |SSize_t aindex|int subscript_type
#endif
pX |void |sv_del_backref |NN SV *const tsv|NN SV *const sv
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 is_utf8|bool check_dollar
# if defined(PERL_CR_FILTER)
s |I32 |cr_textfilter |int idx|NULLOK SV *sv|int maxlen
s |void |strip_return |NN SV *sv
#endif
#endif
+#if defined(PERL_MEM_LOG)
+pn |Malloc_t |mem_log_alloc |const UV nconst|UV typesize|NN const char *type_name|Malloc_t newalloc|NN const char *filename|const int linenumber|NN const char *funcname
+pn |Malloc_t |mem_log_realloc |const UV n|const UV typesize|NN const char *type_name|Malloc_t oldalloc|Malloc_t newalloc|NN const char *filename|const int linenumber|NN const char *funcname
+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
ApdR |SV* |hv_scalar |NN HV *hv
+ApdRM |SV* |hv_bucket_ratio|NN HV *hv
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
#if defined(PERL_IN_SV_C)
s |SV * |find_hash_subscript|NULLOK const HV *const hv \
|NN const SV *const val
-s |I32 |find_array_subscript|NULLOK const AV *const av \
+s |SSize_t|find_array_subscript|NULLOK const AV *const av \
|NN const SV *const val
sMd |SV* |find_uninit_var|NULLOK const OP *const obase \
|NULLOK const SV *const uninit_sv|bool match \
|NULLOK STRLEN *lenp
#endif
-EMpPX |SV* |_get_encoding
+Ap |void |clear_defarray |NN AV* av|bool abandon
+
+ApM |void |leave_adjust_stacks|NN SV **from_sp|NN SV **to_sp \
+ |U8 gimme|int filter
+
+#ifndef PERL_NO_INLINE_FUNCTIONS
+AiM |PERL_CONTEXT * |cx_pushblock|U8 type|U8 gimme|NN SV** sp|I32 saveix
+AiM |void |cx_popblock|NN PERL_CONTEXT *cx
+AiM |void |cx_topblock|NN PERL_CONTEXT *cx
+AiM |void |cx_pushsub |NN PERL_CONTEXT *cx|NN CV *cv \
+ |NULLOK OP *retop|bool hasargs
+AiM |void |cx_popsub_common|NN PERL_CONTEXT *cx
+AiM |void |cx_popsub_args |NN PERL_CONTEXT *cx
+AiM |void |cx_popsub |NN PERL_CONTEXT *cx
+AiM |void |cx_pushformat |NN PERL_CONTEXT *cx|NN CV *cv \
+ |NULLOK OP *retop|NULLOK GV *gv
+AiM |void |cx_popformat |NN PERL_CONTEXT *cx
+AiM |void |cx_pusheval |NN PERL_CONTEXT *cx \
+ |NULLOK OP *retop|NULLOK SV *namesv
+AiM |void |cx_popeval |NN PERL_CONTEXT *cx
+AiM |void |cx_pushloop_plain|NN PERL_CONTEXT *cx
+AiM |void |cx_pushloop_for |NN PERL_CONTEXT *cx \
+ |NN void *itervarp|NULLOK SV *itersave
+AiM |void |cx_poploop |NN PERL_CONTEXT *cx
+AiM |void |cx_pushwhen |NN PERL_CONTEXT *cx
+AiM |void |cx_popwhen |NN PERL_CONTEXT *cx
+AiM |void |cx_pushgiven |NN PERL_CONTEXT *cx|NULLOK SV *orig_defsv
+AiM |void |cx_popgiven |NN PERL_CONTEXT *cx
+#endif
+
+#ifdef USE_DTRACE
+XEop |void |dtrace_probe_call |NN CV *cv|bool is_call
+XEop |void |dtrace_probe_load |NN const char *name|bool is_loading
+XEop |void |dtrace_probe_op |NN const OP *op
+XEop |void |dtrace_probe_phase|enum perl_phase phase
+#endif
: ex: set ts=8 sts=4 sw=4 noet: