This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
toke.c: Split code to load _charnames.pm into own fnc
[perl5.git] / embed.fnc
index a3e5fb2..cc5b10c 100644 (file)
--- a/embed.fnc
+++ b/embed.fnc
@@ -91,7 +91,7 @@
 : The E flag is used instead for a function and its short name that is supposed
 :            to be used only in the core, and in extensions compiled with the
 :            PERL_EXT symbol defined.  Again, on some platforms, the function
-:            will be visible everywhere, so the 'p' flag is gnerally needed.
+:            will be visible everywhere, so the 'p' flag is generally needed.
 :            Also note that an XS writer can always cheat and pretend to be an
 :            extension by #defining PERL_EXT.
 :
@@ -785,6 +785,7 @@ p   |void   |dump_sub_perl  |NN const GV* gv|bool justperl
 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 \
@@ -880,9 +881,11 @@ Xxpd       |void   |gv_try_downgrade|NN GV* gv
 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
@@ -984,28 +987,8 @@ 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
 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  \
@@ -1025,23 +1008,8 @@ p        |UV     |_to_upper_title_latin1|const U8 c|NN U8 *p|NN STRLEN *lenp|const char S_o
 Cp     |UV     |to_uni_lower   |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          \
@@ -1106,45 +1074,12 @@ AmTdP   |bool   |is_utf8_valid_partial_char                                 \
                |NN const U8 * const s|NN const U8 * const e
 ATidRp |bool   |is_utf8_valid_partial_char_flags                           \
                |NN const U8 * const s|NN const U8 * const e|const U32 flags
-CpR    |bool   |_is_uni_FOO|const U8 classnum|const UV c
-CpR    |bool   |_is_utf8_FOO|U8 classnum|NN const U8 * const p             \
-               |NN const char * const name                                 \
-               |NN const char * const alternative                          \
-               |const bool use_utf8|const bool use_locale                  \
-               |NN const char * const file|const unsigned line
-CpR    |bool   |_is_utf8_FOO_with_len|const U8 classnum|NN const U8 *p     \
-               |NN const U8 * const e
-CbDpR  |bool   |is_utf8_alnum  |NN const U8 *p
-CbDpR  |bool   |is_utf8_alnumc |NN const U8 *p
-CbDpR  |bool   |is_utf8_idfirst|NN const U8 *p
-CbDpR  |bool   |is_utf8_xidfirst|NN const U8 *p
-CpR    |bool   |_is_utf8_idcont|NN const U8 *p
-CpR    |bool   |_is_utf8_idstart|NN const U8 *p
-CpR    |bool   |_is_utf8_xidcont|NN const U8 *p
-CpR    |bool   |_is_utf8_xidstart|NN const U8 *p
-CpR    |bool   |_is_utf8_perl_idcont_with_len|NN const U8 *p               \
-               |NN const U8 * const e
-CpR    |bool   |_is_utf8_perl_idstart_with_len|NN const U8 *p              \
+CpR     |bool   |_is_uni_FOO|const U8 classnum|const UV c
+CpR     |bool   |_is_utf8_FOO|const U8 classnum|NN const U8 *p     \
                |NN const U8 * const e
-CbDpR  |bool   |is_utf8_idcont |NN const U8 *p
-CbDpR  |bool   |is_utf8_xidcont        |NN const U8 *p
-CbDpR  |bool   |is_utf8_alpha  |NN const U8 *p
-CbDpR  |bool   |is_utf8_ascii  |NN const U8 *p
-CbDpR  |bool   |is_utf8_blank  |NN const U8 *p
-CbDpR  |bool   |is_utf8_space  |NN const U8 *p
-CbDpR  |bool   |is_utf8_perl_space     |NN const U8 *p
-CbDpR  |bool   |is_utf8_perl_word      |NN const U8 *p
-CbDpR  |bool   |is_utf8_cntrl  |NN const U8 *p
-CbDpR  |bool   |is_utf8_digit  |NN const U8 *p
-CbDpR  |bool   |is_utf8_posix_digit    |NN const U8 *p
-CbDpR  |bool   |is_utf8_graph  |NN const U8 *p
-CbDpR  |bool   |is_utf8_upper  |NN const U8 *p
-CbDpR  |bool   |is_utf8_lower  |NN const U8 *p
-CbDpR  |bool   |is_utf8_print  |NN const U8 *p
-CbDpR  |bool   |is_utf8_punct  |NN const U8 *p
-CbDpR  |bool   |is_utf8_xdigit |NN const U8 *p
-CpR    |bool   |_is_utf8_mark  |NN const U8 *p
-AbDxpR |bool   |is_utf8_mark   |NN const U8 *p
+CpR     |bool   |_is_utf8_perl_idcont|NN const U8 *p|NN const U8 * const e
+CpR     |bool   |_is_utf8_perl_idstart|NN const U8 *p|NN const U8 * const e
+
 #if defined(PERL_CORE) || defined(PERL_EXT)
 EXdpR  |bool   |isSCRIPT_RUN   |NN const U8 *s|NN const U8 *send   \
                                |const bool utf8_target
@@ -1201,35 +1136,60 @@ 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 \
+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   |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 \
+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
-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
+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_TOKE_C)
+EiRT   |bool   |regcurly       |NN const char *s
+#endif
+#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_TOKE_C) || defined(PERL_IN_DQUOTE_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
+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
@@ -1572,6 +1532,7 @@ p |OP*    |pmruntime      |NN OP *o|NN OP *expr|NULLOK OP *repl \
 #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)
@@ -1660,7 +1621,7 @@ p |void   |rxres_save     |NN void **rsp|NN REGEXP *rx
 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
@@ -1748,14 +1709,19 @@ Axpd    |OP*    |op_scope       |NULLOK OP* o
 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
@@ -1837,6 +1803,7 @@ ApdR      |bool   |sv_derived_from_sv|NN SV* sv|NN SV *namesv|U32 flags
 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
@@ -1933,37 +1900,42 @@ Apd     |void   |sv_vsetpvfn    |NN SV *const sv|NN const char *const pat|const STRLEN pa
                                |NULLOK va_list *const args|NULLOK SV **const svargs \
                                |const Size_t sv_count|NULLOK bool *const maybe_tainted
 ApR    |NV     |str_to_version |NN SV *sv
-EXpR   |SV*    |swash_init     |NN const char* pkg|NN const char* name|NN SV* listsv|I32 minbits|I32 none
-EXp    |UV     |swash_fetch    |NN SV *swash|NN const U8 *ptr|bool do_utf8
-#ifdef PERL_IN_REGCOMP_C
+#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_OP_C) || defined(PERL_IN_DOOP_C)
 EiR    |SV*    |add_cp_to_invlist      |NULLOK SV* invlist|const UV cp
+Ei     |void   |invlist_extend    |NN SV* const invlist|const UV len
+Ei     |void   |invlist_set_len|NN SV* const invlist|const UV len|const bool offset
+EiRT   |UV     |invlist_highest|NN SV* const invlist
+#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)
 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
 #ifndef PERL_EXT_RE_BUILD
 EiRT   |UV*    |_invlist_array_init    |NN SV* const invlist|const bool will_have_0
 EiRT   |UV     |invlist_max    |NN SV* const invlist
-ES     |void   |_append_range_to_invlist   |NN SV* const invlist|const UV start|const UV end
-ES     |void   |invlist_extend    |NN SV* const invlist|const UV len
-ES     |void   |invlist_replace_list_destroys_src|NN SV *dest|NN SV *src
 EiRT   |IV*    |get_invlist_previous_index_addr|NN SV* invlist
-Ei     |void   |invlist_set_len|NN SV* const invlist|const UV len|const bool offset
 EiT    |void   |invlist_set_previous_index|NN SV* const invlist|const IV index
 EiRT   |IV     |invlist_previous_index|NN SV* const invlist
 EiT    |void   |invlist_trim   |NN SV* invlist
 Ei     |void   |invlist_clear  |NN SV* invlist
-S      |void   |initialize_invlist_guts|NN SV* invlist|const Size_t initial_size
 #endif
-EiRT   |STRLEN*|get_invlist_iter_addr  |NN SV* invlist
-EiT    |void   |invlist_iterinit|NN SV* invlist
-ESRT   |bool   |invlist_iternext|NN SV* invlist|NN UV* start|NN UV* end
-EiT    |void   |invlist_iterfinish|NN SV* invlist
-EiRT   |UV     |invlist_highest|NN SV* const invlist
-ERS    |SV*    |_make_exactf_invlist   |NN RExC_state_t *pRExC_state \
-                                       |NN regnode *node
-ESR    |SV*    |invlist_contents|NN SV* const invlist              \
-                                |const bool traditional_style
 ESRT   |bool   |new_regcurly   |NN const char *s|NN const char *e
+ERS    |SV*    |make_exactf_invlist    |NN RExC_state_t *pRExC_state \
+                                       |NN regnode *node
+#ifndef PERL_EXT_RE_BUILD
+ES     |void   |_append_range_to_invlist   |NN SV* const invlist|const UV start|const UV end
+ES     |void   |invlist_replace_list_destroys_src|NN SV *dest|NN SV *src
+S      |void   |initialize_invlist_guts|NN SV* invlist|const Size_t initial_size
 #endif
-#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_UTF8_C)
+#endif
+#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_UTF8_C) || defined(PERL_IN_OP_C) || defined(PERL_IN_DOOP_C)
 m      |void   |_invlist_intersection  |NN SV* const a|NN SV* const b|NN SV** i
 EXp    |void   |_invlist_intersection_maybe_complement_2nd \
                |NULLOK SV* const a|NN SV* const b          \
@@ -1981,7 +1953,10 @@ EXpR     |SV*    |_setup_canned_invlist|const STRLEN size|const UV element0|NN UV** oth
 #if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_SV_C)
 EpX    |SV*    |invlist_clone  |NN SV* const invlist|NULLOK SV* newlist
 #endif
-#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C) || defined(PERL_IN_TOKE_C) || defined(PERL_IN_UTF8_C) || defined(PERL_IN_PP_C)
+#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C)   \
+ || defined(PERL_IN_TOKE_C) || defined(PERL_IN_UTF8_C)         \
+ || defined(PERL_IN_PP_C) || defined(PERL_IN_OP_C)             \
+ || defined(PERL_IN_DOOP_C)
 EiRT   |UV*    |invlist_array  |NN SV* const invlist
 EiRT   |bool   |is_invlist     |NULLOK SV* const invlist
 EiRT   |bool*  |get_invlist_offset_addr|NN SV* invlist
@@ -2001,14 +1976,14 @@ EXp     |SV*    |_get_regclass_nonbitmap_data                              \
                                |NULLOK SV **lonly_utf8_locale             \
                                |NULLOK SV **output_invlist
 #endif
-#if defined(PERL_IN_REGCOMP_C) || defined (PERL_IN_DUMP_C)
+#if defined(PERL_IN_REGCOMP_C) || defined (PERL_IN_DUMP_C) || defined(PERL_IN_OP_C)
 EXp    |void   |_invlist_dump  |NN PerlIO *file|I32 level   \
                                |NN const char* const indent \
                                |NN SV* const invlist
 #endif
 Ap     |void   |taint_env
 Ap     |void   |taint_proper   |NULLOK const char* f|NN const char *const s
-E    |char * |_byte_dump_string                                      \
+EXp    |char * |_byte_dump_string                                      \
                                |NN const U8 * const start              \
                                |const STRLEN len                       \
                                |const bool format
@@ -2024,48 +1999,35 @@ SR      |char * |unexpected_non_continuation_text                       \
                |STRLEN print_len                                       \
                |const STRLEN non_cont_byte_pos                         \
                |const STRLEN expect_len
+#if 0  /* Not currently used, but may be needed in the future */
 S      |void   |warn_on_first_deprecated_use                               \
                                |NN const char * const name                 \
                                |NN const char * const alternative          \
                                |const bool use_locale                      \
                                |NN const char * const file                 \
                                |const unsigned line
-S      |U32    |check_and_deprecate                                        \
-                               |NN const U8 * p                            \
-                               |NN const U8 ** e                           \
-                               |const unsigned type                        \
-                               |const bool use_locale                      \
-                               |NN const char * const file                 \
-                               |const unsigned line
+#endif
 S      |UV     |_to_utf8_case  |const UV uv1                                   \
                                |NULLOK const U8 *p                             \
                                |NN U8* ustrp                                   \
                                |NN STRLEN *lenp                                \
                                |NN SV *invlist                                 \
-                               |NN const int * const invmap                    \
-                               |NULLOK const unsigned int * const * const aux_tables   \
+                               |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
-ApbMdD |UV     |to_utf8_lower  |NN const U8 *p|NN U8* ustrp|NULLOK STRLEN *lenp
 Cp     |UV     |_to_utf8_lower_flags|NN const U8 *p|NULLOK const U8* e         \
-                               |NN U8* ustrp|NULLOK STRLEN *lenp|bool flags    \
-                               |NN const char * const file|const int line
-ApbMdD |UV     |to_utf8_upper  |NN const U8 *p|NN U8* ustrp|NULLOK STRLEN *lenp
+                               |NN U8* ustrp|NULLOK STRLEN *lenp|bool flags
 Cp     |UV     |_to_utf8_upper_flags   |NN const U8 *p|NULLOK const U8 *e      \
-                               |NN U8* ustrp|NULLOK STRLEN *lenp|bool flags    \
-                               |NN const char * const file|const int line
-ApbMdD |UV     |to_utf8_title  |NN const U8 *p|NN U8* ustrp|NULLOK STRLEN *lenp
+                               |NN U8* ustrp|NULLOK STRLEN *lenp|bool flags
 Cp     |UV     |_to_utf8_title_flags   |NN const U8 *p|NULLOK const U8* e      \
-                               |NN U8* ustrp|NULLOK STRLEN *lenp|bool flags    \
-                               |NN const char * const file|const int line
-ApbMdD |UV     |to_utf8_fold   |NN const U8 *p|NN U8* ustrp|NULLOK STRLEN *lenp
+                               |NN U8* ustrp|NULLOK STRLEN *lenp|bool flags
 Cp     |UV     |_to_utf8_fold_flags|NN const U8 *p|NULLOK const U8 *e          \
-                               |NN U8* ustrp|NULLOK STRLEN *lenp|U8 flags  \
-                               |NN const char * const file|const int line
+                               |NN U8* ustrp|NULLOK STRLEN *lenp|U8 flags
 #if defined(PERL_IN_MG_C) || defined(PERL_IN_PP_C)
 pT     |bool   |translate_substr_offsets|STRLEN curlen|IV pos1_iv \
                                         |bool pos1_is_uv|IV len_iv \
@@ -2088,8 +2050,8 @@ p |void   |utilize        |int aver|I32 floor|NULLOK OP* version|NN OP* idop|NULLOK OP* a
 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
+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
@@ -2148,8 +2110,8 @@ Cdp       |U8*    |uvuni_to_utf8_flags    |NN U8 *d|UV uv|UV flags
 Apd    |char*  |pv_uni_display |NN SV *dsv|NN const U8 *spv|STRLEN len|STRLEN pvlim|UV flags
 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
@@ -2377,12 +2339,11 @@ 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
+SR     |Size_t |do_trans_simple        |NN SV * const sv|NN const OPtrans_map * const tbl
+SR     |Size_t |do_trans_count         |NN SV * const sv|NN const OPtrans_map * const tbl
+SR     |Size_t |do_trans_complex       |NN SV * const sv|NN const OPtrans_map * const tbl
+SR     |Size_t |do_trans_invmap        |NN SV * const sv|NN AV * const map
+SR     |Size_t |do_trans_count_invmap  |NN SV * const sv|NN AV * const map
 #endif
 
 #if defined(PERL_IN_GV_C)
@@ -2638,6 +2599,7 @@ ES        |void    |set_ANYOF_arg |NN RExC_state_t* const pRExC_state \
 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
@@ -2753,14 +2715,13 @@ ES      |I32    |make_trie      |NN RExC_state_t *pRExC_state \
                                |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                 \
+                                    |Size_t name_len                       \
                                     |const bool is_utf8                    \
                                     |const bool to_fold                    \
                                     |const bool runtime                    \
@@ -2793,6 +2754,7 @@ ES        |bool   |put_charclass_bitmap_innards|NN SV* sv             \
                                |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                     \
@@ -2824,8 +2786,8 @@ ESR       |bool   |regtail_study  |NN RExC_state_t *pRExC_state \
 EXRp   |bool   |isFOO_lc       |const U8 classnum|const U8 character
 #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_REGEXEC_C) || defined(PERL_IN_REGCOMP_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_REGEXEC_C)
@@ -3000,6 +2962,10 @@ EXpR     |SV*    |get_and_check_backslash_N_name|NN const char* s        \
                                |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 \
@@ -3074,8 +3040,13 @@ EdXxp    |bool   |validate_proto |NN SV *name|NULLOK SV *proto|bool warn \
                |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)
@@ -3162,14 +3133,8 @@ SR       |UV     |check_locale_boundary_crossing                             \
                |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
@@ -3192,7 +3157,7 @@ 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
 
@@ -3389,8 +3354,8 @@ XEopxR    |STRLEN *|new_warnings_bitfield|NULLOK STRLEN *buffer \
 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
@@ -3420,7 +3385,7 @@ ApTd      |Size_t |my_strlcpy     |NULLOK char *dst|NULLOK const char *src|Size_t siz
 #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
@@ -3431,7 +3396,7 @@ pTo       |int    |my_mkstemp     |NN char *templte
 #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
@@ -3500,10 +3465,6 @@ ATop     |void   |clone_params_del|NN CLONE_PARAMS *param
 : Used in perl.c and toke.c
 op     |void   |populate_isa   |NN const char *name|STRLEN len|...
 
-: Used in keywords.c and toke.c
-Xop    |bool   |feature_is_enabled|NN const char *const name \
-               |STRLEN namelen
-
 : Some static inline functions need predeclaration because they are used
 : inside other static inline functions.
 #if defined(PERL_CORE) || defined (PERL_EXT)
@@ -3517,6 +3478,7 @@ Apx       |void   |leave_adjust_stacks|NN SV **from_sp|NN SV **to_sp \
                 |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