: 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
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
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
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
+ApOM |int |init_i18nl10n |int printwarn
+ApOM |int |init_i18nl14n |int printwarn
+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
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
|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)
: 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
|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
#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
|NN SSize_t *minlenp \
|int is_inf
Es |void |populate_ANYOF_from_invlist|NN regnode *node|NN SV** invlist_ptr
-Esn |void |ssc_anything |NN const RExC_state_t *pRExC_state \
- |NN regnode_ssc *ssc
-EsRn |int |ssc_is_anything|NN const regnode_ssc *ssc
-Esn |void |ssc_init |NN const RExC_state_t *pRExC_state \
+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
|NN regnode_ssc *ssc \
|NN const regnode_ssc *and_with
Esn |void |ssc_flags_and |NN regnode_ssc *ssc|const U8 and_with
-Esn |void |ssc_or |NN const RExC_state_t *pRExC_state \
+Es |void |ssc_or |NN const RExC_state_t *pRExC_state \
|NN regnode_ssc *ssc \
|NN const regnode_ssc *or_with
Es |SV* |get_ANYOF_cp_list_for_ssc \
|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 \
+ |I32 stopparen|U32 recursed_depth \
|NULLOK regnode_ssc *and_withp \
|U32 flags|U32 depth
EsRn |U32 |add_data |NN RExC_state_t* const pRExC_state \
|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
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_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
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
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 \