XEop |bool |try_amagic_bin |int method|int flags
XEop |bool |try_amagic_un |int method|int flags
Ap |SV* |amagic_call |NN SV* left|NN SV* right|int method|int dir
+Ap |SV * |amagic_deref_call|NN SV *ref|int method
Ap |int |Gv_AMupdate |NN HV* stash|bool destructing
ApR |CV* |gv_handler |NULLOK HV* stash|I32 id
Apd |OP* |op_append_elem |I32 optype|NULLOK OP* first|NULLOK OP* last
|U32 hash
AbmM |SV** |hv_store_flags |NULLOK HV *hv|NULLOK const char *key \
|I32 klen|NULLOK SV *val|U32 hash|int flags
-Apd |void |hv_undef |NULLOK HV *hv
+Amd |void |hv_undef |NULLOK HV *hv
+poX |void |hv_undef_flags |NULLOK HV *hv|U32 flags
Am |I32 |ibcmp |NN const char* a|NN const char* b|I32 len
AnpP |I32 |foldEQ |NN const char* a|NN const char* b|I32 len
Am |I32 |ibcmp_locale |NN const char* a|NN const char* b|I32 len
Apd |I32 |foldEQ_utf8 |NN const char *s1|NULLOK char **pe1|UV l1 \
|bool u1|NN const char *s2|NULLOK char **pe2 \
|UV l2|bool u2
+AnpP |I32 |foldEQ_latin1 |NN const char* a|NN const char* b|I32 len
#if defined(PERL_IN_DOIO_C)
sR |bool |ingroup |Gid_t testgid|bool effective
#endif
AMpd |I32 |lex_read_unichar|U32 flags
AMpd |void |lex_read_space |U32 flags
: Public parser API
+AMpd |OP* |parse_arithexpr|U32 flags
+AMpd |OP* |parse_termexpr |U32 flags
+AMpd |OP* |parse_listexpr |U32 flags
+AMpd |OP* |parse_fullexpr |U32 flags
AMpd |OP* |parse_block |U32 flags
AMpd |OP* |parse_barestmt |U32 flags
AMpd |SV* |parse_label |U32 flags
: Defined in mg.c, used only in scope.c
pd |void |mg_localize |NN SV* sv|NN SV* nsv|bool setmagic
ApdR |MAGIC* |mg_find |NULLOK const SV* sv|int type
+ApdR |MAGIC* |mg_findext |NULLOK const SV* sv|int type|NULLOK const MGVTBL *vtbl
Apd |int |mg_free |NN SV* sv
Apd |void |mg_free_type |NN SV* sv|int how
Apd |int |mg_get |NN SV* sv
Ap |I32 |mg_size |NN SV* sv
Ap |void |mini_mktime |NN struct tm *ptm
AMpd |OP* |op_lvalue |NULLOK OP* o|I32 type
+: To be removed after 5.14 (see [perl #78908]):
+EXp |OP* |mod |NULLOK OP* o|I32 type
: Used in op.c and pp_sys.c
p |int |mode_from_discipline|NULLOK const char* s|STRLEN len
Ap |const char* |moreswitches |NN const char* s
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
-Ap |CV* |newSUB |I32 floor|NULLOK OP* o|NULLOK OP* proto|NULLOK OP* block
+Abm |CV* |newSUB |I32 floor|NULLOK OP* o|NULLOK OP* proto \
+ |NULLOK OP* block
ApM |CV * |newXS_flags |NULLOK const char *name|NN XSUBADDR_t subaddr\
|NN const char *const filename \
|NULLOK const char *const proto|U32 flags
: Used only in perl.c
pd |void |sv_clean_objs
Apd |void |sv_clear |NN SV *const orig_sv
-Apd |I32 |sv_cmp |NULLOK SV *const sv1|NULLOK SV *const sv2
-Apd |I32 |sv_cmp_flags |NULLOK SV *const sv1|NULLOK SV *const sv2|const I32 flags
-Apd |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 I32 flags
+Aopd |I32 |sv_cmp |NULLOK SV *const sv1|NULLOK SV *const sv2
+Apd |I32 |sv_cmp_flags |NULLOK SV *const sv1|NULLOK SV *const sv2 \
+ |const U32 flags
+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
Apd |char* |sv_collxfrm_flags |NN SV *const sv|NN STRLEN *const nxp|I32 const flags
#endif
-Ap |OP* |sv_compile_2op |NN SV *sv|NN OP **startop \
+: Frustratingly, because regcomp.c is also compiled as ext/re/re_comp.c,
+: anything it needs has to be exported. So this has to be X. I'd rather it
+: wasn't.
+Xpo |OP* |sv_compile_2op_is_broken|NN SV *sv|NN OP **startop \
+ |NN const char *code|NN PAD **padp
+ApD |OP* |sv_compile_2op |NN SV *sv|NN OP **startop \
|NN const char *code|NN PAD **padp
Apd |int |getcwd_sv |NN SV* sv
Apd |void |sv_dec |NULLOK SV *const sv
ApdR |bool |sv_derived_from|NN SV* sv|NN const char *const name
ApdR |bool |sv_does |NN SV* sv|NN const char *const name
Amd |I32 |sv_eq |NULLOK SV* sv1|NULLOK SV* sv2
-Apd |I32 |sv_eq_flags |NULLOK SV* sv1|NULLOK SV* sv2|const I32 flags
+Apd |I32 |sv_eq_flags |NULLOK SV* sv1|NULLOK SV* sv2|const U32 flags
Apd |void |sv_free |NULLOK SV *const sv
: FIXME Used in SvREFCNT_dec() but only
: if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN)
Amdb |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
Apdmb |void |sv_unref |NN SV* sv
Apd |void |sv_unref_flags |NN SV *const ref|const U32 flags
Apd |void |sv_untaint |NN SV *const sv
ApR |NV |str_to_version |NN SV *sv
Ap |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
+EMpRX |HV* |_swash_inversion_hash |NN SV *swash
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 \
ApdPR |IV |utf8_distance |NN const U8 *a|NN const U8 *b
ApdPR |U8* |utf8_hop |NN const U8 *s|I32 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
ApMd |U8* |bytes_from_utf8|NN const U8 *s|NN STRLEN *len|NULLOK bool *is_utf8
ApMd |U8* |bytes_to_utf8 |NN const U8 *s|NN STRLEN *len
Apd |UV |utf8_to_uvchr |NN const U8 *s|NULLOK STRLEN *retlen
Ap |void |sys_intern_init
#endif
+AopP |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
+Aop |void |custom_op_register |NN Perl_ppaddr_t ppaddr \
+ |NN const XOP *xop
Adp |void |sv_nosharing |NULLOK SV *sv
Adpbm |void |sv_nolocking |NULLOK SV *sv
|NN const char *meth|U32 flags \
|int n|NULLOK SV *val
s |void |restore_magic |NULLOK const void *p
-s |void |unwind_handler_stack|NN const void *p
+s |void |unwind_handler_stack|NULLOK const void *p
#endif
sR |I32 |dopoptowhen |I32 startingblock
s |void |save_lines |NULLOK AV *array|NN SV *sv
s |bool |doeval |int gimme|NULLOK OP** startop|NULLOK CV* outside|U32 seq
-sR |PerlIO *|check_type_and_open|NN const char *name
+sR |PerlIO *|check_type_and_open|NN SV *name
#ifndef PERL_DISABLE_PMC
-sR |PerlIO *|doopen_pm |NN const char *name|const STRLEN namelen
+sR |PerlIO *|doopen_pm |NN SV *name
#endif
sRn |bool |path_is_absolute|NN const char *name
sR |I32 |run_user_filter|int idx|NN SV *buf_sv|int maxlen
ERs |I32 |regmatch |NN regmatch_info *reginfo|NN regnode *prog
ERs |I32 |regrepeat |NN const regexp *prog|NN const regnode *p|I32 max|int depth
ERs |I32 |regtry |NN regmatch_info *reginfo|NN char **startpos
-ERs |bool |reginclass |NULLOK const regexp *prog|NN const regnode *n|NN const U8 *p|NULLOK STRLEN *lenp\
- |bool do_utf8sv_is_utf8
+ERs |bool |reginclass |NULLOK const regexp * const prog|NN const regnode * const n|NN const U8 * const p|NULLOK STRLEN *lenp\
+ |bool const do_utf8sv_is_utf8
Es |CHECKPOINT|regcppush |I32 parenfloor
Es |char* |regcppop |NN const regexp *rex
ERsn |U8* |reghop3 |NN U8 *s|I32 off|NN const U8 *lim
#if defined(PERL_IN_UNIVERSAL_C)
s |bool|isa_lookup |NN HV *stash|NN const char * const name
-so |HV * |get_isa_hash |NN HV *const stash
#endif
#if defined(PERL_IN_LOCALE_C)
: Used in perl.c, pp_ctl.c, toke.c
pda |PADLIST*|pad_new |int flags
: Only used in op.c
-pd |void |pad_undef |NN CV* cv
-: Only used in op.c
Mpd |PADOFFSET|pad_add_name |NN const char *name|const STRLEN len\
|const U32 flags|NULLOK HV *typestash\
|NULLOK HV *ourstash
Apo |void |hv_riter_set |NN HV *hv|I32 riter
Apo |void |hv_eiter_set |NN HV *hv|NULLOK HE *eiter
Ap |void |hv_name_set |NN HV *hv|NULLOK const char *name|U32 len|U32 flags
-p |void |hv_name_add |NN HV *hv|NN const char *name|U32 len
-p |void |hv_name_delete |NN HV *hv|NN const char *name|U32 len
+p |void |hv_ename_add |NN HV *hv|NN const char *name|U32 len \
+ |U32 flags
+p |void |hv_ename_delete|NN HV *hv|NN const char *name|U32 len \
+ |U32 flags
: Used in dump.c and hv.c
poM |AV** |hv_backreferences_p |NN HV *hv
#if defined(PERL_IN_DUMP_C) || defined(PERL_IN_HV_C) || defined(PERL_IN_SV_C)
Apd |AV* |mro_get_linear_isa|NN HV* stash
#if defined(PERL_IN_MRO_C)
sd |AV* |mro_get_linear_isa_dfs|NN HV* stash|U32 level
+s |void |mro_clean_isarev|NN HV * const isa \
+ |NN const char * const name \
+ |const STRLEN len \
+ |NULLOK HV * const exceptions
+s |void |mro_gather_and_rename|NN HV * const stashes \
+ |NN HV * const seen_stashes \
+ |NULLOK HV *stash \
+ |NULLOK HV *oldstash \
+ |NN SV *namesv
#endif
: Used in hv.c, mg.c, pp.c, sv.c
-md |void |mro_isa_changed_in|NN HV* stash
-pd |void |mro_isa_changed_in3|NULLOK HV* stash|NULLOK const char *stashname|STRLEN stashname_len
+pd |void |mro_isa_changed_in|NN HV* stash
Apd |void |mro_method_changed_in |NN HV* stash
-pdx |void |mro_package_moved |NULLOK HV * const stash|NULLOK HV * const oldstash|NULLOK const GV *gv|NULLOK const char *newname|I32 newname_len
+pdx |void |mro_package_moved |NULLOK HV * const stash|NULLOK HV * const oldstash|NN const GV * const gv|U32 flags
: Only used in perl.c
p |void |boot_core_mro
Apon |void |sys_init |NN int* argc|NN char*** argv