: 1) must be static to its containing file ("i" or "s" flag); or
: 2) be combined with the "X" flag.
:
-: f Function takes printf style format string, varargs (hence any entry that
-: would otherwise go in embed.h is suppressed):
+: f Function takes a format string. If the function name /strftime/
+: then its assumed to take a strftime-style format string as 1st arg;
+: otherwise it's assumed to be a 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__)
:
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\
+EMXp |void |cv_ckproto_len_flags |NN const CV* cv|NULLOK const GV* gv\
|NULLOK const char* p|const STRLEN len \
|const U32 flags
: Used in pp.c and pp_sys.c
ApdR |SV* |cv_const_sv |NULLOK const CV *const cv
pR |SV* |cv_const_sv_or_av|NULLOK const CV *const cv
: Used in pad.c
-pR |SV* |op_const_sv |NULLOK const OP* o
+pR |SV* |op_const_sv |NULLOK const OP* o|NULLOK CV* cv
Apd |void |cv_undef |NN CV* cv
p |void |cv_forget_slab |NN CV *cv
Ap |void |cx_dump |NN PERL_CONTEXT* cx
Ap |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
+#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 \
+ |NN char *savetype
+s |bool |openn_cleanup |NN GV *gv|NN IO *io|NULLOK PerlIO *fp \
+ |NN char *mode|NN const char *oname \
+ |NULLOK PerlIO *saveifp|NULLOK PerlIO *saveofp \
+ |int savefd|char savetype|int writing \
+ |bool was_fdopen|NULLOK const char *type
+#endif
Ap |bool |do_openn |NN GV *gv|NN const char *oname|I32 len \
|int as_raw|int rawmode|int rawperm \
|NULLOK PerlIO *supplied_fp|NULLOK SV **svp \
|I32 num
+Mp |bool |do_open_raw |NN GV *gv|NN const char *oname|STRLEN len \
+ |int rawmode|int rawperm
+Mp |bool |do_open6 |NN GV *gv|NN const char *oname|STRLEN len \
+ |NULLOK PerlIO *supplied_fp|NULLOK SV **svp \
+ |U32 num
: Used in pp_hot.c and pp_sys.c
p |bool |do_print |NULLOK SV* sv|NN PerlIO* fp
: Used in pp_sys.c
Ap |void |dump_all
p |void |dump_all_perl |bool justperl
Ap |void |dump_eval
-#if defined(DUMP_FDS)
-Ap |void |dump_fds |NN char* s
-#endif
Ap |void |dump_form |NN const GV* gv
Ap |void |gv_dump |NN GV* gv
Ap |void |op_dump |NN const OP *o
ApdR |char* |fbm_instr |NN unsigned char* big|NN unsigned char* bigend \
|NN SV* littlestr|U32 flags
p |CV * |find_lexical_cv|PADOFFSET off
+pR |OP * |parse_subsignature
: Defined in util.c, used only in perl.c
p |char* |find_script |NN const char *scriptname|bool dosearch \
|NULLOK const char *const *const search_ext|I32 flags
Ap |void |gv_init_pvn |NN GV* gv|NULLOK HV* stash|NN const char* name \
|STRLEN len|U32 flags
Ap |void |gv_name_set |NN GV* gv|NN const char *name|U32 len|U32 flags
+px |GV * |gv_override |NN const char * const name \
+ |const STRLEN len
XMpd |void |gv_try_downgrade|NN GV* gv
Apd |HV* |gv_stashpv |NN const char* name|I32 flags
Apd |HV* |gv_stashpvn |NN const char* name|U32 namelen|I32 flags
ApR |I32 |is_lvalue_sub
: Used in cop.h
XopR |I32 |was_lvalue_sub
+iRn |STRLEN |_is_utf8_char_slow|NN const U8 *s|NN const U8 *e
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_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
+ADMpPR |bool |isIDFIRST_lazy |NN const char* p
+ADMpPR |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
#endif
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
+AMp |UV |_to_uni_fold_flags|UV c|NN U8 *p|NN STRLEN *lenp|U8 flags
ADMpPR |bool |is_uni_alnum_lc|UV c
ADMpPR |bool |is_uni_alnumc_lc|UV c
ADMpPR |bool |is_uni_idfirst_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
+Abmnpd |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
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_idcont|NN const U8 *p
+AMpR |bool |_is_utf8_idstart|NN const U8 *p
+AMpR |bool |_is_utf8_xidcont|NN const U8 *p
+AMpR |bool |_is_utf8_xidstart|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
AMpd |OP* |parse_fullstmt |U32 flags
AMpd |OP* |parse_stmtseq |U32 flags
: Used in various files
-Ap |void |op_null |NN OP* o
+Apd |void |op_null |NN OP* o
: FIXME. Used by Data::Alias
EXp |void |op_clear |NN OP* o
Ap |void |op_refcnt_lock
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)
-EMsR |char |grok_bslash_c |const char source|const bool utf8|const bool output_warning
+EMsR |char |grok_bslash_c |const char source|const bool output_warning
EMsR |bool |grok_bslash_o |NN char** s|NN UV* uv \
|NN const char** error_msg \
|const bool output_warning \
pod |SV* |magic_methcall |NN SV *sv|NN const MAGIC *mg \
|NN SV *meth|U32 flags \
|U32 argc|...
-Ap |void |markstack_grow
+Ap |I32 * |markstack_grow
#if defined(USE_LOCALE_COLLATE)
p |int |magic_setcollxfrm|NN SV* sv|NN MAGIC* mg
: Defined in locale.c, used only in sv.c
p |void |finalize_optree |NN OP* o
#if defined(PERL_IN_OP_C)
s |void |finalize_op |NN OP* o
+s |void |move_proto_attr|NN OP **proto|NN OP **attrs|NN const GV *name
#endif
: Used in op.c and pp_sys.c
p |int |mode_from_discipline|NULLOK const char* s|STRLEN len
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
+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
p |PerlIO*|nextargv |NN GV* gv
AnpP |char* |ninstr |NN const char* big|NN const char* bigend \
|NN const char* little|NN const char* lend
-Ap |void |op_free |NULLOK OP* arg
+Apd |void |op_free |NULLOK OP* arg
Mp |OP* |op_unscope |NULLOK OP* o
#ifdef PERL_CORE
p |void |opslab_free |NN OPSLAB *slab
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
-ApO |int |init_i18nl10n |int printwarn
-ApO |int |init_i18nl14n |int printwarn
-ApO |void |new_collate |NULLOK const char* newcoll
-ApO |void |new_ctype |NN const char* newctype
-ApO |void |new_numeric |NULLOK const char* newcoll
+#ifdef WIN32
+ApPM |char* |my_setlocale |int category|NULLOK const char* locale
+#else
+AmPM |char* |my_setlocale |int category|NULLOK const char* locale
+#endif
+ApOM |int |init_i18nl10n |int printwarn
+ApOM |int |init_i18nl14n |int printwarn
+ApM |char* |my_strerror |const int errnum
+ApOM |void |new_collate |NULLOK const char* newcoll
+ApOM |void |new_ctype |NN const char* newctype
+ApOM |void |new_numeric |NULLOK const char* newcoll
Ap |void |set_numeric_local
Ap |void |set_numeric_radix
Ap |void |set_numeric_standard
+ApM |bool |_is_in_locale_category|const bool compiling|const int category
ApdO |void |require_pv |NN const char* pv
Apd |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
Ap |SV* |regclass_swash |NULLOK const regexp *prog \
|NN const struct regnode *node|bool doinit \
|NULLOK SV **listsvp|NULLOK SV **altsvp
-#ifdef PERL_IN_REGCOMP_C
-EMsR |SV* |_new_invlist_C_array|NN const UV* const list
+#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
#endif
Ap |I32 |pregexec |NN REGEXP * const prog|NN char* stringarg \
EXp |SV*|reg_qr_package|NN REGEXP * const rx
: FIXME - why the E?
-Ep |void |regprop |NULLOK const regexp *prog|NN SV* sv|NN const regnode* o
+Ep |void |regprop |NULLOK const regexp *prog|NN SV* sv|NN const regnode* o|NULLOK const regmatch_info *reginfo
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 \
|NN const char* little|NN const char* lend
AMpd |OP* |op_scope |NULLOK OP* o
Ap |char* |screaminstr |NN SV *bigstr|NN SV *littlestr|I32 start_shift \
|I32 end_shift|NN I32 *old_posp|I32 last
+: Only used by perl.c/miniperl.c, but defined in caretx.c
+px |void |set_caret_X
Apd |void |setdefout |NN GV* gv
Ap |HEK* |share_hek |NN const char* str|I32 len|U32 hash
#if defined(HAS_SIGACTION) && defined(SA_SIGINFO)
: Used in pp_ctl.c
p |void |sub_crush_depth|NN CV* cv
Amd |bool |sv_2bool |NN SV *const sv
-Apd |bool |sv_2bool_flags |NN SV *const sv|const I32 flags
+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
Apd |IO* |sv_2io |NN SV *const sv
#if defined(PERL_IN_SV_C)
s |bool |glob_2number |NN GV* const gv
#endif
-Amb |IV |sv_2iv |NULLOK SV *sv
-Apd |IV |sv_2iv_flags |NULLOK SV *const sv|const I32 flags
+Amb |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 |NULLOK SV *const sv|const I32 flags
+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 |NULLOK SV *sv|NULLOK STRLEN *lp
-Apd |char* |sv_2pv_flags |NULLOK SV *const sv|NULLOK STRLEN *const lp|const I32 flags
+Amb |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 |NULLOK SV *sv
-Apd |UV |sv_2uv_flags |NULLOK SV *const sv|const I32 flags
+Amb |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
#endif
Apd |int |sv_backoff |NN SV *const sv
Apd |SV* |sv_bless |NN SV *const sv|NN HV *const stash
+#if defined(PERL_DEBUG_READONLY_COW)
+p |void |sv_buf_to_ro |NN SV *sv
+# if defined(PERL_IN_SV_C)
+s |void |sv_buf_to_rw |NN SV *sv
+# endif
+#endif
Afpd |void |sv_catpvf |NN SV *const sv|NN const char *const pat|...
Apd |void |sv_vcatpvf |NN SV *const sv|NN const char *const pat \
|NULLOK va_list *const args
|const bool complement_b|NN SV** output
EXmM |void |_invlist_subtract|NN SV* const a|NN SV* const b|NN SV** result
EXpM |void |_invlist_invert|NN SV* const invlist
-EXpM |void |_invlist_invert_prop|NN SV* const invlist
EXMpR |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* |_setup_canned_invlist|const STRLEN size|const UV element0|NN UV** other_elements_ptr
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) || defined(PERL_IN_TOKE_C)
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)
+ApM |SV* |_get_regclass_nonbitmap_data \
+ |NULLOK const regexp *prog \
+ |NN const struct regnode *node|bool doinit \
+ |NULLOK SV **listsvp \
+ |NULLOK SV **lonly_utf8_locale
+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 \
|NN const char* const indent \
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
-AMp |UV |_to_utf8_lower_flags |NN const U8 *p|NN U8* ustrp|NULLOK STRLEN *lenp|const bool flags|NULLOK bool* tainted_ptr
+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
-AMp |UV |_to_utf8_upper_flags |NN const U8 *p|NN U8* ustrp|NULLOK STRLEN *lenp|const bool flags|NULLOK bool* tainted_ptr
+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
-AMp |UV |_to_utf8_title_flags |NN const U8 *p|NN U8* ustrp|NULLOK STRLEN *lenp|const bool flags|NULLOK bool* tainted_ptr
+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
-AMp |UV |_to_utf8_fold_flags|NN const U8 *p|NN U8* ustrp|NULLOK STRLEN *lenp|U8 flags|NULLOK bool* tainted_ptr
+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)
p |bool |translate_substr_offsets|STRLEN curlen|IV pos1_iv \
|bool pos1_is_uv|IV len_iv \
: Used in locale.c and perl.c
p |U32 |parse_unicode_opts|NN const char **popt
Ap |U32 |seed
+Xpno |double |drand48_r |NN perl_drand48_t *random_state
+Xpno |void |drand48_init_r |NN perl_drand48_t *random_state|U32 seed
: Only used in perl.c
p |void |get_hash_seed |NN unsigned char * const seed_buffer
: Used in doio.c, pp_hot.c, pp_sys.c
Afp |void |ck_warner |U32 err|NN const char* pat|...
Afp |void |ck_warner_d |U32 err|NN const char* pat|...
Ap |void |vwarner |U32 err|NN const char* pat|NULLOK va_list* args
+#ifdef USE_C_BACKTRACE
+pd |Perl_c_backtrace*|get_c_backtrace|int max_depth|int skip
+dm |void |free_c_backtrace|NN Perl_c_backtrace* bt
+Apd |SV* |get_c_backtrace_dump|int max_depth|int skip
+Apd |bool |dump_c_backtrace|NN PerlIO* fp|int max_depth|int skip
+#endif
: FIXME
p |void |watch |NN char** addr
Am |I32 |whichsig |NN const char* sig
Ap |I32 |whichsig_pvn |NN const char* sig|STRLEN len
: used to check for NULs in pathnames and other names
AiR |bool |is_safe_syscall|NN const char *pv|STRLEN len|NN const char *what|NN const char *op_name
+#ifdef PERL_CORE
+inR |bool |should_warn_nl|NN const char *pv
+#endif
: Used in pp_ctl.c
p |void |write_to_stderr|NN SV* msv
: Used in op.c
: This is indirectly referenced by globals.c. This is somewhat annoying.
p |int |magic_killbackrefs|NN SV *sv|NN MAGIC *mg
Ap |OP* |newANONATTRSUB |I32 floor|NULLOK OP *proto|NULLOK OP *attrs|NULLOK OP *block
-Ap |CV* |newATTRSUB |I32 floor|NULLOK OP *o|NULLOK OP *proto|NULLOK OP *attrs|NULLOK OP *block
-p |CV* |newATTRSUB_flags|I32 floor|NULLOK OP *o|NULLOK OP *proto \
+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 \
|NULLOK OP *attrs|NULLOK OP *block \
- |U32 flags
+ |bool o_is_gv
Ap |CV * |newMYSUB |I32 floor|NN OP *o|NULLOK OP *proto \
|NULLOK OP *attrs|NULLOK OP *block
p |CV* |newSTUB |NN GV *gv|bool fake
# endif
#endif
-AopP |const XOP * |custom_op_xop |NN const OP *o
+AmopP |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
+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
#if defined(PERL_IN_GV_C)
s |void |gv_init_svtype |NN GV *gv|const svtype sv_type
s |void |gv_magicalize_isa |NN GV *gv
+s |bool|parse_gv_stash_name|NN HV **stash|NN GV **gv \
+ |NN const char **name|NN STRLEN *len \
+ |NN const char *nambeg|STRLEN full_len \
+ |const U32 is_utf8|const I32 add
+s |bool|find_default_stash|NN HV **stash|NN const char *name \
+ |STRLEN len|const U32 is_utf8|const I32 add \
+ |svtype sv_type
+s |bool|gv_magicalize|NN GV *gv|NN HV *stash|NN const char *name \
+ |STRLEN len|bool addmg \
+ |svtype sv_type
+s |void|maybe_multimagic_gv|NN GV *gv|NN const char *name|const svtype sv_type
+s |bool|gv_is_in_main|NN const char *name|STRLEN len \
+ |const U32 is_utf8
s |HV* |require_tie_mod|NN GV *gv|NN const char *varpv|NN SV* namesv \
|NN const char *methpv|const U32 flags
#endif
rs |void |hv_notallowed |int flags|NN const char *key|I32 klen|NN const char *msg
in |U32|ptr_hash|PTRV u
s |struct xpvhv_aux*|hv_auxinit|NN HV *hv
+sn |struct xpvhv_aux*|hv_auxinit_internal|NN struct xpvhv_aux *iter
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
|int n|NULLOK SV *val
s |void |restore_magic |NULLOK const void *p
s |void |unwind_handler_stack|NULLOK const void *p
+s |void |fixup_errno_string|NN SV* sv
#endif
sR |OP* |search_const |NN OP *o
sR |OP* |new_logop |I32 type|I32 flags|NN OP **firstp|NN OP **otherp
s |void |simplify_sort |NN OP *o
+s |void |null_listop_in_list_context |NN OP* o
s |SV* |gv_ename |NN GV *gv
sRn |bool |scalar_mod_type|NULLOK const OP *o|I32 type
s |OP * |my_kid |NULLOK OP *o|NULLOK OP *attrs|NN OP **imopsp
#ifndef PERL_DISABLE_PMC
sR |PerlIO *|doopen_pm |NN SV *name
#endif
-s |SV ** |adjust_stack_on_leave|NN SV **newsp|NN SV **sp|NN SV **mark|I32 gimme|U32 flags
+s |SV ** |adjust_stack_on_leave|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
s |I32 |amagic_cmp_locale|NN SV *const str1|NN SV *const str2
+#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
#endif
#if defined(PERL_IN_PP_SYS_C)
-s |OP* |doform |NN CV *cv|NN GV *gv|NN OP *retop
+s |OP* |doform |NN CV *cv|NN GV *gv|NULLOK OP *retop
# if !defined(HAS_MKDIR) || !defined(HAS_RMDIR)
sR |int |dooneliner |NN const char *cmd|NN const char *filename
# endif
|const U32 flags|U32 argc|...
#if defined(PERL_IN_REGCOMP_C)
-Es |regnode*|reg |NN struct RExC_state_t *pRExC_state \
+Es |regnode*|reg |NN RExC_state_t *pRExC_state \
|I32 paren|NN I32 *flagp|U32 depth
-Es |regnode*|reganode |NN struct RExC_state_t *pRExC_state|U8 op \
+Es |regnode*|reganode |NN RExC_state_t *pRExC_state|U8 op \
|U32 arg
-Es |regnode*|regatom |NN struct RExC_state_t *pRExC_state \
+Es |regnode*|regatom |NN RExC_state_t *pRExC_state \
|NN I32 *flagp|U32 depth
-Es |regnode*|regbranch |NN struct RExC_state_t *pRExC_state \
+Es |regnode*|regbranch |NN RExC_state_t *pRExC_state \
|NN I32 *flagp|I32 first|U32 depth
-Es |STRLEN |reguni |NN const struct RExC_state_t *pRExC_state \
+Ei |STRLEN |reguni |NN const RExC_state_t *pRExC_state \
|UV uv|NN char *s
-Es |regnode*|regclass |NN struct RExC_state_t *pRExC_state \
+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 |regnode*|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 \
|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 \
+Es |void|add_above_Latin1_folds|NN RExC_state_t *pRExC_state|const U8 cp \
+ |NN SV** invlist
+Es |bool|could_it_be_a_POSIX_class|NN RExC_state_t *pRExC_state
+Es |regnode*|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|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 |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 char value|NN SV **encp
-Es |regnode*|regpiece |NN struct RExC_state_t *pRExC_state \
+Es |regnode*|regpiece |NN RExC_state_t *pRExC_state \
|NN I32 *flagp|U32 depth
-Es |bool |grok_bslash_N |NN struct RExC_state_t *pRExC_state \
+Es |bool |grok_bslash_N |NN 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 \
+Es |void |reginsert |NN RExC_state_t *pRExC_state \
|U8 op|NN regnode *opnd|U32 depth
-Es |void |regtail |NN struct RExC_state_t *pRExC_state \
+Es |void |regtail |NN RExC_state_t *pRExC_state \
|NN regnode *p|NN const regnode *val|U32 depth
-Es |SV * |reg_scan_name |NN struct RExC_state_t *pRExC_state \
+Es |SV * |reg_scan_name |NN RExC_state_t *pRExC_state \
|U32 flags
-Es |U32 |join_exact |NN struct RExC_state_t *pRExC_state \
+Es |U32 |join_exact |NN RExC_state_t *pRExC_state \
|NN regnode *scan|NN UV *min_subtract \
- |NN bool *has_exactf_sharp_s \
+ |NN bool *unfolded_multi_char \
|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 \
+EsR |char * |regpatws |NN 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 \
+Ei |void |alloc_maybe_populate_EXACT|NN RExC_state_t *pRExC_state \
|NN regnode *node|NN I32 *flagp|STRLEN len \
- |UV code_point
-Ei |U8 |compute_EXACTish|NN struct RExC_state_t *pRExC_state
-Es |char * |nextchar |NN struct RExC_state_t *pRExC_state
-Es |bool |reg_skipcomment|NN struct RExC_state_t *pRExC_state
-Es |void |scan_commit |NN const struct RExC_state_t *pRExC_state \
- |NN struct scan_data_t *data \
- |NN SSize_t *minlenp|int is_inf
-Esn |void |cl_anything |NN const struct RExC_state_t *pRExC_state \
- |NN struct regnode_charclass_class *cl
-EsRn |int |cl_is_anything |NN const struct regnode_charclass_class *cl
-Esn |void |cl_init |NN const struct RExC_state_t *pRExC_state \
- |NN struct regnode_charclass_class *cl
-Esn |void |cl_and |NN struct regnode_charclass_class *cl \
- |NN const struct regnode_charclass_class *and_with
-Esn |void |cl_or |NN const struct RExC_state_t *pRExC_state \
- |NN struct regnode_charclass_class *cl \
- |NN const struct regnode_charclass_class *or_with
-Es |SSize_t|study_chunk |NN struct RExC_state_t *pRExC_state \
+ |UV code_point|bool downgradable
+Ei |U8 |compute_EXACTish|NN RExC_state_t *pRExC_state
+Es |char * |nextchar |NN RExC_state_t *pRExC_state
+Ei |char * |reg_skipcomment|NN RExC_state_t *pRExC_state|NN char * p
+Es |void |scan_commit |NN const RExC_state_t *pRExC_state \
+ |NN struct scan_data_t *data \
+ |NN SSize_t *minlenp \
+ |int is_inf
+Es |void |populate_ANYOF_from_invlist|NN regnode *node|NN SV** invlist_ptr
+Es |void |ssc_anything |NN regnode_ssc *ssc
+EsR |int |ssc_is_anything|NN const regnode_ssc *ssc
+Es |void |ssc_init |NN const RExC_state_t *pRExC_state \
+ |NN regnode_ssc *ssc
+EsR |int |ssc_is_cp_posixl_init|NN const RExC_state_t *pRExC_state \
+ |NN const regnode_ssc *ssc
+Es |void |ssc_and |NN const RExC_state_t *pRExC_state \
+ |NN regnode_ssc *ssc \
+ |NN const regnode_charclass *and_with
+Es |void |ssc_or |NN const RExC_state_t *pRExC_state \
+ |NN regnode_ssc *ssc \
+ |NN const regnode_charclass *or_with
+Es |SV* |get_ANYOF_cp_list_for_ssc \
+ |NN const RExC_state_t *pRExC_state \
+ |NN const regnode_charclass* const node
+Ei |void |ssc_intersection|NN regnode_ssc *ssc \
+ |NN SV* const invlist|const bool invert_2nd
+Ei |void |ssc_union |NN regnode_ssc *ssc \
+ |NN SV* const invlist|const bool invert_2nd
+Ei |void |ssc_add_range |NN regnode_ssc *ssc \
+ |UV const start|UV const end
+Ei |void |ssc_cp_and |NN regnode_ssc *ssc \
+ |UV const cp
+Ei |void |ssc_clear_locale|NN regnode_ssc *ssc
+Es |void |ssc_finalize |NN RExC_state_t *pRExC_state \
+ |NN regnode_ssc *ssc
+Es |SSize_t|study_chunk |NN RExC_state_t *pRExC_state \
|NN regnode **scanp|NN SSize_t *minlenp \
|NN SSize_t *deltap|NN regnode *last \
|NULLOK struct scan_data_t *data \
- |I32 stopparen|NULLOK U8* recursed \
- |NULLOK struct regnode_charclass_class *and_withp \
+ |I32 stopparen|U32 recursed_depth \
+ |NULLOK regnode_ssc *and_withp \
|U32 flags|U32 depth
-EsRn |U32 |add_data |NN struct RExC_state_t *pRExC_state|U32 n \
- |NN const char *s
+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 struct RExC_state_t *pRExC_state \
+Ei |I32 |regpposixcc |NN RExC_state_t *pRExC_state \
|I32 value|const bool strict
-Es |I32 |make_trie |NN struct RExC_state_t *pRExC_state \
+Es |I32 |make_trie |NN RExC_state_t *pRExC_state \
|NN regnode *startbranch|NN regnode *first \
|NN regnode *last|NN regnode *tail \
|U32 word_count|U32 flags|U32 depth
-Es |void |make_trie_failtable |NN struct RExC_state_t *pRExC_state \
- |NN regnode *source|NN regnode *stclass \
- |U32 depth
+Es |regnode *|construct_ahocorasick_from_trie|NN RExC_state_t *pRExC_state \
+ |NN regnode *source|U32 depth
# ifdef DEBUGGING
Es |void |regdump_intflags|NULLOK const char *lead| const U32 flags
Es |void |regdump_extflags|NULLOK const char *lead| const U32 flags
|NN SV* sv|I32 indent|U32 depth
Es |void |put_byte |NN SV* sv|int c
Es |bool |put_latin1_charclass_innards|NN SV* sv|NN char* bitmap
+Es |void |put_range |NN SV* sv|UV start|UV end
Es |void |dump_trie |NN const struct _reg_trie_data *trie\
|NULLOK HV* widecharmap|NN AV *revcharmap\
|U32 depth
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 struct RExC_state_t *pRExC_state \
+Es |U8 |regtail_study |NN RExC_state_t *pRExC_state \
|NN regnode *p|NN const regnode *val|U32 depth
# endif
#endif
|I32 max \
|int depth
ERs |I32 |regtry |NN regmatch_info *reginfo|NN char **startposp
-ERs |bool |reginclass |NULLOK 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 \
+ |NN const U8 * const p_end \
|bool const utf8_target
Es |CHECKPOINT|regcppush |NN const regexp *rex|I32 parenfloor\
|U32 maxopenparen
Es |void |regcppop |NN regexp *rex\
|NN U32 *maxopenparen_p
ERsn |U8* |reghop3 |NN U8 *s|SSize_t off|NN const U8 *lim
-ERsM |SV* |core_regclass_swash|NULLOK const regexp *prog \
- |NN const struct regnode *node|bool doinit \
- |NULLOK SV **listsvp
-#ifdef XXX_dmq
ERsn |U8* |reghop4 |NN U8 *s|SSize_t off|NN const U8 *llim \
|NN const U8 *rlim
-#endif
ERsn |U8* |reghopmaybe3 |NN U8 *s|SSize_t off|NN const U8 *lim
ERs |char* |find_byclass |NN regexp * prog|NN const regnode *c \
|NN char *s|NN const char *strend \
#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
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
-s |void |not_incrementable |NN SV *const sv
s |I32 |visit |NN SVFUNC_t f|const U32 flags|const U32 mask
# ifdef DEBUGGING
s |void |del_sv |NN SV *p
s |char* |force_word |NN char *start|int token|int check_keyword \
|int allow_pack
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 \
+s |char* |scan_ident |NN char *s|NN char *dest \
|STRLEN destlen|I32 ck_uni
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 \
- |bool deprecate_escaped_matching
+ |bool deprecate_escaped_matching \
+ |NULLOK char **delimp
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 \
# endif
# if defined(DEBUGGING)
s |int |tokereport |I32 rv|NN const YYSTYPE* lvalp
-s |void |printbuf |NN const char *const fmt|NN const char *const s
+sf |void |printbuf |NN const char *const fmt|NN const char *const s
# endif
#endif
EXMp |bool |validate_proto |NN SV *name|NULLOK SV *proto|bool warn
|STRLEN len|U32 flags
#endif
-#if defined(PERL_IN_LOCALE_C) && defined(USE_LOCALE)
+#if defined(USE_LOCALE) \
+ && (defined(PERL_IN_LOCALE_C) || defined (PERL_EXT_POSIX))
s |char* |stdize_locale |NN char* locs
-s |bool |is_cur_LC_category_utf8|int category
+ApM |bool |_is_cur_LC_category_utf8|int category
#endif
#if defined(PERL_IN_UTIL_C)
#endif
#if defined(PERL_IN_UTF8_C)
-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
-iR |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|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 \
+ |NN const U8* const typestr
#endif
AiMn |void |append_utf8_from_native_byte|const U8 byte|NN U8** dest
Aop |const char *|PerlIO_context_layers|NULLOK const char *mode
-#if defined(USE_PERLIO) && !defined(USE_SFIO)
+#if defined(USE_PERLIO)
Ap |int |PerlIO_close |NULLOK PerlIO *f
Ap |int |PerlIO_fill |NULLOK PerlIO *f
Ap |int |PerlIO_fileno |NULLOK PerlIO *f
|STRLEN api_len
#ifndef HAS_STRLCAT
-Apno |Size_t |my_strlcat |NULLOK char *dst|NULLOK const char *src|Size_t size
+Apnod |Size_t |my_strlcat |NULLOK char *dst|NULLOK const char *src|Size_t size
#endif
#ifndef HAS_STRLCPY
-Apno |Size_t |my_strlcpy |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
#ifdef PERL_MAD
s |void |mro_clean_isarev|NN HV * const isa \
|NN const char * const name \
|const STRLEN len \
- |NULLOK HV * const exceptions|U32 flags
+ |NULLOK HV * const exceptions \
+ |U32 hash|U32 flags
s |void |mro_gather_and_rename|NN HV * const stashes \
|NN HV * const seen_stashes \
|NULLOK HV *stash \