This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Inline op.c:too_many_arguments_sv into its only caller
[perl5.git] / embed.fnc
index 83e80cc..97c3dd9 100644 (file)
--- a/embed.fnc
+++ b/embed.fnc
@@ -71,7 +71,7 @@
 :
 :   m  Implemented as a macro:
 :
-:         suppress proto.h entry
+:         suppress proto.h entry (actually, not suppressed, but commented out)
 :         suppress entry in the list of exported symbols
 :         suppress embed.h entry
 :
@@ -253,10 +253,10 @@ Apd       |const PERL_CONTEXT *   |caller_cx|I32 level \
                                |NULLOK const PERL_CONTEXT **dbcxp
 : Used in several source files
 pR     |bool   |cando          |Mode_t mode|bool effective|NN const Stat_t* statbufp
-ApR    |U32    |cast_ulong     |NV f
-ApR    |I32    |cast_i32       |NV f
-ApR    |IV     |cast_iv        |NV f
-ApR    |UV     |cast_uv        |NV f
+ApRn   |U32    |cast_ulong     |NV f
+ApRn   |I32    |cast_i32       |NV f
+ApRn   |IV     |cast_iv        |NV f
+ApRn   |UV     |cast_uv        |NV f
 #if !defined(HAS_TRUNCATE) && !defined(HAS_CHSIZE) && defined(F_FREESP)
 ApR    |I32    |my_chsize      |int fd|Off_t length
 #endif
@@ -280,7 +280,12 @@ norx       |void   |win32_croak_not_implemented|NN const char * fname
 #endif
 #if defined(PERL_IMPLICIT_CONTEXT)
 Afnrp  |void   |croak_nocontext|NULLOK const char* pat|...
-Afnp   |OP*    |die_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|...
@@ -307,10 +312,11 @@ EMXp      |void   |cv_ckproto_len_flags   |NN const CV* cv|NULLOK const GV* gv\
                                 |const U32 flags
 : Used in pp.c and pp_sys.c
 ApdR   |SV*    |gv_const_sv    |NN GV* gv
-ApdR   |SV*    |cv_const_sv    |NULLOK const CV *const cv
-pR     |SV*    |cv_const_sv_or_av|NULLOK const CV *const cv
+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
+pR     |SV*    |op_const_sv    |NULLOK const OP* o|NULLOK CV* cv
+Ap     |SV *   |cv_name        |NN CV *cv|NULLOK SV *sv
 Apd    |void   |cv_undef       |NN CV* cv
 p      |void   |cv_forget_slab |NN CV *cv
 Ap     |void   |cx_dump        |NN PERL_CONTEXT* cx
@@ -337,8 +343,14 @@ 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
-Apd    |OP*    |die_sv         |NN SV *baseex
-Afpd   |OP*    |die            |NULLOK const char* pat|...
+: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
@@ -394,10 +406,25 @@ Apmb      |bool   |do_open        |NN GV* gv|NN const char* name|I32 len|int as_raw \
 Ap     |bool   |do_open9       |NN GV *gv|NN const char *name|I32 len|int as_raw \
                                |int rawmode|int rawperm|NULLOK PerlIO *supplied_fp \
                                |NN SV *svs|I32 num
+#if defined(PERL_IN_DOIO_C)
+s      |IO *   |openn_setup    |NN GV *gv|NN char *mode|NN PerlIO **saveifp \
+                               |NN PerlIO **saveofp|NN int *savefd \
+                                |NN char *savetype
+s      |bool   |openn_cleanup  |NN GV *gv|NN IO *io|NULLOK PerlIO *fp \
+                               |NN char *mode|NN const char *oname \
+                                |NULLOK PerlIO *saveifp|NULLOK PerlIO *saveofp \
+                                |int savefd|char savetype|int writing \
+                                |bool was_fdopen|NULLOK const char *type
+#endif
 Ap     |bool   |do_openn       |NN GV *gv|NN const char *oname|I32 len \
                                |int as_raw|int rawmode|int rawperm \
                                |NULLOK PerlIO *supplied_fp|NULLOK SV **svp \
                                |I32 num
+Mp     |bool   |do_open_raw    |NN GV *gv|NN const char *oname|STRLEN len \
+                               |int rawmode|int rawperm
+Mp     |bool   |do_open6       |NN GV *gv|NN const char *oname|STRLEN len \
+                               |NULLOK PerlIO *supplied_fp|NULLOK SV **svp \
+                               |U32 num
 : Used in pp_hot.c and pp_sys.c
 p      |bool   |do_print       |NULLOK SV* sv|NN PerlIO* fp
 : Used in pp_sys.c
@@ -440,7 +467,7 @@ pR  |OP *   |parse_subsignature
 p      |char*  |find_script    |NN const char *scriptname|bool dosearch \
                                |NULLOK const char *const *const search_ext|I32 flags
 #if defined(PERL_IN_OP_C)
-s      |OP*    |force_list     |NULLOK OP* arg
+s      |OP*    |force_list     |NULLOK OP* arg|bool nullit
 i      |OP*    |op_integerize  |NN OP *o
 i      |OP*    |op_std_init    |NN OP *o
 : FIXME
@@ -508,6 +535,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
@@ -522,6 +550,10 @@ px |GV *   |gv_override    |NN const char * const name \
 XMpd   |void   |gv_try_downgrade|NN GV* gv
 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)
+i      |HV*    |gv_stashpvn_internal|NN const char* name|U32 namelen|I32 flags
+i      |HV*    |gv_stashsvpvn_cached|NULLOK SV *namesv|NULLOK const char* name|U32 namelen|I32 flags
+#endif
 Apd    |HV*    |gv_stashsv     |NN SV* sv|I32 flags
 Apd    |void   |hv_clear       |NULLOK HV *hv
 : used in SAVEHINTS() and op.c
@@ -618,6 +650,7 @@ pR  |OP*    |invert         |NULLOK OP* cmd
 ApR    |I32    |is_lvalue_sub
 : Used in cop.h
 XopR   |I32    |was_lvalue_sub
+AiMRn  |STRLEN |_is_utf8_char_slow|NN const U8 *s|NN const U8 *e
 ADMpPR |U32    |to_uni_upper_lc|U32 c
 ADMpPR |U32    |to_uni_title_lc|U32 c
 ADMpPR |U32    |to_uni_lower_lc|U32 c
@@ -638,10 +671,10 @@ ADMpPR    |bool   |is_uni_punct   |UV c
 ADMpPR |bool   |is_uni_xdigit  |UV c
 AMp    |UV     |to_uni_upper   |UV c|NN U8 *p|NN STRLEN *lenp
 AMp    |UV     |to_uni_title   |UV c|NN U8 *p|NN STRLEN *lenp
-iDMPR  |bool   |isIDFIRST_lazy |NN const char* p
-iDMPR  |bool   |isALNUM_lazy   |NN const char* p
+ADMpPR |bool   |isIDFIRST_lazy |NN const char* p
+ADMpPR |bool   |isALNUM_lazy   |NN const char* p
 #ifdef PERL_IN_UTF8_C
-s    |U8     |to_lower_latin1|const U8 c|NULLOK U8 *p|NULLOK STRLEN *lenp
+snR    |U8     |to_lower_latin1|const U8 c|NULLOK U8 *p|NULLOK STRLEN *lenp
 #endif
 #if defined(PERL_IN_UTF8_C) || defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C)
 EXp        |UV        |_to_fold_latin1|const U8 c|NN U8 *p|NN STRLEN *lenp|const unsigned int flags
@@ -671,7 +704,7 @@ 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
 AnpdD  |STRLEN |is_utf8_char   |NN const U8 *s
-Anpd   |STRLEN |is_utf8_char_buf|NN const U8 *buf|NN const U8 *buf_end
+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
 Anpdmb |bool   |is_utf8_string_loc|NN const U8 *s|STRLEN len|NULLOK const U8 **ep
 Anpd   |bool   |is_utf8_string_loclen|NN const U8 *s|STRLEN len|NULLOK const U8 **ep|NULLOK STRLEN *el
@@ -681,6 +714,10 @@ ADMpR      |bool   |is_utf8_alnum  |NN const U8 *p
 ADMpR  |bool   |is_utf8_alnumc |NN const U8 *p
 ADMpR  |bool   |is_utf8_idfirst|NN const U8 *p
 ADMpR  |bool   |is_utf8_xidfirst|NN const U8 *p
+AMpR   |bool   |_is_utf8_idcont|NN const U8 *p
+AMpR   |bool   |_is_utf8_idstart|NN const U8 *p
+AMpR   |bool   |_is_utf8_xidcont|NN const U8 *p
+AMpR   |bool   |_is_utf8_xidstart|NN const U8 *p
 AMpR   |bool   |_is_utf8_perl_idcont|NN const U8 *p
 AMpR   |bool   |_is_utf8_perl_idstart|NN const U8 *p
 ADMpR  |bool   |is_utf8_idcont |NN const U8 *p
@@ -740,6 +777,9 @@ Apd |void   |op_null        |NN OP* o
 EXp    |void   |op_clear       |NN OP* o
 Ap     |void   |op_refcnt_lock
 Ap     |void   |op_refcnt_unlock
+Apdn   |OP*    |op_sibling_splice|NN OP *parent|NULLOK OP *start \
+               |int del_count|NULLOK OP* insert
+Apdn   |OP*    |op_parent|NN OP *o
 #if defined(PERL_IN_OP_C)
 s      |OP*    |listkids       |NULLOK OP* o
 #endif
@@ -769,9 +809,12 @@ EMsPR      |char*|form_short_octal_warning|NN const char * const s  \
                                |const STRLEN len
 #endif
 Apd    |UV     |grok_hex       |NN const char* start|NN STRLEN* len_p|NN I32* flags|NULLOK NV *result
+Apdn   |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
+Apdn   |UV     |grok_atou      |NN const char* pv|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_clear_all_env|NN SV* sv|NN MAGIC* mg
@@ -831,7 +874,7 @@ p   |int    |magic_wipepack |NN SV* sv|NN MAGIC* mg
 pod    |SV*    |magic_methcall |NN SV *sv|NN const MAGIC *mg \
                                |NN SV *meth|U32 flags \
                                |U32 argc|...
-Ap     |void   |markstack_grow
+Ap     |I32 *  |markstack_grow
 #if defined(USE_LOCALE_COLLATE)
 p      |int    |magic_setcollxfrm|NN SV* sv|NN MAGIC* mg
 : Defined in locale.c, used only in sv.c
@@ -850,18 +893,18 @@ Apd       |int    |mg_copy        |NN SV *sv|NN SV *nsv|NULLOK const char *key \
                                |I32 klen
 : Defined in mg.c, used only in scope.c
 pd     |void   |mg_localize    |NN SV* sv|NN SV* nsv|bool setmagic
-ApdR   |MAGIC* |mg_find        |NULLOK const SV* sv|int type
-ApdR   |MAGIC* |mg_findext     |NULLOK const SV* sv|int type|NULLOK const MGVTBL *vtbl
+ApdRn  |MAGIC* |mg_find        |NULLOK const SV* sv|int type
+ApdRn  |MAGIC* |mg_findext     |NULLOK const SV* sv|int type|NULLOK const MGVTBL *vtbl
 : exported for re.pm
 EXpR   |MAGIC* |mg_find_mglob  |NN SV* sv
 Apd    |int    |mg_free        |NN SV* sv
 Apd    |void   |mg_free_type   |NN SV* sv|int how
 Apd    |int    |mg_get         |NN SV* sv
 ApdD   |U32    |mg_length      |NN SV* sv
-Apd    |void   |mg_magical     |NN SV* sv
+Apdn   |void   |mg_magical     |NN SV* sv
 Apd    |int    |mg_set         |NN SV* sv
 Ap     |I32    |mg_size        |NN SV* sv
-Ap     |void   |mini_mktime    |NN struct tm *ptm
+Apn    |void   |mini_mktime    |NN struct tm *ptm
 AMmd   |OP*    |op_lvalue      |NULLOK OP* o|I32 type
 poX    |OP*    |op_lvalue_flags|NULLOK OP* o|I32 type|U32 flags
 p      |void   |finalize_optree                |NN OP* o
@@ -918,11 +961,7 @@ Apd        |CV*    |newCONSTSUB    |NULLOK HV* stash|NULLOK const char* name|NULLOK SV* sv
 Apd    |CV*    |newCONSTSUB_flags|NULLOK HV* stash \
                                  |NULLOK const char* name|STRLEN len \
                                  |U32 flags|NULLOK SV* sv
-#ifdef PERL_MAD
-Ap     |OP*    |newFORM        |I32 floor|NULLOK OP* o|NULLOK OP* block
-#else
 Ap     |void   |newFORM        |I32 floor|NULLOK OP* o|NULLOK OP* block
-#endif
 Apda   |OP*    |newFOROP       |I32 flags|NULLOK OP* sv|NN OP* expr|NULLOK OP* block|NULLOK OP* cont
 Apda   |OP*    |newGIVENOP     |NN OP* cond|NN OP* block|PADOFFSET defsv_off
 Apda   |OP*    |newLOGOP       |I32 optype|I32 flags|NN OP *first|NN OP *other
@@ -997,6 +1036,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 \
@@ -1024,11 +1066,7 @@ p        |void   |opslab_free_nopad|NN OPSLAB *slab
 p      |void   |opslab_force_free|NN OPSLAB *slab
 #endif
 : Used in perly.y
-#ifdef PERL_MAD
-p      |OP*    |package        |NN OP* o
-#else
 p      |void   |package        |NN OP* o
-#endif
 : Used in perly.y
 p      |void   |package_version|NN OP* v
 : Used in toke.c and perly.y
@@ -1076,12 +1114,15 @@ AmPM    |char*  |my_setlocale   |int category|NULLOK const char* locale
 #endif
 ApOM   |int    |init_i18nl10n  |int printwarn
 ApOM   |int    |init_i18nl14n  |int printwarn
+ApM    |char*  |my_strerror    |const int errnum
 ApOM   |void   |new_collate    |NULLOK const char* newcoll
 ApOM   |void   |new_ctype      |NN const char* newctype
 ApOM   |void   |new_numeric    |NULLOK const char* newcoll
 Ap     |void   |set_numeric_local
 Ap     |void   |set_numeric_radix
 Ap     |void   |set_numeric_standard
+ApM    |bool   |_is_in_locale_category|const bool compiling|const int category
+Apd    |void   |sync_locale
 ApdO   |void   |require_pv     |NN const char* pv
 Apd    |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
@@ -1137,8 +1178,7 @@ Ap        |char*  |re_intuit_start|NN REGEXP * const rx \
                                |NULLOK re_scream_pos_data *data
 Ap     |SV*    |re_intuit_string|NN REGEXP  *const r
 #if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_TOKE_C)
-EiPR   |I32    |regcurly       |NN const char *s                   \
-                               |const bool rbrace_must_be_escaped
+EiPRn  |I32    |regcurly       |NN const char *s
 #endif
 Ap     |I32    |regexec_flags  |NN REGEXP *const rx|NN char *stringarg \
                                |NN char *strend|NN char *strbeg \
@@ -1269,8 +1309,14 @@ 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
-Ap     |char*  |screaminstr    |NN SV *bigstr|NN SV *littlestr|I32 start_shift \
-                               |I32 end_shift|NN I32 *old_posp|I32 last
+: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
@@ -1319,7 +1365,7 @@ Apd       |I32    |sv_true        |NULLOK SV *const sv
 sd     |void   |sv_add_arena   |NN char *const ptr|const U32 size \
                                |const U32 flags
 #endif
-Apd    |int    |sv_backoff     |NN SV *const sv
+Apdn   |int    |sv_backoff     |NN SV *const sv
 Apd    |SV*    |sv_bless       |NN SV *const sv|NN HV *const stash
 #if defined(PERL_DEBUG_READONLY_COW)
 p      |void   |sv_buf_to_ro   |NN SV *sv
@@ -1460,22 +1506,22 @@ Ap      |UV     |swash_fetch    |NN SV *swash|NN const U8 *ptr|bool do_utf8
 #ifdef PERL_IN_REGCOMP_C
 EiMR   |SV*    |add_cp_to_invlist      |NULLOK SV* invlist|const UV cp
 EsM    |void   |_append_range_to_invlist   |NN SV* const invlist|const UV start|const UV end
-EiMR   |UV*    |_invlist_array_init    |NN SV* const invlist|const bool will_have_0
-EiMR   |UV*    |invlist_array  |NN SV* const invlist
+EiMRn  |UV*    |_invlist_array_init    |NN SV* const invlist|const bool will_have_0
+EiMRn  |UV*    |invlist_array  |NN SV* const invlist
 EsM    |void   |invlist_extend    |NN SV* const invlist|const UV len
-EiMR   |UV     |invlist_max    |NN SV* const invlist
+EiMRn  |UV     |invlist_max    |NN SV* const invlist
 EiM    |void   |invlist_set_len|NN SV* const invlist|const UV len|const bool offset
-EiMR   |IV*    |get_invlist_previous_index_addr|NN SV* invlist
-EiMR   |IV     |invlist_previous_index|NN SV* const invlist
-EiM    |void   |invlist_set_previous_index|NN SV* const invlist|const IV index
-EiM    |void   |invlist_trim   |NN SV* const invlist
+EiMRn  |IV*    |get_invlist_previous_index_addr|NN SV* invlist
+EiMRn  |IV     |invlist_previous_index|NN SV* const invlist
+EiMn   |void   |invlist_set_previous_index|NN SV* const invlist|const IV index
+EiMn   |void   |invlist_trim   |NN SV* const invlist
 EiMR   |SV*    |invlist_clone  |NN SV* const invlist
-EiMR   |bool   |invlist_is_iterating|NN SV* const invlist
-EiMR   |STRLEN*|get_invlist_iter_addr  |NN SV* invlist
-EiM    |void   |invlist_iterinit|NN SV* invlist
-EsMR   |bool   |invlist_iternext|NN SV* invlist|NN UV* start|NN UV* end
-EiM    |void   |invlist_iterfinish|NN SV* invlist
-EiMR   |UV     |invlist_highest|NN SV* const invlist
+EiMRn  |bool   |invlist_is_iterating|NN SV* const invlist
+EiMRn  |STRLEN*|get_invlist_iter_addr  |NN SV* invlist
+EiMn   |void   |invlist_iterinit|NN SV* invlist
+EsMRn  |bool   |invlist_iternext|NN SV* invlist|NN UV* start|NN UV* end
+EiMn   |void   |invlist_iterfinish|NN SV* invlist
+EiMRn  |UV     |invlist_highest|NN SV* const invlist
 #endif
 #if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_UTF8_C)
 EXmM   |void   |_invlist_intersection  |NN SV* const a|NN SV* const b|NN SV** i
@@ -1492,7 +1538,7 @@ EXMpR     |SV*    |_new_invlist   |IV initial_size
 EXMpR  |SV*    |_swash_to_invlist      |NN SV* const swash
 EXMpR  |SV*    |_add_range_to_invlist  |NULLOK SV* invlist|const UV start|const UV end
 EXMpR  |SV*    |_setup_canned_invlist|const STRLEN size|const UV element0|NN UV** other_elements_ptr
-EXMp   |void   |_invlist_populate_swatch   |NN SV* const invlist|const UV start|const UV end|NN U8* swatch
+EXMpn  |void   |_invlist_populate_swatch   |NN SV* const invlist|const UV start|const UV end|NN U8* swatch
 #endif
 #if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C) || defined(PERL_IN_UTF8_C) || defined(PERL_IN_TOKE_C)
 EXp    |SV*    |_core_swash_init|NN const char* pkg|NN const char* name \
@@ -1501,19 +1547,22 @@ EXp     |SV*    |_core_swash_init|NN const char* pkg|NN const char* name \
 #endif
 #if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C) || defined(PERL_IN_UTF8_C)
 EXMpR  |SV*    |_invlist_contents|NN SV* const invlist
-EiMR   |bool*  |get_invlist_offset_addr|NN SV* invlist
-EiMR   |UV     |_invlist_len   |NN SV* const invlist
-EMiR   |bool   |_invlist_contains_cp|NN SV* const invlist|const UV cp
-EXpMR  |IV     |_invlist_search        |NN SV* const invlist|const UV cp
+EiMRn  |bool*  |get_invlist_offset_addr|NN SV* invlist
+EiMRn  |UV     |_invlist_len   |NN SV* const invlist
+EMiRn  |bool   |_invlist_contains_cp|NN SV* const invlist|const UV cp
+EXpMRn |IV     |_invlist_search        |NN SV* const invlist|const UV cp
 EXMpR  |SV*    |_get_swash_invlist|NN SV* const swash
 EXMpR  |HV*    |_swash_inversion_hash  |NN SV* const swash
 #endif
 #if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C)
 ApM    |SV*    |_get_regclass_nonbitmap_data                              \
                                |NULLOK const regexp *prog                 \
-                               |NN const struct regnode *node|bool doinit \
+                               |NN const struct regnode *node             \
+                               |bool doinit                               \
                                |NULLOK SV **listsvp                       \
-                               |NULLOK SV **lonly_utf8_locale
+                               |NULLOK SV **lonly_utf8_locale             \
+                               |NULLOK SV *exclude_list
+EXp    |void|_load_PL_utf8_foldclosures|
 #endif
 #if defined(PERL_IN_REGCOMP_C) || defined (PERL_IN_DUMP_C)
 EXMp   |void   |_invlist_dump  |NN PerlIO *file|I32 level   \
@@ -1537,7 +1586,7 @@ Abmd      |UV     |to_utf8_fold   |NN const U8 *p|NN U8* ustrp|NULLOK STRLEN *lenp
 AMp    |UV     |_to_utf8_fold_flags|NN const U8 *p|NN U8* ustrp       \
                                |NULLOK STRLEN *lenp|U8 flags
 #if defined(PERL_IN_MG_C) || defined(PERL_IN_PP_C)
-p      |bool   |translate_substr_offsets|STRLEN curlen|IV pos1_iv \
+pn     |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
@@ -1554,17 +1603,12 @@ 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
-#ifdef PERL_MAD
-p      |OP *   |utilize        |int aver|I32 floor|NULLOK OP* version \
-                               |NN OP* idop|NULLOK OP* arg
-#else
 p      |void   |utilize        |int aver|I32 floor|NULLOK OP* version|NN OP* idop|NULLOK OP* arg
-#endif
 Ap     |U8*    |utf16_to_utf8  |NN U8* p|NN U8 *d|I32 bytelen|NN I32 *newlen
 Ap     |U8*    |utf16_to_utf8_reversed|NN U8* p|NN U8 *d|I32 bytelen|NN I32 *newlen
 AdpPR  |STRLEN |utf8_length    |NN const U8* s|NN const U8 *e
 ApdPR  |IV     |utf8_distance  |NN const U8 *a|NN const U8 *b
-ApdPR  |U8*    |utf8_hop       |NN const U8 *s|I32 off
+ApdPRn |U8*    |utf8_hop       |NN const U8 *s|I32 off
 ApMd   |U8*    |utf8_to_bytes  |NN U8 *s|NN STRLEN *len
 Apd    |int    |bytes_cmp_utf8 |NN const U8 *b|STRLEN blen|NN const U8 *u \
                                |STRLEN ulen
@@ -1620,6 +1664,12 @@ Afp      |void   |warner         |U32 err|NN const char* pat|...
 Afp    |void   |ck_warner      |U32 err|NN const char* pat|...
 Afp    |void   |ck_warner_d    |U32 err|NN const char* pat|...
 Ap     |void   |vwarner        |U32 err|NN const char* pat|NULLOK va_list* args
+#ifdef USE_C_BACKTRACE
+pd     |Perl_c_backtrace*|get_c_backtrace|int max_depth|int skip
+dm     |void   |free_c_backtrace|NN Perl_c_backtrace* bt
+Apd    |SV*    |get_c_backtrace_dump|int max_depth|int skip
+Apd    |bool   |dump_c_backtrace|NN PerlIO* fp|int max_depth|int skip
+#endif
 : FIXME
 p      |void   |watch          |NN char** addr
 Am     |I32    |whichsig       |NN const char* sig
@@ -1628,6 +1678,9 @@ Ap     |I32    |whichsig_pv    |NN const char* sig
 Ap     |I32    |whichsig_pvn   |NN const char* sig|STRLEN len
 : used to check for NULs in pathnames and other names
 AiR    |bool   |is_safe_syscall|NN const char *pv|STRLEN len|NN const char *what|NN const char *op_name
+#ifdef PERL_CORE
+inR    |bool   |should_warn_nl|NN const char *pv
+#endif
 : Used in pp_ctl.c
 p      |void   |write_to_stderr|NN SV* msv
 : Used in op.c
@@ -1840,6 +1893,7 @@ sR        |HEK*   |share_hek_flags|NN const char *str|I32 len|U32 hash|int flags
 rs     |void   |hv_notallowed  |int flags|NN const char *key|I32 klen|NN const char *msg
 in     |U32|ptr_hash|PTRV u
 s      |struct xpvhv_aux*|hv_auxinit|NN HV *hv
+sn     |struct xpvhv_aux*|hv_auxinit_internal|NN struct xpvhv_aux *iter
 sM     |SV*    |hv_delete_common|NULLOK HV *hv|NULLOK SV *keysv \
                |NULLOK const char *key|STRLEN klen|int k_flags|I32 d_flags \
                |U32 hash
@@ -1881,18 +1935,18 @@ 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\
+                                       |NN GV *const gv|NN CV *const cv
 #endif
 Xpa    |void*  |Slab_Alloc     |size_t sz
 Xp     |void   |Slab_Free      |NN void *op
@@ -2009,7 +2063,9 @@ 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
@@ -2017,7 +2073,7 @@ s |void   |qsortsvu       |NULLOK SV** array|size_t num_elts|NN SVCOMPARE_t compare
 #endif
 
 #if defined(PERL_IN_PP_SYS_C)
-s      |OP*    |doform         |NN CV *cv|NN GV *gv|NN OP *retop
+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
@@ -2045,12 +2101,17 @@ 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                        \
                                |const bool silence_non_portable              \
                                |NULLOK SV** ret_invlist
-Es     |bool|could_it_be_a_POSIX_class|NN RExC_state_t *pRExC_state
+Es     |void|add_above_Latin1_folds|NN RExC_state_t *pRExC_state|const U8 cp \
+                               |NN SV** invlist
+Esn    |bool|could_it_be_a_POSIX_class|NN RExC_state_t *pRExC_state
 Es     |regnode*|handle_regex_sets|NN RExC_state_t *pRExC_state \
                                |NULLOK SV ** return_invlist            \
                                |NN I32 *flagp|U32 depth                \
@@ -2060,10 +2121,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 \
@@ -2074,26 +2135,24 @@ 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
-EsRn   |char * |regwhite       |NN RExC_state_t *pRExC_state \
-                               |NN char *p
 EsRn   |char * |regpatws       |NN RExC_state_t *pRExC_state \
                                |NN char *p|const bool recognize_comment
 Ei     |void   |alloc_maybe_populate_EXACT|NN RExC_state_t *pRExC_state \
                                |NN regnode *node|NN I32 *flagp|STRLEN len \
                                |UV code_point|bool downgradable
-Ei     |U8   |compute_EXACTish|NN RExC_state_t *pRExC_state
+Ein    |U8   |compute_EXACTish|NN RExC_state_t *pRExC_state
 Es     |char * |nextchar       |NN RExC_state_t *pRExC_state
-Es     |bool   |reg_skipcomment|NN RExC_state_t *pRExC_state
+Ein    |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
-EsR    |int    |ssc_is_anything|NN const regnode_ssc *ssc
+EsRn   |int    |ssc_is_anything|NN const regnode_ssc *ssc
 Es     |void   |ssc_init       |NN const RExC_state_t *pRExC_state \
                                |NN regnode_ssc *ssc
-EsR    |int    |ssc_is_cp_posixl_init|NN const RExC_state_t *pRExC_state \
+EsRn   |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                \
@@ -2103,7 +2162,7 @@ Es        |void   |ssc_or         |NN const RExC_state_t *pRExC_state \
                                |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_posixl* const node
+                               |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 \
@@ -2112,7 +2171,7 @@ 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
-Ei     |void   |ssc_clear_locale|NN regnode_ssc *ssc
+Ein    |void   |ssc_clear_locale|NN 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 \
@@ -2131,9 +2190,8 @@ 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     |void   |make_trie_failtable    |NN RExC_state_t *pRExC_state \
-                                |NN regnode *source|NN regnode *stclass \
-                               |U32 depth
+Es     |regnode *|construct_ahocorasick_from_trie|NN RExC_state_t *pRExC_state \
+                                |NN regnode *source|U32 depth
 #  ifdef DEBUGGING
 Es        |void        |regdump_intflags|NULLOK const char *lead| const U32 flags
 Es     |void   |regdump_extflags|NULLOK const char *lead| const U32 flags
@@ -2142,9 +2200,13 @@ 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
-Es     |void   |put_byte       |NN SV* sv|int c
-Es     |bool   |put_latin1_charclass_innards|NN SV* sv|NN char* bitmap
-Es     |void   |put_range      |NN SV* sv|UV start|UV end
+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            \
+                               |NULLOK SV** bitmap_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
@@ -2187,7 +2249,7 @@ ERs       |char*  |find_byclass   |NN regexp * prog|NN const regnode *c \
                                |NULLOK regmatch_info *reginfo
 Es     |void   |to_utf8_substr |NN regexp * prog
 Es     |bool   |to_byte_substr |NN regexp * prog
-ERs    |I32    |reg_check_named_buff_matched   |NN const regexp *rex \
+ERsn   |I32    |reg_check_named_buff_matched   |NN const regexp *rex \
                                                |NN const regnode *scan
 #  ifdef DEBUGGING
 Es     |void   |dump_exec_pos  |NN const char *locinput|NN const regnode *scan|NN const char *loc_regeol\
@@ -2296,7 +2358,6 @@ sR        |char*  |scan_inputsymbol|NN char *start
 sR     |char*  |scan_pat       |NN char *start|I32 type
 sR     |char*  |scan_str       |NN char *start|int keep_quoted \
                                |int keep_delims|int re_reparse \
-                               |bool deprecate_escaped_matching \
                                |NULLOK char **delimp
 sR     |char*  |scan_subst     |NN char *start
 sR     |char*  |scan_trans     |NN char *start
@@ -2315,7 +2376,7 @@ s |void   |checkcomma     |NN const char *s|NN const char *name \
 s      |void   |force_ident    |NN const char *s|int kind
 s      |void   |force_ident_maybe_lex|char pit
 s      |void   |incline        |NN const char *s
-s      |int    |intuit_method  |NN char *s|NULLOK GV *gv|NULLOK CV *cv
+s      |int    |intuit_method  |NN char *s|NULLOK SV *ioname|NULLOK CV *cv
 s      |int    |intuit_more    |NN char *s
 s      |I32    |lop            |I32 f|int x|NN char *s
 rs     |void   |missingterm    |NULLOK char *s
@@ -2352,9 +2413,10 @@ s        |bool   |isa_lookup     |NN HV *stash|NN const char * const name \
                                         |STRLEN len|U32 flags
 #endif
 
-#if defined(PERL_IN_LOCALE_C) && defined(USE_LOCALE)
+#if defined(USE_LOCALE) \
+    && (defined(PERL_IN_LOCALE_C) || defined (PERL_EXT_POSIX))
 s      |char*  |stdize_locale  |NN char* locs
-s      |bool   |is_cur_LC_category_utf8|int category
+ApM    |bool   |_is_cur_LC_category_utf8|int category
 #endif
 
 #if defined(PERL_IN_UTIL_C)
@@ -2375,10 +2437,12 @@ sn      |NV|mulexp10    |NV value|I32 exponent
 #endif
 
 #if defined(PERL_IN_UTF8_C)
-iRn    |STRLEN |is_utf8_char_slow|NN const U8 *s|const STRLEN len
 sRM    |UV     |check_locale_boundary_crossing|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 \
+               |NN UV* max|NN UV* val|const bool wants_value               \
+               |NN const U8* const typestr
 #endif
 
 AiMn   |void   |append_utf8_from_native_byte|const U8 byte|NN U8** dest
@@ -2397,7 +2461,7 @@ Apmd      |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
 Ap     |char*  |my_atof2       |NN const char *s|NN NV* value
 Apn    |int    |my_socketpair  |int family|int type|int protocol|int fd[2]
-Ap     |int    |my_dirfd       |NULLOK DIR* dir
+Apn    |int    |my_dirfd       |NULLOK DIR* dir
 #ifdef PERL_ANY_COW
 : Used in pp_hot.c and regexec.c
 pMXE   |SV*    |sv_setsv_cow   |NULLOK SV* dstr|NN SV* sstr
@@ -2434,7 +2498,7 @@ ApR       |SSize_t          |PerlIO_get_cnt       |NULLOK PerlIO *f
 ApR    |PerlIO *|PerlIO_stdin
 ApR    |PerlIO *|PerlIO_stdout
 ApR    |PerlIO *|PerlIO_stderr
-#endif /* PERLIO_LAYERS */
+#endif /* USE_PERLIO */
 
 : Only used in dump.c
 p      |void   |deb_stack_all
@@ -2444,9 +2508,6 @@ s |void   |deb_stack_n    |NN SV** stack_base|I32 stack_min \
 #endif
 
 : pad API
-#ifdef PERL_MAD
-Mnpd   |void   |pad_peg        |NN const char* s
-#endif
 Apda   |PADLIST*|pad_new       |int flags
 #if defined(PERL_IN_PAD_C)
 s      |PADOFFSET|pad_alloc_name|NN SV *namesv|U32 flags \
@@ -2613,58 +2674,8 @@ Apnod    |Size_t |my_strlcat     |NULLOK char *dst|NULLOK const char *src|Size_t size
 Apnod     |Size_t |my_strlcpy     |NULLOK char *dst|NULLOK const char *src|Size_t size
 #endif
 
-#ifdef PERL_MAD
-#if defined(PERL_IN_DUMP_C)
-sf     |void   |xmldump_attr   |I32 level|NN PerlIO *file|NN const char* pat \
-                               |...
-#endif
-Mfp    |void   |xmldump_indent |I32 level|NN PerlIO *file|NN const char* pat \
-                               |...
-Mp     |void   |xmldump_vindent|I32 level|NN PerlIO *file|NN const char* pat \
-                               |NULLOK va_list *args
-Mp     |void   |xmldump_all
-p      |void   |xmldump_all_perl       |bool justperl
-Mp     |void   |xmldump_packsubs       |NN const HV* stash
-p      |void   |xmldump_packsubs_perl  |NN const HV* stash|bool justperl
-Mp     |void   |xmldump_sub    |NN const GV* gv
-Mp     |void   |xmldump_sub_perl       |NN const GV* gv|bool justperl
-Mp     |void   |xmldump_form   |NN const GV* gv
-Mp     |void   |xmldump_eval
-Mp     |char*  |sv_catxmlsv    |NN SV *dsv|NN SV *ssv
-Mp     |char*  |sv_catxmlpvn   |NN SV *dsv|NN const char *pv|STRLEN len|int utf8
-Mp     |char*  |sv_catxmlpv    |NN SV *dsv|NN const char *pv|int utf8
-Mp     |char*  |sv_xmlpeek     |NN SV* sv
-Mp     |void   |do_pmop_xmldump|I32 level|NN PerlIO *file \
-                               |NULLOK const PMOP *pm
-Mp     |void   |pmop_xmldump   |NULLOK const PMOP* pm
-Mp     |void   |do_op_xmldump  |I32 level|NN PerlIO *file|NULLOK const OP *o
-Mp     |void   |op_xmldump     |NN const OP *o
-
-Mp     |TOKEN* |newTOKEN       |I32 optype|YYSTYPE lval \
-                               |NULLOK MADPROP* madprop
-Mp     |void   |token_free     |NN TOKEN *tk
-Mp     |void   |token_getmad   |NN TOKEN *tk|NULLOK OP *o|char slot
-Mp     |void   |op_getmad_weak |NULLOK OP* from|NULLOK OP* o|char slot
-Mp     |void   |op_getmad      |NULLOK OP* from|NULLOK OP* o|char slot
-Mp     |void   |prepend_madprops|NULLOK MADPROP* mp|NULLOK OP* o|char slot
-Mp     |void   |append_madprops|NULLOK MADPROP* tm|NULLOK OP* o|char slot
-Mp     |void   |addmad         |NULLOK MADPROP* tm|NULLOK MADPROP** root \
-                               |char slot
-Mp     |MADPROP*|newMADsv      |char key|NN SV* sv
-Mp     |MADPROP*|newMADPROP    |char key|char type|NULLOK void* val \
-                               |I32 vlen
-Mp     |void   |mad_free       |NULLOK MADPROP* mp
-
-#  if defined(PERL_IN_TOKE_C)
-s      |char*  |skipspace0     |NN char *s
-s      |char*  |skipspace1     |NN char *s
-s      |char*  |skipspace2     |NN char *s|NULLOK SV **sv
-s      |void   |start_force    |int where
-s      |void   |curmad         |char slot|NULLOK SV *sv
-#  endif
-Mp     |int    |madlex
-Mp     |int    |madparse       |int gramtype
-#endif
+Apdn   |bool   |isinfnan       |NV nv
+
 #if !defined(HAS_SIGNBIT)
 AMdnoP |int    |Perl_signbit   |NV f
 #endif