This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Add Perl_croak_xs_usage(), which reduces a lot of explicit calls of
[perl5.git] / embed.h
diff --git a/embed.h b/embed.h
index bdcc615..9caec1d 100644 (file)
--- a/embed.h
+++ b/embed.h
@@ -38,6 +38,7 @@
 #if defined(MYMALLOC)
 #ifdef PERL_CORE
 #define malloced_size          Perl_malloced_size
+#define malloc_good_size       Perl_malloc_good_size
 #endif
 #endif
 #define get_context            Perl_get_context
 #define av_store               Perl_av_store
 #define av_undef               Perl_av_undef
 #define av_unshift             Perl_av_unshift
+#if defined(PERL_IN_AV_C) || defined(PERL_DECL_PROT)
+#ifdef PERL_CORE
+#define get_aux_mg             S_get_aux_mg
+#endif
+#endif
 #ifdef PERL_CORE
 #define bind_match             Perl_bind_match
 #define block_end              Perl_block_end
 #endif
 #define croak                  Perl_croak
 #define vcroak                 Perl_vcroak
+#define croak_xs_usage         Perl_croak_xs_usage
 #if defined(PERL_IMPLICIT_CONTEXT)
 #define croak_nocontext                Perl_croak_nocontext
 #define die_nocontext          Perl_die_nocontext
 #define do_exec                        Perl_do_exec
 #endif
 #endif
-#if defined(WIN32) || defined(__SYMBIAN32__)
+#if defined(WIN32) || defined(__SYMBIAN32__) || defined(VMS)
 #define do_aspawn              Perl_do_aspawn
 #define do_spawn               Perl_do_spawn
 #define do_spawn_nowait                Perl_do_spawn_nowait
 #define gv_fetchmeth           Perl_gv_fetchmeth
 #define gv_fetchmeth_autoload  Perl_gv_fetchmeth_autoload
 #define gv_fetchmethod_autoload        Perl_gv_fetchmethod_autoload
+#define gv_fetchmethod_flags   Perl_gv_fetchmethod_flags
 #define gv_fetchpv             Perl_gv_fetchpv
 #define gv_fullname            Perl_gv_fullname
 #define gv_fullname4           Perl_gv_fullname4
 #define hv_iternext_flags      Perl_hv_iternext_flags
 #define hv_iterval             Perl_hv_iterval
 #define hv_ksplit              Perl_hv_ksplit
+#if defined(PERL_IN_HV_C) || defined(PERL_DECL_PROT)
+#ifdef PERL_CORE
+#define refcounted_he_new_common       S_refcounted_he_new_common
+#endif
+#endif
 #define hv_undef               Perl_hv_undef
 #define ibcmp                  Perl_ibcmp
 #define ibcmp_locale           Perl_ibcmp_locale
 #define magic_clearenv         Perl_magic_clearenv
 #define magic_clear_all_env    Perl_magic_clear_all_env
 #define magic_clearhint                Perl_magic_clearhint
+#define magic_clearisa         Perl_magic_clearisa
 #define magic_clearpack                Perl_magic_clearpack
 #define magic_clearsig         Perl_magic_clearsig
 #define magic_existspack       Perl_magic_existspack
-#define magic_freeregexp       Perl_magic_freeregexp
 #define magic_freeovrld                Perl_magic_freeovrld
 #define magic_get              Perl_magic_get
 #define magic_getarylen                Perl_magic_getarylen
 #define magic_setamagic                Perl_magic_setamagic
 #define magic_setarylen                Perl_magic_setarylen
 #define magic_freearylen_p     Perl_magic_freearylen_p
-#define magic_setbm            Perl_magic_setbm
 #define magic_setdbline                Perl_magic_setdbline
 #define magic_setdefelem       Perl_magic_setdefelem
 #define magic_setenv           Perl_magic_setenv
-#define magic_setfm            Perl_magic_setfm
 #define magic_sethint          Perl_magic_sethint
 #define magic_setisa           Perl_magic_setisa
-#define magic_setglob          Perl_magic_setglob
 #define magic_setmglob         Perl_magic_setmglob
 #define magic_setnkeys         Perl_magic_setnkeys
 #define magic_setpack          Perl_magic_setpack
 #define newSUB                 Perl_newSUB
 #define newXS_flags            Perl_newXS_flags
 #define newXS                  Perl_newXS
-#define newAV                  Perl_newAV
 #define newAVREF               Perl_newAVREF
 #define newBINOP               Perl_newBINOP
 #define newCVREF               Perl_newCVREF
 #define newGVgen               Perl_newGVgen
 #define newGVREF               Perl_newGVREF
 #define newHVREF               Perl_newHVREF
-#define newHV                  Perl_newHV
 #define newHVhv                        Perl_newHVhv
 #define newIO                  Perl_newIO
 #define newLISTOP              Perl_newLISTOP
 #define newSVnv                        Perl_newSVnv
 #define newSVpv                        Perl_newSVpv
 #define newSVpvn               Perl_newSVpvn
+#define newSVpvn_flags         Perl_newSVpvn_flags
 #define newSVhek               Perl_newSVhek
 #define newSVpvn_share         Perl_newSVpvn_share
 #define newSVpvf               Perl_newSVpvf
 #define regclass_swash         Perl_regclass_swash
 #define pregexec               Perl_pregexec
 #define pregfree               Perl_pregfree
+#define pregfree2              Perl_pregfree2
 #if defined(PERL_CORE) || defined(PERL_EXT)
 #define reg_temp_copy          Perl_reg_temp_copy
 #endif
 #define regfree_internal       Perl_regfree_internal
-#define reg_stringify          Perl_reg_stringify
 #if defined(USE_ITHREADS)
 #define regdupe_internal       Perl_regdupe_internal
 #endif
 #define save_pptr              Perl_save_pptr
 #define save_vptr              Perl_save_vptr
 #define save_re_context                Perl_save_re_context
-#define save_padsv             Perl_save_padsv
+#define save_padsv_and_mortalize       Perl_save_padsv_and_mortalize
 #define save_sptr              Perl_save_sptr
 #define save_svref             Perl_save_svref
 #ifdef PERL_CORE
 #define sv_2iv_flags           Perl_sv_2iv_flags
 #define sv_2mortal             Perl_sv_2mortal
 #define sv_2nv                 Perl_sv_2nv
+#ifdef PERL_CORE
+#define sv_2num                        Perl_sv_2num
+#endif
 #define sv_2pv_flags           Perl_sv_2pv_flags
 #define sv_2pvutf8             Perl_sv_2pvutf8
 #define sv_2pvbyte             Perl_sv_2pvbyte
 #define sv_gets                        Perl_sv_gets
 #define sv_grow                        Perl_sv_grow
 #define sv_inc                 Perl_sv_inc
-#define sv_insert              Perl_sv_insert
+#define sv_insert_flags                Perl_sv_insert_flags
 #define sv_isa                 Perl_sv_isa
 #define sv_isobject            Perl_sv_isobject
 #define sv_len                 Perl_sv_len
 #define any_dup                        Perl_any_dup
 #define he_dup                 Perl_he_dup
 #define hek_dup                        Perl_hek_dup
-#define re_dup                 Perl_re_dup
+#define re_dup_guts            Perl_re_dup_guts
 #define fp_dup                 Perl_fp_dup
 #define dirp_dup               Perl_dirp_dup
 #define gp_dup                 Perl_gp_dup
 #define custom_op_name         Perl_custom_op_name
 #define custom_op_desc         Perl_custom_op_desc
 #define sv_nosharing           Perl_sv_nosharing
+#define sv_destroyable         Perl_sv_destroyable
 #ifdef NO_MATHOMS
 #else
 #define sv_nounlocking         Perl_sv_nounlocking
 #if defined(PERL_IN_GV_C) || defined(PERL_DECL_PROT)
 #ifdef PERL_CORE
 #define gv_init_sv             S_gv_init_sv
+#define gv_get_super_pkg       S_gv_get_super_pkg
 #define require_tie_mod                S_require_tie_mod
 #endif
 #endif
 #define ck_grep                        Perl_ck_grep
 #define ck_index               Perl_ck_index
 #define ck_join                        Perl_ck_join
-#define ck_lengthconst         Perl_ck_lengthconst
 #define ck_lfun                        Perl_ck_lfun
 #define ck_listiob             Perl_ck_listiob
 #define ck_match               Perl_ck_match
 #define ck_readline            Perl_ck_readline
 #define ck_repeat              Perl_ck_repeat
 #define ck_require             Perl_ck_require
-#define ck_retarget            Perl_ck_retarget
 #define ck_return              Perl_ck_return
 #define ck_rfun                        Perl_ck_rfun
 #define ck_rvconst             Perl_ck_rvconst
 #define ck_svconst             Perl_ck_svconst
 #define ck_trunc               Perl_ck_trunc
 #define ck_unpack              Perl_ck_unpack
+#define ck_each                        Perl_ck_each
 #define is_handle_constructor  S_is_handle_constructor
 #define is_list_assignment     S_is_list_assignment
 #endif
 #define nuke_stacks            S_nuke_stacks
 #define open_script            S_open_script
 #define usage                  S_usage
-#define validate_suid          S_validate_suid
+#endif
+#ifdef DOSUID
+#  ifdef IAMSUID
+#  else
+#  endif
+#else
+#  ifndef SETUID_SCRIPTS_ARE_SECURE_NOW
+#  endif
 #endif
 #  if defined(IAMSUID)
 #ifdef PERL_CORE
 #if defined(PERL_IN_PP_CTL_C) || defined(PERL_DECL_PROT)
 #ifdef PERL_CORE
 #define docatch                        S_docatch
-#define docatch_body           S_docatch_body
 #define dofindlabel            S_dofindlabel
 #define doparseform            S_doparseform
 #define num_overflow           S_num_overflow
 #define save_lines             S_save_lines
 #define doeval                 S_doeval
 #define check_type_and_open    S_check_type_and_open
+#endif
+#ifndef PERL_DISABLE_PMC
+#ifdef PERL_CORE
 #define doopen_pm              S_doopen_pm
+#endif
+#endif
+#ifdef PERL_CORE
 #define path_is_absolute       S_path_is_absolute
 #define run_user_filter                S_run_user_filter
 #define make_matcher           S_make_matcher
 #endif
 #  endif
 #  if !defined(NV_PRESERVES_UV)
+#    ifdef DEBUGGING
+#ifdef PERL_CORE
+#define sv_2iuv_non_preserve   S_sv_2iuv_non_preserve
+#endif
+#    else
 #ifdef PERL_CORE
 #define sv_2iuv_non_preserve   S_sv_2iuv_non_preserve
 #endif
+#    endif
 #  endif
 #ifdef PERL_CORE
 #define expect_number          S_expect_number
 #define lop                    S_lop
 #define missingterm            S_missingterm
 #define no_op                  S_no_op
-#define set_csh                        S_set_csh
 #define sublex_done            S_sublex_done
 #define sublex_push            S_sublex_push
 #define sublex_start           S_sublex_start
 #define filter_gets            S_filter_gets
 #define find_in_my_stash       S_find_in_my_stash
 #define tokenize_use           S_tokenize_use
-#define new_constant           S_new_constant
+#endif
+#ifdef PERL_CORE
 #define ao                     S_ao
-#define incl_perldb            S_incl_perldb
 #endif
 #  if defined(PERL_CR_FILTER)
 #ifdef PERL_CORE
 #define ck_defined             Perl_ck_defined
 #define ck_delete              Perl_ck_delete
 #define ck_die                 Perl_ck_die
+#define ck_each                        Perl_ck_each
 #define ck_eof                 Perl_ck_eof
 #define ck_eval                        Perl_ck_eval
 #define ck_exec                        Perl_ck_exec
 #define ck_grep                        Perl_ck_grep
 #define ck_index               Perl_ck_index
 #define ck_join                        Perl_ck_join
-#define ck_lengthconst         Perl_ck_lengthconst
 #define ck_lfun                        Perl_ck_lfun
 #define ck_listiob             Perl_ck_listiob
 #define ck_match               Perl_ck_match
 #define pp_abs                 Perl_pp_abs
 #define pp_accept              Perl_pp_accept
 #define pp_add                 Perl_pp_add
+#define pp_aeach               Perl_pp_aeach
 #define pp_aelem               Perl_pp_aelem
 #define pp_aelemfast           Perl_pp_aelemfast
+#define pp_akeys               Perl_pp_akeys
 #define pp_alarm               Perl_pp_alarm
 #define pp_and                 Perl_pp_and
 #define pp_andassign           Perl_pp_andassign
 #define pp_aslice              Perl_pp_aslice
 #define pp_atan2               Perl_pp_atan2
 #define pp_av2arylen           Perl_pp_av2arylen
+#define pp_avalues             Perl_pp_avalues
 #define pp_backtick            Perl_pp_backtick
 #define pp_bind                        Perl_pp_bind
 #define pp_binmode             Perl_pp_binmode
 #define pp_gvsv                        Perl_pp_gvsv
 #define pp_helem               Perl_pp_helem
 #define pp_hex                 Perl_pp_hex
+#define pp_hintseval           Perl_pp_hintseval
 #define pp_hslice              Perl_pp_hslice
 #define pp_i_add               Perl_pp_i_add
 #define pp_i_divide            Perl_pp_i_divide
 #define pp_seq                 Perl_pp_seq
 #define pp_setpgrp             Perl_pp_setpgrp
 #define pp_setpriority         Perl_pp_setpriority
-#define pp_setstate            Perl_pp_setstate
 #define pp_sge                 Perl_pp_sge
 #define pp_sgrent              Perl_pp_sgrent
 #define pp_sgt                 Perl_pp_sgt
 #if defined(MYMALLOC)
 #ifdef PERL_CORE
 #define malloced_size          Perl_malloced_size
+#define malloc_good_size       Perl_malloc_good_size
 #endif
 #endif
 #define get_context            Perl_get_context
 #define av_store(a,b,c)                Perl_av_store(aTHX_ a,b,c)
 #define av_undef(a)            Perl_av_undef(aTHX_ a)
 #define av_unshift(a,b)                Perl_av_unshift(aTHX_ a,b)
+#if defined(PERL_IN_AV_C) || defined(PERL_DECL_PROT)
+#ifdef PERL_CORE
+#define get_aux_mg(a)          S_get_aux_mg(aTHX_ a)
+#endif
+#endif
 #ifdef PERL_CORE
 #define bind_match(a,b,c)      Perl_bind_match(aTHX_ a,b,c)
 #define block_end(a,b)         Perl_block_end(aTHX_ a,b)
 #define create_eval_scope(a)   Perl_create_eval_scope(aTHX_ a)
 #endif
 #define vcroak(a,b)            Perl_vcroak(aTHX_ a,b)
+#define croak_xs_usage(a,b)    Perl_croak_xs_usage(aTHX_ a,b)
 #if defined(PERL_IMPLICIT_CONTEXT)
 #endif
 #ifdef PERL_CORE
 #define do_exec(a)             Perl_do_exec(aTHX_ a)
 #endif
 #endif
-#if defined(WIN32) || defined(__SYMBIAN32__)
+#if defined(WIN32) || defined(__SYMBIAN32__) || defined(VMS)
 #define do_aspawn(a,b,c)       Perl_do_aspawn(aTHX_ a,b,c)
 #define do_spawn(a)            Perl_do_spawn(aTHX_ a)
 #define do_spawn_nowait(a)     Perl_do_spawn_nowait(aTHX_ a)
 #define gv_fetchmeth(a,b,c,d)  Perl_gv_fetchmeth(aTHX_ a,b,c,d)
 #define gv_fetchmeth_autoload(a,b,c,d) Perl_gv_fetchmeth_autoload(aTHX_ a,b,c,d)
 #define gv_fetchmethod_autoload(a,b,c) Perl_gv_fetchmethod_autoload(aTHX_ a,b,c)
+#define gv_fetchmethod_flags(a,b,c)    Perl_gv_fetchmethod_flags(aTHX_ a,b,c)
 #define gv_fetchpv(a,b,c)      Perl_gv_fetchpv(aTHX_ a,b,c)
 #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)
 #endif
 #if defined(PERL_CORE) || defined(PERL_EXT)
 #endif
+#if defined(PERL_IN_HV_C) || defined(PERL_DECL_PROT)
+#ifdef PERL_CORE
+#define refcounted_he_new_common(a,b,c,d,e,f,g)        S_refcounted_he_new_common(aTHX_ a,b,c,d,e,f,g)
+#endif
+#endif
 #define hv_undef(a)            Perl_hv_undef(aTHX_ a)
 #define ibcmp(a,b,c)           Perl_ibcmp(aTHX_ a,b,c)
 #define ibcmp_locale(a,b,c)    Perl_ibcmp_locale(aTHX_ a,b,c)
 #define magic_clearenv(a,b)    Perl_magic_clearenv(aTHX_ a,b)
 #define magic_clear_all_env(a,b)       Perl_magic_clear_all_env(aTHX_ a,b)
 #define magic_clearhint(a,b)   Perl_magic_clearhint(aTHX_ a,b)
+#define magic_clearisa(a,b)    Perl_magic_clearisa(aTHX_ a,b)
 #define magic_clearpack(a,b)   Perl_magic_clearpack(aTHX_ a,b)
 #define magic_clearsig(a,b)    Perl_magic_clearsig(aTHX_ a,b)
 #define magic_existspack(a,b)  Perl_magic_existspack(aTHX_ a,b)
-#define magic_freeregexp(a,b)  Perl_magic_freeregexp(aTHX_ a,b)
 #define magic_freeovrld(a,b)   Perl_magic_freeovrld(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_setamagic(a,b)   Perl_magic_setamagic(aTHX_ a,b)
 #define magic_setarylen(a,b)   Perl_magic_setarylen(aTHX_ a,b)
 #define magic_freearylen_p(a,b)        Perl_magic_freearylen_p(aTHX_ a,b)
-#define magic_setbm(a,b)       Perl_magic_setbm(aTHX_ a,b)
 #define magic_setdbline(a,b)   Perl_magic_setdbline(aTHX_ a,b)
 #define magic_setdefelem(a,b)  Perl_magic_setdefelem(aTHX_ a,b)
 #define magic_setenv(a,b)      Perl_magic_setenv(aTHX_ a,b)
-#define magic_setfm(a,b)       Perl_magic_setfm(aTHX_ a,b)
 #define magic_sethint(a,b)     Perl_magic_sethint(aTHX_ a,b)
 #define magic_setisa(a,b)      Perl_magic_setisa(aTHX_ a,b)
-#define magic_setglob(a,b)     Perl_magic_setglob(aTHX_ a,b)
 #define magic_setmglob(a,b)    Perl_magic_setmglob(aTHX_ a,b)
 #define magic_setnkeys(a,b)    Perl_magic_setnkeys(aTHX_ a,b)
 #define magic_setpack(a,b)     Perl_magic_setpack(aTHX_ a,b)
 #define mod(a,b)               Perl_mod(aTHX_ a,b)
 #endif
 #ifdef PERL_CORE
-#define mode_from_discipline(a)        Perl_mode_from_discipline(aTHX_ a)
+#define mode_from_discipline(a,b)      Perl_mode_from_discipline(aTHX_ a,b)
 #endif
 #define moreswitches(a)                Perl_moreswitches(aTHX_ a)
 #ifdef PERL_CORE
 #define newSUB(a,b,c,d)                Perl_newSUB(aTHX_ a,b,c,d)
 #define newXS_flags(a,b,c,d,e) Perl_newXS_flags(aTHX_ a,b,c,d,e)
 #define newXS(a,b,c)           Perl_newXS(aTHX_ a,b,c)
-#define newAV()                        Perl_newAV(aTHX)
 #define newAVREF(a)            Perl_newAVREF(aTHX_ a)
 #define newBINOP(a,b,c,d)      Perl_newBINOP(aTHX_ a,b,c,d)
 #define newCVREF(a,b)          Perl_newCVREF(aTHX_ a,b)
 #define newGVgen(a)            Perl_newGVgen(aTHX_ a)
 #define newGVREF(a,b)          Perl_newGVREF(aTHX_ a,b)
 #define newHVREF(a)            Perl_newHVREF(aTHX_ a)
-#define newHV()                        Perl_newHV(aTHX)
 #define newHVhv(a)             Perl_newHVhv(aTHX_ a)
 #define newIO()                        Perl_newIO(aTHX)
 #define newLISTOP(a,b,c,d)     Perl_newLISTOP(aTHX_ a,b,c,d)
 #define newSVnv(a)             Perl_newSVnv(aTHX_ a)
 #define newSVpv(a,b)           Perl_newSVpv(aTHX_ a,b)
 #define newSVpvn(a,b)          Perl_newSVpvn(aTHX_ a,b)
+#define newSVpvn_flags(a,b,c)  Perl_newSVpvn_flags(aTHX_ a,b,c)
 #define newSVhek(a)            Perl_newSVhek(aTHX_ a)
 #define newSVpvn_share(a,b,c)  Perl_newSVpvn_share(aTHX_ a,b,c)
 #define vnewSVpvf(a,b)         Perl_vnewSVpvf(aTHX_ a,b)
 #define regclass_swash(a,b,c,d,e)      Perl_regclass_swash(aTHX_ a,b,c,d,e)
 #define pregexec(a,b,c,d,e,f,g)        Perl_pregexec(aTHX_ a,b,c,d,e,f,g)
 #define pregfree(a)            Perl_pregfree(aTHX_ a)
+#define pregfree2(a)           Perl_pregfree2(aTHX_ a)
 #if defined(PERL_CORE) || defined(PERL_EXT)
 #define reg_temp_copy(a)       Perl_reg_temp_copy(aTHX_ a)
 #endif
 #define regfree_internal(a)    Perl_regfree_internal(aTHX_ a)
-#define reg_stringify(a,b,c,d) Perl_reg_stringify(aTHX_ a,b,c,d)
 #if defined(USE_ITHREADS)
 #define regdupe_internal(a,b)  Perl_regdupe_internal(aTHX_ a,b)
 #endif
 #define save_pptr(a)           Perl_save_pptr(aTHX_ a)
 #define save_vptr(a)           Perl_save_vptr(aTHX_ a)
 #define save_re_context()      Perl_save_re_context(aTHX)
-#define save_padsv(a)          Perl_save_padsv(aTHX_ a)
+#define save_padsv_and_mortalize(a)    Perl_save_padsv_and_mortalize(aTHX_ a)
 #define save_sptr(a)           Perl_save_sptr(aTHX_ a)
 #define save_svref(a)          Perl_save_svref(aTHX_ a)
 #ifdef PERL_CORE
 #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)
+#ifdef PERL_CORE
+#define sv_2num(a)             Perl_sv_2num(aTHX_ a)
+#endif
 #define sv_2pv_flags(a,b,c)    Perl_sv_2pv_flags(aTHX_ a,b,c)
 #define sv_2pvutf8(a,b)                Perl_sv_2pvutf8(aTHX_ a,b)
 #define sv_2pvbyte(a,b)                Perl_sv_2pvbyte(aTHX_ a,b)
 #define sv_gets(a,b,c)         Perl_sv_gets(aTHX_ a,b,c)
 #define sv_grow(a,b)           Perl_sv_grow(aTHX_ a,b)
 #define sv_inc(a)              Perl_sv_inc(aTHX_ a)
-#define sv_insert(a,b,c,d,e)   Perl_sv_insert(aTHX_ a,b,c,d,e)
+#define sv_insert_flags(a,b,c,d,e,f)   Perl_sv_insert_flags(aTHX_ a,b,c,d,e,f)
 #define sv_isa(a,b)            Perl_sv_isa(aTHX_ a,b)
 #define sv_isobject(a)         Perl_sv_isobject(aTHX_ a)
 #define sv_len(a)              Perl_sv_len(aTHX_ a)
 #define any_dup(a,b)           Perl_any_dup(aTHX_ a,b)
 #define he_dup(a,b,c)          Perl_he_dup(aTHX_ a,b,c)
 #define hek_dup(a,b)           Perl_hek_dup(aTHX_ a,b)
-#define re_dup(a,b)            Perl_re_dup(aTHX_ a,b)
+#define re_dup_guts(a,b,c)     Perl_re_dup_guts(aTHX_ a,b,c)
 #define fp_dup(a,b,c)          Perl_fp_dup(aTHX_ a,b,c)
 #define dirp_dup(a)            Perl_dirp_dup(aTHX_ a)
 #define gp_dup(a,b)            Perl_gp_dup(aTHX_ a,b)
 #define custom_op_name(a)      Perl_custom_op_name(aTHX_ a)
 #define custom_op_desc(a)      Perl_custom_op_desc(aTHX_ a)
 #define sv_nosharing(a)                Perl_sv_nosharing(aTHX_ a)
+#define sv_destroyable(a)      Perl_sv_destroyable(aTHX_ a)
 #ifdef NO_MATHOMS
 #else
 #define sv_nounlocking(a)      Perl_sv_nounlocking(aTHX_ a)
 #if defined(PERL_IN_GV_C) || defined(PERL_DECL_PROT)
 #ifdef PERL_CORE
 #define gv_init_sv(a,b)                S_gv_init_sv(aTHX_ a,b)
+#define gv_get_super_pkg(a,b)  S_gv_get_super_pkg(aTHX_ a,b)
 #define require_tie_mod(a,b,c,d,e)     S_require_tie_mod(aTHX_ a,b,c,d,e)
 #endif
 #endif
 #define ck_grep(a)             Perl_ck_grep(aTHX_ a)
 #define ck_index(a)            Perl_ck_index(aTHX_ a)
 #define ck_join(a)             Perl_ck_join(aTHX_ a)
-#define ck_lengthconst(a)      Perl_ck_lengthconst(aTHX_ a)
 #define ck_lfun(a)             Perl_ck_lfun(aTHX_ a)
 #define ck_listiob(a)          Perl_ck_listiob(aTHX_ a)
 #define ck_match(a)            Perl_ck_match(aTHX_ a)
 #define ck_readline(a)         Perl_ck_readline(aTHX_ a)
 #define ck_repeat(a)           Perl_ck_repeat(aTHX_ a)
 #define ck_require(a)          Perl_ck_require(aTHX_ a)
-#define ck_retarget(a)         Perl_ck_retarget(aTHX_ a)
 #define ck_return(a)           Perl_ck_return(aTHX_ a)
 #define ck_rfun(a)             Perl_ck_rfun(aTHX_ a)
 #define ck_rvconst(a)          Perl_ck_rvconst(aTHX_ a)
 #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 ck_each(a)             Perl_ck_each(aTHX_ a)
 #define is_handle_constructor  S_is_handle_constructor
 #define is_list_assignment(a)  S_is_list_assignment(aTHX_ a)
 #endif
 #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,d,e) S_open_script(aTHX_ a,b,c,d,e)
+#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,c,d,e,f)     S_validate_suid(aTHX_ a,b,c,d,e,f)
+#endif
+#ifdef DOSUID
+#  ifdef IAMSUID
+#ifdef PERL_CORE
+#endif
+#  else
+#ifdef PERL_CORE
+#endif
+#  endif
+#else
+#  ifndef SETUID_SCRIPTS_ARE_SECURE_NOW
+#ifdef PERL_CORE
+#endif
+#  endif
 #endif
 #  if defined(IAMSUID)
 #ifdef PERL_CORE
 #if defined(PERL_IN_PP_CTL_C) || defined(PERL_DECL_PROT)
 #ifdef PERL_CORE
 #define docatch(a)             S_docatch(aTHX_ a)
-#define docatch_body()         S_docatch_body(aTHX)
 #define dofindlabel(a,b,c,d)   S_dofindlabel(aTHX_ a,b,c,d)
 #define doparseform(a)         S_doparseform(aTHX_ a)
 #define num_overflow           S_num_overflow
 #define dopoptowhen(a)         S_dopoptowhen(aTHX_ a)
 #define save_lines(a,b)                S_save_lines(aTHX_ a,b)
 #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 check_type_and_open(a) S_check_type_and_open(aTHX_ a)
+#endif
+#ifndef PERL_DISABLE_PMC
+#ifdef PERL_CORE
 #define doopen_pm(a,b)         S_doopen_pm(aTHX_ a,b)
+#endif
+#endif
+#ifdef PERL_CORE
 #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)
 #endif
 #  endif
 #  if !defined(NV_PRESERVES_UV)
+#    ifdef DEBUGGING
 #ifdef PERL_CORE
 #define sv_2iuv_non_preserve(a,b)      S_sv_2iuv_non_preserve(aTHX_ a,b)
 #endif
+#    else
+#ifdef PERL_CORE
+#define sv_2iuv_non_preserve(a)        S_sv_2iuv_non_preserve(aTHX_ a)
+#endif
+#    endif
 #  endif
 #ifdef PERL_CORE
 #define expect_number(a)       S_expect_number(aTHX_ a)
 #define lop(a,b,c)             S_lop(aTHX_ a,b,c)
 #define missingterm(a)         S_missingterm(aTHX_ a)
 #define no_op(a,b)             S_no_op(aTHX_ a,b)
-#define set_csh()              S_set_csh(aTHX)
 #define sublex_done()          S_sublex_done(aTHX)
 #define sublex_push()          S_sublex_push(aTHX)
 #define sublex_start()         S_sublex_start(aTHX)
 #define filter_gets(a,b,c)     S_filter_gets(aTHX_ a,b,c)
 #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)
 #define ao(a)                  S_ao(aTHX_ a)
-#define incl_perldb()          S_incl_perldb(aTHX)
 #endif
 #  if defined(PERL_CR_FILTER)
 #ifdef PERL_CORE
 #  endif
 #  if defined(DEBUGGING)
 #ifdef PERL_CORE
-#define tokereport(a)          S_tokereport(aTHX_ a)
+#define tokereport(a,b)                S_tokereport(aTHX_ a,b)
 #define printbuf(a,b)          S_printbuf(aTHX_ a,b)
 #endif
 #  endif
 #ifdef PERL_CORE
 #define boot_core_mro()                Perl_boot_core_mro(aTHX)
 #endif
+#ifdef PERL_CORE
+#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_defined(a)          Perl_ck_defined(aTHX_ a)
 #define ck_delete(a)           Perl_ck_delete(aTHX_ a)
 #define ck_die(a)              Perl_ck_die(aTHX_ a)
+#define ck_each(a)             Perl_ck_each(aTHX_ a)
 #define ck_eof(a)              Perl_ck_eof(aTHX_ a)
 #define ck_eval(a)             Perl_ck_eval(aTHX_ a)
 #define ck_exec(a)             Perl_ck_exec(aTHX_ a)
 #define ck_grep(a)             Perl_ck_grep(aTHX_ a)
 #define ck_index(a)            Perl_ck_index(aTHX_ a)
 #define ck_join(a)             Perl_ck_join(aTHX_ a)
-#define ck_lengthconst(a)      Perl_ck_lengthconst(aTHX_ a)
 #define ck_lfun(a)             Perl_ck_lfun(aTHX_ a)
 #define ck_listiob(a)          Perl_ck_listiob(aTHX_ a)
 #define ck_match(a)            Perl_ck_match(aTHX_ a)
 #define pp_abs()               Perl_pp_abs(aTHX)
 #define pp_accept()            Perl_pp_accept(aTHX)
 #define pp_add()               Perl_pp_add(aTHX)
+#define pp_aeach()             Perl_pp_aeach(aTHX)
 #define pp_aelem()             Perl_pp_aelem(aTHX)
 #define pp_aelemfast()         Perl_pp_aelemfast(aTHX)
+#define pp_akeys()             Perl_pp_akeys(aTHX)
 #define pp_alarm()             Perl_pp_alarm(aTHX)
 #define pp_and()               Perl_pp_and(aTHX)
 #define pp_andassign()         Perl_pp_andassign(aTHX)
 #define pp_aslice()            Perl_pp_aslice(aTHX)
 #define pp_atan2()             Perl_pp_atan2(aTHX)
 #define pp_av2arylen()         Perl_pp_av2arylen(aTHX)
+#define pp_avalues()           Perl_pp_avalues(aTHX)
 #define pp_backtick()          Perl_pp_backtick(aTHX)
 #define pp_bind()              Perl_pp_bind(aTHX)
 #define pp_binmode()           Perl_pp_binmode(aTHX)
 #define pp_gvsv()              Perl_pp_gvsv(aTHX)
 #define pp_helem()             Perl_pp_helem(aTHX)
 #define pp_hex()               Perl_pp_hex(aTHX)
+#define pp_hintseval()         Perl_pp_hintseval(aTHX)
 #define pp_hslice()            Perl_pp_hslice(aTHX)
 #define pp_i_add()             Perl_pp_i_add(aTHX)
 #define pp_i_divide()          Perl_pp_i_divide(aTHX)
 #define pp_seq()               Perl_pp_seq(aTHX)
 #define pp_setpgrp()           Perl_pp_setpgrp(aTHX)
 #define pp_setpriority()       Perl_pp_setpriority(aTHX)
-#define pp_setstate()          Perl_pp_setstate(aTHX)
 #define pp_sge()               Perl_pp_sge(aTHX)
 #define pp_sgrent()            Perl_pp_sgrent(aTHX)
 #define pp_sgt()               Perl_pp_sgt(aTHX)