: This has had to be done with things like MAX and MIN, but nearly everything
: else has been created without regard to the namespace pollution problem.
:
+: Here's what else you need to know about using this file with regards to name
+: space pollution:
+:
+: The A flag is used to make a function and its short name visible everywhere
+: on all platforms. This should be used to make it part of Perl's
+: API contract with XS developers. The documentation for these is
+: usually placed in perlapi. If no documentation exists, that fact
+: is also noted in perlapi.
+:
+: The C flag is used instead for functions and their short names that need to
+: be accessible everywhere, typically because they are called from a
+: publicly available macro or inline function, but they are not for
+: public use by themselves. The documentation for these is placed
+: in perlintern. If no documentation exists, that fact is also
+: noted in perlintern.
+:
+: These really need the 'p' flag to avoid name space collisions.
+:
+: Some of these have been constructed so that the wrapper macro
+: names begin with an underscore to lessen the chances of a name
+: collision. However, this is contrary to the C standard, and those
+: should be changed.
+:
+: The E flag is used instead for a function and its short name that is supposed
+: to be used only in the core, and in extensions compiled with the
+: PERL_EXT symbol defined. Again, on some platforms, the function
+: will be visible everywhere, so the 'p' flag is gnerally needed.
+: Also note that an XS writer can always cheat and pretend to be an
+: extension by #defining PERL_EXT.
+:
+: The X flag is similar to the C flag in that the function (whose entry better
+: have the 'p' flag) is accessible everywhere on all platforms.
+: However the short name macro that normally gets generated is
+: suppressed outside the core. (Except it is also visible in
+: PERL_EXT extensions if the E flag is also specified.) This flag
+: is used for functions that are called from a public macro, the
+: name of which isn't derived from the function name. You'll have
+: to write the macro yourself, and from within it, refer to the
+: function in its full 'Perl_' form with any necessary thread
+: context parameter.
:
: Scattered around the perl source are lines of the form:
:
: proto.h: function is declared as PERL_STATIC_INLINE
:
: m Implemented as a macro; there is no function associated with this name,
-: and hence no long Perl_ or S_ name.
+: and hence no long Perl_ or S_ name. However, if the macro name itself
+: begins with 'Perl_', autodoc.pl will show a thread context parameter
+: unless the 'T' flag is specified.
:
: suppress proto.h entry (actually, not suppressed, but commented out)
: suppress entry in the list of exported symbols available on all platforms
p |bool |do_eof |NN GV* gv
#ifdef PERL_DEFAULT_DO_EXEC3_IMPLEMENTATION
-pm |bool|do_exec |NN const char* cmd
+pM |bool|do_exec |NN const char* cmd
#else
p |bool|do_exec |NN const char* cmd
#endif
p |void |gv_setref |NN SV *const dstr|NN SV *const sstr
Apd |HV* |gv_stashpv |NN const char* name|I32 flags
Apd |HV* |gv_stashpvn |NN const char* name|U32 namelen|I32 flags
+#if defined(PERL_IN_GV_C) || defined(PERL_IN_UNIVERSAL_C)
+EpG |HV* |gv_stashsvpvn_cached |NULLOK SV *namesv|NULLOK const char* name|U32 namelen|I32 flags
+#endif
#if defined(PERL_IN_GV_C)
i |HV* |gv_stashpvn_internal |NN const char* name|U32 namelen|I32 flags
-iG |HV* |gv_stashsvpvn_cached |NULLOK SV *namesv|NULLOK const char* name|U32 namelen|I32 flags
i |GV* |gv_fetchmeth_internal |NULLOK HV* stash|NULLOK SV* meth|NULLOK const char* name \
|STRLEN len|I32 level|U32 flags
#endif
: Used in cop.h
XopR |I32 |was_lvalue_sub
CpRTP |STRLEN |is_utf8_char_helper|NN const U8 * const s|NN const U8 * e|const U32 flags
-CbDpR |U32 |to_uni_upper_lc|U32 c
-CbDpR |U32 |to_uni_title_lc|U32 c
-CbDpR |U32 |to_uni_lower_lc|U32 c
-CbDpR |bool |is_uni_alnum |UV c
-CbDpR |bool |is_uni_alnumc |UV c
-CbDpR |bool |is_uni_idfirst |UV c
-CbDpR |bool |is_uni_alpha |UV c
-CbDpPR |bool |is_uni_ascii |UV c
-CbDpPR |bool |is_uni_blank |UV c
-CbDpPR |bool |is_uni_space |UV c
-CbDpPR |bool |is_uni_cntrl |UV c
-CbDpR |bool |is_uni_graph |UV c
-CbDpR |bool |is_uni_digit |UV c
-CbDpR |bool |is_uni_upper |UV c
-CbDpR |bool |is_uni_lower |UV c
-CbDpR |bool |is_uni_print |UV c
-CbDpR |bool |is_uni_punct |UV c
-CbDpPR |bool |is_uni_xdigit |UV c
Cp |UV |to_uni_upper |UV c|NN U8 *p|NN STRLEN *lenp
Cp |UV |to_uni_title |UV c|NN U8 *p|NN STRLEN *lenp
-CbDpR |bool |isIDFIRST_lazy |NN const char* p
-CbDpR |bool |isALNUM_lazy |NN const char* p
p |void |init_uniprops
#ifdef PERL_IN_UTF8_C
STR |U8 |to_lower_latin1|const U8 c|NULLOK U8 *p|NULLOK STRLEN *lenp \
p |UV |_to_upper_title_latin1|const U8 c|NN U8 *p|NN STRLEN *lenp|const char S_or_s
#endif
Cp |UV |to_uni_lower |UV c|NN U8 *p|NN STRLEN *lenp
-Cmp |UV |to_uni_fold |UV c|NN U8 *p|NN STRLEN *lenp
+Cm |UV |to_uni_fold |UV c|NN U8 *p|NN STRLEN *lenp
Cp |UV |_to_uni_fold_flags|UV c|NN U8 *p|NN STRLEN *lenp|U8 flags
-CbDpR |bool |is_uni_alnum_lc|UV c
-CbDpR |bool |is_uni_alnumc_lc|UV c
-CbDpR |bool |is_uni_idfirst_lc|UV c
CpR |bool |_is_uni_perl_idcont|UV c
CpR |bool |_is_uni_perl_idstart|UV c
-CbDpR |bool |is_uni_alpha_lc|UV c
-CbDpPR |bool |is_uni_ascii_lc|UV c
-CbDpPR |bool |is_uni_space_lc|UV c
-CbDpPR |bool |is_uni_blank_lc|UV c
-CbDpPR |bool |is_uni_cntrl_lc|UV c
-CbDpR |bool |is_uni_graph_lc|UV c
-CbDpR |bool |is_uni_digit_lc|UV c
-CbDpR |bool |is_uni_upper_lc|UV c
-CbDpR |bool |is_uni_lower_lc|UV c
-CbDpR |bool |is_uni_print_lc|UV c
-CbDpR |bool |is_uni_punct_lc|UV c
-CbDpPR |bool |is_uni_xdigit_lc|UV c
ATdmoR |bool |is_utf8_invariant_string|NN const U8* const s \
|STRLEN len
ATidRp |bool |is_utf8_invariant_string_loc|NN const U8* const s \
AmTdRP |bool |is_ascii_string|NN const U8* const s|STRLEN len
AmTdRP |bool |is_invariant_string|NN const U8* const s|STRLEN len
#if defined(PERL_CORE) || defined (PERL_EXT)
-EXTidR |bool |is_utf8_non_invariant_string|NN const U8* const s \
+EXTidRp |bool |is_utf8_non_invariant_string|NN const U8* const s \
|STRLEN len
#endif
AbTpdD |STRLEN |is_utf8_char |NN const U8 *s
|NN const U8 * const s|NN const U8 * const e
ATidRp |bool |is_utf8_valid_partial_char_flags \
|NN const U8 * const s|NN const U8 * const e|const U32 flags
-CpR |bool |_is_uni_FOO|const U8 classnum|const UV c
-CpR |bool |_is_utf8_FOO|U8 classnum|NN const U8 * const p \
- |NN const char * const name \
- |NN const char * const alternative \
- |const bool use_utf8|const bool use_locale \
- |NN const char * const file|const unsigned line
-CpR |bool |_is_utf8_FOO_with_len|const U8 classnum|NN const U8 *p \
- |NN const U8 * const e
-CbDpR |bool |is_utf8_alnum |NN const U8 *p
-CbDpR |bool |is_utf8_alnumc |NN const U8 *p
-CbDpR |bool |is_utf8_idfirst|NN const U8 *p
-CbDpR |bool |is_utf8_xidfirst|NN const U8 *p
-CpR |bool |_is_utf8_idcont|NN const U8 *p
-CpR |bool |_is_utf8_idstart|NN const U8 *p
-CpR |bool |_is_utf8_xidcont|NN const U8 *p
-CpR |bool |_is_utf8_xidstart|NN const U8 *p
-CpR |bool |_is_utf8_perl_idcont_with_len|NN const U8 *p \
- |NN const U8 * const e
-CpR |bool |_is_utf8_perl_idstart_with_len|NN const U8 *p \
+CpR |bool |_is_uni_FOO|const U8 classnum|const UV c
+CpR |bool |_is_utf8_FOO|const U8 classnum|NN const U8 *p \
|NN const U8 * const e
-CbDpR |bool |is_utf8_idcont |NN const U8 *p
-CbDpR |bool |is_utf8_xidcont |NN const U8 *p
-CbDpR |bool |is_utf8_alpha |NN const U8 *p
-CbDpR |bool |is_utf8_ascii |NN const U8 *p
-CbDpR |bool |is_utf8_blank |NN const U8 *p
-CbDpR |bool |is_utf8_space |NN const U8 *p
-CbDpR |bool |is_utf8_perl_space |NN const U8 *p
-CbDpR |bool |is_utf8_perl_word |NN const U8 *p
-CbDpR |bool |is_utf8_cntrl |NN const U8 *p
-CbDpR |bool |is_utf8_digit |NN const U8 *p
-CbDpR |bool |is_utf8_posix_digit |NN const U8 *p
-CbDpR |bool |is_utf8_graph |NN const U8 *p
-CbDpR |bool |is_utf8_upper |NN const U8 *p
-CbDpR |bool |is_utf8_lower |NN const U8 *p
-CbDpR |bool |is_utf8_print |NN const U8 *p
-CbDpR |bool |is_utf8_punct |NN const U8 *p
-CbDpR |bool |is_utf8_xdigit |NN const U8 *p
-CpR |bool |_is_utf8_mark |NN const U8 *p
-AbDxpR |bool |is_utf8_mark |NN const U8 *p
+CpR |bool |_is_utf8_perl_idcont|NN const U8 *p|NN const U8 * const e
+CpR |bool |_is_utf8_perl_idstart|NN const U8 *p|NN const U8 * const e
+
#if defined(PERL_CORE) || defined(PERL_EXT)
EXdpR |bool |isSCRIPT_RUN |NN const U8 *s|NN const U8 *send \
|const bool utf8_target
#if defined(PERL_IN_OP_C)
S |OP* |pmtrans |NN OP* o|NN OP* expr|NN OP* repl
#endif
+p |void |invmap_dump |NN SV* invlist|NN UV * map
Ap |void |pop_scope
Ap |void |push_scope
#if defined(PERL_IN_PERLY_C) || defined(PERL_IN_OP_C) || defined(PERL_IN_TOKE_C)
S |OP* |refkids |NULLOK OP* o|I32 type
#endif
Ap |void |regdump |NN const regexp* r
+CiTop |struct regexp *|ReANY |NN const REGEXP * const re
#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
EXp |bool |_invlistEQ |NN SV* const a|NN SV* const b|const bool complement_b
Apda |char* |savesvpv |NN SV* sv
Ap |void |savestack_grow
Ap |void |savestack_grow_cnt |I32 need
-Amp |void |save_aelem |NN AV* av|SSize_t idx|NN SV **sptr
+Am |void |save_aelem |NN AV* av|SSize_t idx|NN SV **sptr
Ap |void |save_aelem_flags|NN AV* av|SSize_t idx|NN SV **sptr \
|const U32 flags
Ap |I32 |save_alloc |I32 size|I32 pad
Adp |void |save_gp |NN GV* gv|I32 empty
Apdh |HV* |save_hash |NN GV* gv
Ap |void |save_hints
-Amp |void |save_helem |NN HV *hv|NN SV *key|NN SV **sptr
+Am |void |save_helem |NN HV *hv|NN SV *key|NN SV **sptr
Ap |void |save_helem_flags|NN HV *hv|NN SV *key|NN SV **sptr|const U32 flags
Apdh |void |save_hptr |NN HV** hptr
Ap |void |save_I16 |NN I16* intp
pe |void |set_caret_X
Apd |void |setdefout |NN GV* gv
Ap |HEK* |share_hek |NN const char* str|SSize_t len|U32 hash
-#if defined(HAS_SIGACTION) && defined(SA_SIGINFO)
+#ifdef PERL_USE_3ARG_SIGHANDLER
: Used in perl.c
-Tp |Signal_t |sighandler |int sig|NULLOK siginfo_t *info|NULLOK void *uap
-ATp |Signal_t |csighandler |int sig|NULLOK siginfo_t *info|NULLOK void *uap
+Tp |Signal_t |sighandler |int sig|NULLOK Siginfo_t *info|NULLOK void *uap
+ATp |Signal_t |csighandler |int sig|NULLOK Siginfo_t *info|NULLOK void *uap
#else
Tp |Signal_t |sighandler |int sig
ATp |Signal_t |csighandler |int sig
#if defined(PERL_IN_SV_C)
S |bool |curse |NN SV * const sv|const bool check_refcnt
#endif
-AMopd |I32 |sv_cmp |NULLOK SV *const sv1|NULLOK SV *const sv2
+AMpd |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
-AMopd |I32 |sv_cmp_locale |NULLOK SV *const sv1|NULLOK SV *const sv2
+AMpd |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)
|NULLOK va_list *const args|NULLOK SV **const svargs \
|const Size_t sv_count|NULLOK bool *const maybe_tainted
ApR |NV |str_to_version |NN SV *sv
-EXpR |SV* |swash_init |NN const char* pkg|NN const char* name|NN SV* listsv|I32 minbits|I32 none
-EXp |UV |swash_fetch |NN SV *swash|NN const U8 *ptr|bool do_utf8
-#ifdef PERL_IN_REGCOMP_C
+#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_OP_C) || defined(PERL_IN_DOOP_C)
EiR |SV* |add_cp_to_invlist |NULLOK SV* invlist|const UV cp
+Ei |void |invlist_extend |NN SV* const invlist|const UV len
+Ei |void |invlist_set_len|NN SV* const invlist|const UV len|const bool offset
+EiRT |UV |invlist_highest|NN SV* const invlist
+EiRT |STRLEN*|get_invlist_iter_addr |NN SV* invlist
+EiT |void |invlist_iterinit|NN SV* invlist
+EiRT |bool |invlist_iternext|NN SV* invlist|NN UV* start|NN UV* end
+EiT |void |invlist_iterfinish|NN SV* invlist
+#endif
+#if defined(PERL_IN_REGCOMP_C)
EiRT |bool |invlist_is_iterating|NN SV* const invlist
+EiR |SV* |invlist_contents|NN SV* const invlist \
+ |const bool traditional_style
#ifndef PERL_EXT_RE_BUILD
EiRT |UV* |_invlist_array_init |NN SV* const invlist|const bool will_have_0
EiRT |UV |invlist_max |NN SV* const invlist
-ES |void |_append_range_to_invlist |NN SV* const invlist|const UV start|const UV end
-ES |void |invlist_extend |NN SV* const invlist|const UV len
-ES |void |invlist_replace_list_destroys_src|NN SV *dest|NN SV *src
EiRT |IV* |get_invlist_previous_index_addr|NN SV* invlist
-Ei |void |invlist_set_len|NN SV* const invlist|const UV len|const bool offset
EiT |void |invlist_set_previous_index|NN SV* const invlist|const IV index
EiRT |IV |invlist_previous_index|NN SV* const invlist
EiT |void |invlist_trim |NN SV* invlist
Ei |void |invlist_clear |NN SV* invlist
-S |void |initialize_invlist_guts|NN SV* invlist|const Size_t initial_size
#endif
-EiRT |STRLEN*|get_invlist_iter_addr |NN SV* invlist
-EiT |void |invlist_iterinit|NN SV* invlist
-ESRT |bool |invlist_iternext|NN SV* invlist|NN UV* start|NN UV* end
-EiT |void |invlist_iterfinish|NN SV* invlist
-EiRT |UV |invlist_highest|NN SV* const invlist
-ERS |SV* |_make_exactf_invlist |NN RExC_state_t *pRExC_state \
- |NN regnode *node
-ESR |SV* |invlist_contents|NN SV* const invlist \
- |const bool traditional_style
ESRT |bool |new_regcurly |NN const char *s|NN const char *e
+ERS |SV* |make_exactf_invlist |NN RExC_state_t *pRExC_state \
+ |NN regnode *node
+#ifndef PERL_EXT_RE_BUILD
+ES |void |_append_range_to_invlist |NN SV* const invlist|const UV start|const UV end
+ES |void |invlist_replace_list_destroys_src|NN SV *dest|NN SV *src
+S |void |initialize_invlist_guts|NN SV* invlist|const Size_t initial_size
#endif
-#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_UTF8_C)
-EXm |void |_invlist_intersection |NN SV* const a|NN SV* const b|NN SV** i
+#endif
+#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_UTF8_C) || defined(PERL_IN_OP_C) || defined(PERL_IN_DOOP_C)
+m |void |_invlist_intersection |NN SV* const a|NN SV* const b|NN SV** i
EXp |void |_invlist_intersection_maybe_complement_2nd \
|NULLOK SV* const a|NN SV* const b \
|const bool complement_b|NN SV** i
-EXm |void |_invlist_union |NULLOK SV* const a|NN SV* const b|NN SV** output
+Cm |void |_invlist_union |NULLOK SV* const a|NN SV* const b|NN SV** output
EXp |void |_invlist_union_maybe_complement_2nd \
|NULLOK SV* const a|NN SV* const b \
|const bool complement_b|NN SV** output
-EXm |void |_invlist_subtract|NN SV* const a|NN SV* const b|NN SV** result
+m |void |_invlist_subtract|NN SV* const a|NN SV* const b|NN SV** result
EXp |void |_invlist_invert|NN SV* const invlist
EXpR |SV* |_new_invlist |IV initial_size
EXpR |SV* |_add_range_to_invlist |NULLOK SV* invlist|UV start|UV end
#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_SV_C)
EpX |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_TOKE_C) || defined(PERL_IN_UTF8_C) || defined(PERL_IN_PP_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) || defined(PERL_IN_OP_C) \
+ || defined(PERL_IN_DOOP_C)
EiRT |UV* |invlist_array |NN SV* const invlist
EiRT |bool |is_invlist |NULLOK SV* const invlist
EiRT |bool* |get_invlist_offset_addr|NN SV* invlist
|NULLOK SV **lonly_utf8_locale \
|NULLOK SV **output_invlist
#endif
-#if defined(PERL_IN_REGCOMP_C) || defined (PERL_IN_DUMP_C)
+#if defined(PERL_IN_REGCOMP_C) || defined (PERL_IN_DUMP_C) || defined(PERL_IN_OP_C)
EXp |void |_invlist_dump |NN PerlIO *file|I32 level \
|NN const char* const indent \
|NN SV* const invlist
|STRLEN print_len \
|const STRLEN non_cont_byte_pos \
|const STRLEN expect_len
+#if 0 /* Not currently used, but may be needed in the future */
S |void |warn_on_first_deprecated_use \
|NN const char * const name \
|NN const char * const alternative \
|const bool use_locale \
|NN const char * const file \
|const unsigned line
-S |U32 |check_and_deprecate \
- |NN const U8 * p \
- |NN const U8 ** e \
- |const unsigned type \
- |const bool use_locale \
- |NN const char * const file \
- |const unsigned line
+#endif
S |UV |_to_utf8_case |const UV uv1 \
|NULLOK const U8 *p \
|NN U8* ustrp \
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
Cp |UV |_to_utf8_lower_flags|NN const U8 *p|NULLOK const U8* e \
- |NN U8* ustrp|NULLOK STRLEN *lenp|bool flags \
- |NN const char * const file|const int line
-ApbMdD |UV |to_utf8_upper |NN const U8 *p|NN U8* ustrp|NULLOK STRLEN *lenp
+ |NN U8* ustrp|NULLOK STRLEN *lenp|bool flags
Cp |UV |_to_utf8_upper_flags |NN const U8 *p|NULLOK const U8 *e \
- |NN U8* ustrp|NULLOK STRLEN *lenp|bool flags \
- |NN const char * const file|const int line
-ApbMdD |UV |to_utf8_title |NN const U8 *p|NN U8* ustrp|NULLOK STRLEN *lenp
+ |NN U8* ustrp|NULLOK STRLEN *lenp|bool flags
Cp |UV |_to_utf8_title_flags |NN const U8 *p|NULLOK const U8* e \
- |NN U8* ustrp|NULLOK STRLEN *lenp|bool flags \
- |NN const char * const file|const int line
-ApbMdD |UV |to_utf8_fold |NN const U8 *p|NN U8* ustrp|NULLOK STRLEN *lenp
+ |NN U8* ustrp|NULLOK STRLEN *lenp|bool flags
Cp |UV |_to_utf8_fold_flags|NN const U8 *p|NULLOK const U8 *e \
- |NN U8* ustrp|NULLOK STRLEN *lenp|U8 flags \
- |NN const char * const file|const int line
+ |NN U8* ustrp|NULLOK STRLEN *lenp|U8 flags
#if defined(PERL_IN_MG_C) || defined(PERL_IN_PP_C)
pT |bool |translate_substr_offsets|STRLEN curlen|IV pos1_iv \
|bool pos1_is_uv|IV len_iv \
Cp |U8* |uvuni_to_utf8 |NN U8 *d|UV uv
Adm |U8* |uvchr_to_utf8_flags |NN U8 *d|UV uv|UV flags
Admx |U8* |uvchr_to_utf8_flags_msgs|NN U8 *d|UV uv|UV flags|NULLOK HV ** msgs
-CMpod |U8* |uvoffuni_to_utf8_flags |NN U8 *d|UV uv|const UV flags
+CMpd |U8* |uvoffuni_to_utf8_flags |NN U8 *d|UV uv|const UV flags
Cp |U8* |uvoffuni_to_utf8_flags_msgs|NN U8 *d|UV uv|const UV flags|NULLOK HV** msgs
Cdp |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
# endif
#endif
-Admop |const XOP * |custom_op_xop |NN const OP *o
+: The reason for the 'u' flag is that this passes "aTHX_ x" to its callee: not
+: a legal C parameter
+Admu |const XOP * |Perl_custom_op_xop |NN const OP *o
AbpRdD |const char * |custom_op_name |NN const OP *o
AbpRdD |const char * |custom_op_desc |NN const OP *o
pRX |XOPRETANY |custom_op_get_field |NN const OP *o|const xop_flags_enum field
p |void |init_constants
#if defined(PERL_IN_DOOP_C)
-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
+SR |Size_t |do_trans_simple |NN SV * const sv|NN const OPtrans_map * const tbl
+SR |Size_t |do_trans_count |NN SV * const sv|NN const OPtrans_map * const tbl
+SR |Size_t |do_trans_complex |NN SV * const sv|NN const OPtrans_map * const tbl
+SR |Size_t |do_trans_invmap |NN SV * const sv|NN AV * const map
+SR |Size_t |do_trans_count_invmap |NN SV * const sv|NN AV * const map
#endif
#if defined(PERL_IN_GV_C)
|NULLOK SV* nonbitmap_invlist \
|NULLOK SV* only_utf8_locale_invlist\
|NULLOK const regnode * const node \
+ |const U8 flags \
|const bool force_as_is_display
ES |SV* |put_charclass_bitmap_innards_common \
|NN SV* invlist \
|bool curstash
#if defined(PERL_IN_UNIVERSAL_C)
-S |bool |isa_lookup |NN HV *stash|NN const char * const name \
+SG |bool |isa_lookup |NULLOK HV *stash|NULLOK SV *namesv|NULLOK const char * name \
|STRLEN len|U32 flags
+SG |bool |sv_derived_from_svpvn |NULLOK SV *sv \
+ |NULLOK SV *namesv \
+ |NULLOK const char * name \
+ |const STRLEN len \
+ |U32 flags
#endif
#if defined(PERL_IN_LOCALE_C)
|NN U8* const ustrp \
|NN STRLEN *lenp
iR |bool |is_utf8_common |NN const U8 *const p \
+ |NN const U8 *const e \
|NULLOK SV* const invlist
-iR |bool |is_utf8_common_with_len|NN const U8 *const p \
- |NN const U8 *const e \
- |NULLOK SV* const invlist
-SR |SV* |swatch_get |NN SV* swash|UV start|UV span
-SR |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
EXiTp |void |append_utf8_from_native_byte|const U8 byte|NN U8** dest
Adp |STRLEN |sv_utf8_upgrade_flags_grow|NN SV *const sv|const I32 flags|STRLEN extra
Apd |char* |sv_pvn_force_flags|NN SV *const sv|NULLOK STRLEN *const lp|const I32 flags
AdpMb |void |sv_copypv |NN SV *const dsv|NN SV *const ssv
-Apmd |void |sv_copypv_nomg |NN SV *const dsv|NN SV *const ssv
+Amd |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
Cpo |char* |my_atof2 |NN const char *orig|NN NV* value
Cp |char* |my_atof3 |NN const char *orig|NN NV* value|const STRLEN len
ApT |int |my_socketpair |int family|int type|int protocol|int fd[2]
ApT |int |my_dirfd |NULLOK DIR* dir
#ifdef PERL_ANY_COW
-: Used in pp_hot.c and regexec.c
+: Used in regexec.c
pxXE |SV* |sv_setsv_cow |NULLOK SV* dstr|NN SV* sstr
#endif
XEopxR |STRLEN *|new_warnings_bitfield|NULLOK STRLEN *buffer \
|NN const char *const bits|STRLEN size
-AMpTodf |int |my_snprintf |NN char *buffer|const Size_t len|NN const char *format|...
-AMpTod |int |my_vsnprintf |NN char *buffer|const Size_t len|NN const char *format|va_list ap
+AMpTdf |int |my_snprintf |NN char *buffer|const Size_t len|NN const char *format|...
+AMpTd |int |my_vsnprintf |NN char *buffer|const Size_t len|NN const char *format|va_list ap
#ifdef USE_QUADMATH
-ApTd |const char* |quadmath_format_single|NN const char* format
-ApTd |bool|quadmath_format_needed|NN const char* format
+pTd |bool |quadmath_format_valid|NN const char* format
+pTd |bool|quadmath_format_needed|NN const char* format
#endif
: Used in mg.c, sv.c
: Used in perl.c and toke.c
op |void |populate_isa |NN const char *name|STRLEN len|...
-: Used in keywords.c and toke.c
-Xop |bool |feature_is_enabled|NN const char *const name \
- |STRLEN namelen
-
: Some static inline functions need predeclaration because they are used
: inside other static inline functions.
#if defined(PERL_CORE) || defined (PERL_EXT)
|U8 gimme|int filter
#ifndef PERL_NO_INLINE_FUNCTIONS
+Aixp |U8 |gimme_V |
Aixp |PERL_CONTEXT * |cx_pushblock|U8 type|U8 gimme|NN SV** sp|I32 saveix
Aixp |void |cx_popblock|NN PERL_CONTEXT *cx
Aixp |void |cx_topblock|NN PERL_CONTEXT *cx