: 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 one of the 'p' or 'S' flags is
+: generally 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:
:
:
: f Function takes a format string. If the function name =~ qr/strftime/
: then it is assumed to take a strftime-style format string as the 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):
+: arg; otherwise it's assumed to take a printf style format string, not
+: necessarily the 1st arg. All the arguments following it (including
+: possibly '...') are assumed to be for the format.
:
+: embed.h: any entry in here is suppressed because of varargs
: proto.h: add __attribute__format__ (or ...null_ok__)
:
+: F Function has a '...' parameter, but don't assume it is a format. This
+: is to make sure that new functions with formats can't be added without
+: considering if they are format functions or not. A reason to use this
+: flag even on a format function is if the format would generate
+: error: format string argument is not a string type
+:
: G Suppress empty PERL_ARGS_ASSERT_foo macro. Normally such a macro is
: generated for all entries for functions 'foo' in this file. If there is
: a pointer argument to 'foo', it needs to be declared in this file as
: pod, such as perlguts or warnings.h. This flag is useful for downstream
: programs, such as Devel::PPPort.
:
+: I This flag works exactly the same as 'i' but it also adds
+: __attribute__((always_inline)) or __forceinline if either of them is
+: supported by the compiler.
+:
+: proto.h: function is declared as PERL_STATIC_FORCE_INLINE and
+: __attribute__always_inline__ is added
+:
: i inline static. This is used for functions that the compiler is being
: requested to inline. If the function is in a header file its
: definition will be visible (unless guarded by #if..#endif) to all
: 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
:
: Individual flags may be separated by non-tab whitespace.
+CipRTX |char * |mortal_getenv |NN const char * str
+
#if defined(PERL_IMPLICIT_SYS)
ATo |PerlInterpreter*|perl_alloc_using \
|NN struct IPerlMem *ipM \
AfTrp |OP* |die_nocontext |NULLOK const char* pat|...
AfTp |void |deb_nocontext |NN const char* pat|...
AfTp |char* |form_nocontext |NN const char* pat|...
-ATp |void |load_module_nocontext|U32 flags|NN SV* name|NULLOK SV* ver|...
+AFTp |void |load_module_nocontext|U32 flags|NN SV* name|NULLOK SV* ver|...
AfTp |SV* |mess_nocontext |NN const char* pat|...
AfTp |void |warn_nocontext |NN const char* pat|...
AfTp |void |warner_nocontext|U32 err|NN const char* pat|...
p |void |cv_undef_flags |NN CV* cv|U32 flags
pd |void |cv_forget_slab |NULLOK CV *cv
Ap |void |cx_dump |NN PERL_CONTEXT* cx
+AiMp |GV * |CvGV |NN CV *sv
+AiMTp |I32 * |CvDEPTH |NN const CV * const sv
Aphd |SV* |filter_add |NULLOK filter_t funcp|NULLOK SV* datasv
Ap |void |filter_del |NN filter_t funcp
ApRhd |I32 |filter_read |int idx|NN SV *buf_sv|int maxlen
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
Apd |void |fbm_compile |NN SV* sv|U32 flags
ApdR |char* |fbm_instr |NN unsigned char* big|NN unsigned char* bigend \
|NN SV* littlestr|U32 flags
+pEXTR |const char *|cntrl_to_mnemonic|const U8 c
p |CV * |find_lexical_cv|PADOFFSET off
: Defined in util.c, used only in perl.c
p |char* |find_script |NN const char *scriptname|bool dosearch \
|I32 autoload
Apx |GV* |gv_fetchmethod_sv_flags|NN HV* stash|NN SV* namesv|U32 flags
Apx |GV* |gv_fetchmethod_pv_flags|NN HV* stash|NN const char* name \
- |U32 flags
+ |U32 flags
Apx |GV* |gv_fetchmethod_pvn_flags|NN HV* stash|NN const char* name \
|const STRLEN len|U32 flags
Ap |GV* |gv_fetchpv |NN const char *nambeg|I32 add|const svtype sv_type
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
|bool not_implicit|bool warn_on_fail
: Used in perly.y
pR |OP* |invert |NULLOK OP* cmd
+pR |OP* |cmpchain_start |I32 type|NULLOK OP* left \
+ |NULLOK OP* right
+pR |OP* |cmpchain_extend|I32 type|NN OP* ch|NULLOK OP* right
+pR |OP* |cmpchain_finish|NN OP* ch
ApR |I32 |is_lvalue_sub
: 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
+CpRTP |STRLEN |is_utf8_char_helper|NN const U8 * const s|NN const U8 * e|const U32 flags
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 \
|const bool consider_overlongs
# endif
#endif
-#if defined(PERL_IN_UTF8_C) || defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C)
-EXTp |UV |_to_fold_latin1|const U8 c|NN U8 *p|NN STRLEN *lenp|const unsigned int flags
-#endif
#if defined(PERL_IN_UTF8_C) || defined(PERL_IN_PP_C)
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 \
|STRLEN len \
|NULLOK const U8 ** ep
#ifndef EBCDIC
-CTiRp |unsigned int|_variant_byte_number|PERL_UINTMAX_T word
+CTiRp |unsigned int|variant_byte_number|PERL_UINTMAX_T word
#endif
#if defined(PERL_CORE) || defined(PERL_EXT)
EiTRd |Size_t |variant_under_utf8_count|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 \
+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
-CpR |bool |_is_utf8_perl_idstart_with_len|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
#endif
: Used in perly.y
p |OP* |jmaybe |NN OP *o
-: Used in pp.c
+: Used in pp.c
pP |I32 |keyword |NN const char *name|I32 len|bool all_keywords
#if defined(PERL_IN_OP_C)
S |void |inplace_aassign |NN OP* o
S |OP* |listkids |NULLOK OP* o
#endif
p |OP* |list |NULLOK OP* o
-Apd |void |load_module|U32 flags|NN SV* name|NULLOK SV* ver|...
+AFpd |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
: Used in perly.y
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) || defined(PERL_IN_DQUOTE_C)
-EpRX |bool |grok_bslash_x |NN char** s \
- |NN const char* const send \
- |NN UV* uv \
- |NN const char** error_msg \
- |const bool output_warning \
- |const bool strict \
- |const bool silence_non_portable \
- |const bool utf8
-EpRX |char |grok_bslash_c |const char source|const bool output_warning
-EpRX |bool |grok_bslash_o |NN char** s \
- |NN const char* const send \
- |NN UV* uv \
- |NN const char** error_msg \
- |const bool output_warning \
- |const bool strict \
- |const bool silence_non_portable \
- |const bool utf8
-EiR |char*|form_short_octal_warning|NN const char * const s \
- |const STRLEN len
-EiRT |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
+AMpd |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
Apd |int |grok_number_flags|NN const char *pv|STRLEN len|NULLOK UV *valuep|U32 flags
ApdR |bool |grok_numeric_radix|NN const char **sp|NN const char *send
-Apd |UV |grok_oct |NN const char* start|NN STRLEN* len_p|NN I32* flags|NULLOK NV *result
+ApMd |UV |grok_oct |NN const char* start|NN STRLEN* len_p|NN I32* flags|NULLOK NV *result
+ApMd |UV |grok_bin |NN const char* start|NN STRLEN* len_p|NN I32* flags|NULLOK NV *result
+Cp |UV |grok_bin_oct_hex|NN const char* start \
+ |NN STRLEN* len_p \
+ |NN I32* flags \
+ |NULLOK NV *result \
+ |const unsigned shift \
+ |const U8 lookup_bit \
+ |const char prefix
+#ifdef PERL_IN_NUMERIC_C
+S |void |output_non_portable|const U8 shift
+#endif
EXpdT |bool |grok_atoUV |NN const char* pv|NN UV* valptr|NULLOK const char** endptr
: These are all indirectly referenced by globals.c. This is somewhat annoying.
p |int |magic_clearenv |NN SV* sv|NN MAGIC* mg
p |int |magic_set_all_env|NN SV* sv|NN MAGIC* mg
p |U32 |magic_sizepack |NN SV* sv|NN MAGIC* mg
p |int |magic_wipepack |NN SV* sv|NN MAGIC* mg
-pod |SV* |magic_methcall |NN SV *sv|NN const MAGIC *mg \
+Fpod |SV* |magic_methcall |NN SV *sv|NN const MAGIC *mg \
|NN SV *meth|U32 flags \
|U32 argc|...
Ap |I32 * |markstack_grow
Ap |void |reentrant_size
Ap |void |reentrant_init
Ap |void |reentrant_free
-ATp |void* |reentrant_retry|NN const char *f|...
+AFTp |void* |reentrant_retry|NN const char *f|...
: "Very" special - can't use the O flag for this one:
: (The rename from perl_atexit to Perl_call_atexit was in 864dbfa3ca8032ef)
ApdO |void |require_pv |NN const char* pv
AbpdM |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
-Apd |void |packlist |NN SV *cat|NN const char *pat|NN const char *patend|NN SV **beglist|NN SV **endlist
+Apd |void |packlist |NN SV *cat|NN const char *pat|NN const char *patend|NN SV **beglist|NN SV **endlist
#if defined(PERL_USES_PL_PIDSTATUS) && defined(PERL_IN_UTIL_C)
S |void |pidgone |Pid_t pid|int status
#endif
#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)
#if defined(PERL_IN_OP_C)
S |OP* |refkids |NULLOK OP* o|I32 type
#endif
-Ap |void |regdump |NN const regexp* r
-#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
-#endif
-Ap |I32 |pregexec |NN REGEXP * const prog|NN char* stringarg \
- |NN char* strend|NN char* strbeg \
- |SSize_t minend |NN SV* screamer|U32 nosave
-Ap |void |pregfree |NULLOK REGEXP* r
-Ap |void |pregfree2 |NN REGEXP *rx
-: FIXME - is anything in re using this now?
-EXp |REGEXP*|reg_temp_copy |NULLOK REGEXP* dsv|NN REGEXP* ssv
-Ap |void |regfree_internal|NN REGEXP *const rx
-#if defined(USE_ITHREADS)
-Ap |void* |regdupe_internal|NN REGEXP * const r|NN CLONE_PARAMS* param
-#endif
-EXp |regexp_engine const *|current_re_engine
-Ap |REGEXP*|pregcomp |NN SV * const pattern|const U32 flags
-p |REGEXP*|re_op_compile |NULLOK SV ** const patternp \
- |int pat_count|NULLOK OP *expr \
- |NN const regexp_engine* eng \
- |NULLOK REGEXP *old_re \
- |NULLOK bool *is_bare_re \
- |const U32 rx_flags|const U32 pm_flags
-Ap |REGEXP*|re_compile |NN SV * const pattern|U32 orig_rx_flags
-Cp |char* |re_intuit_start|NN REGEXP * const rx \
- |NULLOK SV* sv \
- |NN const char* const strbeg \
- |NN char* strpos \
- |NN char* strend \
- |const U32 flags \
- |NULLOK re_scream_pos_data *data
-Cp |SV* |re_intuit_string|NN REGEXP *const r
-Ap |I32 |regexec_flags |NN REGEXP *const rx|NN char *stringarg \
- |NN char *strend|NN char *strbeg \
- |SSize_t minend|NN SV *sv \
- |NULLOK void *data|U32 flags
-ApR |regnode*|regnext |NULLOK regnode* p
-EXp |SV*|reg_named_buff |NN REGEXP * const rx|NULLOK SV * const key \
- |NULLOK SV * const value|const U32 flags
-EXp |SV*|reg_named_buff_iter |NN REGEXP * const rx|NULLOK const SV * const lastkey \
- |const U32 flags
-Ap |SV*|reg_named_buff_fetch |NN REGEXP * const rx|NN SV * const namesv|const U32 flags
-Ap |bool|reg_named_buff_exists |NN REGEXP * const rx|NN SV * const key|const U32 flags
-Ap |SV*|reg_named_buff_firstkey |NN REGEXP * const rx|const U32 flags
-Ap |SV*|reg_named_buff_nextkey |NN REGEXP * const rx|const U32 flags
-Ap |SV*|reg_named_buff_scalar |NN REGEXP * const rx|const U32 flags
-Ap |SV*|reg_named_buff_all |NN REGEXP * const rx|const U32 flags
-
-: FIXME - is anything in re using this now?
-EXp |void|reg_numbered_buff_fetch|NN REGEXP * const rx|const I32 paren|NULLOK SV * const sv
-: FIXME - is anything in re using this now?
-EXp |void|reg_numbered_buff_store|NN REGEXP * const rx|const I32 paren|NULLOK SV const * const value
-: FIXME - is anything in re using this now?
-EXp |I32|reg_numbered_buff_length|NN REGEXP * const rx|NN const SV * const sv|const I32 paren
-
-: FIXME - is anything in re using this now?
-EXp |SV*|reg_qr_package|NN REGEXP * const rx
ATp |void |repeatcpy |NN char* to|NN const char* from|I32 len|IV count
AdTpP |char* |rninstr |NN const char* big|NN const char* bigend \
p |I32 |same_dirent |NN const char* a|NN const char* b
#endif
Apda |char* |savepv |NULLOK const char* pv
-Apda |char* |savepvn |NULLOK const char* pv|I32 len
+Apda |char* |savepvn |NULLOK const char* pv|Size_t len
Apda |char* |savesharedpv |NULLOK const char* pv
: NULLOK only to suppress a compiler warning
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
S |void |save_pushptri32ptr|NULLOK void *const ptr1|const I32 i \
|NULLOK void *const ptr2|const int type
#endif
+Xiop |I32 |TOPMARK
+Xiop |I32 |POPMARK
: Used in perly.y
p |OP* |sawparens |NULLOK OP* o
Apd |OP* |op_contextualize|NN OP* o|I32 context
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
#endif
+Tp |Signal_t |sighandler1 |int sig
+ATp |Signal_t |csighandler1 |int sig
+Tp |Signal_t |sighandler3 |int sig|NULLOK Siginfo_t *info|NULLOK void *uap
+ATp |Signal_t |csighandler3 |int sig|NULLOK Siginfo_t *info|NULLOK void *uap
+ATp |Signal_t |perly_sighandler |int sig|NULLOK Siginfo_t *info|NULLOK void *uap|bool safe
Ap |SV** |stack_grow |NN SV** sp|NN SV** p|SSize_t n
Ap |I32 |start_subparse |I32 is_format|U32 flags
Xp |void |init_named_cv |NN CV *cv|NN OP *nameop
#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)
ApdR |bool |sv_derived_from_pv|NN SV* sv|NN const char *const name|U32 flags
ApdR |bool |sv_derived_from_pvn|NN SV* sv|NN const char *const name \
|const STRLEN len|U32 flags
+ApdRx |bool |sv_isa_sv |NN SV* sv|NN SV* namesv
ApdR |bool |sv_does |NN SV* sv|NN const char *const name
ApdR |bool |sv_does_sv |NN SV* sv|NN SV* namesv|U32 flags
ApdR |bool |sv_does_pv |NN SV* sv|NN const char *const name|U32 flags
|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
-EiR |SV* |add_cp_to_invlist |NULLOK SV* invlist|const UV cp
-EiRT |bool |invlist_is_iterating|NN SV* const invlist
-#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
+Ap |void |regdump |NN const regexp* r
+CiTop |struct regexp *|ReANY |NN const REGEXP * const re
+Ap |I32 |pregexec |NN REGEXP * const prog|NN char* stringarg \
+ |NN char* strend|NN char* strbeg \
+ |SSize_t minend |NN SV* screamer|U32 nosave
+Ap |void |pregfree |NULLOK REGEXP* r
+Ap |void |pregfree2 |NN REGEXP *rx
+: FIXME - is anything in re using this now?
+EXp |REGEXP*|reg_temp_copy |NULLOK REGEXP* dsv|NN REGEXP* ssv
+Ap |void |regfree_internal|NN REGEXP *const rx
+#if defined(USE_ITHREADS)
+Ap |void* |regdupe_internal|NN REGEXP * const r|NN CLONE_PARAMS* param
#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 \
+EXp |regexp_engine const *|current_re_engine
+Ap |REGEXP*|pregcomp |NN SV * const pattern|const U32 flags
+p |REGEXP*|re_op_compile |NULLOK SV ** const patternp \
+ |int pat_count|NULLOK OP *expr \
+ |NN const regexp_engine* eng \
+ |NULLOK REGEXP *old_re \
+ |NULLOK bool *is_bare_re \
+ |const U32 rx_flags|const U32 pm_flags
+Ap |REGEXP*|re_compile |NN SV * const pattern|U32 orig_rx_flags
+Cp |char* |re_intuit_start|NN REGEXP * const rx \
+ |NULLOK SV* sv \
+ |NN const char* const strbeg \
+ |NN char* strpos \
+ |NN char* strend \
+ |const U32 flags \
+ |NULLOK re_scream_pos_data *data
+Cp |SV* |re_intuit_string|NN REGEXP *const r
+Ap |I32 |regexec_flags |NN REGEXP *const rx|NN char *stringarg \
+ |NN char *strend|NN char *strbeg \
+ |SSize_t minend|NN SV *sv \
+ |NULLOK void *data|U32 flags
+ApR |regnode*|regnext |NULLOK regnode* p
+EXp |SV*|reg_named_buff |NN REGEXP * const rx|NULLOK SV * const key \
+ |NULLOK SV * const value|const U32 flags
+EXp |SV*|reg_named_buff_iter |NN REGEXP * const rx|NULLOK const SV * const lastkey \
+ |const U32 flags
+Ap |SV*|reg_named_buff_fetch |NN REGEXP * const rx|NN SV * const namesv|const U32 flags
+Ap |bool|reg_named_buff_exists |NN REGEXP * const rx|NN SV * const key|const U32 flags
+Ap |SV*|reg_named_buff_firstkey |NN REGEXP * const rx|const U32 flags
+Ap |SV*|reg_named_buff_nextkey |NN REGEXP * const rx|const U32 flags
+Ap |SV*|reg_named_buff_scalar |NN REGEXP * const rx|const U32 flags
+Ap |SV*|reg_named_buff_all |NN REGEXP * const rx|const U32 flags
+
+: FIXME - is anything in re using this now?
+EXp |void|reg_numbered_buff_fetch|NN REGEXP * const rx|const I32 paren|NULLOK SV * const sv
+: FIXME - is anything in re using this now?
+EXp |void|reg_numbered_buff_store|NN REGEXP * const rx|const I32 paren|NULLOK SV const * const value
+: FIXME - is anything in re using this now?
+EXp |I32|reg_numbered_buff_length|NN REGEXP * const rx|NN const SV * const sv|const I32 paren
+
+: FIXME - is anything in re using this now?
+EXp |SV*|reg_qr_package|NN REGEXP * const rx
+EXpRT |I16 |do_uniprop_match|NN const char * const key|const U16 key_len
+EXpRT |const char * const *|get_prop_values|const int table_index
+EXpR |SV * |get_prop_definition|const int table_index
+EXpRT |const char *|get_deprecated_property_msg|const Size_t warning_offset
+#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
+EixRT |UV |invlist_lowest|NN SV* const invlist
ESRT |bool |new_regcurly |NN const char *s|NN const char *e
-#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
-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
-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
-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
-EXpR |SV* |_setup_canned_invlist|const STRLEN size|const UV element0|NN UV** other_elements_ptr
-#endif
-#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)
-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
-EiRT |UV |_invlist_len |NN SV* const invlist
-EiRT |bool |_invlist_contains_cp|NN SV* const invlist|const UV cp
-EXpRT |SSize_t|_invlist_search |NN SV* const invlist|const UV cp
-#endif
-#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C)
-EXp |SV* |_get_regclass_nonbitmap_data \
- |NULLOK const regexp *prog \
- |NN const struct regnode *node \
- |bool doinit \
- |NULLOK SV **listsvp \
- |NULLOK SV **lonly_utf8_locale \
- |NULLOK SV **output_invlist
-#endif
-#if defined(PERL_IN_REGCOMP_C) || defined (PERL_IN_DUMP_C)
-EXp |void |_invlist_dump |NN PerlIO *file|I32 level \
- |NN const char* const indent \
- |NN SV* const invlist
-#endif
-Ap |void |taint_env
-Ap |void |taint_proper |NULLOK const char* f|NN const char *const s
-Ep |char * |_byte_dump_string \
- |NN const U8 * const start \
- |const STRLEN len \
- |const bool format
-#if defined(PERL_IN_UTF8_C)
-iTR |int |does_utf8_overflow|NN const U8 * const s \
- |NN const U8 * e \
- |const bool consider_overlongs
-iTR |int |is_utf8_overlong_given_start_byte_ok|NN const U8 * const s \
- |const STRLEN len
-iTR |int |isFF_OVERLONG |NN const U8 * const s|const STRLEN len
-SR |char * |unexpected_non_continuation_text \
- |NN const U8 * const s \
- |STRLEN print_len \
- |const STRLEN non_cont_byte_pos \
- |const STRLEN expect_len
-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
-S |UV |_to_utf8_case |const UV uv1 \
- |NULLOK const U8 *p \
- |NN U8* ustrp \
- |NN STRLEN *lenp \
- |NN SV *invlist \
- |NN const int * const invmap \
- |NULLOK const unsigned int * const * const aux_tables \
- |NULLOK const U8 * const aux_table_lengths \
- |NN const char * const normal
-S |UV |turkic_fc |NN const U8 * const p |NN const U8 * const e|NN U8* ustrp|NN STRLEN *lenp
-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
-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
-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
-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
-#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 \
- |bool len_is_uv|NN STRLEN *posp \
- |NN STRLEN *lenp
-#endif
-#if defined(UNLINK_ALL_VERSIONS)
-Ap |I32 |unlnk |NN const char* f
-#endif
-AbpdD |SSize_t|unpack_str |NN const char *pat|NN const char *patend|NN const char *s \
- |NULLOK const char *strbeg|NN const char *strend|NULLOK char **new_s \
- |I32 ocnt|U32 flags
-Apd |SSize_t|unpackstring |NN const char *pat|NN const char *patend|NN const char *s \
- |NN const char *strend|U32 flags
-Ap |void |unsharepvn |NULLOK const char* sv|I32 len|U32 hash
-: Used in gv.c, hv.c
-p |void |unshare_hek |NULLOK HEK* hek
-: Used in perly.y
-p |void |utilize |int aver|I32 floor|NULLOK OP* version|NN OP* idop|NULLOK OP* arg
-Cp |void |_force_out_malformed_utf8_message \
- |NN const U8 *const p|NN const U8 * const e|const U32 flags \
- |const bool die_here
-EXp |U8* |utf16_to_utf8 |NN U8* p|NN U8 *d|I32 bytelen|NN I32 *newlen
-EXp |U8* |utf16_to_utf8_reversed|NN U8* p|NN U8 *d|I32 bytelen|NN I32 *newlen
-AdpR |STRLEN |utf8_length |NN const U8* s|NN const U8 *e
-AipdR |IV |utf8_distance |NN const U8 *a|NN const U8 *b
-AipdRT |U8* |utf8_hop |NN const U8 *s|SSize_t off
-AipdRT |U8* |utf8_hop_back|NN const U8 *s|SSize_t off|NN const U8 *start
-AipdRT |U8* |utf8_hop_forward|NN const U8 *s|SSize_t off|NN const U8 *end
-AipdRT |U8* |utf8_hop_safe |NN const U8 *s|SSize_t off|NN const U8 *start|NN const U8 *end
-Apxd |U8* |utf8_to_bytes |NN U8 *s|NN STRLEN *lenp
-Apd |int |bytes_cmp_utf8 |NN const U8 *b|STRLEN blen|NN const U8 *u \
- |STRLEN ulen
-AMxdp |U8* |bytes_from_utf8|NN const U8 *s|NN STRLEN *lenp|NN bool *is_utf8p
-AxTp |U8* |bytes_from_utf8_loc|NN const U8 *s \
- |NN STRLEN *lenp \
+ERS |SV* |make_exactf_invlist |NN RExC_state_t *pRExC_state \
+ |NN regnode *node
+ES |regnode_offset|reg |NN RExC_state_t *pRExC_state \
+ |I32 paren|NN I32 *flagp|U32 depth
+ES |regnode_offset|regnode_guts|NN RExC_state_t *pRExC_state \
+ |const U8 op \
+ |const STRLEN extra_len \
+ |NN const char* const name
+ES |void |change_engine_size|NN RExC_state_t *pRExC_state|const Ptrdiff_t size
+ES |regnode_offset|reganode|NN RExC_state_t *pRExC_state|U8 op \
+ |U32 arg
+ES |regnode_offset|regpnode|NN RExC_state_t *pRExC_state|U8 op \
+ |NN void * arg
+ES |regnode_offset|reg2Lanode|NN RExC_state_t *pRExC_state \
+ |const U8 op \
+ |const U32 arg1 \
+ |const I32 arg2
+ES |regnode_offset|regatom |NN RExC_state_t *pRExC_state \
+ |NN I32 *flagp|U32 depth
+ES |regnode_offset|regbranch |NN RExC_state_t *pRExC_state \
+ |NN I32 *flagp|I32 first|U32 depth
+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
+ES |void |output_posix_warnings \
+ |NN RExC_state_t *pRExC_state \
+ |NN AV* posix_warnings
+EiT |Size_t |find_first_differing_byte_pos|NN const U8 * s1|NN const U8 * s2| const Size_t max
+ES |AV* |add_multi_match|NULLOK AV* multi_char_matches \
+ |NN SV* multi_string \
+ |const STRLEN cp_count
+ES |regnode_offset|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 \
+ |const bool strict \
+ |bool optimizable \
+ |NULLOK SV** ret_invlist
+ES |SV * |parse_uniprop_string|NN const char * const name \
+ |Size_t name_len \
+ |const bool is_utf8 \
+ |const bool to_fold \
+ |const bool runtime \
+ |const bool deferrable \
+ |NN bool * user_defined_ptr \
+ |NN SV * msg \
+ |const STRLEN level
+ES |SV * |handle_user_defined_property|NN const char * name \
+ |const STRLEN name_len \
+ |const bool is_utf8 \
+ |const bool to_fold \
+ |const bool runtime \
+ |const bool deferrable \
+ |NN SV* contents \
+ |NN bool *user_defined_ptr \
+ |NN SV * msg \
+ |const STRLEN level
+ERS |REGEXP*|compile_wildcard|NN const char * subpattern|const STRLEN len\
+ |const bool ignore_case
+ES |I32 |execute_wildcard|NN REGEXP * const prog|NN char* stringarg \
+ |NN char* strend|NN char* strbeg \
+ |SSize_t minend |NN SV* screamer|U32 nosave
+ES |bool |handle_names_wildcard \
+ |NN const char * wname \
+ |const STRLEN wname_len \
+ |NN SV ** prop_definition
+ES |void|add_above_Latin1_folds|NN RExC_state_t *pRExC_state|const U8 cp \
+ |NN SV** invlist
+ES |regnode_offset|handle_named_backref|NN RExC_state_t *pRExC_state \
+ |NN I32 *flagp \
+ |NN char * parse_start \
+ |char ch
+ESTR |unsigned int|regex_set_precedence|const U8 my_operator
+ES |regnode_offset|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 |set_regex_pv |NN RExC_state_t *pRExC_state|NN REGEXP *Rx
+# if defined(DEBUGGING) && defined(ENABLE_REGEX_SETS_DEBUGGING)
+ES |void |dump_regex_sets_structures \
+ |NN RExC_state_t *pRExC_state \
+ |NN AV * stack \
+ |const IV fence|NN AV * fence_stack
+# endif
+ES |void|parse_lparen_question_flags|NN RExC_state_t *pRExC_state
+ES |regnode_offset|reg_node|NN RExC_state_t *pRExC_state|U8 op
+ES |regnode_offset|regpiece|NN RExC_state_t *pRExC_state \
+ |NN I32 *flagp|U32 depth
+ES |bool |grok_bslash_N |NN RExC_state_t *pRExC_state \
+ |NULLOK regnode_offset* nodep \
+ |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 \
+ |const U8 op \
+ |const regnode_offset operand \
+ |const U32 depth
+ESR |bool |regtail |NN RExC_state_t * pRExC_state \
+ |NN const regnode_offset p \
+ |NN const regnode_offset 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 \
+ |NN regnode *scan|NN UV *min_subtract \
+ |NN bool *unfolded_multi_char \
+ |U32 flags|NULLOK regnode *val|U32 depth
+EST |U8 |compute_EXACTish|NN RExC_state_t *pRExC_state
+ES |void |nextchar |NN RExC_state_t *pRExC_state
+ES |void |skip_to_be_ignored_text|NN RExC_state_t *pRExC_state \
+ |NN char ** p \
+ |const bool force_to_xmod
+EiT |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
+ESRT |int |ssc_is_anything|NN const regnode_ssc *ssc
+ES |void |ssc_init |NN const RExC_state_t *pRExC_state \
+ |NN regnode_ssc *ssc
+ESRT |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
+ES |void |ssc_intersection|NN regnode_ssc *ssc \
+ |NN SV* const invlist|const bool invert_2nd
+ES |void |ssc_union |NN regnode_ssc *ssc \
+ |NN SV* const invlist|const bool invert_2nd
+ES |void |ssc_add_range |NN regnode_ssc *ssc \
+ |UV const start|UV const end
+ES |void |ssc_cp_and |NN regnode_ssc *ssc \
+ |UV const cp
+EST |void |ssc_clear_locale|NN regnode_ssc *ssc
+ETS |bool |is_ssc_worth_it|NN const RExC_state_t * pRExC_state \
+ |NN const 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|U32 recursed_depth \
+ |NULLOK regnode_ssc *and_withp \
+ |U32 flags|U32 depth
+ESR |SV * |get_ANYOFM_contents|NN const regnode * n
+ESRT |U32 |add_data |NN RExC_state_t* const pRExC_state \
+ |NN const char* const s|const U32 n
+frS |void |re_croak |bool utf8|NN const char* pat|...
+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 \
+ |U32 word_count|U32 flags|U32 depth
+ES |regnode *|construct_ahocorasick_from_trie|NN RExC_state_t *pRExC_state \
+ |NN regnode *source|U32 depth
+ETSR |int |edit_distance |NN const UV *src \
+ |NN const UV *tgt \
+ |const STRLEN x \
+ |const STRLEN y \
+ |const SSize_t maxDistance
+# ifdef DEBUGGING
+EFp |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 \
+ |NN const regnode *node \
+ |NULLOK const regnode *last \
+ |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 \
+ |NULLOK char* bitmap \
+ |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 \
+ |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\
+ |NULLOK HV* widecharmap|NN AV *revcharmap\
+ |U32 depth
+ES |void |dump_trie_interim_list|NN const struct _reg_trie_data *trie\
+ |NULLOK HV* widecharmap|NN AV *revcharmap\
+ |U32 next_alloc|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
+ESR |bool |regtail_study |NN RExC_state_t *pRExC_state \
+ |NN regnode_offset p|NN const regnode_offset val|U32 depth
+# endif
+# 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
+EiRT |IV* |get_invlist_previous_index_addr|NN SV* invlist
+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
+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
+#endif
+#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_DOOP_C) || defined(PERL_IN_OP_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
+#endif
+#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_DOOP_C) || defined(PERL_IN_OP_C) || defined(PERL_IN_UTF8_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
+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
+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
+EXpR |SV* |_setup_canned_invlist|const STRLEN size|const UV element0|NN UV** other_elements_ptr
+#endif
+#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_DQUOTE_C) || defined(PERL_IN_TOKE_C)
+EpRX |bool |grok_bslash_x |NN char** s \
+ |NN const char* const send \
+ |NN UV* uv \
+ |NN const char** message \
+ |NULLOK U32 * packed_warn \
+ |const bool strict \
+ |const bool allow_UV_MAX \
+ |const bool utf8
+EpRX |bool |grok_bslash_c |const char source \
+ |NN U8 * result \
+ |NN const char** message \
+ |NULLOK U32 * packed_warn
+EpRX |bool |grok_bslash_o |NN char** s \
+ |NN const char* const send \
+ |NN UV* uv \
+ |NN const char** message \
+ |NULLOK U32 * packed_warn \
+ |const bool strict \
+ |const bool allow_UV_MAX \
+ |const bool utf8
+EpRX |const char *|form_alien_digit_msg|const U8 which \
+ |const STRLEN valids_len \
+ |NN const char * const first_bad\
+ |NN const char * const send \
+ |const bool UTF \
+ |const bool braced
+#endif
+#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_DQUOTE_C) || defined(PERL_IN_TOKE_C) || defined(PERL_IN_UTF8_C)
+EpRX |const char *|form_cp_too_large_msg|const U8 which \
+ |NULLOK const char * string \
+ |const Size_t len \
+ |const UV cp
+#endif
+#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
+#endif
+#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_OP_C)
+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) || 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
+#endif
+#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_PP_C) || defined(PERL_IN_TOKE_C) || defined(PERL_IN_UNIVERSAL_C)
+EiT |const char *|get_regex_charset_name|const U32 flags|NN STRLEN* const lenp
+#endif
+#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C) \
+ || defined(PERL_IN_PP_C) || defined(PERL_IN_OP_C) \
+ || defined(PERL_IN_TOKE_C) || defined(PERL_IN_UTF8_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
+EiRT |UV |_invlist_len |NN SV* const invlist
+EiRT |bool |_invlist_contains_cp|NN SV* const invlist|const UV cp
+EXpRT |SSize_t|_invlist_search |NN SV* const invlist|const UV cp
+#endif
+#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C)
+# ifndef PERL_EXT_RE_BUILD
+Ep |SV* |get_regclass_nonbitmap_data \
+ |NULLOK const regexp *prog \
+ |NN const struct regnode *node \
+ |bool doinit \
+ |NULLOK SV **listsvp \
+ |NULLOK SV **lonly_utf8_locale \
+ |NULLOK SV **output_invlist
+# else
+Ep |SV* |get_re_gclass_nonbitmap_data \
+ |NULLOK const regexp *prog \
+ |NN const struct regnode *node \
+ |bool doinit \
+ |NULLOK SV **listsvp \
+ |NULLOK SV **lonly_utf8_locale \
+ |NULLOK SV **output_invlist
+#endif
+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
+Efp |int |re_printf |NN const char *fmt|...
+#endif
+#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C) || defined(PERL_IN_TOKE_C)
+ERp |bool |is_grapheme |NN const U8 * strbeg|NN const U8 * s|NN const U8 *strend|const UV cp
+#endif
+#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C) || defined(PERL_IN_UTF8_C)
+EXTp |UV |_to_fold_latin1|const U8 c|NN U8 *p|NN STRLEN *lenp|const unsigned int flags
+#endif
+#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_TOKE_C)
+EiRT |bool |regcurly |NN const char *s
+#endif
+#if defined(PERL_IN_REGEXEC_C)
+ERS |bool |isFOO_utf8_lc |const U8 classnum|NN const U8* character|NN const U8* e
+ERTS |U8 * |find_next_masked|NN U8 * s \
+ |NN const U8 * send \
+ |const U8 byte|const U8 mask
+ERTS |U8 *|find_span_end |NN U8* s|NN const U8 * send|const U8 span_byte
+ERTS |U8 *|find_span_end_mask|NN U8 * s|NN const U8 * send \
+ |const U8 span_byte|const U8 mask
+ERS |SSize_t|regmatch |NN regmatch_info *reginfo|NN char *startpos|NN regnode *prog
+WERS |I32 |regrepeat |NN regexp *prog|NN char **startposp \
+ |NN const regnode *p \
+ |NN char *loceol \
+ |NN regmatch_info *const reginfo \
+ |I32 max
+ERS |bool |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 \
+ |NN const U8 * const p_end \
+ |bool const utf8_target
+WES |CHECKPOINT|regcppush |NN const regexp *rex|I32 parenfloor\
+ |U32 maxopenparen
+WES |void |regcppop |NN regexp *rex|NN U32 *maxopenparen_p
+WES |void |regcp_restore |NN regexp *rex|I32 ix|NN U32 *maxopenparen_p
+ERST |U8* |reghop3 |NN U8 *s|SSize_t off|NN const U8 *lim
+ERST |U8* |reghop4 |NN U8 *s|SSize_t off|NN const U8 *llim \
+ |NN const U8 *rlim
+ERST |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 |void |to_utf8_substr |NN regexp * prog
+ES |bool |to_byte_substr |NN regexp * prog
+ERST |I32 |reg_check_named_buff_matched |NN const regexp *rex \
+ |NN const regnode *scan
+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 \
+ |NN const U8 * const curpos \
+ |NN const U8 * const strend \
+ |const bool utf8_target
+ESR |SB_enum|advance_one_SB |NN U8 ** curpos \
+ |NN const U8 * const strend \
+ |const bool utf8_target
+ESR |SB_enum|backup_one_SB |NN const U8 * const strbeg \
+ |NN U8 ** curpos \
+ |const bool utf8_target
+ESR |bool |isWB |WB_enum previous \
+ |WB_enum before \
+ |WB_enum after \
+ |NN const U8 * const strbeg \
+ |NN const U8 * const curpos \
+ |NN const U8 * const strend \
+ |const bool utf8_target
+ESR |WB_enum|advance_one_WB |NN U8 ** curpos \
+ |NN const U8 * const strend \
+ |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
+EiT |I32 |foldEQ_latin1_s2_folded|NN const char* a|NN const char* b|I32 len
+# 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|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
+
+EFp |int |re_exec_indentf|NN const char *fmt|U32 depth|...
+# endif
+#endif
+#if defined(PERL_IN_REGEXEC_C) || defined(PERL_IN_UTF8_C)
+EXRp |bool |isFOO_lc |const U8 classnum|const U8 character
+#endif
+
+Ap |void |taint_env
+Ap |void |taint_proper |NULLOK const char* f|NN const char *const s
+EXp |char * |_byte_dump_string \
+ |NN const U8 * const start \
+ |const STRLEN len \
+ |const bool format
+
+#if defined(PERL_IN_UTF8_C)
+iTR |int |does_utf8_overflow|NN const U8 * const s \
+ |NN const U8 * e \
+ |const bool consider_overlongs
+iTR |int |is_utf8_overlong_given_start_byte_ok|NN const U8 * const s \
+ |const STRLEN len
+iTR |int |isFF_OVERLONG |NN const U8 * const s|const STRLEN len
+SR |char * |unexpected_non_continuation_text \
+ |NN const U8 * const s \
+ |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
+#endif
+S |UV |_to_utf8_case |const UV uv1 \
+ |NULLOK const U8 *p \
+ |NN U8* ustrp \
+ |NN STRLEN *lenp \
+ |NN SV *invlist \
+ |NN const I32 * const invmap \
+ |NULLOK const U32 * const * const aux_tables \
+ |NULLOK const U8 * const aux_table_lengths \
+ |NN const char * const normal
+S |UV |turkic_fc |NN const U8 * const p |NN const U8 * const e|NN U8* ustrp|NN STRLEN *lenp
+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
+Cp |UV |_to_utf8_lower_flags|NN const U8 *p|NULLOK const U8* e \
+ |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
+Cp |UV |_to_utf8_title_flags |NN const U8 *p|NULLOK const U8* e \
+ |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
+#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 \
+ |bool len_is_uv|NN STRLEN *posp \
+ |NN STRLEN *lenp
+#endif
+#if defined(UNLINK_ALL_VERSIONS)
+Ap |I32 |unlnk |NN const char* f
+#endif
+AbpdD |SSize_t|unpack_str |NN const char *pat|NN const char *patend|NN const char *s \
+ |NULLOK const char *strbeg|NN const char *strend|NULLOK char **new_s \
+ |I32 ocnt|U32 flags
+Apd |SSize_t|unpackstring |NN const char *pat|NN const char *patend|NN const char *s \
+ |NN const char *strend|U32 flags
+Ap |void |unsharepvn |NULLOK const char* sv|I32 len|U32 hash
+: Used in gv.c, hv.c
+p |void |unshare_hek |NULLOK HEK* hek
+: Used in perly.y
+p |void |utilize |int aver|I32 floor|NULLOK OP* version|NN OP* idop|NULLOK OP* arg
+Cp |void |_force_out_malformed_utf8_message \
+ |NN const U8 *const p|NN const U8 * const e|const U32 flags \
+ |const bool die_here
+EXp |U8* |utf16_to_utf8 |NN U8* p|NN U8 *d|Size_t bytelen|NN Size_t *newlen
+EXp |U8* |utf16_to_utf8_reversed|NN U8* p|NN U8 *d|Size_t bytelen|NN Size_t *newlen
+AdpR |STRLEN |utf8_length |NN const U8* s|NN const U8 *e
+AipdR |IV |utf8_distance |NN const U8 *a|NN const U8 *b
+AipdRT |U8* |utf8_hop |NN const U8 *s|SSize_t off
+AipdRT |U8* |utf8_hop_back|NN const U8 *s|SSize_t off|NN const U8 *start
+AipdRT |U8* |utf8_hop_forward|NN const U8 *s|SSize_t off|NN const U8 *end
+AipdRT |U8* |utf8_hop_safe |NN const U8 *s|SSize_t off|NN const U8 *start|NN const U8 *end
+Apxd |U8* |utf8_to_bytes |NN U8 *s|NN STRLEN *lenp
+Apd |int |bytes_cmp_utf8 |NN const U8 *b|STRLEN blen|NN const U8 *u \
+ |STRLEN ulen
+AMxdp |U8* |bytes_from_utf8|NN const U8 *s|NN STRLEN *lenp|NN bool *is_utf8p
+AxTp |U8* |bytes_from_utf8_loc|NN const U8 *s \
+ |NN STRLEN *lenp \
|NN bool *is_utf8p \
|NULLOK const U8 ** first_unconverted
Apxd |U8* |bytes_to_utf8 |NN const U8 *s|NN STRLEN *lenp
-ApdD |UV |utf8_to_uvchr |NN const U8 *s|NULLOK STRLEN *retlen
+ApdDb |UV |utf8_to_uvchr |NN const U8 *s|NULLOK STRLEN *retlen
CbpdD |UV |utf8_to_uvuni |NN const U8 *s|NULLOK STRLEN *retlen
CbpD |UV |valid_utf8_to_uvuni |NN const U8 *s|NULLOK STRLEN *retlen
AMpd |UV |utf8_to_uvchr_buf |NN const U8 *s|NN const U8 *send|NULLOK STRLEN *retlen
-Cip |UV |_utf8_to_uvchr_buf |NN const U8 *s|NN const U8 *send|NULLOK STRLEN *retlen
+Cip |UV |utf8_to_uvchr_buf_helper|NN const U8 *s|NN const U8 *send|NULLOK STRLEN *retlen
CpdD |UV |utf8_to_uvuni_buf |NN const U8 *s|NN const U8 *send|NULLOK STRLEN *retlen
p |bool |check_utf8_print |NN const U8 *s|const STRLEN len
|NULLOK U32 * errors \
|NULLOK AV ** msgs
CipTRd |UV |valid_utf8_to_uvchr |NN const U8 *s|NULLOK STRLEN *retlen
-Cdp |UV |utf8n_to_uvuni|NN const U8 *s|STRLEN curlen|NULLOK STRLEN *retlen|U32 flags
+CdbDp |UV |utf8n_to_uvuni|NN const U8 *s|STRLEN curlen|NULLOK STRLEN *retlen|U32 flags
Adm |U8* |uvchr_to_utf8 |NN U8 *d|UV uv
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
+CdpbD |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
ApdR |char* |sv_uni_display |NN SV *dsv|NN SV *ssv|STRLEN pvlim|UV flags
EXpR |Size_t |_inverse_folds |const UV cp \
- |NN unsigned int * first_folds_to \
- |NN const unsigned int ** remaining_folds_to
+ |NN U32 * first_folds_to \
+ |NN const U32 ** remaining_folds_to
: Used by Data::Alias
EXp |void |vivify_defelem |NN SV* sv
: Used in pp.c
ATpa |Malloc_t|safesyscalloc |MEM_SIZE elements|MEM_SIZE size
ATpR |Malloc_t|safesysrealloc|Malloc_t where|MEM_SIZE nbytes
ATp |Free_t |safesysfree |Malloc_t where
-AirTep |void |croak_memory_wrap
+CrTp |void |croak_memory_wrap
#if defined(PERL_GLOBAL_STRUCT)
Ap |struct perl_vars *|GetVars
Ap |struct perl_vars*|init_global_struct
Apd |char* |pv_escape |NULLOK SV *dsv|NN char const * const str\
|const STRLEN count|const STRLEN max\
|NULLOK STRLEN * const escaped\
- |const U32 flags
+ |const U32 flags
Apd |char* |pv_pretty |NN SV *dsv|NN char const * const str\
|const STRLEN count|const STRLEN max\
|NULLOK char const * const start_color\
|NULLOK char const * const end_color\
- |const U32 flags
+ |const U32 flags
Afp |void |dump_indent |I32 level|NN PerlIO *file|NN const char* pat|...
Ap |void |dump_vindent |I32 level|NN PerlIO *file|NN const char* pat \
|NULLOK va_list *args
Apd |SV* |sv_rvweaken |NN SV *const sv
Apd |SV* |sv_rvunweaken |NN SV *const sv
ATpxd |SV* |sv_get_backrefs|NN SV *const sv
+AiTMdp |SV * |SvREFCNT_inc |NULLOK SV *sv
+AiTMdp |SV * |SvREFCNT_inc_NN|NN SV *sv
+AiTMdp |void |SvREFCNT_inc_void|NULLOK SV *sv
+AiMdp |void |SvREFCNT_dec |NULLOK SV *sv
+AiMdp |void |SvREFCNT_dec_NN|NN SV *sv
+AiTp |void |SvAMAGIC_on |NN SV *sv
+AiTp |void |SvAMAGIC_off |NN SV *sv
: 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
# 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
|NN const XOP *xop
Adp |void |sv_nosharing |NULLOK SV *sv
-AdpbD |void |sv_nolocking |NULLOK SV *sv
-Adp |bool |sv_destroyable |NULLOK SV *sv
-AdpbD |void |sv_nounlocking |NULLOK SV *sv
-Adp |int |nothreadhook
-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
-#endif
-
-#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 \
- |const svtype sv_type
-S |bool|gv_magicalize|NN GV *gv|NN HV *stash|NN const char *name \
- |STRLEN len \
- |const 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 |void |require_tie_mod|NN GV *gv|NN const char varname \
- |NN const char * name|STRLEN len \
- |const U32 flags
-#endif
-
-#if defined(PERL_IN_HV_C) || defined(PERL_IN_SV_C)
-po |SV* |hfree_next_entry |NN HV *hv|NN STRLEN *indexp
-#endif
-
-#if defined(PERL_IN_HV_C)
-S |void |hsplit |NN HV *hv|STRLEN const oldsize|STRLEN newsize
-S |void |hv_free_entries|NN HV *hv
-S |SV* |hv_free_ent_ret|NN HV *hv|NN HE *entry
-SR |HE* |new_he
-SaTR |HEK* |save_hek_flags |NN const char *str|I32 len|U32 hash|int flags
-ST |void |hv_magic_check |NN HV *hv|NN bool *needs_copy|NN bool *needs_store
-S |void |unshare_hek_or_pvn|NULLOK const HEK* hek|NULLOK const char* str|I32 len|U32 hash
-SR |HEK* |share_hek_flags|NN const char *str|STRLEN len|U32 hash|int flags
-rS |void |hv_notallowed |int flags|NN const char *key|I32 klen|NN const char *msg
-iT |U32|ptr_hash|PTRV u
-S |struct xpvhv_aux*|hv_auxinit|NN HV *hv
-ST |struct xpvhv_aux*|hv_auxinit_internal|NN struct xpvhv_aux *iter
-Sx |SV* |hv_delete_common|NULLOK HV *hv|NULLOK SV *keysv \
- |NULLOK const char *key|STRLEN klen|int k_flags|I32 d_flags \
- |U32 hash
-Sx |void |clear_placeholders |NN HV *hv|U32 items
-#endif
-
-#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 |SV* |magic_methcall1|NN SV *sv|NN const MAGIC *mg \
- |NN SV *meth|U32 flags \
- |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
-
-#if defined(PERL_IN_OP_C)
-SRT |bool |is_handle_constructor|NN const OP *o|I32 numargs
-SR |I32 |assignment_type|NULLOK const OP *o
-S |void |forget_pmop |NN PMOP *const o
-S |void |find_and_forget_pmops |NN OP *o
-S |void |cop_free |NN COP *cop
-S |OP* |modkids |NULLOK OP *o|I32 type
-S |OP* |scalarboolean |NN OP *o
-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
-SRT |bool |scalar_mod_type|NULLOK const OP *o|I32 type
-S |OP * |my_kid |NULLOK OP *o|NULLOK OP *attrs|NN OP **imopsp
-S |OP * |dup_attrlist |NN OP *o
-S |void |apply_attrs |NN HV *stash|NN SV *target|NULLOK OP *attrs
-S |void |apply_attrs_my |NN HV *stash|NN OP *target|NULLOK OP *attrs|NN OP **imopsp
-S |void |bad_type_pv |I32 n|NN const char *t|NN const OP *o|NN const OP *kid
-S |void |bad_type_gv |I32 n|NN GV *gv|NN const OP *kid|NN const char *t
-S |void |no_bareword_allowed|NN OP *o
-SR |OP* |no_fh_allowed|NN OP *o
-SR |OP* |too_few_arguments_pv|NN OP *o|NN const char* name|U32 flags
-S |OP* |too_many_arguments_pv|NN OP *o|NN const char* name|U32 flags
-S |bool |looks_like_bool|NN const OP* o
-S |OP* |newGIVWHENOP |NULLOK OP* cond|NN OP *block \
- |I32 enter_opcode|I32 leave_opcode \
- |PADOFFSET entertarg
-S |OP* |ref_array_or_hash|NULLOK OP* cond
-S |bool |process_special_blocks |I32 floor \
- |NN const char *const fullname\
- |NN GV *const gv|NN CV *const cv
-S |void |clear_special_blocks |NN const char *const fullname\
- |NN GV *const gv|NN CV *const cv
-#endif
-XpR |void* |Slab_Alloc |size_t sz
-Xp |void |Slab_Free |NN void *op
-#if defined(PERL_DEBUG_READONLY_OPS)
-# if defined(PERL_CORE)
-pe |void |Slab_to_ro |NN OPSLAB *slab
-pe |void |Slab_to_rw |NN OPSLAB *const slab
-# endif
-: Used in OpREFCNT_inc() in sv.c
-poex |OP * |op_refcnt_inc |NULLOK OP *o
-: FIXME - can be static.
-poex |PADOFFSET |op_refcnt_dec |NN OP *o
-#endif
-
-#if defined(PERL_IN_PERL_C)
-S |void |find_beginning |NN SV* linestr_sv|NN PerlIO *rsfp
-S |void |forbid_setid |const char flag|const bool suidscript
-S |void |incpush |NN const char *const dir|STRLEN len \
- |U32 flags
-S |SV* |mayberelocate |NN const char *const dir|STRLEN len \
- |U32 flags
-S |void |incpush_use_sep|NN const char *p|STRLEN len|U32 flags
-S |void |init_interp
-S |void |init_ids
-S |void |init_main_stash
-S |void |init_perllib
-S |void |init_postdump_symbols|int argc|NN char **argv|NULLOK char **env
-S |void |init_predump_symbols
-rS |void |my_exit_jump
-S |void |nuke_stacks
-S |PerlIO *|open_script |NN const char *scriptname|bool dosearch \
- |NN bool *suidscript
-Sr |void |usage
-#ifndef SETUID_SCRIPTS_ARE_SECURE_NOW
-So |void |validate_suid |NN PerlIO *rsfp
-#endif
-Sr |void |minus_v
-
-S |void* |parse_body |NULLOK char **env|XSINIT_t xsinit
-rS |void |run_body |I32 oldscope
-# ifndef PERL_IS_MINIPERL
-S |SV * |incpush_if_exists|NN AV *const av|NN SV *dir|NN SV *const stem
-# endif
-#endif
-
-#if defined(PERL_IN_PP_C)
-S |size_t |do_chomp |NN SV *retval|NN SV *sv|bool chomping
-S |OP* |do_delete_local
-SR |SV* |refto |NN SV* sv
-#endif
-#if defined(PERL_IN_PP_C) || defined(PERL_IN_PP_HOT_C)
-: Used in pp_hot.c
-pReo |GV* |softref2xv |NN SV *const sv|NN const char *const what \
- |const svtype type|NN SV ***spp
-iTR |bool |lossless_NV_to_IV|const NV nv|NN IV * ivp
-#endif
-
-#if defined(PERL_IN_PP_PACK_C)
-S |SSize_t|unpack_rec |NN struct tempsym* symptr|NN const char *s \
- |NN const char *strbeg|NN const char *strend|NULLOK const char **new_s
-S |SV ** |pack_rec |NN SV *cat|NN struct tempsym* symptr|NN SV **beglist|NN SV **endlist
-S |SV* |mul128 |NN SV *sv|U8 m
-S |SSize_t|measure_struct |NN struct tempsym* symptr
-S |bool |next_symbol |NN struct tempsym* symptr
-SR |SV* |is_an_int |NN const char *s|STRLEN l
-S |int |div128 |NN SV *pnum|NN bool *done
-S |const char *|group_end |NN const char *patptr|NN const char *patend \
- |char ender
-SR |const char *|get_num |NN const char *patptr|NN SSize_t *lenptr
-TS |bool |need_utf8 |NN const char *pat|NN const char *patend
-TS |char |first_symbol |NN const char *pat|NN const char *patend
-SR |char * |sv_exp_grow |NN SV *sv|STRLEN needed
-STR |char * |my_bytes_to_utf8|NN const U8 *start|STRLEN len|NN char *dest \
- |const bool needs_swap
-#endif
-
-#if defined(PERL_IN_PP_CTL_C)
-SdR |OP* |docatch |Perl_ppaddr_t firstpp
-SR |OP* |dofindlabel |NN OP *o|NN const char *label|STRLEN len \
- |U32 flags|NN OP **opstack|NN OP **oplimit
-S |MAGIC *|doparseform |NN SV *sv
-STR |bool |num_overflow |NV value|I32 fldsize|I32 frcsize
-SR |I32 |dopoptoeval |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_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
-iRT |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
-SR |bool |matcher_matches_sv|NN PMOP* matcher|NN SV* sv
-S |void |destroy_matcher|NN PMOP* matcher
-S |OP* |do_smartmatch |NULLOK HV* seen_this \
- |NULLOK HV* seen_other|const bool copied
-#endif
+AdpbD |void |sv_nolocking |NULLOK SV *sv
+Adp |bool |sv_destroyable |NULLOK SV *sv
+AdpbD |void |sv_nounlocking |NULLOK SV *sv
+Adp |int |nothreadhook
+p |void |init_constants
-#if defined(PERL_IN_PP_HOT_C)
-S |void |do_oddball |NN SV **oddkey|NN SV **firstkey
-i |HV* |opmethod_stash |NN SV* meth
+#if defined(PERL_IN_DOOP_C)
+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_PP_SORT_C)
-S |I32 |sv_ncmp |NN SV *const a|NN SV *const b
-S |I32 |sv_i_ncmp |NN SV *const a|NN SV *const b
-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
+#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 \
+ |const svtype sv_type
+S |bool|gv_magicalize|NN GV *gv|NN HV *stash|NN const char *name \
+ |STRLEN len \
+ |const 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 |void |require_tie_mod|NN GV *gv|NN const char varname \
+ |NN const char * name|STRLEN len \
+ |const U32 flags
#endif
-#if defined(PERL_IN_PP_SYS_C)
-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
-S |SV * |space_join_names_mortal|NULLOK char *const *array
+#if defined(PERL_IN_HV_C) || defined(PERL_IN_SV_C)
+po |SV* |hfree_next_entry |NN HV *hv|NN STRLEN *indexp
#endif
-p |OP * |tied_method|NN SV *methname|NN SV **sp \
- |NN SV *const sv|NN const MAGIC *const mg \
- |const U32 flags|U32 argc|...
-#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_offset|reg |NN RExC_state_t *pRExC_state \
- |I32 paren|NN I32 *flagp|U32 depth
-ES |regnode_offset|regnode_guts|NN RExC_state_t *pRExC_state \
- |const U8 op \
- |const STRLEN extra_len \
- |NN const char* const name
-ES |void |change_engine_size|NN RExC_state_t *pRExC_state|const Ptrdiff_t size
-ES |regnode_offset|reganode|NN RExC_state_t *pRExC_state|U8 op \
- |U32 arg
-ES |regnode_offset|reg2Lanode|NN RExC_state_t *pRExC_state \
- |const U8 op \
- |const U32 arg1 \
- |const I32 arg2
-ES |regnode_offset|regatom |NN RExC_state_t *pRExC_state \
- |NN I32 *flagp|U32 depth
-ES |regnode_offset|regbranch |NN RExC_state_t *pRExC_state \
- |NN I32 *flagp|I32 first|U32 depth
-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
-ES |void |output_posix_warnings \
- |NN RExC_state_t *pRExC_state \
- |NN AV* posix_warnings
-ES |AV* |add_multi_match|NULLOK AV* multi_char_matches \
- |NN SV* multi_string \
- |const STRLEN cp_count
-ES |regnode_offset|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 \
- |const bool strict \
- |bool optimizable \
- |NULLOK SV** ret_invlist
-ES |void|add_above_Latin1_folds|NN RExC_state_t *pRExC_state|const U8 cp \
- |NN SV** invlist
-Ei |regnode_offset|handle_named_backref|NN RExC_state_t *pRExC_state \
- |NN I32 *flagp \
- |NN char * parse_start \
- |char ch
-ESTR |unsigned int|regex_set_precedence|const U8 my_operator
-ES |regnode_offset|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 |set_regex_pv |NN RExC_state_t *pRExC_state|NN REGEXP *Rx
-#if defined(DEBUGGING) && defined(ENABLE_REGEX_SETS_DEBUGGING)
-ES |void |dump_regex_sets_structures \
- |NN RExC_state_t *pRExC_state \
- |NN AV * stack \
- |const IV fence|NN AV * fence_stack
-#endif
-ES |void|parse_lparen_question_flags|NN RExC_state_t *pRExC_state
-ES |regnode_offset|reg_node|NN RExC_state_t *pRExC_state|U8 op
-ES |regnode_offset|regpiece|NN RExC_state_t *pRExC_state \
- |NN I32 *flagp|U32 depth
-ES |bool |grok_bslash_N |NN RExC_state_t *pRExC_state \
- |NULLOK regnode_offset* nodep \
- |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 \
- |const U8 op \
- |const regnode_offset operand \
- |const U32 depth
-ESR |bool |regtail |NN RExC_state_t * pRExC_state \
- |NN const regnode_offset p \
- |NN const regnode_offset 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 \
- |NN regnode *scan|NN UV *min_subtract \
- |NN bool *unfolded_multi_char \
- |U32 flags|NULLOK regnode *val|U32 depth
-EiT |U8 |compute_EXACTish|NN RExC_state_t *pRExC_state
-ES |void |nextchar |NN RExC_state_t *pRExC_state
-ES |void |skip_to_be_ignored_text|NN RExC_state_t *pRExC_state \
- |NN char ** p \
- |const bool force_to_xmod
-EiT |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
-ESRT |int |ssc_is_anything|NN const regnode_ssc *ssc
-ES |void |ssc_init |NN const RExC_state_t *pRExC_state \
- |NN regnode_ssc *ssc
-ESRT |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
-EiT |void |ssc_clear_locale|NN regnode_ssc *ssc
-ETS |bool |is_ssc_worth_it|NN const RExC_state_t * pRExC_state \
- |NN const 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|U32 recursed_depth \
- |NULLOK regnode_ssc *and_withp \
- |U32 flags|U32 depth
-ESR |SV * |get_ANYOFM_contents|NN const regnode * n
-ESRT |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|...
-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 \
- |U32 word_count|U32 flags|U32 depth
-ES |regnode *|construct_ahocorasick_from_trie|NN RExC_state_t *pRExC_state \
- |NN regnode *source|U32 depth
-ETSR |const char *|cntrl_to_mnemonic|const U8 c
-ETSR |int |edit_distance |NN const UV *src \
- |NN const UV *tgt \
- |const STRLEN x \
- |const STRLEN y \
- |const SSize_t maxDistance
-EpX |SV * |parse_uniprop_string|NN const char * const name \
- |const Size_t name_len \
- |const bool is_utf8 \
- |const bool to_fold \
- |const bool runtime \
- |const bool deferrable \
- |NN bool * user_defined_ptr \
- |NN SV * msg \
- |const STRLEN level
-EXp |SV * |handle_user_defined_property|NN const char * name \
- |const STRLEN name_len \
- |const bool is_utf8 \
- |const bool to_fold \
- |const bool runtime \
- |const bool deferrable \
- |NN SV* contents \
- |NN bool *user_defined_ptr \
- |NN SV * msg \
- |const STRLEN level
-# 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 \
- |NN const regnode *node \
- |NULLOK const regnode *last \
- |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 \
- |NULLOK 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\
- |NULLOK HV* widecharmap|NN AV *revcharmap\
- |U32 depth
-ES |void |dump_trie_interim_list|NN const struct _reg_trie_data *trie\
- |NULLOK HV* widecharmap|NN AV *revcharmap\
- |U32 next_alloc|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
-ESR |bool |regtail_study |NN RExC_state_t *pRExC_state \
- |NN regnode_offset p|NN const regnode_offset val|U32 depth
+#if defined(PERL_IN_HV_C)
+S |void |hsplit |NN HV *hv|STRLEN const oldsize|STRLEN newsize
+S |void |hv_free_entries|NN HV *hv
+S |SV* |hv_free_ent_ret|NN HV *hv|NN HE *entry
+SR |HE* |new_he
+SaTR |HEK* |save_hek_flags |NN const char *str|I32 len|U32 hash|int flags
+ST |void |hv_magic_check |NN HV *hv|NN bool *needs_copy|NN bool *needs_store
+S |void |unshare_hek_or_pvn|NULLOK const HEK* hek|NULLOK const char* str|I32 len|U32 hash
+SR |HEK* |share_hek_flags|NN const char *str|STRLEN len|U32 hash|int flags
+rS |void |hv_notallowed |int flags|NN const char *key|I32 klen|NN const char *msg
+iT |U32|ptr_hash|PTRV u
+S |struct xpvhv_aux*|hv_auxinit|NN HV *hv
+ST |struct xpvhv_aux*|hv_auxinit_internal|NN struct xpvhv_aux *iter
+Sx |SV* |hv_delete_common|NULLOK HV *hv|NULLOK SV *keysv \
+ |NULLOK const char *key|STRLEN klen|int k_flags|I32 d_flags \
+ |U32 hash
+Sx |void |clear_placeholders |NN HV *hv|U32 items
+#endif
+
+#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 |SV* |magic_methcall1|NN SV *sv|NN const MAGIC *mg \
+ |NN SV *meth|U32 flags \
+ |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
+
+#if defined(PERL_IN_OP_C)
+SRT |bool |is_handle_constructor|NN const OP *o|I32 numargs
+SR |I32 |assignment_type|NULLOK const OP *o
+S |void |forget_pmop |NN PMOP *const o
+S |void |find_and_forget_pmops |NN OP *o
+S |void |cop_free |NN COP *cop
+S |OP* |modkids |NULLOK OP *o|I32 type
+S |OP* |scalarboolean |NN OP *o
+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
+SRT |bool |scalar_mod_type|NULLOK const OP *o|I32 type
+S |OP * |my_kid |NULLOK OP *o|NULLOK OP *attrs|NN OP **imopsp
+S |OP * |dup_attrlist |NN OP *o
+S |void |apply_attrs |NN HV *stash|NN SV *target|NULLOK OP *attrs
+S |void |apply_attrs_my |NN HV *stash|NN OP *target|NULLOK OP *attrs|NN OP **imopsp
+S |void |bad_type_pv |I32 n|NN const char *t|NN const OP *o|NN const OP *kid
+S |void |bad_type_gv |I32 n|NN GV *gv|NN const OP *kid|NN const char *t
+S |void |no_bareword_allowed|NN OP *o
+SR |OP* |no_fh_allowed|NN OP *o
+SR |OP* |too_few_arguments_pv|NN OP *o|NN const char* name|U32 flags
+S |OP* |too_many_arguments_pv|NN OP *o|NN const char* name|U32 flags
+S |bool |looks_like_bool|NN const OP* o
+S |OP* |newGIVWHENOP |NULLOK OP* cond|NN OP *block \
+ |I32 enter_opcode|I32 leave_opcode \
+ |PADOFFSET entertarg
+S |OP* |ref_array_or_hash|NULLOK OP* cond
+S |bool |process_special_blocks |I32 floor \
+ |NN const char *const fullname\
+ |NN GV *const gv|NN CV *const cv
+S |void |clear_special_blocks |NN const char *const fullname\
+ |NN GV *const gv|NN CV *const cv
+#endif
+XpR |void* |Slab_Alloc |size_t sz
+Xp |void |Slab_Free |NN void *op
+#if defined(PERL_DEBUG_READONLY_OPS)
+# if defined(PERL_CORE)
+pe |void |Slab_to_ro |NN OPSLAB *slab
+pe |void |Slab_to_rw |NN OPSLAB *const slab
+# endif
+: Used in OpREFCNT_inc() in sv.c
+poex |OP * |op_refcnt_inc |NULLOK OP *o
+: FIXME - can be static.
+poex |PADOFFSET |op_refcnt_dec |NN OP *o
+#endif
+
+#if defined(PERL_IN_PERL_C)
+S |void |find_beginning |NN SV* linestr_sv|NN PerlIO *rsfp
+S |void |forbid_setid |const char flag|const bool suidscript
+S |void |incpush |NN const char *const dir|STRLEN len \
+ |U32 flags
+S |SV* |mayberelocate |NN const char *const dir|STRLEN len \
+ |U32 flags
+S |void |incpush_use_sep|NN const char *p|STRLEN len|U32 flags
+S |void |init_interp
+S |void |init_ids
+S |void |init_main_stash
+S |void |init_perllib
+S |void |init_postdump_symbols|int argc|NN char **argv|NULLOK char **env
+S |void |init_predump_symbols
+rS |void |my_exit_jump
+S |void |nuke_stacks
+S |PerlIO *|open_script |NN const char *scriptname|bool dosearch \
+ |NN bool *suidscript
+Sr |void |usage
+#ifndef SETUID_SCRIPTS_ARE_SECURE_NOW
+So |void |validate_suid |NN PerlIO *rsfp
+#endif
+Sr |void |minus_v
+
+S |void* |parse_body |NULLOK char **env|XSINIT_t xsinit
+rS |void |run_body |I32 oldscope
+# ifndef PERL_IS_MINIPERL
+S |SV * |incpush_if_exists|NN AV *const av|NN SV *dir|NN SV *const stem
# endif
#endif
-#if defined(PERL_IN_REGEXEC_C) || defined(PERL_IN_UTF8_C)
-EXRp |bool |isFOO_lc |const U8 classnum|const U8 character
+#if defined(PERL_IN_PP_C)
+S |size_t |do_chomp |NN SV *retval|NN SV *sv|bool chomping
+S |OP* |do_delete_local
+SR |SV* |refto |NN SV* sv
+#endif
+#if defined(PERL_IN_PP_C) || defined(PERL_IN_PP_HOT_C)
+: Used in pp_hot.c
+pReo |GV* |softref2xv |NN SV *const sv|NN const char *const what \
+ |const svtype type|NN SV ***spp
+iTR |bool |lossless_NV_to_IV|const NV nv|NN IV * ivp
+#endif
+#if defined(PERL_IN_PP_HOT_C)
+IR |bool |should_we_output_Debug_r|NN regexp * prog
#endif
-#if defined(PERL_IN_REGEXEC_C) || defined(PERL_IN_TOKE_C)
-ERp |bool |_is_grapheme |NN const U8 * strbeg|NN const U8 * s|NN const U8 *strend|const UV cp
+#if defined(PERL_IN_PP_PACK_C)
+S |SSize_t|unpack_rec |NN struct tempsym* symptr|NN const char *s \
+ |NN const char *strbeg|NN const char *strend|NULLOK const char **new_s
+S |SV ** |pack_rec |NN SV *cat|NN struct tempsym* symptr|NN SV **beglist|NN SV **endlist
+S |SV* |mul128 |NN SV *sv|U8 m
+S |SSize_t|measure_struct |NN struct tempsym* symptr
+S |bool |next_symbol |NN struct tempsym* symptr
+SR |SV* |is_an_int |NN const char *s|STRLEN l
+S |int |div128 |NN SV *pnum|NN bool *done
+S |const char *|group_end |NN const char *patptr|NN const char *patend \
+ |char ender
+SR |const char *|get_num |NN const char *patptr|NN SSize_t *lenptr
+TS |bool |need_utf8 |NN const char *pat|NN const char *patend
+TS |char |first_symbol |NN const char *pat|NN const char *patend
+SR |char * |sv_exp_grow |NN SV *sv|STRLEN needed
+STR |char * |my_bytes_to_utf8|NN const U8 *start|STRLEN len|NN char *dest \
+ |const bool needs_swap
#endif
-#if defined(PERL_IN_REGEXEC_C)
-ERS |bool |isFOO_utf8_lc |const U8 classnum|NN const U8* character|NN const U8* e
-ERTS |U8 * |find_next_masked|NN U8 * s \
- |NN const U8 * send \
- |const U8 byte|const U8 mask
-ERTS |U8 *|find_span_end |NN U8* s|NN const U8 * send|const U8 span_byte
-ERTS |U8 *|find_span_end_mask|NN U8 * s|NN const U8 * send \
- |const U8 span_byte|const U8 mask
-ERS |SSize_t|regmatch |NN regmatch_info *reginfo|NN char *startpos|NN regnode *prog
-WERS |I32 |regrepeat |NN regexp *prog|NN char **startposp \
- |NN const regnode *p \
- |NN char *loceol \
- |NN regmatch_info *const reginfo \
- |I32 max
-ERS |bool |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 \
- |NN const U8 * const p_end \
- |bool const utf8_target
-WES |CHECKPOINT|regcppush |NN const regexp *rex|I32 parenfloor\
- |U32 maxopenparen
-WES |void |regcppop |NN regexp *rex|NN U32 *maxopenparen_p
-WES |void |regcp_restore |NN regexp *rex|I32 ix|NN U32 *maxopenparen_p
-ERST |U8* |reghop3 |NN U8 *s|SSize_t off|NN const U8 *lim
-ERST |U8* |reghop4 |NN U8 *s|SSize_t off|NN const U8 *llim \
- |NN const U8 *rlim
-ERST |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 |void |to_utf8_substr |NN regexp * prog
-ES |bool |to_byte_substr |NN regexp * prog
-ERST |I32 |reg_check_named_buff_matched |NN const regexp *rex \
- |NN const regnode *scan
-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 \
- |NN const U8 * const curpos \
- |NN const U8 * const strend \
- |const bool utf8_target
-ESR |SB_enum|advance_one_SB |NN U8 ** curpos \
- |NN const U8 * const strend \
- |const bool utf8_target
-ESR |SB_enum|backup_one_SB |NN const U8 * const strbeg \
- |NN U8 ** curpos \
- |const bool utf8_target
-ESR |bool |isWB |WB_enum previous \
- |WB_enum before \
- |WB_enum after \
- |NN const U8 * const strbeg \
- |NN const U8 * const curpos \
- |NN const U8 * const strend \
- |const bool utf8_target
-ESR |WB_enum|advance_one_WB |NN U8 ** curpos \
- |NN const U8 * const strend \
- |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
-EiT |I32 |foldEQ_latin1_s2_folded|NN const char* a|NN const char* b|I32 len
-# 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|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
+#if defined(PERL_IN_PP_CTL_C)
+SdR |OP* |docatch |Perl_ppaddr_t firstpp
+SR |OP* |dofindlabel |NN OP *o|NN const char *label|STRLEN len \
+ |U32 flags|NN OP **opstack|NN OP **oplimit
+S |MAGIC *|doparseform |NN SV *sv
+STR |bool |num_overflow |NV value|I32 fldsize|I32 frcsize
+SR |I32 |dopoptoeval |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_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
+iRT |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
+SR |bool |matcher_matches_sv|NN PMOP* matcher|NN SV* sv
+S |void |destroy_matcher|NN PMOP* matcher
+S |OP* |do_smartmatch |NULLOK HV* seen_this \
+ |NULLOK HV* seen_other|const bool copied
+#endif
+
+#if defined(PERL_IN_PP_HOT_C)
+S |void |do_oddball |NN SV **oddkey|NN SV **firstkey
+i |HV* |opmethod_stash |NN SV* meth
+#endif
+
+#if defined(PERL_IN_PP_SORT_C)
+I |I32 |sv_ncmp |NN SV *const a|NN SV *const b
+I |I32 |sv_ncmp_desc |NN SV *const a|NN SV *const b
+I |I32 |sv_i_ncmp |NN SV *const a|NN SV *const b
+I |I32 |sv_i_ncmp_desc |NN SV *const a|NN SV *const b
+I |I32 |amagic_ncmp |NN SV *const a|NN SV *const b
+I |I32 |amagic_ncmp_desc |NN SV *const a|NN SV *const b
+I |I32 |amagic_i_ncmp |NN SV *const a|NN SV *const b
+I |I32 |amagic_i_ncmp_desc |NN SV *const a|NN SV *const b
+I |I32 |amagic_cmp |NN SV *const str1|NN SV *const str2
+I |I32 |amagic_cmp_desc |NN SV *const str1|NN SV *const str2
+I |I32 |cmp_desc |NN SV *const str1|NN SV *const str2
+# ifdef USE_LOCALE_COLLATE
+I |I32 |amagic_cmp_locale |NN SV *const str1|NN SV *const str2
+I |I32 |amagic_cmp_locale_desc|NN SV *const str1|NN SV *const str2
+I |I32 |cmp_locale_desc|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
+I |void |sortsv_flags_impl |NULLOK SV** array|size_t num_elts|NN SVCOMPARE_t cmp|U32 flags
+#endif
-Ep |int |re_exec_indentf |NN const char *fmt|U32 depth|...
+#if defined(PERL_IN_PP_SYS_C)
+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
+S |SV * |space_join_names_mortal|NULLOK char *const *array
#endif
+Fp |OP * |tied_method|NN SV *methname|NN SV **sp \
+ |NN SV *const sv|NN const MAGIC *const mg \
+ |const U32 flags|U32 argc|...
#if defined(PERL_IN_DUMP_C)
S |CV* |deb_curcv |I32 ix
|NN const char* const e \
|const bool is_utf8 \
|NN const char** error_msg
+EXpR |HV* |load_charnames |NN SV * char_name \
+ |NN const char * context \
+ |const STRLEN context_len \
+ |NN const char ** error_msg
: For use ONLY in B::Hooks::Parser, by special dispensation
EXpxR |char* |scan_str |NN char *start|int keep_quoted \
|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
Sd |void |cv_dump |NN const CV *cv|NN const char *title
# endif
#endif
+#if defined(PERL_IN_PAD_C) || defined(PERL_IN_OP_C)
+iT |bool |PadnameIN_SCOPE|NN const PADNAME * const pn|const U32 seq
+#endif
Apd |CV* |cv_clone |NN CV* proto
p |CV* |cv_clone_into |NN CV* proto|NN CV *target
pd |void |pad_fixup_inner_anons|NN PADLIST *padlist|NN CV *old_cv|NN CV *new_cv
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
So |void |xs_version_bootcheck|U32 items|U32 ax|NN const char *xs_p \
|STRLEN xs_len
#endif
-XpoT |I32 |xs_handshake |const U32 key|NN void * v_my_perl\
+FXpoT |I32 |xs_handshake |const U32 key|NN void * v_my_perl\
|NN const char * file| ...
Xp |void |xs_boot_epilog |const I32 ax
#ifndef HAS_STRLCAT
#endif
#ifndef HAS_STRNLEN
-ApTd |Size_t |my_strnlen |NN const char *str|Size_t maxlen
+AipTd |Size_t |my_strnlen |NN const char *str|Size_t maxlen
#endif
#ifndef HAS_MKOSTEMP
#endif
APpdT |bool |isinfnan |NV nv
-p |bool |isinfnansv |NN SV *sv
+pd |bool |isinfnansv |NN SV *sv
#if !defined(HAS_SIGNBIT)
AxdToP |int |Perl_signbit |NV f
#endif
: 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
+Fop |void |populate_isa |NN const char *name|STRLEN len|...
: Some static inline functions need predeclaration because they are used
: inside other static inline functions.
|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