Merge some changes from ActivePerl 5.8.8.816
[p5sagit/p5-mst-13.2.git] / embed.h
diff --git a/embed.h b/embed.h
index c2242cb..eb21c52 100644 (file)
--- a/embed.h
+++ b/embed.h
@@ -3,7 +3,7 @@
  *    embed.h
  *
  *    Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- *    2000, 2001, 2002, 2003, 2004, 2005, by Larry Wall and others
+ *    2000, 2001, 2002, 2003, 2004, 2005, 2006, by Larry Wall and others
  *
  *    You may distribute under the terms of either the GNU General Public
  *    License or the Artistic License, as specified in the README file.
 #define cv_ckproto             Perl_cv_ckproto
 #define cv_clone               Perl_cv_clone
 #endif
+#define gv_const_sv            Perl_gv_const_sv
 #define cv_const_sv            Perl_cv_const_sv
 #ifdef PERL_CORE
 #define op_const_sv            Perl_op_const_sv
 #define gv_fullname            Perl_gv_fullname
 #define gv_fullname4           Perl_gv_fullname4
 #define gv_init                        Perl_gv_init
+#define gv_name_set            Perl_gv_name_set
 #define gv_stashpv             Perl_gv_stashpv
 #define gv_stashpvn            Perl_gv_stashpvn
 #define gv_stashsv             Perl_gv_stashsv
 #define magic_get              Perl_magic_get
 #define magic_getarylen                Perl_magic_getarylen
 #define magic_getdefelem       Perl_magic_getdefelem
-#define magic_getglob          Perl_magic_getglob
 #define magic_getnkeys         Perl_magic_getnkeys
 #define magic_getpack          Perl_magic_getpack
 #define magic_getpos           Perl_magic_getpos
 #define newASSIGNOP            Perl_newASSIGNOP
 #define newCONDOP              Perl_newCONDOP
 #define newCONSTSUB            Perl_newCONSTSUB
+#ifdef PERL_MAD
 #define newFORM                        Perl_newFORM
+#else
+#define newFORM                        Perl_newFORM
+#endif
 #define newFOROP               Perl_newFOROP
 #define newGIVENOP             Perl_newGIVENOP
 #define newLOGOP               Perl_newLOGOP
 #define oopsCV                 Perl_oopsCV
 #endif
 #define op_free                        Perl_op_free
+#ifdef PERL_MAD
+#ifdef PERL_CORE
+#define package                        Perl_package
+#endif
+#else
 #ifdef PERL_CORE
 #define package                        Perl_package
+#endif
+#endif
+#ifdef PERL_CORE
 #define pad_alloc              Perl_pad_alloc
 #define allocmy                        Perl_allocmy
 #define pad_findmy             Perl_pad_findmy
 #define save_padsv             Perl_save_padsv
 #define save_sptr              Perl_save_sptr
 #define save_svref             Perl_save_svref
-#define save_threadsv          Perl_save_threadsv
 #ifdef PERL_CORE
 #define sawparens              Perl_sawparens
 #define scalar                 Perl_scalar
 #define sv_2bool               Perl_sv_2bool
 #define sv_2cv                 Perl_sv_2cv
 #define sv_2io                 Perl_sv_2io
+#ifdef PERL_IN_SV_C
+#ifdef PERL_CORE
+#define glob_2inpuv            S_glob_2inpuv
+#endif
+#endif
 #define sv_2iv_flags           Perl_sv_2iv_flags
 #define sv_2mortal             Perl_sv_2mortal
 #define sv_2nv                 Perl_sv_2nv
 #define unsharepvn             Perl_unsharepvn
 #ifdef PERL_CORE
 #define unshare_hek            Perl_unshare_hek
+#endif
+#ifdef PERL_MAD
+#ifdef PERL_CORE
+#define utilize                        Perl_utilize
+#endif
+#else
+#ifdef PERL_CORE
 #define utilize                        Perl_utilize
 #endif
+#endif
 #define utf16_to_utf8          Perl_utf16_to_utf8
 #define utf16_to_utf8_reversed Perl_utf16_to_utf8_reversed
 #define utf8_length            Perl_utf8_length
 #endif
 #define newANONATTRSUB         Perl_newANONATTRSUB
 #define newATTRSUB             Perl_newATTRSUB
+#ifdef PERL_MAD
 #define newMYSUB               Perl_newMYSUB
+#else
+#define newMYSUB               Perl_newMYSUB
+#endif
 #ifdef PERL_CORE
 #define my_attrs               Perl_my_attrs
 #define boot_core_xsutils      Perl_boot_core_xsutils
 #endif
 #endif
 #define sv_nosharing           Perl_sv_nosharing
+#ifdef NO_MATHOMS
+#else
+#define sv_nounlocking         Perl_sv_nounlocking
+#endif
 #define nothreadhook           Perl_nothreadhook
 #if defined(PERL_IN_DOOP_C) || defined(PERL_DECL_PROT)
 #ifdef PERL_CORE
 #if defined(PERL_CORE) || defined(PERL_EXT)
 #define regmatch               S_regmatch
 #define regrepeat              S_regrepeat
-#define regrepeat_hard         S_regrepeat_hard
 #define regtry                 S_regtry
 #define reginclass             S_reginclass
 #define regcppush              S_regcppush
 #define regcppop               S_regcppop
-#define regcp_set_to           S_regcp_set_to
 #define cache_re               S_cache_re
 #define reghop                 S_reghop
 #define reghop3                        S_reghop3
 #endif
 #if defined(PERL_IN_GV_C) || defined(PERL_IN_SV_C) || defined(PERL_IN_PAD_C) || defined(PERL_DECL_PROT)
 #endif
+#if defined(PERL_IN_HV_C) || defined(PERL_IN_MG_C) || defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
+#endif
 #if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
 #ifdef PERL_CORE
 #define uiv_2buf               S_uiv_2buf
 #ifdef PERL_CORE
 #define utf8_mg_pos            S_utf8_mg_pos
 #define utf8_mg_pos_init       S_utf8_mg_pos_init
+#define stringify_regexp       S_stringify_regexp
+#define F0convert              S_F0convert
 #endif
-#if defined(PERL_OLD_COPY_ON_WRITE)
+#  if defined(PERL_OLD_COPY_ON_WRITE)
 #ifdef PERL_CORE
 #define sv_release_COW         S_sv_release_COW
 #endif
+#  endif
+#ifdef PERL_CORE
+#define more_sv                        S_more_sv
+#define more_bodies            S_more_bodies
+#define sv_2iuv_common         S_sv_2iuv_common
+#define glob_assign_glob       S_glob_assign_glob
+#define glob_assign_ref                S_glob_assign_ref
+#endif
+#  if defined(USE_ITHREADS)
+#ifdef PERL_CORE
+#define ptr_table_find         S_ptr_table_find
+#endif
+#  endif
+#ifdef PERL_CORE
+#define find_hash_subscript    S_find_hash_subscript
+#define find_array_subscript   S_find_array_subscript
+#define find_uninit_var                S_find_uninit_var
 #endif
 #endif
 #if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT)
 #define find_in_my_stash       S_find_in_my_stash
 #define tokenize_use           S_tokenize_use
 #define new_constant           S_new_constant
-#endif
-#  if defined(DEBUGGING)
-#ifdef PERL_CORE
-#define tokereport             S_tokereport
-#endif
-#  endif
-#ifdef PERL_CORE
 #define ao                     S_ao
-#define depcom                 S_depcom
 #define incl_perldb            S_incl_perldb
 #endif
 #  if defined(PERL_CR_FILTER)
 #define strip_return           S_strip_return
 #endif
 #  endif
+#  if defined(DEBUGGING)
+#ifdef PERL_CORE
+#define tokereport             S_tokereport
+#endif
+#  endif
 #endif
 #if defined(PERL_IN_UNIVERSAL_C) || defined(PERL_DECL_PROT)
 #ifdef PERL_CORE
 #define save_set_svflags       Perl_save_set_svflags
 #define hv_scalar              Perl_hv_scalar
 #define hv_name_set            Perl_hv_name_set
+#if defined(PERL_IN_DUMP_C) || defined(PERL_IN_HV_C) || defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
+#endif
 #define hv_clear_placeholders  Perl_hv_clear_placeholders
 #ifdef PERL_CORE
 #define magic_scalarpack       Perl_magic_scalarpack
 #ifdef PERL_CORE
 #define my_clearenv            Perl_my_clearenv
 #endif
+#ifdef PERL_IMPLICIT_CONTEXT
+#endif
+#ifdef PERL_MAD
+#ifdef PERL_CORE
+#define pad_peg                        Perl_pad_peg
+#endif
+#if defined(PERL_IN_DUMP_C) || defined(PERL_DECL_PROT)
+#ifdef PERL_CORE
+#define xmldump_attr           S_xmldump_attr
+#endif
+#endif
+#ifdef PERL_CORE
+#define xmldump_indent         Perl_xmldump_indent
+#define xmldump_vindent                Perl_xmldump_vindent
+#define xmldump_all            Perl_xmldump_all
+#define xmldump_packsubs       Perl_xmldump_packsubs
+#define xmldump_sub            Perl_xmldump_sub
+#define xmldump_form           Perl_xmldump_form
+#define xmldump_eval           Perl_xmldump_eval
+#define sv_catxmlsv            Perl_sv_catxmlsv
+#define sv_catxmlpvn           Perl_sv_catxmlpvn
+#define sv_xmlpeek             Perl_sv_xmlpeek
+#define do_pmop_xmldump                Perl_do_pmop_xmldump
+#define pmop_xmldump           Perl_pmop_xmldump
+#define do_op_xmldump          Perl_do_op_xmldump
+#define op_xmldump             Perl_op_xmldump
+#endif
+#ifdef PERL_CORE
+#define newTOKEN               Perl_newTOKEN
+#define token_free             Perl_token_free
+#define token_getmad           Perl_token_getmad
+#define op_getmad_weak         Perl_op_getmad_weak
+#define op_getmad              Perl_op_getmad
+#define prepend_madprops       Perl_prepend_madprops
+#define append_madprops                Perl_append_madprops
+#define addmad                 Perl_addmad
+#define newMADsv               Perl_newMADsv
+#define newMADPROP             Perl_newMADPROP
+#define mad_free               Perl_mad_free
+#endif
+#  if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT)
+#ifdef PERL_CORE
+#define skipspace0             S_skipspace0
+#define skipspace1             S_skipspace1
+#define skipspace2             S_skipspace2
+#define start_force            S_start_force
+#define curmad                 S_curmad
+#endif
+#  endif
+#ifdef PERL_CORE
+#define madlex                 Perl_madlex
+#define madparse               Perl_madparse
+#endif
+#endif
 #define ck_anoncode            Perl_ck_anoncode
 #define ck_bitop               Perl_ck_bitop
+#define ck_chdir               Perl_ck_chdir
 #define ck_concat              Perl_ck_concat
 #define ck_defined             Perl_ck_defined
 #define ck_delete              Perl_ck_delete
 #define cv_ckproto(a,b,c)      Perl_cv_ckproto(aTHX_ a,b,c)
 #define cv_clone(a)            Perl_cv_clone(aTHX_ a)
 #endif
+#define gv_const_sv(a)         Perl_gv_const_sv(aTHX_ a)
 #define cv_const_sv(a)         Perl_cv_const_sv(aTHX_ a)
 #ifdef PERL_CORE
 #define op_const_sv(a,b)       Perl_op_const_sv(aTHX_ a,b)
 #define gv_fullname(a,b)       Perl_gv_fullname(aTHX_ a,b)
 #define gv_fullname4(a,b,c,d)  Perl_gv_fullname4(aTHX_ a,b,c,d)
 #define gv_init(a,b,c,d,e)     Perl_gv_init(aTHX_ a,b,c,d,e)
+#define gv_name_set(a,b,c,d)   Perl_gv_name_set(aTHX_ a,b,c,d)
 #define gv_stashpv(a,b)                Perl_gv_stashpv(aTHX_ a,b)
 #define gv_stashpvn(a,b,c)     Perl_gv_stashpvn(aTHX_ a,b,c)
 #define gv_stashsv(a,b)                Perl_gv_stashsv(aTHX_ a,b)
 #define magic_get(a,b)         Perl_magic_get(aTHX_ a,b)
 #define magic_getarylen(a,b)   Perl_magic_getarylen(aTHX_ a,b)
 #define magic_getdefelem(a,b)  Perl_magic_getdefelem(aTHX_ a,b)
-#define magic_getglob(a,b)     Perl_magic_getglob(aTHX_ a,b)
 #define magic_getnkeys(a,b)    Perl_magic_getnkeys(aTHX_ a,b)
 #define magic_getpack(a,b)     Perl_magic_getpack(aTHX_ a,b)
 #define magic_getpos(a,b)      Perl_magic_getpos(aTHX_ a,b)
 #define newASSIGNOP(a,b,c,d)   Perl_newASSIGNOP(aTHX_ a,b,c,d)
 #define newCONDOP(a,b,c,d)     Perl_newCONDOP(aTHX_ a,b,c,d)
 #define newCONSTSUB(a,b,c)     Perl_newCONSTSUB(aTHX_ a,b,c)
+#ifdef PERL_MAD
 #define newFORM(a,b,c)         Perl_newFORM(aTHX_ a,b,c)
+#else
+#define newFORM(a,b,c)         Perl_newFORM(aTHX_ a,b,c)
+#endif
 #define newFOROP(a,b,c,d,e,f,g)        Perl_newFOROP(aTHX_ a,b,c,d,e,f,g)
 #define newGIVENOP(a,b,c)      Perl_newGIVENOP(aTHX_ a,b,c)
 #define newLOGOP(a,b,c,d)      Perl_newLOGOP(aTHX_ a,b,c,d)
 #define oopsCV(a)              Perl_oopsCV(aTHX_ a)
 #endif
 #define op_free(a)             Perl_op_free(aTHX_ a)
+#ifdef PERL_MAD
 #ifdef PERL_CORE
 #define package(a)             Perl_package(aTHX_ a)
+#endif
+#else
+#ifdef PERL_CORE
+#define package(a)             Perl_package(aTHX_ a)
+#endif
+#endif
+#ifdef PERL_CORE
 #define pad_alloc(a,b)         Perl_pad_alloc(aTHX_ a,b)
 #define allocmy(a)             Perl_allocmy(aTHX_ a)
 #define pad_findmy(a)          Perl_pad_findmy(aTHX_ a)
 #define save_padsv(a)          Perl_save_padsv(aTHX_ a)
 #define save_sptr(a)           Perl_save_sptr(aTHX_ a)
 #define save_svref(a)          Perl_save_svref(aTHX_ a)
-#define save_threadsv(a)       Perl_save_threadsv(aTHX_ a)
 #ifdef PERL_CORE
 #define sawparens(a)           Perl_sawparens(aTHX_ a)
 #define scalar(a)              Perl_scalar(aTHX_ a)
 #define sv_2bool(a)            Perl_sv_2bool(aTHX_ a)
 #define sv_2cv(a,b,c,d)                Perl_sv_2cv(aTHX_ a,b,c,d)
 #define sv_2io(a)              Perl_sv_2io(aTHX_ a)
+#ifdef PERL_IN_SV_C
+#ifdef PERL_CORE
+#define glob_2inpuv(a,b,c)     S_glob_2inpuv(aTHX_ a,b,c)
+#endif
+#endif
 #define sv_2iv_flags(a,b)      Perl_sv_2iv_flags(aTHX_ a,b)
 #define sv_2mortal(a)          Perl_sv_2mortal(aTHX_ a)
 #define sv_2nv(a)              Perl_sv_2nv(aTHX_ a)
 #define unsharepvn(a,b,c)      Perl_unsharepvn(aTHX_ a,b,c)
 #ifdef PERL_CORE
 #define unshare_hek(a)         Perl_unshare_hek(aTHX_ a)
+#endif
+#ifdef PERL_MAD
+#ifdef PERL_CORE
 #define utilize(a,b,c,d,e)     Perl_utilize(aTHX_ a,b,c,d,e)
 #endif
+#else
+#ifdef PERL_CORE
+#define utilize(a,b,c,d,e)     Perl_utilize(aTHX_ a,b,c,d,e)
+#endif
+#endif
 #define utf16_to_utf8(a,b,c,d) Perl_utf16_to_utf8(aTHX_ a,b,c,d)
 #define utf16_to_utf8_reversed(a,b,c,d)        Perl_utf16_to_utf8_reversed(aTHX_ a,b,c,d)
 #define utf8_length(a,b)       Perl_utf8_length(aTHX_ a,b)
 #endif
 #define newANONATTRSUB(a,b,c,d)        Perl_newANONATTRSUB(aTHX_ a,b,c,d)
 #define newATTRSUB(a,b,c,d,e)  Perl_newATTRSUB(aTHX_ a,b,c,d,e)
+#ifdef PERL_MAD
+#define newMYSUB(a,b,c,d,e)    Perl_newMYSUB(aTHX_ a,b,c,d,e)
+#else
 #define newMYSUB(a,b,c,d,e)    Perl_newMYSUB(aTHX_ a,b,c,d,e)
+#endif
 #ifdef PERL_CORE
 #define my_attrs(a,b)          Perl_my_attrs(aTHX_ a,b)
 #define boot_core_xsutils()    Perl_boot_core_xsutils(aTHX)
 #endif
 #endif
 #define sv_nosharing(a)                Perl_sv_nosharing(aTHX_ a)
+#ifdef NO_MATHOMS
+#else
+#define sv_nounlocking(a)      Perl_sv_nounlocking(aTHX_ a)
+#endif
 #define nothreadhook()         Perl_nothreadhook(aTHX)
 #if defined(PERL_IN_DOOP_C) || defined(PERL_DECL_PROT)
 #ifdef PERL_CORE
 #define require_errno(a)       S_require_errno(aTHX_ a)
 #endif
 #endif
+#ifdef PERL_CORE
+#endif
 #if defined(PERL_IN_HV_C) || defined(PERL_DECL_PROT)
 #ifdef PERL_CORE
 #define hsplit(a)              S_hsplit(aTHX_ a)
 #define hfreeentries(a)                S_hfreeentries(aTHX_ a)
 #define new_he()               S_new_he(aTHX)
-#define save_hek_flags(a,b,c,d)        S_save_hek_flags(aTHX_ a,b,c,d)
-#define hv_magic_check(a,b,c)  S_hv_magic_check(aTHX_ a,b,c)
+#define save_hek_flags         S_save_hek_flags
+#define hv_magic_check         S_hv_magic_check
 #define unshare_hek_or_pvn(a,b,c,d)    S_unshare_hek_or_pvn(aTHX_ a,b,c,d)
 #define share_hek_flags(a,b,c,d)       S_share_hek_flags(aTHX_ a,b,c,d)
 #define hv_notallowed(a,b,c,d) S_hv_notallowed(aTHX_ a,b,c,d)
-#define hv_auxinit(a)          S_hv_auxinit(aTHX_ a)
+#define hv_auxinit             S_hv_auxinit
 #define hv_delete_common(a,b,c,d,e,f,g)        S_hv_delete_common(aTHX_ a,b,c,d,e,f,g)
 #define hv_fetch_common(a,b,c,d,e,f,g,h)       S_hv_fetch_common(aTHX_ a,b,c,d,e,f,g,h)
 #endif
 #define ck_svconst(a)          Perl_ck_svconst(aTHX_ a)
 #define ck_trunc(a)            Perl_ck_trunc(aTHX_ a)
 #define ck_unpack(a)           Perl_ck_unpack(aTHX_ a)
-#define is_handle_constructor(a,b)     S_is_handle_constructor(aTHX_ a,b)
+#define is_handle_constructor  S_is_handle_constructor
 #define is_list_assignment(a)  S_is_list_assignment(aTHX_ a)
 #define cop_free(a)            S_cop_free(aTHX_ a)
 #define modkids(a,b)           S_modkids(aTHX_ a,b)
 #define new_logop(a,b,c,d)     S_new_logop(aTHX_ a,b,c,d)
 #define simplify_sort(a)       S_simplify_sort(aTHX_ a)
 #define gv_ename(a)            S_gv_ename(aTHX_ a)
-#define scalar_mod_type(a,b)   S_scalar_mod_type(aTHX_ a,b)
+#define scalar_mod_type                S_scalar_mod_type
 #define my_kid(a,b,c)          S_my_kid(aTHX_ a,b,c)
 #define dup_attrlist(a)                S_dup_attrlist(aTHX_ a)
 #define apply_attrs(a,b,c,d)   S_apply_attrs(aTHX_ a,b,c,d)
 #if defined(PERL_IN_PERL_C) || defined(PERL_DECL_PROT)
 #ifdef PERL_CORE
 #define find_beginning()       S_find_beginning(aTHX)
-#define forbid_setid(a)                S_forbid_setid(aTHX_ a)
+#define forbid_setid(a,b)      S_forbid_setid(aTHX_ a,b)
 #define incpush(a,b,c,d,e)     S_incpush(aTHX_ a,b,c,d,e)
 #define init_interp()          S_init_interp(aTHX)
 #define init_ids()             S_init_ids(aTHX)
 #define init_predump_symbols() S_init_predump_symbols(aTHX)
 #define my_exit_jump()         S_my_exit_jump(aTHX)
 #define nuke_stacks()          S_nuke_stacks(aTHX)
-#define open_script(a,b,c)     S_open_script(aTHX_ a,b,c)
+#define open_script(a,b,c,d)   S_open_script(aTHX_ a,b,c,d)
 #define usage(a)               S_usage(aTHX_ a)
-#define validate_suid(a,b)     S_validate_suid(aTHX_ a,b)
+#define validate_suid(a,b,c,d) S_validate_suid(aTHX_ a,b,c,d)
 #endif
 #  if defined(IAMSUID)
 #ifdef PERL_CORE
 #define doeval(a,b,c,d)                S_doeval(aTHX_ a,b,c,d)
 #define check_type_and_open(a,b)       S_check_type_and_open(aTHX_ a,b)
 #define doopen_pm(a,b)         S_doopen_pm(aTHX_ a,b)
-#define path_is_absolute(a)    S_path_is_absolute(aTHX_ a)
+#define path_is_absolute       S_path_is_absolute
 #define run_user_filter(a,b,c) S_run_user_filter(aTHX_ a,b,c)
 #define make_matcher(a)                S_make_matcher(aTHX_ a)
 #define matcher_matches_sv(a,b)        S_matcher_matches_sv(aTHX_ a,b)
 #define regbranch(a,b,c)       S_regbranch(aTHX_ a,b,c)
 #define reguni(a,b,c,d)                S_reguni(aTHX_ a,b,c,d)
 #define regclass(a)            S_regclass(aTHX_ a)
-#define regcurly(a)            S_regcurly(aTHX_ a)
+#define regcurly               S_regcurly
 #define reg_node(a,b)          S_reg_node(aTHX_ a,b)
 #define regpiece(a,b)          S_regpiece(aTHX_ a,b)
 #define reginsert(a,b,c)       S_reginsert(aTHX_ a,b,c)
 #define regoptail(a,b,c)       S_regoptail(aTHX_ a,b,c)
 #define regtail(a,b,c)         S_regtail(aTHX_ a,b,c)
-#define regwhite(a,b)          S_regwhite(aTHX_ a,b)
+#define regwhite               S_regwhite
 #define nextchar(a)            S_nextchar(aTHX_ a)
 #endif
 #  ifdef DEBUGGING
 #  endif
 #if defined(PERL_CORE) || defined(PERL_EXT)
 #define scan_commit(a,b)       S_scan_commit(aTHX_ a,b)
-#define cl_anything(a,b)       S_cl_anything(aTHX_ a,b)
-#define cl_is_anything(a)      S_cl_is_anything(aTHX_ a)
-#define cl_init(a,b)           S_cl_init(aTHX_ a,b)
-#define cl_init_zero(a,b)      S_cl_init_zero(aTHX_ a,b)
-#define cl_and(a,b)            S_cl_and(aTHX_ a,b)
-#define cl_or(a,b,c)           S_cl_or(aTHX_ a,b,c)
+#define cl_anything            S_cl_anything
+#define cl_is_anything         S_cl_is_anything
+#define cl_init                        S_cl_init
+#define cl_init_zero           S_cl_init_zero
+#define cl_and                 S_cl_and
+#define cl_or                  S_cl_or
 #define study_chunk(a,b,c,d,e,f,g)     S_study_chunk(aTHX_ a,b,c,d,e,f,g)
-#define add_data(a,b,c)                S_add_data(aTHX_ a,b,c)
+#define add_data               S_add_data
 #endif
 #ifdef PERL_CORE
 #endif
 #if defined(PERL_CORE) || defined(PERL_EXT)
 #define regmatch(a)            S_regmatch(aTHX_ a)
 #define regrepeat(a,b)         S_regrepeat(aTHX_ a,b)
-#define regrepeat_hard(a,b,c)  S_regrepeat_hard(aTHX_ a,b,c)
 #define regtry(a,b)            S_regtry(aTHX_ a,b)
 #define reginclass(a,b,c,d)    S_reginclass(aTHX_ a,b,c,d)
 #define regcppush(a)           S_regcppush(aTHX_ a)
 #define regcppop()             S_regcppop(aTHX)
-#define regcp_set_to(a)                S_regcp_set_to(aTHX_ a)
 #define cache_re(a)            S_cache_re(aTHX_ a)
 #define reghop(a,b)            S_reghop(aTHX_ a,b)
-#define reghop3(a,b,c)         S_reghop3(aTHX_ a,b,c)
+#define reghop3                        S_reghop3
 #define reghopmaybe(a,b)       S_reghopmaybe(aTHX_ a,b)
-#define reghopmaybe3(a,b,c)    S_reghopmaybe3(aTHX_ a,b,c)
+#define reghopmaybe3           S_reghopmaybe3
 #define find_byclass(a,b,c,d,e)        S_find_byclass(aTHX_ a,b,c,d,e)
 #define to_utf8_substr(a)      S_to_utf8_substr(aTHX_ a)
 #define to_byte_substr(a)      S_to_byte_substr(aTHX_ a)
 #ifdef PERL_CORE
 #endif
 #endif
+#if defined(PERL_IN_HV_C) || defined(PERL_IN_MG_C) || defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
+#ifdef PERL_CORE
+#endif
+#endif
 #if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
 #ifdef PERL_CORE
 #define uiv_2buf               S_uiv_2buf
 #ifdef PERL_CORE
 #define utf8_mg_pos(a,b,c,d,e,f,g,h,i) S_utf8_mg_pos(aTHX_ a,b,c,d,e,f,g,h,i)
 #define utf8_mg_pos_init(a,b,c,d,e,f,g)        S_utf8_mg_pos_init(aTHX_ a,b,c,d,e,f,g)
+#define stringify_regexp(a,b,c)        S_stringify_regexp(aTHX_ a,b,c)
+#define F0convert              S_F0convert
 #endif
-#if defined(PERL_OLD_COPY_ON_WRITE)
+#  if defined(PERL_OLD_COPY_ON_WRITE)
 #ifdef PERL_CORE
 #define sv_release_COW(a,b,c,d)        S_sv_release_COW(aTHX_ a,b,c,d)
 #endif
+#  endif
+#ifdef PERL_CORE
+#define more_sv()              S_more_sv(aTHX)
+#define more_bodies(a)         S_more_bodies(aTHX_ a)
+#define sv_2iuv_common(a)      S_sv_2iuv_common(aTHX_ a)
+#define glob_assign_glob(a,b,c)        S_glob_assign_glob(aTHX_ a,b,c)
+#define glob_assign_ref(a,b)   S_glob_assign_ref(aTHX_ a,b)
+#endif
+#  if defined(USE_ITHREADS)
+#ifdef PERL_CORE
+#define ptr_table_find         S_ptr_table_find
+#endif
+#  endif
+#ifdef PERL_CORE
+#define find_hash_subscript(a,b)       S_find_hash_subscript(aTHX_ a,b)
+#define find_array_subscript(a,b)      S_find_array_subscript(aTHX_ a,b)
+#define find_uninit_var(a,b,c) S_find_uninit_var(aTHX_ a,b,c)
 #endif
 #endif
 #if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT)
 #define feature_is_enabled(a,b)        S_feature_is_enabled(aTHX_ a,b)
 #define force_ident(a,b)       S_force_ident(aTHX_ a,b)
 #define incline(a)             S_incline(aTHX_ a)
-#define intuit_method(a,b)     S_intuit_method(aTHX_ a,b)
+#define intuit_method(a,b,c)   S_intuit_method(aTHX_ a,b,c)
 #define intuit_more(a)         S_intuit_more(aTHX_ a)
 #define lop(a,b,c)             S_lop(aTHX_ a,b,c)
 #define missingterm(a)         S_missingterm(aTHX_ a)
 #define find_in_my_stash(a,b)  S_find_in_my_stash(aTHX_ a,b)
 #define tokenize_use(a,b)      S_tokenize_use(aTHX_ a,b)
 #define new_constant(a,b,c,d,e,f)      S_new_constant(aTHX_ a,b,c,d,e,f)
-#endif
-#  if defined(DEBUGGING)
-#ifdef PERL_CORE
-#define tokereport(a)          S_tokereport(aTHX_ a)
-#endif
-#  endif
-#ifdef PERL_CORE
 #define ao(a)                  S_ao(aTHX_ a)
-#define depcom()               S_depcom(aTHX)
 #define incl_perldb()          S_incl_perldb(aTHX)
 #endif
 #  if defined(PERL_CR_FILTER)
 #define strip_return(a)                S_strip_return(aTHX_ a)
 #endif
 #  endif
+#  if defined(DEBUGGING)
+#ifdef PERL_CORE
+#define tokereport(a)          S_tokereport(aTHX_ a)
+#endif
+#  endif
 #endif
 #if defined(PERL_IN_UNIVERSAL_C) || defined(PERL_DECL_PROT)
 #ifdef PERL_CORE
 #define closest_cop(a,b)       S_closest_cop(aTHX_ a,b)
 #define mess_alloc()           S_mess_alloc(aTHX)
 #define vdie_croak_common(a,b,c,d)     S_vdie_croak_common(aTHX_ a,b,c,d)
-#define vdie_common(a,b,c)     S_vdie_common(aTHX_ a,b,c)
+#define vdie_common(a,b,c,d)   S_vdie_common(aTHX_ a,b,c,d)
 #define write_no_mem()         S_write_no_mem(aTHX)
 #endif
 #endif
 #endif
 #if defined(PERL_IN_UTF8_C) || defined(PERL_DECL_PROT)
 #ifdef PERL_CORE
-#define is_utf8_char_slow(a,b) S_is_utf8_char_slow(aTHX_ a,b)
+#define is_utf8_char_slow      S_is_utf8_char_slow
 #define is_utf8_common(a,b,c)  S_is_utf8_common(aTHX_ a,b,c)
 #define swash_get(a,b,c)       S_swash_get(aTHX_ a,b,c)
 #endif
 #define save_set_svflags(a,b,c)        Perl_save_set_svflags(aTHX_ a,b,c)
 #define hv_scalar(a)           Perl_hv_scalar(aTHX_ a)
 #define hv_name_set(a,b,c,d)   Perl_hv_name_set(aTHX_ a,b,c,d)
+#ifdef PERL_CORE
+#endif
+#if defined(PERL_IN_DUMP_C) || defined(PERL_IN_HV_C) || defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
+#ifdef PERL_CORE
+#endif
+#endif
 #define hv_clear_placeholders(a)       Perl_hv_clear_placeholders(aTHX_ a)
 #ifdef PERL_CORE
 #define magic_scalarpack(a,b)  Perl_magic_scalarpack(aTHX_ a,b)
 #ifdef PERL_CORE
 #define my_clearenv()          Perl_my_clearenv(aTHX)
 #endif
+#ifdef PERL_IMPLICIT_CONTEXT
+#endif
+#ifdef PERL_MAD
+#ifdef PERL_CORE
+#define pad_peg                        Perl_pad_peg
+#endif
+#if defined(PERL_IN_DUMP_C) || defined(PERL_DECL_PROT)
+#ifdef PERL_CORE
+#endif
+#endif
+#ifdef PERL_CORE
+#define xmldump_vindent(a,b,c,d)       Perl_xmldump_vindent(aTHX_ a,b,c,d)
+#define xmldump_all()          Perl_xmldump_all(aTHX)
+#define xmldump_packsubs(a)    Perl_xmldump_packsubs(aTHX_ a)
+#define xmldump_sub(a)         Perl_xmldump_sub(aTHX_ a)
+#define xmldump_form(a)                Perl_xmldump_form(aTHX_ a)
+#define xmldump_eval()         Perl_xmldump_eval(aTHX)
+#define sv_catxmlsv(a,b)       Perl_sv_catxmlsv(aTHX_ a,b)
+#define sv_catxmlpvn(a,b,c,d)  Perl_sv_catxmlpvn(aTHX_ a,b,c,d)
+#define sv_xmlpeek(a)          Perl_sv_xmlpeek(aTHX_ a)
+#define do_pmop_xmldump(a,b,c) Perl_do_pmop_xmldump(aTHX_ a,b,c)
+#define pmop_xmldump(a)                Perl_pmop_xmldump(aTHX_ a)
+#define do_op_xmldump(a,b,c)   Perl_do_op_xmldump(aTHX_ a,b,c)
+#define op_xmldump(a)          Perl_op_xmldump(aTHX_ a)
+#endif
+#ifdef PERL_CORE
+#define newTOKEN(a,b,c)                Perl_newTOKEN(aTHX_ a,b,c)
+#define token_free(a)          Perl_token_free(aTHX_ a)
+#define token_getmad(a,b,c)    Perl_token_getmad(aTHX_ a,b,c)
+#define op_getmad_weak(a,b,c)  Perl_op_getmad_weak(aTHX_ a,b,c)
+#define op_getmad(a,b,c)       Perl_op_getmad(aTHX_ a,b,c)
+#define prepend_madprops(a,b,c)        Perl_prepend_madprops(aTHX_ a,b,c)
+#define append_madprops(a,b,c) Perl_append_madprops(aTHX_ a,b,c)
+#define addmad(a,b,c)          Perl_addmad(aTHX_ a,b,c)
+#define newMADsv(a,b)          Perl_newMADsv(aTHX_ a,b)
+#define newMADPROP(a,b,c,d)    Perl_newMADPROP(aTHX_ a,b,c,d)
+#define mad_free(a)            Perl_mad_free(aTHX_ a)
+#endif
+#  if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT)
+#ifdef PERL_CORE
+#define skipspace0(a)          S_skipspace0(aTHX_ a)
+#define skipspace1(a)          S_skipspace1(aTHX_ a)
+#define skipspace2(a,b)                S_skipspace2(aTHX_ a,b)
+#define start_force(a)         S_start_force(aTHX_ a)
+#define curmad(a,b)            S_curmad(aTHX_ a,b)
+#endif
+#  endif
+#ifdef PERL_CORE
+#define madlex()               Perl_madlex(aTHX)
+#define madparse()             Perl_madparse(aTHX)
+#endif
+#endif
 #define ck_anoncode(a)         Perl_ck_anoncode(aTHX_ a)
 #define ck_bitop(a)            Perl_ck_bitop(aTHX_ a)
+#define ck_chdir(a)            Perl_ck_chdir(aTHX_ a)
 #define ck_concat(a)           Perl_ck_concat(aTHX_ a)
 #define ck_defined(a)          Perl_ck_defined(aTHX_ a)
 #define ck_delete(a)           Perl_ck_delete(aTHX_ a)
 
 #if !defined(PERL_CORE)
 #  define sv_setptrobj(rv,ptr,name)    sv_setref_iv(rv,name,PTR2IV(ptr))
-#  define sv_setptrref(rv,ptr)         sv_setref_iv(rv,Nullch,PTR2IV(ptr))
+#  define sv_setptrref(rv,ptr)         sv_setref_iv(rv,NULL,PTR2IV(ptr))
 #endif
 
 #if !defined(PERL_CORE) && !defined(PERL_NOCOMPAT)