This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Add warning message for locale/Unicode intermixing
[perl5.git] / embed.fnc
index 54c7f97..9f3539e 100644 (file)
--- a/embed.fnc
+++ b/embed.fnc
@@ -239,10 +239,10 @@ s |MAGIC* |get_aux_mg     |NN AV *av
 : Used in perly.y
 pR     |OP*    |bind_match     |I32 type|NN OP *left|NN OP *right
 : Used in perly.y
-pR     |OP*    |block_end      |I32 floor|NULLOK OP* seq
+ApdR   |OP*    |block_end      |I32 floor|NULLOK OP* seq
 ApR    |I32    |block_gimme
 : Used in perly.y
-pR     |int    |block_start    |int full
+ApdR   |int    |block_start    |int full
 Aodp   |void   |blockhook_register |NN BHK *hk
 : Used in perl.c
 p      |void   |boot_core_UNIVERSAL
@@ -263,7 +263,7 @@ ApR |I32    |my_chsize      |int fd|Off_t length
 p      |const COP*|closest_cop |NN const COP *cop|NULLOK const OP *o \
                                |NULLOK const OP *curop|bool opnext
 : Used in perly.y
-pR     |OP*    |convert        |I32 optype|I32 flags|NULLOK OP* o
+ApdR   |OP*    |op_convert_list        |I32 optype|I32 flags|NULLOK OP* o
 : Used in op.c and perl.c
 pM     |PERL_CONTEXT*  |create_eval_scope|U32 flags
 Aprd   |void   |croak_sv       |NN SV *baseex
@@ -275,6 +275,7 @@ Anprd       |void   |croak_xs_usage |NN const CV *const cv \
                                |NN const char *const params
 npr    |void   |croak_no_mem
 nprX   |void   |croak_popstack
+fnprx  |void   |noperl_die|NN const char* pat|...
 #if defined(WIN32)
 norx   |void   |win32_croak_not_implemented|NN const char * fname
 #endif
@@ -314,9 +315,9 @@ EMXp        |void   |cv_ckproto_len_flags   |NN const CV* cv|NULLOK const GV* gv\
 ApdR   |SV*    |gv_const_sv    |NN GV* gv
 ApdRn  |SV*    |cv_const_sv    |NULLOK const CV *const cv
 pRn    |SV*    |cv_const_sv_or_av|NULLOK const CV *const cv
-: Used in pad.c
-pR     |SV*    |op_const_sv    |NULLOK const OP* o|NULLOK CV* cv
+Apd    |SV *   |cv_name        |NN CV *cv|NULLOK SV *sv|U32 flags
 Apd    |void   |cv_undef       |NN CV* cv
+p      |void   |cv_undef_flags |NN CV* cv|U32 flags
 p      |void   |cv_forget_slab |NN CV *cv
 Ap     |void   |cx_dump        |NN PERL_CONTEXT* cx
 Ap     |SV*    |filter_add     |NULLOK filter_t funcp|NULLOK SV* datasv
@@ -469,6 +470,11 @@ p  |char*  |find_script    |NN const char *scriptname|bool dosearch \
 s      |OP*    |force_list     |NULLOK OP* arg|bool nullit
 i      |OP*    |op_integerize  |NN OP *o
 i      |OP*    |op_std_init    |NN OP *o
+#if defined(USE_ITHREADS)
+i      |void   |op_relocate_sv |NN SV** svp|NN PADOFFSET* targp
+#endif
+i      |OP*    |newMETHOP_internal     |I32 type|I32 flags|NULLOK OP* dynamic_meth \
+                                       |NULLOK SV* const_meth
 : FIXME
 s      |OP*    |fold_constants |NN OP *o
 #endif
@@ -534,6 +540,7 @@ Ap  |void   |gv_fullname4   |NN SV* sv|NN const GV* gv|NULLOK const char* prefix|bool
 : Used in scope.c
 pMox   |GP *   |newGP          |NN GV *const gv
 pX     |void   |cvgv_set       |NN CV* cv|NULLOK GV* gv
+poX    |GV *   |cvgv_from_hek  |NN CV* cv
 pX     |void   |cvstash_set    |NN CV* cv|NULLOK HV* stash
 Amd    |void   |gv_init        |NN GV* gv|NULLOK HV* stash \
                                 |NN const char* name|STRLEN len|int multi
@@ -546,6 +553,7 @@ Ap  |void   |gv_name_set    |NN GV* gv|NN const char *name|U32 len|U32 flags
 px     |GV *   |gv_override    |NN const char * const name \
                                |const STRLEN len
 XMpd   |void   |gv_try_downgrade|NN GV* gv
+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)
@@ -642,7 +650,8 @@ Ap  |void   |init_tm        |NN struct tm *ptm
 : Used in perly.y
 AnpPR  |char*  |instr          |NN const char* big|NN const char* little
 : Used in sv.c
-p      |bool   |io_close       |NN IO* io|bool not_implicit
+p      |bool   |io_close       |NN IO* io|NULLOK GV *gv \
+                               |bool not_implicit|bool warn_on_fail
 : Used in perly.y
 pR     |OP*    |invert         |NULLOK OP* cmd
 ApR    |I32    |is_lvalue_sub
@@ -828,6 +837,7 @@ p   |int    |magic_freeovrld|NN SV* sv|NN MAGIC* mg
 p      |int    |magic_get      |NN SV* sv|NN MAGIC* mg
 p      |int    |magic_getarylen|NN SV* sv|NN const MAGIC* mg
 p      |int    |magic_getdefelem|NN SV* sv|NN MAGIC* mg
+p      |int    |magic_getdebugvar|NN SV* sv|NN MAGIC* mg
 p      |int    |magic_getnkeys |NN SV* sv|NN MAGIC* mg
 p      |int    |magic_getpack  |NN SV* sv|NN MAGIC* mg
 p      |int    |magic_getpos   |NN SV* sv|NN MAGIC* mg
@@ -851,10 +861,12 @@ p |int    |magic_setarylen|NN SV* sv|NN MAGIC* mg
 p      |int    |magic_cleararylen_p|NN SV* sv|NN MAGIC* mg
 p      |int    |magic_freearylen_p|NN SV* sv|NN MAGIC* mg
 p      |int    |magic_setdbline|NN SV* sv|NN MAGIC* mg
+p      |int    |magic_setdebugvar|NN SV* sv|NN MAGIC* mg
 p      |int    |magic_setdefelem|NN SV* sv|NN MAGIC* mg
 p      |int    |magic_setenv   |NN SV* sv|NN MAGIC* mg
 dp     |int    |magic_sethint  |NN SV* sv|NN MAGIC* mg
 p      |int    |magic_setisa   |NN SV* sv|NN MAGIC* mg
+p      |int    |magic_setlvref |NN SV* sv|NN MAGIC* mg
 p      |int    |magic_setmglob |NN SV* sv|NN MAGIC* mg
 p      |int    |magic_setnkeys |NN SV* sv|NN MAGIC* mg
 p      |int    |magic_setpack  |NN SV* sv|NN MAGIC* mg
@@ -975,9 +987,10 @@ Abm        |CV*    |newSUB         |I32 floor|NULLOK OP* o|NULLOK OP* proto \
                                |NULLOK OP* block
 p      |CV *   |newXS_len_flags|NULLOK const char *name|STRLEN len \
                                |NN XSUBADDR_t subaddr\
-                               |NN const char *const filename \
+                               |NULLOK const char *const filename \
                                |NULLOK const char *const proto \
                                |NULLOK SV **const_svp|U32 flags
+pX     |CV *   |newXS_deffile  |NN const char *name|NN XSUBADDR_t subaddr
 ApM    |CV *   |newXS_flags    |NULLOK const char *name|NN XSUBADDR_t subaddr\
                                |NN const char *const filename \
                                |NULLOK const char *const proto|U32 flags
@@ -1006,6 +1019,7 @@ Apda      |SV*    |newRV_noinc    |NN SV *const sv
 Apda   |SV*    |newSV          |const STRLEN len
 Apa    |OP*    |newSVREF       |NN OP* o
 Apda   |OP*    |newSVOP        |I32 type|I32 flags|NN SV* sv
+ApdR   |OP*    |newDEFSVOP
 pa     |SV*    |newSVavdefelem |NN AV *av|SSize_t ix|bool extendible
 Apda   |SV*    |newSViv        |const IV i
 Apda   |SV*    |newSVuv        |const UV u
@@ -1026,6 +1040,8 @@ Apda      |OP*    |newWHENOP      |NULLOK OP* cond|NN OP* block
 Apda   |OP*    |newWHILEOP     |I32 flags|I32 debuggable|NULLOK LOOP* loop \
                                |NULLOK OP* expr|NULLOK OP* block|NULLOK OP* cont \
                                |I32 has_my
+Apda   |OP*    |newMETHOP      |I32 type|I32 flags|NN OP* dynamic_meth
+Apda   |OP*    |newMETHOP_named|I32 type|I32 flags|NN SV* const_meth
 Apd    |CV*    |rv2cv_op_cv    |NN OP *cvop|U32 flags
 Apd    |OP*    |ck_entersub_args_list|NN OP *entersubop
 Apd    |OP*    |ck_entersub_args_proto|NN OP *entersubop|NN GV *namegv|NN SV *protosv
@@ -1034,6 +1050,9 @@ po        |OP*    |ck_entersub_args_core|NN OP *entersubop|NN GV *namegv \
                                      |NN SV *protosv
 Apd    |void   |cv_get_call_checker|NN CV *cv|NN Perl_call_checker *ckfun_p|NN SV **ckobj_p
 Apd    |void   |cv_set_call_checker|NN CV *cv|NN Perl_call_checker ckfun|NN SV *ckobj
+Apd    |void   |cv_set_call_checker_flags|NN CV *cv \
+                                         |NN Perl_call_checker ckfun \
+                                         |NN SV *ckobj|U32 flags
 Apd    |void   |wrap_op_checker|Optype opcode|NN Perl_check_t new_checker|NN Perl_check_t *old_checker_p
 Apa    |PERL_SI*|new_stackinfo|I32 stitems|I32 cxitems
 Ap     |char*  |scan_vstring   |NN const char *s|NN const char *const e \
@@ -1050,7 +1069,7 @@ Apd       |SV*    |vnormal        |NN SV *vs
 Apd    |SV*    |vstringify     |NN SV *vs
 Apd    |int    |vcmp           |NN SV *lhv|NN SV *rhv
 : Used in pp_hot.c and pp_sys.c
-p      |PerlIO*|nextargv       |NN GV* gv
+p      |PerlIO*|nextargv       |NN GV* gv|bool nomagicopen
 AnpP   |char*  |ninstr         |NN const char* big|NN const char* bigend \
                                |NN const char* little|NN const char* lend
 Apd    |void   |op_free        |NULLOK OP* arg
@@ -1201,8 +1220,6 @@ EXp       |I32|reg_numbered_buff_length|NN REGEXP * const rx|NN const SV * const sv|co
 : FIXME - is anything in re using this now?
 EXp    |SV*|reg_qr_package|NN REGEXP * const rx
 
-: FIXME - why the E?
-Ep     |void   |regprop        |NULLOK const regexp *prog|NN SV* sv|NN const regnode* o|NULLOK const regmatch_info *reginfo
 Anp    |void   |repeatcpy      |NN char* to|NN const char* from|I32 len|IV count
 AnpP   |char*  |rninstr        |NN const char* big|NN const char* bigend \
                                |NN const char* little|NN const char* lend
@@ -1236,6 +1253,7 @@ Ap        |void   |savestack_grow_cnt     |I32 need
 Amp    |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
+p      |void   |save_aliased_sv|NN GV* gv
 Ap     |I32    |save_alloc     |I32 size|I32 pad
 Ap     |void   |save_aptr      |NN AV** aptr
 Ap     |AV*    |save_ary       |NN GV* gv
@@ -1732,7 +1750,7 @@ Apdbm     |void   |sv_usepvn_mg   |NN SV *sv|NULLOK char *ptr|STRLEN len
 ApR    |MGVTBL*|get_vtbl       |int vtbl_id
 Apd    |char*  |pv_display     |NN SV *dsv|NN const char *pv|STRLEN cur|STRLEN len \
                                |STRLEN pvlim
-Apd    |char*  |pv_escape      |NN SV *dsv|NN char const * const str\
+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                               
@@ -1771,7 +1789,7 @@ Apd       |void   |sv_utf8_encode |NN SV *const sv
 ApdM   |bool   |sv_utf8_decode |NN SV *const sv
 Apdmb  |void   |sv_force_normal|NN SV *sv
 Apd    |void   |sv_force_normal_flags|NN SV *const sv|const U32 flags
-Ap     |void   |tmps_grow      |SSize_t n
+pX     |SSize_t|tmps_grow_p    |SSize_t ix
 Apd    |SV*    |sv_rvweaken    |NN SV *const sv
 : This is indirectly referenced by globals.c. This is somewhat annoying.
 p      |int    |magic_killbackrefs|NN SV *sv|NN MAGIC *mg
@@ -1861,10 +1879,10 @@ s  |bool|parse_gv_stash_name|NN HV **stash|NN GV **gv \
                      |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 \
-                     |svtype sv_type
+                     |const svtype sv_type
 s  |bool|gv_magicalize|NN GV *gv|NN HV *stash|NN const char *name \
                      |STRLEN len|bool addmg \
-                     |svtype sv_type
+                     |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
@@ -1909,18 +1927,15 @@ s       |void   |fixup_errno_string|NN SV* sv
 
 #if defined(PERL_IN_OP_C)
 sRn    |bool   |is_handle_constructor|NN const OP *o|I32 numargs
-sR     |I32    |is_list_assignment|NULLOK const OP *o
+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*    |newDEFSVOP
 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
-s      |void   |null_listop_in_list_context |NN OP* o
-s      |SV*    |gv_ename       |NN GV *gv
 sRn    |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
@@ -1930,16 +1945,14 @@ s       |void   |bad_type_pv    |I32 n|NN const char *t|NN const char *name|U32 flags|NN co
 s      |void   |bad_type_gv    |I32 n|NN const char *t|NN GV *gv|U32 flags|NN const OP *kid
 s      |void   |no_bareword_allowed|NN OP *o
 sR     |OP*    |no_fh_allowed|NN OP *o
-sR     |OP*    |too_few_arguments_sv|NN OP *o|NN SV* namesv|U32 flags
 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
-sR     |OP*    |too_many_arguments_sv|NN OP *o|NN SV* namesv|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      |void   |process_special_blocks |I32 floor \
+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\
@@ -1990,7 +2003,7 @@ s |SV *   |incpush_if_exists|NN AV *const av|NN SV *dir|NN SV *const stem
 #endif
 
 #if defined(PERL_IN_PP_C)
-s      |void   |do_chomp       |NN SV *retval|NN SV *sv|bool chomping
+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
@@ -2038,7 +2051,7 @@ sR        |PerlIO *|check_type_and_open|NN SV *name
 #ifndef PERL_DISABLE_PMC
 sR     |PerlIO *|doopen_pm     |NN SV *name
 #endif
-s      |SV **  |adjust_stack_on_leave|NN SV **newsp|NN SV **sp|NN SV **mark|I32 gimme \
+s      |SV **  |leave_common   |NN SV **newsp|NN SV **sp|NN SV **mark|I32 gimme \
                                      |U32 flags|bool lvalue
 iRn    |bool   |path_is_searchable|NN const char *name
 sR     |I32    |run_user_filter|int idx|NN SV *buf_sv|int maxlen
@@ -2080,11 +2093,23 @@ 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
+#endif
 #if defined(PERL_IN_REGCOMP_C)
 Es     |regnode*|reg           |NN RExC_state_t *pRExC_state \
                                |I32 paren|NN I32 *flagp|U32 depth
+Es     |regnode*|regnode_guts  |NN RExC_state_t *pRExC_state              \
+                               |const U8 op                               \
+                               |const STRLEN extra_len                    \
+                               |NN const char* const name
 Es     |regnode*|reganode      |NN RExC_state_t *pRExC_state|U8 op \
                                |U32 arg
+Es     |regnode*|reg2Lanode    |NN RExC_state_t *pRExC_state              \
+                               |const U8 op                               \
+                               |const U32 arg1                            \
+                               |const I32 arg2
 Es     |regnode*|regatom       |NN RExC_state_t *pRExC_state \
                                |NN I32 *flagp|U32 depth
 Es     |regnode*|regbranch     |NN RExC_state_t *pRExC_state \
@@ -2098,6 +2123,9 @@ Es        |void    |set_ANYOF_arg |NN RExC_state_t* const pRExC_state \
                                |NULLOK SV* const only_utf8_locale_list    \
                                |NULLOK SV* const swash                    \
                                |const bool has_user_defined_property
+Es     |AV*     |add_multi_match|NULLOK AV* multi_char_matches             \
+                               |NN SV* multi_string                        \
+                               |const STRLEN cp_count
 Es     |regnode*|regclass      |NN RExC_state_t *pRExC_state \
                                |NN I32 *flagp|U32 depth|const bool stop_at_1 \
                                |bool allow_multi_fold                        \
@@ -2115,10 +2143,10 @@ Es      |regnode*|reg_node      |NN RExC_state_t *pRExC_state|U8 op
 Es     |UV     |reg_recode     |const char value|NN SV **encp
 Es     |regnode*|regpiece      |NN RExC_state_t *pRExC_state \
                                |NN I32 *flagp|U32 depth
-Es     |bool   |grok_bslash_N  |NN RExC_state_t *pRExC_state        \
+Es     |STRLEN |grok_bslash_N  |NN RExC_state_t *pRExC_state               \
                                |NULLOK regnode** nodep|NULLOK UV *valuep   \
-                               |NN I32 *flagp|U32 depth|bool in_char_class \
-                               |const bool strict
+                               |NN I32 *flagp|U32 depth                    \
+                               |NULLOK SV** substitute_parse
 Es     |void   |reginsert      |NN RExC_state_t *pRExC_state \
                                |U8 op|NN regnode *opnd|U32 depth
 Es     |void   |regtail        |NN RExC_state_t *pRExC_state \
@@ -2166,6 +2194,8 @@ Ei        |void   |ssc_add_range  |NN regnode_ssc *ssc \
 Ei     |void   |ssc_cp_and     |NN regnode_ssc *ssc \
                                |UV const cp
 Ein    |void   |ssc_clear_locale|NN regnode_ssc *ssc
+Ens    |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 \
@@ -2194,6 +2224,7 @@ Es        |const regnode*|dumpuntil|NN const regexp *r|NN const regnode *start \
                                |NULLOK const regnode *last \
                                |NULLOK const regnode *plast \
                                |NN SV* sv|I32 indent|U32 depth
+EnPs   |const char *|cntrl_to_mnemonic|const U8 c
 Es     |void   |put_code_point |NN SV* sv|UV c
 Es     |bool   |put_charclass_bitmap_innards|NN SV* sv     \
                                |NN char* bitmap            \
@@ -2323,7 +2354,6 @@ s |SV *   |more_sv
 s      |bool   |sv_2iuv_common |NN SV *const sv
 s      |void   |glob_assign_glob|NN SV *const dstr|NN SV *const sstr \
                |const int dtype
-s      |void   |glob_assign_ref|NN SV *const dstr|NN SV *const sstr
 sRn    |PTR_TBL_ENT_t *|ptr_table_find|NN PTR_TBL_t *const tbl|NULLOK const void *const sv
 s      |void   |anonymise_cv_maybe     |NN GV *gv|NN CV *cv
 #endif
@@ -2426,11 +2456,18 @@ sn      |void   |mem_log_common |enum mem_log_type mlt|const UV n|const UV typesize \
 #endif
 
 #if defined(PERL_IN_NUMERIC_C)
+#ifndef USE_QUADMATH
 sn     |NV|mulexp10    |NV value|I32 exponent
 #endif
+#endif
 
 #if defined(PERL_IN_UTF8_C)
-sRM    |UV     |check_locale_boundary_crossing|NN const U8* const p|const UV result|NN U8* const ustrp|NN STRLEN *lenp
+sRM    |UV     |check_locale_boundary_crossing                             \
+               |NN const char * const func_name                            \
+               |NN const U8* const p                                       \
+               |const UV result                                            \
+               |NN U8* const ustrp                                         \
+               |NN STRLEN *lenp
 iR     |bool   |is_utf8_common |NN const U8 *const p|NN SV **swash|NN const char * const swashname|NULLOK SV* const invlist
 sR     |SV*    |swatch_get     |NN SV* swash|UV start|UV span
 sRM    |U8*    |swash_scan_list_line|NN U8* l|NN U8* const lend|NN UV* min \
@@ -2482,6 +2519,8 @@ Ap        |SSize_t|PerlIO_unread          |NULLOK PerlIO *f|NN const void *vbuf \
                                        |Size_t count
 Ap     |Off_t  |PerlIO_tell            |NULLOK PerlIO *f
 Ap     |int    |PerlIO_seek            |NULLOK PerlIO *f|Off_t offset|int whence
+Xp     |void   |PerlIO_save_errno      |NULLOK PerlIO *f
+Xp     |void   |PerlIO_restore_errno   |NULLOK PerlIO *f
 
 Ap     |STDCHAR *|PerlIO_get_base      |NULLOK PerlIO *f
 Ap     |STDCHAR *|PerlIO_get_ptr       |NULLOK PerlIO *f
@@ -2502,6 +2541,9 @@ s |void   |deb_stack_n    |NN SV** stack_base|I32 stack_min \
 
 : pad API
 Apda   |PADLIST*|pad_new       |int flags
+#ifdef DEBUGGING
+pX     |void|set_padlist| NN CV * cv | NULLOK PADLIST * padlist
+#endif
 #if defined(PERL_IN_PAD_C)
 s      |PADOFFSET|pad_alloc_name|NN SV *namesv|U32 flags \
                                |NULLOK HV *typestash|NULLOK HV *ourstash
@@ -2538,7 +2580,7 @@ Apd       |SV*    |pad_sv         |PADOFFSET po
 Apd    |void   |pad_setsv      |PADOFFSET po|NN SV* sv
 #endif
 pd     |void   |pad_block_start|int full
-pd     |U32    |intro_my
+Apd    |U32    |intro_my
 pd     |OP *   |pad_leavemy
 pd     |void   |pad_swipe      |PADOFFSET po|bool refadjust
 #if defined(PERL_IN_PAD_C)
@@ -2558,7 +2600,7 @@ pd        |void   |pad_fixup_inner_anons|NN PADLIST *padlist|NN CV *old_cv|NN CV *new_cv
 pdX    |void   |pad_push       |NN PADLIST *padlist|int depth
 ApdR   |HV*    |pad_compname_type|const PADOFFSET po
 #if defined(USE_ITHREADS)
-pdR    |PADLIST *|padlist_dup  |NULLOK PADLIST *srcpad \
+pdR    |PADLIST *|padlist_dup  |NN PADLIST *srcpad \
                                |NN CLONE_PARAMS *param
 #endif
 p      |PAD ** |padlist_store  |NN PADLIST *padlist|I32 key \
@@ -2637,6 +2679,10 @@ Apnod    |int    |my_sprintf     |NN char *buffer|NN const char *pat|...
 
 Apnodf |int    |my_snprintf    |NN char *buffer|const Size_t len|NN const char *format|...
 Apnod  |int    |my_vsnprintf   |NN char *buffer|const Size_t len|NN const char *format|va_list ap
+#ifdef USE_QUADMATH
+Apnd   |const char*    |quadmath_format_single|NN const char* format
+Apnd   |bool|quadmath_format_needed|NN const char* format
+#endif
 
 : Used in mg.c, sv.c
 px     |void   |my_clearenv
@@ -2654,11 +2700,9 @@ Apo      |void*  |my_cxt_init    |NN int *index|size_t size
 : XS_VERSION_BOOTCHECK
 Xpo    |void   |xs_version_bootcheck|U32 items|U32 ax|NN const char *xs_p \
                                |STRLEN xs_len
-: This function is an implementation detail. The public API for this is
-: XS_APIVERSION_BOOTCHECK
-Xpo    |void   |xs_apiversion_bootcheck|NN SV *module|NN const char *api_p \
-                               |STRLEN api_len
-
+Xpon   |I32    |xs_handshake   |const U32 key|NN void * v_my_perl\
+                               |NN const char * file| ...
+Xp     |void   |xs_boot_epilog |const U32 ax
 #ifndef HAS_STRLCAT
 Apnod  |Size_t |my_strlcat     |NULLOK char *dst|NULLOK const char *src|Size_t size
 #endif
@@ -2668,6 +2712,7 @@ Apnod     |Size_t |my_strlcpy     |NULLOK char *dst|NULLOK const char *src|Size_
 #endif
 
 Apdn   |bool   |isinfnan       |NV nv
+p      |bool   |isinfnansv     |NN SV *sv
 
 #if !defined(HAS_SIGNBIT)
 AMdnoP |int    |Perl_signbit   |NV f