This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Mark is_ascii_string() as requiring looking at return value
[perl5.git] / embed.fnc
index 8373e36..18e2757 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,17 +275,13 @@ 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
 #if defined(PERL_IMPLICIT_CONTEXT)
 Afnrp  |void   |croak_nocontext|NULLOK const char* pat|...
-:removing noreturn to silence a warning
-#ifdef _MSC_VER
-Afnp   |OP*    |die_nocontext  |NULLOK const char* pat|...
-#else
 Afnrp  |OP*    |die_nocontext  |NULLOK const char* pat|...
-#endif
 Afnp   |void   |deb_nocontext  |NN const char* pat|...
 Afnp   |char*  |form_nocontext |NN const char* pat|...
 Anp    |void   |load_module_nocontext|U32 flags|NN SV* name|NULLOK SV* ver|...
@@ -314,10 +310,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
-Ap     |SV *   |cv_name        |NN CV *cv|NULLOK SV *sv
+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
@@ -343,14 +338,8 @@ Anp        |char*  |delimcpy       |NN char* to|NN const char* toend|NN const char* from \
                                |NN const char* fromend|int delim|NN I32* retlen
 : Used in op.c, perl.c
 pM     |void   |delete_eval_scope
-:removing noreturn to silence a warning
-#ifdef _MSC_VER
-Apd    |OP*    |die_sv         |NN SV *baseex
-Afpd   |OP*    |die            |NULLOK const char* pat|...
-#else
 Aprd    |OP*    |die_sv         |NN SV *baseex
 Afrpd   |OP*    |die            |NULLOK const char* pat|...
-#endif
 : Used in util.c
 pr     |void   |die_unwind     |NN SV* msv
 Ap     |void   |dounwind       |I32 cxix
@@ -470,6 +459,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
@@ -535,6 +529,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
@@ -547,6 +542,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)
@@ -643,7 +639,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
@@ -701,7 +698,7 @@ ADMpPR      |bool   |is_uni_lower_lc|UV c
 ADMpPR |bool   |is_uni_print_lc|UV c
 ADMpPR |bool   |is_uni_punct_lc|UV c
 ADMpPR |bool   |is_uni_xdigit_lc|UV c
-Anpd   |bool   |is_ascii_string|NN const U8 *s|STRLEN len
+AnpdR  |bool   |is_ascii_string|NN const U8 *s|STRLEN len
 AnpdD  |STRLEN |is_utf8_char   |NN const U8 *s
 Abmnpd |STRLEN |is_utf8_char_buf|NN const U8 *buf|NN const U8 *buf_end
 Anpd   |bool   |is_utf8_string |NN const U8 *s|STRLEN len
@@ -829,6 +826,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
@@ -841,7 +839,8 @@ p   |int    |magic_nextpack |NN SV *sv|NN MAGIC *mg|NN SV *key
 p      |U32    |magic_regdata_cnt|NN SV* sv|NN MAGIC* mg
 p      |int    |magic_regdatum_get|NN SV* sv|NN MAGIC* mg
 :removing noreturn to silence a warning for this function resulted in no
-:change to the interpreter DLL image under VS 2003 -O1 -GL 32 bits
+:change to the interpreter DLL image under VS 2003 -O1 -GL 32 bits only because
+:this is used in a magic vtable, do not use this on conventionally called funcs
 #ifdef _MSC_VER
 p      |int    |magic_regdatum_set|NN SV* sv|NN MAGIC* mg
 #else
@@ -852,10 +851,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
@@ -976,9 +977,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
@@ -1007,6 +1009,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
@@ -1027,6 +1030,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
@@ -1035,6 +1040,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 \
@@ -1051,7 +1059,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
@@ -1202,8 +1210,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
@@ -1237,6 +1243,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
@@ -1305,14 +1312,6 @@ Apd      |NV     |scan_hex       |NN const char* start|STRLEN len|NN STRLEN* retlen
 Ap     |char*  |scan_num       |NN const char* s|NN YYSTYPE *lvalp
 Apd    |NV     |scan_oct       |NN const char* start|STRLEN len|NN STRLEN* retlen
 AMpd   |OP*    |op_scope       |NULLOK OP* o
-:removing noreturn to silence a warning
-#ifdef _MSC_VER
-Ap      |char*  |screaminstr    |NN SV *bigstr|NN SV *littlestr|I32 start_shift \
-                                |I32 end_shift|NN I32 *old_posp|I32 last
-#else
-Apr     |char*  |screaminstr    |NN SV *bigstr|NN SV *littlestr|I32 start_shift \
-                                |I32 end_shift|NN I32 *old_posp|I32 last
-#endif
 : Only used by perl.c/miniperl.c, but defined in caretx.c
 px     |void   |set_caret_X
 Apd    |void   |setdefout      |NN GV* gv
@@ -1733,7 +1732,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                               
@@ -1772,7 +1771,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
@@ -1862,10 +1861,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
@@ -1910,18 +1909,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
@@ -1931,16 +1927,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\
@@ -1991,7 +1985,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
@@ -2039,7 +2033,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
@@ -2081,11 +2075,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 \
@@ -2170,6 +2176,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 \
@@ -2328,7 +2336,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
@@ -2431,11 +2438,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 \
@@ -2487,6 +2501,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
@@ -2507,6 +2523,9 @@ s |void   |deb_stack_n    |NN SV** stack_base|I32 stack_min \
 
 : pad API
 Apda   |PADLIST*|pad_new       |int flags
+#ifdef DEBUGGING
+pnX    |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
@@ -2543,7 +2562,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)
@@ -2563,7 +2582,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 \
@@ -2642,6 +2661,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
@@ -2659,11 +2682,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
@@ -2673,6 +2694,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
@@ -2752,4 +2774,6 @@ Ei        |STRLEN |sv_or_pv_pos_u2b|NN SV *sv|NN const char *pv|STRLEN pos \
                                 |NULLOK STRLEN *lenp
 #endif
 
+EMpPX  |SV*    |_get_encoding
+
 : ex: set ts=8 sts=4 sw=4 noet: