* embed.h
*
* Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- * 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, by Larry Wall and others
+ * 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 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 av_delete Perl_av_delete
#define av_exists Perl_av_exists
#define av_extend Perl_av_extend
-#ifdef PERL_CORE
-#define av_fake Perl_av_fake
-#endif
#define av_fetch Perl_av_fetch
#define av_fill Perl_av_fill
#define av_len Perl_av_len
#define get_opargs Perl_get_opargs
#endif
#define get_ppaddr Perl_get_ppaddr
-#if defined(PERL_CORE) || defined(PERL_EXT)
#define cxinc Perl_cxinc
-#endif
#define deb Perl_deb
#define vdeb Perl_vdeb
#define debprofdump Perl_debprofdump
#define deprecate_old Perl_deprecate_old
#endif
#define die Perl_die
+#if defined(PERL_IN_UTIL_C) || defined(PERL_DECL_PROT)
+#ifdef PERL_CORE
+#define vdie S_vdie
+#endif
+#endif
#ifdef PERL_CORE
-#define vdie Perl_vdie
#define die_where Perl_die_where
#endif
#define dounwind Perl_dounwind
#ifdef PERL_CORE
#define do_execfree Perl_do_execfree
#endif
-#ifdef PERL_IN_DOIO_C
+#if defined(PERL_IN_DOIO_C) || defined(PERL_DECL_PROT)
#ifdef PERL_CORE
#define exec_failed S_exec_failed
#endif
#define fbm_instr Perl_fbm_instr
#ifdef PERL_CORE
#define find_script Perl_find_script
-#define force_list Perl_force_list
-#define fold_constants Perl_fold_constants
+#endif
+#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT)
+#ifdef PERL_CORE
+#define force_list S_force_list
+#define fold_constants S_fold_constants
+#endif
#endif
#define form Perl_form
#define vform Perl_vform
#define free_tmps Perl_free_tmps
+#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT)
#ifdef PERL_CORE
-#define gen_constant_list Perl_gen_constant_list
+#define gen_constant_list S_gen_constant_list
+#endif
#endif
#if !defined(HAS_GETENV_LEN)
#ifdef PERL_CORE
#endif
#define gp_free Perl_gp_free
#define gp_ref Perl_gp_ref
-#define gv_AVadd Perl_gv_AVadd
-#define gv_HVadd Perl_gv_HVadd
-#define gv_IOadd Perl_gv_IOadd
+#define gv_add_by_type Perl_gv_add_by_type
#define gv_autoload4 Perl_gv_autoload4
#define gv_check Perl_gv_check
#define gv_efullname Perl_gv_efullname
#define ibcmp Perl_ibcmp
#define ibcmp_locale Perl_ibcmp_locale
#define ibcmp_utf8 Perl_ibcmp_utf8
+#if defined(PERL_IN_DOIO_C) || defined(PERL_DECL_PROT)
+#ifdef PERL_CORE
+#define ingroup S_ingroup
+#endif
+#endif
#ifdef PERL_CORE
-#define ingroup Perl_ingroup
#define init_argv_symbols Perl_init_argv_symbols
#define init_debugger Perl_init_debugger
#endif
#ifdef PERL_CORE
#define io_close Perl_io_close
#define invert Perl_invert
-#define is_gv_magical Perl_is_gv_magical
#endif
#define is_lvalue_sub Perl_is_lvalue_sub
#define to_uni_upper_lc Perl_to_uni_upper_lc
#define is_uni_print_lc Perl_is_uni_print_lc
#define is_uni_punct_lc Perl_is_uni_punct_lc
#define is_uni_xdigit_lc Perl_is_uni_xdigit_lc
+#define is_ascii_string Perl_is_ascii_string
#define is_utf8_char Perl_is_utf8_char
#define is_utf8_string Perl_is_utf8_string
#define is_utf8_string_loclen Perl_is_utf8_string_loclen
#endif
#define op_refcnt_lock Perl_op_refcnt_lock
#define op_refcnt_unlock Perl_op_refcnt_unlock
-#if defined(PERL_IN_OP_C)
+#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT)
#ifdef PERL_CORE
#define linklist S_linklist
#define listkids S_listkids
#define magic_clearenv Perl_magic_clearenv
#define magic_clear_all_env Perl_magic_clear_all_env
#define magic_clearhint Perl_magic_clearhint
+#define magic_clearhints Perl_magic_clearhints
#define magic_clearisa Perl_magic_clearisa
#define magic_clearpack Perl_magic_clearpack
#define magic_clearsig Perl_magic_clearsig
#define magic_set_all_env Perl_magic_set_all_env
#define magic_sizepack Perl_magic_sizepack
#define magic_wipepack Perl_magic_wipepack
-#define magicname Perl_magicname
#endif
#define markstack_grow Perl_markstack_grow
#if defined(USE_LOCALE_COLLATE)
#define newGVREF Perl_newGVREF
#define newHVREF Perl_newHVREF
#define newHVhv Perl_newHVhv
-#define newIO Perl_newIO
#define newLISTOP Perl_newLISTOP
#ifdef USE_ITHREADS
#define newPADOP Perl_newPADOP
#define nextargv Perl_nextargv
#endif
#define ninstr Perl_ninstr
-#ifdef PERL_CORE
-#define oopsCV Perl_oopsCV
-#endif
#define op_free Perl_op_free
#ifdef PERL_MAD
#ifdef PERL_CORE
#define pad_sv Perl_pad_sv
#ifdef PERL_CORE
#define pad_free Perl_pad_free
-#define pad_reset Perl_pad_reset
+#endif
+#if defined(PERL_IN_PAD_C) || defined(PERL_DECL_PROT)
+#ifdef PERL_CORE
+#define pad_reset S_pad_reset
+#endif
+#endif
+#ifdef PERL_CORE
#define pad_swipe Perl_pad_swipe
#define peep Perl_peep
#endif
#define require_pv Perl_require_pv
#define pack_cat Perl_pack_cat
#define packlist Perl_packlist
-#ifdef PERL_USES_PL_PIDSTATUS
+#if defined(PERL_USES_PL_PIDSTATUS) && defined(PERL_IN_UTIL_C)
#ifdef PERL_CORE
-#define pidgone Perl_pidgone
+#define pidgone S_pidgone
#endif
#endif
#define pmflag Perl_pmflag
#ifdef PERL_CORE
#define pmruntime Perl_pmruntime
-#define pmtrans Perl_pmtrans
+#endif
+#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT)
+#ifdef PERL_CORE
+#define pmtrans S_pmtrans
+#endif
#endif
#define pop_scope Perl_pop_scope
#ifdef PERL_CORE
#define prepend_elem Perl_prepend_elem
#endif
#define push_scope Perl_push_scope
+#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT)
#ifdef PERL_CORE
-#define refkids Perl_refkids
+#define refkids S_refkids
+#endif
#endif
#define regdump Perl_regdump
#define regdump Perl_regdump
#define rsignal_save Perl_rsignal_save
#endif
#define rsignal_state Perl_rsignal_state
+#if defined(PERL_IN_PP_CTL_C) || defined(PERL_DECL_PROT)
+#ifdef PERL_CORE
+#define rxres_free S_rxres_free
+#define rxres_restore S_rxres_restore
+#endif
+#endif
#ifdef PERL_CORE
-#define rxres_free Perl_rxres_free
-#define rxres_restore Perl_rxres_restore
#define rxres_save Perl_rxres_save
#endif
#if !defined(HAS_RENAME)
#define savesvpv Perl_savesvpv
#define savestack_grow Perl_savestack_grow
#define savestack_grow_cnt Perl_savestack_grow_cnt
-#define save_aelem Perl_save_aelem
+#define save_aelem_flags Perl_save_aelem_flags
#define save_alloc Perl_save_alloc
#define save_aptr Perl_save_aptr
#define save_ary Perl_save_ary
#define save_bool Perl_save_bool
#define save_clearsv Perl_save_clearsv
#define save_delete Perl_save_delete
+#define save_hdelete Perl_save_hdelete
+#define save_adelete Perl_save_adelete
#define save_destructor Perl_save_destructor
#define save_destructor_x Perl_save_destructor_x
-#define save_freesv Perl_save_freesv
-#ifdef PERL_CORE
-#define save_freeop Perl_save_freeop
-#endif
-#define save_freepv Perl_save_freepv
#define save_generic_svref Perl_save_generic_svref
#define save_generic_pvref Perl_save_generic_pvref
#define save_shared_pvref Perl_save_shared_pvref
#define save_gp Perl_save_gp
#define save_hash Perl_save_hash
+#ifdef PERL_CORE
+#define save_hints Perl_save_hints
+#endif
#define save_helem_flags Perl_save_helem_flags
#define save_hptr Perl_save_hptr
#define save_I16 Perl_save_I16
#define save_iv Perl_save_iv
#define save_list Perl_save_list
#define save_long Perl_save_long
-#define save_mortalizesv Perl_save_mortalizesv
#define save_nogv Perl_save_nogv
-#ifdef PERL_CORE
-#define save_op Perl_save_op
-#endif
#define save_scalar Perl_save_scalar
#define save_pptr Perl_save_pptr
#define save_vptr Perl_save_vptr
#define save_padsv_and_mortalize Perl_save_padsv_and_mortalize
#define save_sptr Perl_save_sptr
#define save_svref Perl_save_svref
+#define save_pushptr Perl_save_pushptr
+#ifdef PERL_CORE
+#define save_pushi32ptr Perl_save_pushi32ptr
+#define save_pushptrptr Perl_save_pushptrptr
+#endif
+#if defined(PERL_IN_SCOPE_C) || defined(PERL_DECL_PROT)
+#ifdef PERL_CORE
+#define save_pushptri32ptr S_save_pushptri32ptr
+#endif
+#endif
#ifdef PERL_CORE
#define sawparens Perl_sawparens
#define scalar Perl_scalar
#endif
-#if defined(PERL_IN_OP_C)
+#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT)
#ifdef PERL_CORE
#define scalarkids S_scalarkids
#define scalarseq S_scalarseq
#define scope Perl_scope
#endif
#define screaminstr Perl_screaminstr
-#if !defined(VMS)
-#ifdef PERL_CORE
-#define setenv_getix Perl_setenv_getix
-#endif
-#endif
#define setdefout Perl_setdefout
#define share_hek Perl_share_hek
#if defined(HAS_SIGACTION) && defined(SA_SIGINFO)
#define sv_2bool Perl_sv_2bool
#define sv_2cv Perl_sv_2cv
#define sv_2io Perl_sv_2io
-#ifdef PERL_IN_SV_C
+#if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
#ifdef PERL_CORE
#define glob_2number S_glob_2number
-#define glob_2pv S_glob_2pv
#endif
#endif
#define sv_2iv_flags Perl_sv_2iv_flags
#define sv_pvutf8n Perl_sv_pvutf8n
#define sv_pvbyten Perl_sv_pvbyten
#define sv_true Perl_sv_true
+#if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
#ifdef PERL_CORE
-#define sv_add_arena Perl_sv_add_arena
+#define sv_add_arena S_sv_add_arena
+#endif
#endif
#define sv_backoff Perl_sv_backoff
#define sv_bless Perl_sv_bless
#ifdef PERL_CORE
#define yyparse Perl_yyparse
#define parser_free Perl_parser_free
-#define yywarn Perl_yywarn
+#endif
+#if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT)
+#ifdef PERL_CORE
+#define yywarn S_yywarn
+#endif
#endif
#if defined(MYMALLOC)
#define dump_mstats Perl_dump_mstats
#endif
#ifdef PERL_CORE
#define my_attrs Perl_my_attrs
-#define boot_core_xsutils Perl_boot_core_xsutils
#endif
#if defined(USE_ITHREADS)
#define cx_dup Perl_cx_dup
#define dirp_dup Perl_dirp_dup
#define gp_dup Perl_gp_dup
#define mg_dup Perl_mg_dup
+#if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
+#ifdef PERL_CORE
+#define sv_dup_inc_multiple S_sv_dup_inc_multiple
+#endif
+#endif
#define sv_dup Perl_sv_dup
#define rvpv_dup Perl_rvpv_dup
#define parser_dup Perl_parser_dup
#ifdef PERL_CORE
#define hsplit S_hsplit
#define hfreeentries S_hfreeentries
+#define anonymise_cv S_anonymise_cv
#define new_he S_new_he
#define save_hek_flags S_save_hek_flags
#define hv_magic_check S_hv_magic_check
#define find_beginning S_find_beginning
#define forbid_setid S_forbid_setid
#define incpush S_incpush
+#define incpush_use_sep S_incpush_use_sep
#define init_interp S_init_interp
#define init_ids S_init_ids
#define init_main_stash S_init_main_stash
#define open_script S_open_script
#define usage S_usage
#endif
-#ifdef DOSUID
-# ifdef IAMSUID
-# else
-# endif
-#else
-# ifndef SETUID_SCRIPTS_ARE_SECURE_NOW
-# endif
+#ifndef SETUID_SCRIPTS_ARE_SECURE_NOW
#endif
-# if defined(IAMSUID)
-#ifdef PERL_CORE
-#define fd_on_nosuid_fs S_fd_on_nosuid_fs
-#endif
-# endif
#ifdef PERL_CORE
#define parse_body S_parse_body
#define run_body S_run_body
#endif
#if defined(PERL_IN_PP_C) || defined(PERL_DECL_PROT)
#ifdef PERL_CORE
+#define do_delete_local S_do_delete_local
#define refto S_refto
#endif
#endif
#if defined(PERL_CORE) || defined(PERL_EXT)
#define reghopmaybe3 S_reghopmaybe3
#define find_byclass S_find_byclass
-#define swap_match_buff S_swap_match_buff
#define to_utf8_substr S_to_utf8_substr
#define to_byte_substr S_to_byte_substr
#define reg_check_named_buff_matched S_reg_check_named_buff_matched
#define vdie_common S_vdie_common
#define write_no_mem S_write_no_mem
#endif
-#if defined(PERL_MEM_LOG) && defined(PERL_MEM_LOG_STDERR)
+#if defined(PERL_MEM_LOG) && !defined(PERL_MEM_LOG_NOIMPL)
#ifdef PERL_CORE
#define mem_log_common S_mem_log_common
#endif
#define sv_setsv_flags Perl_sv_setsv_flags
#define sv_catpvn_flags Perl_sv_catpvn_flags
#define sv_catsv_flags Perl_sv_catsv_flags
-#define sv_utf8_upgrade_flags Perl_sv_utf8_upgrade_flags
+#define sv_utf8_upgrade_flags_grow Perl_sv_utf8_upgrade_flags_grow
#define sv_pvn_force_flags Perl_sv_pvn_force_flags
#define sv_copypv Perl_sv_copypv
#define my_atof2 Perl_my_atof2
#ifdef PERL_CORE
#define deb_stack_all Perl_deb_stack_all
#endif
-#ifdef PERL_IN_DEB_C
+#if defined(PERL_IN_DEB_C) || defined(PERL_DECL_PROT)
#ifdef PERL_CORE
#define deb_stack_n S_deb_stack_n
#endif
#endif
#endif
#ifdef PERL_DONT_CREATE_GVSV
-#define gv_SVadd Perl_gv_SVadd
#endif
#ifdef PERL_CORE
#define offer_nice_chunk Perl_offer_nice_chunk
#endif
#if !defined(HAS_SIGNBIT)
#endif
-#ifdef PERL_CORE
-#define mro_meta_init Perl_mro_meta_init
-#endif
#if defined(USE_ITHREADS)
#ifdef PERL_CORE
#define mro_meta_dup Perl_mro_meta_dup
#define mro_get_linear_isa Perl_mro_get_linear_isa
#if defined(PERL_IN_MRO_C) || defined(PERL_DECL_PROT)
#ifdef PERL_CORE
-#define mro_get_linear_isa_c3 S_mro_get_linear_isa_c3
#define mro_get_linear_isa_dfs S_mro_get_linear_isa_dfs
#endif
#endif
#define get_context Perl_get_context
#define set_context Perl_set_context
#define amagic_call(a,b,c,d) Perl_amagic_call(aTHX_ a,b,c,d)
-#define Gv_AMupdate(a) Perl_Gv_AMupdate(aTHX_ a)
+#define Gv_AMupdate(a,b) Perl_Gv_AMupdate(aTHX_ a,b)
#define gv_handler(a,b) Perl_gv_handler(aTHX_ a,b)
#ifdef PERL_CORE
#define append_elem(a,b,c) Perl_append_elem(aTHX_ a,b,c)
#define av_delete(a,b,c) Perl_av_delete(aTHX_ a,b,c)
#define av_exists(a,b) Perl_av_exists(aTHX_ a,b)
#define av_extend(a,b) Perl_av_extend(aTHX_ a,b)
-#ifdef PERL_CORE
-#define av_fake(a,b) Perl_av_fake(aTHX_ a,b)
-#endif
#define av_fetch(a,b,c) Perl_av_fetch(aTHX_ a,b,c)
#define av_fill(a,b) Perl_av_fill(aTHX_ a,b)
#define av_len(a) Perl_av_len(aTHX_ a)
#define get_opargs() Perl_get_opargs(aTHX)
#endif
#define get_ppaddr() Perl_get_ppaddr(aTHX)
-#if defined(PERL_CORE) || defined(PERL_EXT)
#define cxinc() Perl_cxinc(aTHX)
-#endif
#define vdeb(a,b) Perl_vdeb(aTHX_ a,b)
#define debprofdump() Perl_debprofdump(aTHX)
#define debop(a) Perl_debop(aTHX_ a)
#define debstack() Perl_debstack(aTHX)
#define debstackptrs() Perl_debstackptrs(aTHX)
-#define delimcpy(a,b,c,d,e,f) Perl_delimcpy(aTHX_ a,b,c,d,e,f)
+#define delimcpy Perl_delimcpy
#ifdef PERL_CORE
#define delete_eval_scope() Perl_delete_eval_scope(aTHX)
#define deprecate(a) Perl_deprecate(aTHX_ a)
#define deprecate_old(a) Perl_deprecate_old(aTHX_ a)
#endif
+#if defined(PERL_IN_UTIL_C) || defined(PERL_DECL_PROT)
+#ifdef PERL_CORE
+#define vdie(a,b) S_vdie(aTHX_ a,b)
+#endif
+#endif
#ifdef PERL_CORE
-#define vdie(a,b) Perl_vdie(aTHX_ a,b)
#define die_where(a,b) Perl_die_where(aTHX_ a,b)
#endif
#define dounwind(a) Perl_dounwind(aTHX_ a)
#ifdef PERL_CORE
#define do_execfree() Perl_do_execfree(aTHX)
#endif
-#ifdef PERL_IN_DOIO_C
+#if defined(PERL_IN_DOIO_C) || defined(PERL_DECL_PROT)
#ifdef PERL_CORE
#define exec_failed(a,b,c) S_exec_failed(aTHX_ a,b,c)
#endif
#define fbm_instr(a,b,c,d) Perl_fbm_instr(aTHX_ a,b,c,d)
#ifdef PERL_CORE
#define find_script(a,b,c,d) Perl_find_script(aTHX_ a,b,c,d)
-#define force_list(a) Perl_force_list(aTHX_ a)
-#define fold_constants(a) Perl_fold_constants(aTHX_ a)
+#endif
+#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT)
+#ifdef PERL_CORE
+#define force_list(a) S_force_list(aTHX_ a)
+#define fold_constants(a) S_fold_constants(aTHX_ a)
+#endif
#endif
#define vform(a,b) Perl_vform(aTHX_ a,b)
#define free_tmps() Perl_free_tmps(aTHX)
+#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT)
#ifdef PERL_CORE
-#define gen_constant_list(a) Perl_gen_constant_list(aTHX_ a)
+#define gen_constant_list(a) S_gen_constant_list(aTHX_ a)
+#endif
#endif
#if !defined(HAS_GETENV_LEN)
#ifdef PERL_CORE
#endif
#define gp_free(a) Perl_gp_free(aTHX_ a)
#define gp_ref(a) Perl_gp_ref(aTHX_ a)
-#define gv_AVadd(a) Perl_gv_AVadd(aTHX_ a)
-#define gv_HVadd(a) Perl_gv_HVadd(aTHX_ a)
-#define gv_IOadd(a) Perl_gv_IOadd(aTHX_ a)
+#define gv_add_by_type(a,b) Perl_gv_add_by_type(aTHX_ a,b)
#define gv_autoload4(a,b,c,d) Perl_gv_autoload4(aTHX_ a,b,c,d)
#define gv_check(a) Perl_gv_check(aTHX_ a)
#define gv_efullname(a,b) Perl_gv_efullname(aTHX_ a,b)
#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 ibcmp Perl_ibcmp
+#define ibcmp_locale Perl_ibcmp_locale
#define ibcmp_utf8(a,b,c,d,e,f,g,h) Perl_ibcmp_utf8(aTHX_ a,b,c,d,e,f,g,h)
+#if defined(PERL_IN_DOIO_C) || defined(PERL_DECL_PROT)
+#ifdef PERL_CORE
+#define ingroup(a,b) S_ingroup(aTHX_ a,b)
+#endif
+#endif
#ifdef PERL_CORE
-#define ingroup(a,b) Perl_ingroup(aTHX_ a,b)
#define init_argv_symbols(a,b) Perl_init_argv_symbols(aTHX_ a,b)
#define init_debugger() Perl_init_debugger(aTHX)
#endif
#ifdef PERL_CORE
#define intro_my() Perl_intro_my(aTHX)
#endif
-#define instr(a,b) Perl_instr(aTHX_ a,b)
+#define instr Perl_instr
#ifdef PERL_CORE
#define io_close(a,b) Perl_io_close(aTHX_ a,b)
#define invert(a) Perl_invert(aTHX_ a)
-#define is_gv_magical(a,b,c) Perl_is_gv_magical(aTHX_ a,b,c)
#endif
#define is_lvalue_sub() Perl_is_lvalue_sub(aTHX)
#define to_uni_upper_lc(a) Perl_to_uni_upper_lc(aTHX_ a)
#define is_uni_print_lc(a) Perl_is_uni_print_lc(aTHX_ a)
#define is_uni_punct_lc(a) Perl_is_uni_punct_lc(aTHX_ a)
#define is_uni_xdigit_lc(a) Perl_is_uni_xdigit_lc(aTHX_ a)
-#define is_utf8_char(a) Perl_is_utf8_char(aTHX_ a)
-#define is_utf8_string(a,b) Perl_is_utf8_string(aTHX_ a,b)
-#define is_utf8_string_loclen(a,b,c,d) Perl_is_utf8_string_loclen(aTHX_ a,b,c,d)
+#define is_ascii_string Perl_is_ascii_string
+#define is_utf8_char Perl_is_utf8_char
+#define is_utf8_string Perl_is_utf8_string
+#define is_utf8_string_loclen Perl_is_utf8_string_loclen
#define is_utf8_alnum(a) Perl_is_utf8_alnum(aTHX_ a)
#define is_utf8_alnumc(a) Perl_is_utf8_alnumc(aTHX_ a)
#define is_utf8_idfirst(a) Perl_is_utf8_idfirst(aTHX_ a)
#endif
#define op_refcnt_lock() Perl_op_refcnt_lock(aTHX)
#define op_refcnt_unlock() Perl_op_refcnt_unlock(aTHX)
-#if defined(PERL_IN_OP_C)
+#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT)
#ifdef PERL_CORE
#define linklist(a) S_linklist(aTHX_ a)
#define listkids(a) S_listkids(aTHX_ a)
#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_clearhints(a,b) Perl_magic_clearhints(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_set_all_env(a,b) Perl_magic_set_all_env(aTHX_ a,b)
#define magic_sizepack(a,b) Perl_magic_sizepack(aTHX_ a,b)
#define magic_wipepack(a,b) Perl_magic_wipepack(aTHX_ a,b)
-#define magicname(a,b,c) Perl_magicname(aTHX_ a,b,c)
#endif
#define markstack_grow() Perl_markstack_grow(aTHX)
#if defined(USE_LOCALE_COLLATE)
#define newGVREF(a,b) Perl_newGVREF(aTHX_ a,b)
#define newHVREF(a) Perl_newHVREF(aTHX_ a)
#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)
#ifdef USE_ITHREADS
#define newPADOP(a,b,c) Perl_newPADOP(aTHX_ a,b,c)
#ifdef PERL_CORE
#define nextargv(a) Perl_nextargv(aTHX_ a)
#endif
-#define ninstr(a,b,c,d) Perl_ninstr(aTHX_ a,b,c,d)
-#ifdef PERL_CORE
-#define oopsCV(a) Perl_oopsCV(aTHX_ a)
-#endif
+#define ninstr Perl_ninstr
#define op_free(a) Perl_op_free(aTHX_ a)
#ifdef PERL_MAD
#ifdef PERL_CORE
#define pad_sv(a) Perl_pad_sv(aTHX_ a)
#ifdef PERL_CORE
#define pad_free(a) Perl_pad_free(aTHX_ a)
-#define pad_reset() Perl_pad_reset(aTHX)
+#endif
+#if defined(PERL_IN_PAD_C) || defined(PERL_DECL_PROT)
+#ifdef PERL_CORE
+#define pad_reset() S_pad_reset(aTHX)
+#endif
+#endif
+#ifdef PERL_CORE
#define pad_swipe(a,b) Perl_pad_swipe(aTHX_ a,b)
#define peep(a) Perl_peep(aTHX_ a)
#endif
#define require_pv(a) Perl_require_pv(aTHX_ a)
#define pack_cat(a,b,c,d,e,f,g) Perl_pack_cat(aTHX_ a,b,c,d,e,f,g)
#define packlist(a,b,c,d,e) Perl_packlist(aTHX_ a,b,c,d,e)
-#ifdef PERL_USES_PL_PIDSTATUS
+#if defined(PERL_USES_PL_PIDSTATUS) && defined(PERL_IN_UTIL_C)
#ifdef PERL_CORE
-#define pidgone(a,b) Perl_pidgone(aTHX_ a,b)
+#define pidgone(a,b) S_pidgone(aTHX_ a,b)
#endif
#endif
#define pmflag(a,b) Perl_pmflag(aTHX_ a,b)
#ifdef PERL_CORE
#define pmruntime(a,b,c) Perl_pmruntime(aTHX_ a,b,c)
-#define pmtrans(a,b,c) Perl_pmtrans(aTHX_ a,b,c)
+#endif
+#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT)
+#ifdef PERL_CORE
+#define pmtrans(a,b,c) S_pmtrans(aTHX_ a,b,c)
+#endif
#endif
#define pop_scope() Perl_pop_scope(aTHX)
#ifdef PERL_CORE
#define prepend_elem(a,b,c) Perl_prepend_elem(aTHX_ a,b,c)
#endif
#define push_scope() Perl_push_scope(aTHX)
+#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT)
#ifdef PERL_CORE
-#define refkids(a,b) Perl_refkids(aTHX_ a,b)
+#define refkids(a,b) S_refkids(aTHX_ a,b)
+#endif
#endif
#define regdump(a) Perl_regdump(aTHX_ a)
#define regdump(a) Perl_regdump(aTHX_ a)
#if defined(PERL_CORE) || defined(PERL_EXT)
#define regprop(a,b,c) Perl_regprop(aTHX_ a,b,c)
#endif
-#define repeatcpy(a,b,c,d) Perl_repeatcpy(aTHX_ a,b,c,d)
-#define rninstr(a,b,c,d) Perl_rninstr(aTHX_ a,b,c,d)
+#define repeatcpy Perl_repeatcpy
+#define rninstr Perl_rninstr
#define rsignal(a,b) Perl_rsignal(aTHX_ a,b)
#ifdef PERL_CORE
#define rsignal_restore(a,b) Perl_rsignal_restore(aTHX_ a,b)
#define rsignal_save(a,b,c) Perl_rsignal_save(aTHX_ a,b,c)
#endif
#define rsignal_state(a) Perl_rsignal_state(aTHX_ a)
+#if defined(PERL_IN_PP_CTL_C) || defined(PERL_DECL_PROT)
+#ifdef PERL_CORE
+#define rxres_free(a) S_rxres_free(aTHX_ a)
+#define rxres_restore(a,b) S_rxres_restore(aTHX_ a,b)
+#endif
+#endif
#ifdef PERL_CORE
-#define rxres_free(a) Perl_rxres_free(aTHX_ a)
-#define rxres_restore(a,b) Perl_rxres_restore(aTHX_ a,b)
#define rxres_save(a,b) Perl_rxres_save(aTHX_ a,b)
#endif
#if !defined(HAS_RENAME)
#define savesvpv(a) Perl_savesvpv(aTHX_ a)
#define savestack_grow() Perl_savestack_grow(aTHX)
#define savestack_grow_cnt(a) Perl_savestack_grow_cnt(aTHX_ a)
-#define save_aelem(a,b,c) Perl_save_aelem(aTHX_ a,b,c)
+#define save_aelem_flags(a,b,c,d) Perl_save_aelem_flags(aTHX_ a,b,c,d)
#define save_alloc(a,b) Perl_save_alloc(aTHX_ a,b)
#define save_aptr(a) Perl_save_aptr(aTHX_ a)
#define save_ary(a) Perl_save_ary(aTHX_ a)
#define save_bool(a) Perl_save_bool(aTHX_ a)
#define save_clearsv(a) Perl_save_clearsv(aTHX_ a)
#define save_delete(a,b,c) Perl_save_delete(aTHX_ a,b,c)
+#define save_hdelete(a,b) Perl_save_hdelete(aTHX_ a,b)
+#define save_adelete(a,b) Perl_save_adelete(aTHX_ a,b)
#define save_destructor(a,b) Perl_save_destructor(aTHX_ a,b)
#define save_destructor_x(a,b) Perl_save_destructor_x(aTHX_ a,b)
-#define save_freesv(a) Perl_save_freesv(aTHX_ a)
#ifdef PERL_CORE
-#define save_freeop(a) Perl_save_freeop(aTHX_ a)
#endif
-#define save_freepv(a) Perl_save_freepv(aTHX_ a)
#define save_generic_svref(a) Perl_save_generic_svref(aTHX_ a)
#define save_generic_pvref(a) Perl_save_generic_pvref(aTHX_ a)
#define save_shared_pvref(a) Perl_save_shared_pvref(aTHX_ a)
#define save_gp(a,b) Perl_save_gp(aTHX_ a,b)
#define save_hash(a) Perl_save_hash(aTHX_ a)
+#ifdef PERL_CORE
+#define save_hints() Perl_save_hints(aTHX)
+#endif
#define save_helem_flags(a,b,c,d) Perl_save_helem_flags(aTHX_ a,b,c,d)
#define save_hptr(a) Perl_save_hptr(aTHX_ a)
#define save_I16(a) Perl_save_I16(aTHX_ a)
#define save_iv(a) Perl_save_iv(aTHX_ a)
#define save_list(a,b) Perl_save_list(aTHX_ a,b)
#define save_long(a) Perl_save_long(aTHX_ a)
-#define save_mortalizesv(a) Perl_save_mortalizesv(aTHX_ a)
#define save_nogv(a) Perl_save_nogv(aTHX_ a)
#ifdef PERL_CORE
-#define save_op() Perl_save_op(aTHX)
#endif
#define save_scalar(a) Perl_save_scalar(aTHX_ a)
#define save_pptr(a) Perl_save_pptr(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)
+#define save_pushptr(a,b) Perl_save_pushptr(aTHX_ a,b)
+#ifdef PERL_CORE
+#define save_pushi32ptr(a,b,c) Perl_save_pushi32ptr(aTHX_ a,b,c)
+#define save_pushptrptr(a,b,c) Perl_save_pushptrptr(aTHX_ a,b,c)
+#endif
+#if defined(PERL_IN_SCOPE_C) || defined(PERL_DECL_PROT)
+#ifdef PERL_CORE
+#define save_pushptri32ptr(a,b,c,d) S_save_pushptri32ptr(aTHX_ a,b,c,d)
+#endif
+#endif
#ifdef PERL_CORE
#define sawparens(a) Perl_sawparens(aTHX_ a)
#define scalar(a) Perl_scalar(aTHX_ a)
#endif
-#if defined(PERL_IN_OP_C)
+#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT)
#ifdef PERL_CORE
#define scalarkids(a) S_scalarkids(aTHX_ a)
#define scalarseq(a) S_scalarseq(aTHX_ a)
#define scope(a) Perl_scope(aTHX_ a)
#endif
#define screaminstr(a,b,c,d,e,f) Perl_screaminstr(aTHX_ a,b,c,d,e,f)
-#if !defined(VMS)
-#ifdef PERL_CORE
-#define setenv_getix(a) Perl_setenv_getix(aTHX_ a)
-#endif
-#endif
#define setdefout(a) Perl_setdefout(aTHX_ a)
#define share_hek(a,b,c) Perl_share_hek(aTHX_ a,b,c)
#if defined(HAS_SIGACTION) && defined(SA_SIGINFO)
#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
+#if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
#ifdef PERL_CORE
#define glob_2number(a) S_glob_2number(aTHX_ a)
-#define glob_2pv(a,b) S_glob_2pv(aTHX_ a,b)
#endif
#endif
#define sv_2iv_flags(a,b) Perl_sv_2iv_flags(aTHX_ a,b)
#define sv_pvutf8n(a,b) Perl_sv_pvutf8n(aTHX_ a,b)
#define sv_pvbyten(a,b) Perl_sv_pvbyten(aTHX_ a,b)
#define sv_true(a) Perl_sv_true(aTHX_ a)
+#if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
#ifdef PERL_CORE
-#define sv_add_arena(a,b,c) Perl_sv_add_arena(aTHX_ a,b,c)
+#define sv_add_arena(a,b,c) S_sv_add_arena(aTHX_ a,b,c)
+#endif
#endif
#define sv_backoff(a) Perl_sv_backoff(aTHX_ a)
#define sv_bless(a,b) Perl_sv_bless(aTHX_ a,b)
#ifdef PERL_CORE
#define yyparse() Perl_yyparse(aTHX)
#define parser_free(a) Perl_parser_free(aTHX_ a)
-#define yywarn(a) Perl_yywarn(aTHX_ a)
+#endif
+#if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT)
+#ifdef PERL_CORE
+#define yywarn(a) S_yywarn(aTHX_ a)
+#endif
#endif
#if defined(MYMALLOC)
#define dump_mstats(a) Perl_dump_mstats(aTHX_ a)
#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
#if defined(USE_ITHREADS)
#define cx_dup(a,b,c,d) Perl_cx_dup(aTHX_ a,b,c,d)
#define dirp_dup(a) Perl_dirp_dup(aTHX_ a)
#define gp_dup(a,b) Perl_gp_dup(aTHX_ a,b)
#define mg_dup(a,b) Perl_mg_dup(aTHX_ a,b)
+#if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
+#ifdef PERL_CORE
+#define sv_dup_inc_multiple(a,b,c,d) S_sv_dup_inc_multiple(aTHX_ a,b,c,d)
+#endif
+#endif
#define sv_dup(a,b) Perl_sv_dup(aTHX_ a,b)
#define rvpv_dup(a,b,c) Perl_rvpv_dup(aTHX_ a,b,c)
#define parser_dup(a,b) Perl_parser_dup(aTHX_ a,b)
#ifdef PERL_CORE
#define hsplit(a) S_hsplit(aTHX_ a)
#define hfreeentries(a) S_hfreeentries(aTHX_ a)
+#define anonymise_cv(a,b) S_anonymise_cv(aTHX_ a,b)
#define new_he() S_new_he(aTHX)
#define save_hek_flags S_save_hek_flags
#define hv_magic_check S_hv_magic_check
#ifdef PERL_CORE
#define find_beginning(a,b) S_find_beginning(aTHX_ a,b)
#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 incpush(a,b,c) S_incpush(aTHX_ a,b,c)
+#define incpush_use_sep(a,b,c) S_incpush_use_sep(aTHX_ a,b,c)
#define init_interp() S_init_interp(aTHX)
#define init_ids() S_init_ids(aTHX)
#define init_main_stash() S_init_main_stash(aTHX)
#define open_script(a,b,c,d) S_open_script(aTHX_ a,b,c,d)
#define usage(a) S_usage(aTHX_ a)
#endif
-#ifdef DOSUID
-# ifdef IAMSUID
+#ifndef SETUID_SCRIPTS_ARE_SECURE_NOW
#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
-#define fd_on_nosuid_fs(a) S_fd_on_nosuid_fs(aTHX_ a)
-#endif
-# endif
#ifdef PERL_CORE
#define parse_body(a,b) S_parse_body(aTHX_ a,b)
#define run_body(a) S_run_body(aTHX_ a)
-#define incpush_if_exists(a) S_incpush_if_exists(aTHX_ a)
+#define incpush_if_exists(a,b,c) S_incpush_if_exists(aTHX_ a,b,c)
#endif
#endif
#if defined(PERL_IN_PP_C) || defined(PERL_DECL_PROT)
#ifdef PERL_CORE
+#define do_delete_local() S_do_delete_local(aTHX)
#define refto(a) S_refto(aTHX_ a)
#endif
#endif
#define reg_node(a,b) S_reg_node(aTHX_ a,b)
#define reg_recode(a,b) S_reg_recode(aTHX_ a,b)
#define regpiece(a,b,c) S_regpiece(aTHX_ a,b,c)
-#define reg_namedseq(a,b) S_reg_namedseq(aTHX_ a,b)
+#define reg_namedseq(a,b,c) S_reg_namedseq(aTHX_ a,b,c)
#define reginsert(a,b,c,d) S_reginsert(aTHX_ a,b,c,d)
#define regtail(a,b,c,d) S_regtail(aTHX_ a,b,c,d)
#define reg_scan_name(a,b) S_reg_scan_name(aTHX_ a,b)
#if defined(PERL_CORE) || defined(PERL_EXT)
#define reghopmaybe3 S_reghopmaybe3
#define find_byclass(a,b,c,d,e) S_find_byclass(aTHX_ a,b,c,d,e)
-#define swap_match_buff(a) S_swap_match_buff(aTHX_ a)
#define to_utf8_substr(a) S_to_utf8_substr(aTHX_ a)
#define to_byte_substr(a) S_to_byte_substr(aTHX_ a)
#define reg_check_named_buff_matched(a,b) S_reg_check_named_buff_matched(aTHX_ a,b)
#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
-#if defined(PERL_MEM_LOG) && defined(PERL_MEM_LOG_STDERR)
+#if defined(PERL_MEM_LOG) && !defined(PERL_MEM_LOG_NOIMPL)
#ifdef PERL_CORE
#define mem_log_common S_mem_log_common
#endif
#define sv_setsv_flags(a,b,c) Perl_sv_setsv_flags(aTHX_ a,b,c)
#define sv_catpvn_flags(a,b,c,d) Perl_sv_catpvn_flags(aTHX_ a,b,c,d)
#define sv_catsv_flags(a,b,c) Perl_sv_catsv_flags(aTHX_ a,b,c)
-#define sv_utf8_upgrade_flags(a,b) Perl_sv_utf8_upgrade_flags(aTHX_ a,b)
+#define sv_utf8_upgrade_flags_grow(a,b,c) Perl_sv_utf8_upgrade_flags_grow(aTHX_ a,b,c)
#define sv_pvn_force_flags(a,b,c) Perl_sv_pvn_force_flags(aTHX_ a,b,c)
#define sv_copypv(a,b) Perl_sv_copypv(aTHX_ a,b)
#define my_atof2(a,b) Perl_my_atof2(aTHX_ a,b)
#ifdef PERL_CORE
#define deb_stack_all() Perl_deb_stack_all(aTHX)
#endif
-#ifdef PERL_IN_DEB_C
+#if defined(PERL_IN_DEB_C) || defined(PERL_DECL_PROT)
#ifdef PERL_CORE
#define deb_stack_n(a,b,c,d,e) S_deb_stack_n(aTHX_ a,b,c,d,e)
#endif
#endif
#endif
#ifdef PERL_DONT_CREATE_GVSV
-#define gv_SVadd(a) Perl_gv_SVadd(aTHX_ a)
#endif
#if defined(PERL_CORE) || defined(PERL_EXT)
#endif
#if defined(PERL_CORE) || defined(PERL_EXT)
#endif
#ifdef PERL_CORE
-#define mro_meta_init(a) Perl_mro_meta_init(aTHX_ a)
#endif
#if defined(USE_ITHREADS)
#ifdef PERL_CORE
#define mro_get_linear_isa(a) Perl_mro_get_linear_isa(aTHX_ a)
#if defined(PERL_IN_MRO_C) || defined(PERL_DECL_PROT)
#ifdef PERL_CORE
-#define mro_get_linear_isa_c3(a,b) S_mro_get_linear_isa_c3(aTHX_ a,b)
#define mro_get_linear_isa_dfs(a,b) S_mro_get_linear_isa_dfs(aTHX_ a,b)
#endif
#endif