This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
[perl #70614] Seg. fault with eval/use/UNITCHECK/DESTROY/eval combination
[perl5.git] / embed.h
diff --git a/embed.h b/embed.h
index 588c50a..d269611 100644 (file)
--- a/embed.h
+++ b/embed.h
@@ -43,9 +43,6 @@
 #endif
 #define get_context            Perl_get_context
 #define set_context            Perl_set_context
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define regcurly               Perl_regcurly
-#endif
 #define amagic_call            Perl_amagic_call
 #define Gv_AMupdate            Perl_Gv_AMupdate
 #define gv_handler             Perl_gv_handler
@@ -72,7 +69,7 @@
 #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)
+#if defined(PERL_IN_AV_C)
 #ifdef PERL_CORE
 #define get_aux_mg             S_get_aux_mg
 #endif
 #define block_gimme            Perl_block_gimme
 #ifdef PERL_CORE
 #define block_start            Perl_block_start
+#endif
+#ifdef PERL_CORE
 #define boot_core_UNIVERSAL    Perl_boot_core_UNIVERSAL
 #define boot_core_PerlIO       Perl_boot_core_PerlIO
 #endif
 #define call_list              Perl_call_list
+#define caller_cx              Perl_caller_cx
 #ifdef PERL_CORE
 #define cando                  Perl_cando
 #endif
 #endif
 #ifdef PERL_CORE
 #define convert                        Perl_convert
+#endif
+#define cop_hints_2hv          Perl_cop_hints_2hv
+#define cop_hints_fetchpvn     Perl_cop_hints_fetchpvn
+#ifdef PERL_CORE
 #define create_eval_scope      Perl_create_eval_scope
 #endif
 #define croak_sv               Perl_croak_sv
 #define croak                  Perl_croak
 #define vcroak                 Perl_vcroak
+#define croak_no_modify                Perl_croak_no_modify
 #define croak_xs_usage         Perl_croak_xs_usage
 #if defined(PERL_IMPLICIT_CONTEXT)
 #define croak_nocontext                Perl_croak_nocontext
 #ifdef PERL_CORE
 #define do_execfree            Perl_do_execfree
 #endif
-#if defined(PERL_IN_DOIO_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_DOIO_C)
 #ifdef PERL_CORE
 #define exec_failed            S_exec_failed
 #endif
 #ifdef PERL_CORE
 #define find_script            Perl_find_script
 #endif
-#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_OP_C)
 #ifdef PERL_CORE
 #define force_list             S_force_list
 #define fold_constants         S_fold_constants
 #define form                   Perl_form
 #define vform                  Perl_vform
 #define free_tmps              Perl_free_tmps
-#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_OP_C)
 #ifdef PERL_CORE
 #define gen_constant_list      S_gen_constant_list
 #endif
 #define gv_fetchpv             Perl_gv_fetchpv
 #define gv_fullname            Perl_gv_fullname
 #define gv_fullname4           Perl_gv_fullname4
+#ifdef PERL_CORE
+#define cvgv_set               Perl_cvgv_set
+#endif
 #define gv_init                        Perl_gv_init
 #define gv_name_set            Perl_gv_name_set
 #ifdef PERL_CORE
 #define gv_stashpvn            Perl_gv_stashpvn
 #define gv_stashsv             Perl_gv_stashsv
 #define hv_clear               Perl_hv_clear
+#define hv_copy_hints_hv       Perl_hv_copy_hints_hv
 #define hv_delayfree_ent       Perl_hv_delayfree_ent
 #define hv_common              Perl_hv_common
 #define hv_common_key_len      Perl_hv_common_key_len
 #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)
+#if defined(PERL_IN_HV_C)
 #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 ibcmp_utf8             Perl_ibcmp_utf8
-#if defined(PERL_IN_DOIO_C) || defined(PERL_DECL_PROT)
+#define foldEQ                 Perl_foldEQ
+#define foldEQ_locale          Perl_foldEQ_locale
+#define foldEQ_utf8            Perl_foldEQ_utf8
+#if defined(PERL_IN_DOIO_C)
 #ifdef PERL_CORE
 #define ingroup                        S_ingroup
 #endif
 #endif
 #ifdef PERL_CORE
 #define init_argv_symbols      Perl_init_argv_symbols
+#endif
+#ifdef PERL_CORE
 #define init_debugger          Perl_init_debugger
 #endif
 #define init_stacks            Perl_init_stacks
 #define jmaybe                 Perl_jmaybe
 #define keyword                        Perl_keyword
 #endif
-#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_OP_C)
 #ifdef PERL_CORE
 #define opt_scalarhv           S_opt_scalarhv
 #define is_inplace_av          S_is_inplace_av
 #define lex_peek_unichar       Perl_lex_peek_unichar
 #define lex_read_unichar       Perl_lex_read_unichar
 #define lex_read_space         Perl_lex_read_space
+#define parse_fullstmt         Perl_parse_fullstmt
 #define op_null                        Perl_op_null
 #if defined(PERL_CORE) || defined(PERL_EXT)
 #define op_clear               Perl_op_clear
 #endif
 #define op_refcnt_lock         Perl_op_refcnt_lock
 #define op_refcnt_unlock       Perl_op_refcnt_unlock
-#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_OP_C)
 #ifdef PERL_CORE
 #define linklist               S_linklist
 #define listkids               S_listkids
 #define grok_bin               Perl_grok_bin
 #if defined(PERL_CORE) || defined(PERL_EXT)
 #define grok_bslash_c          Perl_grok_bslash_c
+#define grok_bslash_o          Perl_grok_bslash_o
 #endif
 #define grok_hex               Perl_grok_hex
 #define grok_number            Perl_grok_number
 #define my_fork                        Perl_my_fork
 #define atfork_lock            Perl_atfork_lock
 #define atfork_unlock          Perl_atfork_unlock
-#define my_lstat               Perl_my_lstat
+#ifdef PERL_CORE
+#define my_lstat_flags         Perl_my_lstat_flags
+#endif
 #if !defined(HAS_MEMCMP) || !defined(HAS_SANE_MEMCMP)
 #define my_memcmp              Perl_my_memcmp
 #endif
 #define my_popen               Perl_my_popen
 #define my_popen_list          Perl_my_popen_list
 #define my_setenv              Perl_my_setenv
-#define my_stat                        Perl_my_stat
+#ifdef PERL_CORE
+#define my_stat_flags          Perl_my_stat_flags
+#endif
 #define my_strftime            Perl_my_strftime
 #if defined(MYSWAP)
 #define my_swap                        Perl_my_swap
 #ifdef PERL_CORE
 #define pad_free               Perl_pad_free
 #endif
-#if defined(PERL_IN_PAD_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_PAD_C)
 #ifdef PERL_CORE
 #define pad_reset              S_pad_reset
 #endif
 #ifdef PERL_CORE
 #define pad_swipe              Perl_pad_swipe
 #define peep                   Perl_peep
+#define rpeep                  Perl_rpeep
 #endif
 #if defined(USE_REENTRANT_API)
 #define reentrant_size         Perl_reentrant_size
 #ifdef PERL_CORE
 #define pmruntime              Perl_pmruntime
 #endif
-#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_OP_C)
 #ifdef PERL_CORE
 #define pmtrans                        S_pmtrans
 #endif
 #define prepend_elem           Perl_prepend_elem
 #endif
 #define push_scope             Perl_push_scope
-#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_OP_C)
 #ifdef PERL_CORE
 #define refkids                        S_refkids
 #endif
 #define rsignal_save           Perl_rsignal_save
 #endif
 #define rsignal_state          Perl_rsignal_state
-#if defined(PERL_IN_PP_CTL_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_PP_CTL_C)
 #ifdef PERL_CORE
 #define rxres_free             S_rxres_free
 #define rxres_restore          S_rxres_restore
 #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_pushi32ptr                Perl_save_pushi32ptr
 #define save_pushptrptr                Perl_save_pushptrptr
 #endif
-#if defined(PERL_IN_SCOPE_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_SCOPE_C)
 #ifdef PERL_CORE
 #define save_pushptri32ptr     S_save_pushptri32ptr
 #endif
 #define sawparens              Perl_sawparens
 #define scalar                 Perl_scalar
 #endif
-#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_OP_C)
 #ifdef PERL_CORE
 #define scalarkids             S_scalarkids
 #define scalarseq              S_scalarseq
 #define sv_2bool               Perl_sv_2bool
 #define sv_2cv                 Perl_sv_2cv
 #define sv_2io                 Perl_sv_2io
-#if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_SV_C)
 #ifdef PERL_CORE
 #define glob_2number           S_glob_2number
 #endif
 #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)
+#if defined(PERL_IN_SV_C)
 #ifdef PERL_CORE
 #define sv_add_arena           S_sv_add_arena
 #endif
 #define yylex                  Perl_yylex
 #endif
 #ifdef PERL_CORE
+#define yyunlex                        Perl_yyunlex
 #define yyparse                        Perl_yyparse
 #define parser_free            Perl_parser_free
 #endif
-#if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_TOKE_C)
 #ifdef PERL_CORE
 #define yywarn                 S_yywarn
 #endif
 #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)
+#if defined(PERL_IN_SV_C)
 #ifdef PERL_CORE
 #define sv_dup_inc_multiple    S_sv_dup_inc_multiple
 #endif
 #endif
-#if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_SV_C)
 #ifdef PERL_CORE
 #define sv_dup_common          S_sv_dup_common
 #endif
 #define sv_nounlocking         Perl_sv_nounlocking
 #endif
 #define nothreadhook           Perl_nothreadhook
-#if defined(PERL_IN_DOOP_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_DOOP_C)
 #ifdef PERL_CORE
 #define do_trans_simple                S_do_trans_simple
 #define do_trans_count         S_do_trans_count
 #define do_trans_complex_utf8  S_do_trans_complex_utf8
 #endif
 #endif
-#if defined(PERL_IN_GV_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_GV_C)
 #ifdef PERL_CORE
 #define gv_init_sv             S_gv_init_sv
+#define gv_magicalize_isa      S_gv_magicalize_isa
+#define gv_magicalize_overload S_gv_magicalize_overload
 #define gv_get_super_pkg       S_gv_get_super_pkg
 #define require_tie_mod                S_require_tie_mod
 #endif
 #endif
-#if defined(PERL_IN_HV_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_HV_C)
 #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 refcounted_he_value    S_refcounted_he_value
 #endif
 #endif
-#if defined(PERL_IN_MG_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_MG_C)
 #ifdef PERL_CORE
 #define save_magic             S_save_magic
 #define magic_methpack         S_magic_methpack
 #define unwind_handler_stack   S_unwind_handler_stack
 #endif
 #endif
-#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_OP_C)
 #ifdef PERL_CORE
 #define ck_anoncode            Perl_ck_anoncode
 #define ck_bitop               Perl_ck_bitop
 #    endif
 #  endif
 #endif
-#if defined(PERL_IN_PERL_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_PERL_C)
 #ifdef PERL_CORE
 #define find_beginning         S_find_beginning
 #define forbid_setid           S_forbid_setid
 #define incpush_if_exists      S_incpush_if_exists
 #endif
 #endif
-#if defined(PERL_IN_PP_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_PP_C)
 #ifdef PERL_CORE
 #define do_delete_local                S_do_delete_local
 #define refto                  S_refto
 #endif
 #endif
-#if defined(PERL_IN_PP_C) || defined(PERL_IN_PP_HOT_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_PP_C) || defined(PERL_IN_PP_HOT_C)
 #endif
-#if defined(PERL_IN_PP_PACK_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_PP_PACK_C)
 #ifdef PERL_CORE
 #define unpack_rec             S_unpack_rec
 #define pack_rec               S_pack_rec
 #define bytes_to_uni           S_bytes_to_uni
 #endif
 #endif
-#if defined(PERL_IN_PP_CTL_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_PP_CTL_C)
 #ifdef PERL_CORE
 #define docatch                        S_docatch
 #define dofindlabel            S_dofindlabel
 #define do_smartmatch          S_do_smartmatch
 #endif
 #endif
-#if defined(PERL_IN_PP_HOT_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_PP_HOT_C)
 #ifdef PERL_CORE
 #define do_oddball             S_do_oddball
 #define method_common          S_method_common
 #endif
 #endif
-#if defined(PERL_IN_PP_SORT_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_PP_SORT_C)
 #ifdef PERL_CORE
 #define sv_ncmp                        S_sv_ncmp
 #define sv_i_ncmp              S_sv_i_ncmp
 #define qsortsvu               S_qsortsvu
 #endif
 #endif
-#if defined(PERL_IN_PP_SYS_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_PP_SYS_C)
 #ifdef PERL_CORE
 #define doform                 S_doform
 #endif
 #define space_join_names_mortal        S_space_join_names_mortal
 #endif
 #endif
-#if defined(PERL_IN_REGCOMP_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_REGCOMP_C)
 #if defined(PERL_CORE) || defined(PERL_EXT)
 #define reg                    S_reg
 #define reganode               S_reganode
 #endif
 #  endif
 #endif
-#if defined(PERL_IN_REGEXEC_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_REGEXEC_C)
 #if defined(PERL_CORE) || defined(PERL_EXT)
 #define regmatch               S_regmatch
 #define regrepeat              S_regrepeat
 #endif
 #  endif
 #endif
-#if defined(PERL_IN_DUMP_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_DUMP_C)
 #ifdef PERL_CORE
 #define deb_curcv              S_deb_curcv
 #define debprof                        S_debprof
 #define pm_description         S_pm_description
 #endif
 #endif
-#if defined(PERL_IN_SCOPE_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_SCOPE_C)
 #ifdef PERL_CORE
 #define save_scalar_at         S_save_scalar_at
 #endif
 #endif
-#if defined(PERL_IN_GV_C) || defined(PERL_IN_SV_C) || defined(PERL_IN_PAD_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_GV_C) || defined(PERL_IN_SV_C) || defined(PERL_IN_PAD_C) || defined(PERL_IN_OP_C)
 #endif
-#if defined(PERL_IN_HV_C) || defined(PERL_IN_MG_C) || defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_HV_C) || defined(PERL_IN_MG_C) || defined(PERL_IN_SV_C)
+#endif
+#ifdef PERL_CORE
+#define sv_del_backref         Perl_sv_del_backref
 #endif
-#if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_SV_C)
 #ifdef PERL_CORE
 #define uiv_2buf               S_uiv_2buf
 #define sv_unglob              S_sv_unglob
 #define not_a_number           S_not_a_number
 #define visit                  S_visit
-#define sv_del_backref         S_sv_del_backref
 #define varname                        S_varname
 #endif
 #  ifdef DEBUGGING
 #define sv_pos_u2b_forwards    S_sv_pos_u2b_forwards
 #define sv_pos_u2b_midway      S_sv_pos_u2b_midway
 #define sv_pos_u2b_cached      S_sv_pos_u2b_cached
+#define utf8_mg_len_cache_update       S_utf8_mg_len_cache_update
 #define utf8_mg_pos_cache_update       S_utf8_mg_pos_cache_update
 #define sv_pos_b2u_midway      S_sv_pos_b2u_midway
+#define assert_uft8_cache_coherent     S_assert_uft8_cache_coherent
 #define F0convert              S_F0convert
 #endif
 #  if defined(PERL_OLD_COPY_ON_WRITE)
 #  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
 #define ptr_table_find         S_ptr_table_find
+#define anonymise_cv_maybe     S_anonymise_cv_maybe
 #endif
 #endif
-#if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_TOKE_C)
 #ifdef PERL_CORE
 #define check_uni              S_check_uni
 #define force_next             S_force_next
 #endif
 #  endif
 #endif
-#if defined(PERL_IN_UNIVERSAL_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_UNIVERSAL_C)
 #ifdef PERL_CORE
 #define isa_lookup             S_isa_lookup
 #endif
 #endif
-#if defined(PERL_IN_LOCALE_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_LOCALE_C)
 #if defined(USE_LOCALE_NUMERIC) || defined(USE_LOCALE_COLLATE)
 #ifdef PERL_CORE
 #define stdize_locale          S_stdize_locale
 #endif
 #endif
 #endif
-#if defined(PERL_IN_UTIL_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_UTIL_C)
 #ifdef PERL_CORE
 #define closest_cop            S_closest_cop
 #define mess_alloc             S_mess_alloc
 #endif
 #endif
 #endif
-#if defined(PERL_IN_NUMERIC_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_NUMERIC_C)
 #ifdef PERL_CORE
 #define mulexp10               S_mulexp10
 #endif
 #endif
-#if defined(PERL_IN_UTF8_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_UTF8_C)
 #ifdef PERL_CORE
 #define is_utf8_char_slow      S_is_utf8_char_slow
 #define is_utf8_common         S_is_utf8_common
 #ifdef PERL_CORE
 #define deb_stack_all          Perl_deb_stack_all
 #endif
-#if defined(PERL_IN_DEB_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_DEB_C)
 #ifdef PERL_CORE
 #define deb_stack_n            S_deb_stack_n
 #endif
 #define pad_add_name           Perl_pad_add_name
 #define pad_add_anon           Perl_pad_add_anon
 #endif
-#if defined(PERL_IN_PAD_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_PAD_C)
 #ifdef PERL_CORE
 #define pad_check_dup          S_pad_check_dup
 #endif
 #define padlist_dup            Perl_padlist_dup
 #endif
 #endif
-#if defined(PERL_IN_PAD_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_PAD_C)
 #ifdef PERL_CORE
 #define pad_findlex            S_pad_findlex
 #define pad_add_name_sv                S_pad_add_name_sv
 #endif
 #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)
+#if defined(PERL_IN_DUMP_C) || defined(PERL_IN_HV_C) || defined(PERL_IN_SV_C)
 #endif
 #define hv_clear_placeholders  Perl_hv_clear_placeholders
 #ifdef PERL_CORE
 #define magic_scalarpack       Perl_magic_scalarpack
 #endif
-#if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_SV_C)
 #ifdef PERL_CORE
 #define find_hash_subscript    S_find_hash_subscript
 #define find_array_subscript   S_find_array_subscript
 #endif
 #ifdef PERL_DONT_CREATE_GVSV
 #endif
-#if defined(PERL_IN_UTIL_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_UTIL_C)
 #ifdef PERL_CORE
 #define ckwarn_common          S_ckwarn_common
 #endif
 #endif
-#ifdef PERL_CORE
-#define offer_nice_chunk       Perl_offer_nice_chunk
-#endif
 #ifndef SPRINTF_RETURNS_STRLEN
 #endif
 #ifdef PERL_CORE
 #ifdef PERL_CORE
 #define pad_peg                        Perl_pad_peg
 #endif
-#if defined(PERL_IN_DUMP_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_DUMP_C)
 #ifdef PERL_CORE
 #define xmldump_attr           S_xmldump_attr
 #endif
 #define newMADPROP             Perl_newMADPROP
 #define mad_free               Perl_mad_free
 #endif
-#  if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT)
+#  if defined(PERL_IN_TOKE_C)
 #ifdef PERL_CORE
 #define skipspace0             S_skipspace0
 #define skipspace1             S_skipspace1
 #endif
 #endif
 #define mro_get_linear_isa     Perl_mro_get_linear_isa
-#if defined(PERL_IN_MRO_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_MRO_C)
 #ifdef PERL_CORE
 #define mro_get_linear_isa_dfs S_mro_get_linear_isa_dfs
 #endif
 #ifdef PERL_CORE
 #define boot_core_mro          Perl_boot_core_mro
 #endif
+#ifdef PERL_CORE
+#define munge_qwlist_to_paren_list     Perl_munge_qwlist_to_paren_list
+#endif
 #if defined(USE_ITHREADS)
-#  if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
+#  if defined(PERL_IN_SV_C)
 #ifdef PERL_CORE
 #define unreferenced_to_tmp_stack      S_unreferenced_to_tmp_stack
 #endif
 #define get_context            Perl_get_context
 #define set_context            Perl_set_context
 #if defined(PERL_CORE) || defined(PERL_EXT)
-#define regcurly               Perl_regcurly
-#endif
-#if defined(PERL_CORE) || defined(PERL_EXT)
 #endif
 #define amagic_call(a,b,c,d)   Perl_amagic_call(aTHX_ a,b,c,d)
 #define Gv_AMupdate(a,b)       Perl_Gv_AMupdate(aTHX_ a,b)
 #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)
+#if defined(PERL_IN_AV_C)
 #ifdef PERL_CORE
 #define get_aux_mg(a)          S_get_aux_mg(aTHX_ a)
 #endif
 #define block_gimme()          Perl_block_gimme(aTHX)
 #ifdef PERL_CORE
 #define block_start(a)         Perl_block_start(aTHX_ a)
+#endif
+#ifdef PERL_CORE
 #define boot_core_UNIVERSAL()  Perl_boot_core_UNIVERSAL(aTHX)
 #define boot_core_PerlIO()     Perl_boot_core_PerlIO(aTHX)
 #endif
 #define call_list(a,b)         Perl_call_list(aTHX_ a,b)
+#define caller_cx(a,b)         Perl_caller_cx(aTHX_ a,b)
 #ifdef PERL_CORE
 #define cando(a,b,c)           Perl_cando(aTHX_ a,b,c)
 #endif
 #endif
 #ifdef PERL_CORE
 #define convert(a,b,c)         Perl_convert(aTHX_ a,b,c)
+#endif
+#define cop_hints_2hv(a)       Perl_cop_hints_2hv(aTHX_ a)
+#define cop_hints_fetchpvn(a,b,c,d,e)  Perl_cop_hints_fetchpvn(aTHX_ a,b,c,d,e)
+#ifdef PERL_CORE
 #define create_eval_scope(a)   Perl_create_eval_scope(aTHX_ a)
 #endif
 #define croak_sv(a)            Perl_croak_sv(aTHX_ a)
 #define vcroak(a,b)            Perl_vcroak(aTHX_ a,b)
+#define croak_no_modify()      Perl_croak_no_modify(aTHX)
 #define croak_xs_usage(a,b)    Perl_croak_xs_usage(aTHX_ a,b)
 #if defined(PERL_IMPLICIT_CONTEXT)
+#define croak_nocontext                Perl_croak_nocontext
+#define die_nocontext          Perl_die_nocontext
+#define deb_nocontext          Perl_deb_nocontext
+#define form_nocontext         Perl_form_nocontext
+#define load_module_nocontext  Perl_load_module_nocontext
+#define mess_nocontext         Perl_mess_nocontext
+#define warn_nocontext         Perl_warn_nocontext
+#define warner_nocontext       Perl_warner_nocontext
+#define newSVpvf_nocontext     Perl_newSVpvf_nocontext
+#define sv_catpvf_nocontext    Perl_sv_catpvf_nocontext
+#define sv_setpvf_nocontext    Perl_sv_setpvf_nocontext
+#define sv_catpvf_mg_nocontext Perl_sv_catpvf_mg_nocontext
+#define sv_setpvf_mg_nocontext Perl_sv_setpvf_mg_nocontext
+#define fprintf_nocontext      Perl_fprintf_nocontext
+#define printf_nocontext       Perl_printf_nocontext
 #endif
 #ifdef PERL_CORE
 #define cv_ckproto_len(a,b,c,d)        Perl_cv_ckproto_len(aTHX_ a,b,c,d)
 #ifdef PERL_CORE
 #define do_execfree()          Perl_do_execfree(aTHX)
 #endif
-#if defined(PERL_IN_DOIO_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_DOIO_C)
 #ifdef PERL_CORE
 #define exec_failed(a,b,c)     S_exec_failed(aTHX_ a,b,c)
 #endif
 #ifdef PERL_CORE
 #define find_script(a,b,c,d)   Perl_find_script(aTHX_ a,b,c,d)
 #endif
-#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_OP_C)
 #ifdef PERL_CORE
 #define force_list(a)          S_force_list(aTHX_ a)
 #define fold_constants(a)      S_fold_constants(aTHX_ a)
 #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)
+#if defined(PERL_IN_OP_C)
 #ifdef PERL_CORE
 #define gen_constant_list(a)   S_gen_constant_list(aTHX_ a)
 #endif
 #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)
 #ifdef PERL_CORE
+#define cvgv_set(a,b)          Perl_cvgv_set(aTHX_ a,b)
 #endif
 #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_stashpvn(a,b,c)     Perl_gv_stashpvn(aTHX_ a,b,c)
 #define gv_stashsv(a,b)                Perl_gv_stashsv(aTHX_ a,b)
 #define hv_clear(a)            Perl_hv_clear(aTHX_ a)
-#ifdef PERL_CORE
-#endif
+#define hv_copy_hints_hv(a)    Perl_hv_copy_hints_hv(aTHX_ a)
 #define hv_delayfree_ent(a,b)  Perl_hv_delayfree_ent(aTHX_ a,b)
 #define hv_common(a,b,c,d,e,f,g,h)     Perl_hv_common(aTHX_ a,b,c,d,e,f,g,h)
 #define hv_common_key_len(a,b,c,d,e,f) Perl_hv_common_key_len(aTHX_ a,b,c,d,e,f)
 #endif
 #if defined(PERL_CORE) || defined(PERL_EXT)
 #endif
-#if defined(PERL_IN_HV_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_HV_C)
 #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                  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)
+#define foldEQ                 Perl_foldEQ
+#define foldEQ_locale          Perl_foldEQ_locale
+#define foldEQ_utf8(a,b,c,d,e,f,g,h)   Perl_foldEQ_utf8(aTHX_ a,b,c,d,e,f,g,h)
+#if defined(PERL_IN_DOIO_C)
 #ifdef PERL_CORE
 #define ingroup(a,b)           S_ingroup(aTHX_ a,b)
 #endif
 #define jmaybe(a)              Perl_jmaybe(aTHX_ a)
 #define keyword(a,b,c)         Perl_keyword(aTHX_ a,b,c)
 #endif
-#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_OP_C)
 #ifdef PERL_CORE
 #define opt_scalarhv(a)                S_opt_scalarhv(aTHX_ a)
 #define is_inplace_av(a,b)     S_is_inplace_av(aTHX_ a,b)
 #define lex_peek_unichar(a)    Perl_lex_peek_unichar(aTHX_ a)
 #define lex_read_unichar(a)    Perl_lex_read_unichar(aTHX_ a)
 #define lex_read_space(a)      Perl_lex_read_space(aTHX_ a)
+#define parse_fullstmt(a)      Perl_parse_fullstmt(aTHX_ a)
 #define op_null(a)             Perl_op_null(aTHX_ a)
 #if defined(PERL_CORE) || defined(PERL_EXT)
 #define op_clear(a)            Perl_op_clear(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) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_OP_C)
 #ifdef PERL_CORE
 #define linklist(a)            S_linklist(aTHX_ a)
 #define listkids(a)            S_listkids(aTHX_ a)
 #define grok_bin(a,b,c,d)      Perl_grok_bin(aTHX_ a,b,c,d)
 #if defined(PERL_CORE) || defined(PERL_EXT)
 #define grok_bslash_c(a,b)     Perl_grok_bslash_c(aTHX_ a,b)
+#define grok_bslash_o(a,b,c,d,e)       Perl_grok_bslash_o(aTHX_ a,b,c,d,e)
 #endif
 #define grok_hex(a,b,c,d)      Perl_grok_hex(aTHX_ a,b,c,d)
 #define grok_number(a,b,c)     Perl_grok_number(aTHX_ a,b,c)
 #define my_fork                        Perl_my_fork
 #define atfork_lock            Perl_atfork_lock
 #define atfork_unlock          Perl_atfork_unlock
-#define my_lstat()             Perl_my_lstat(aTHX)
+#ifdef PERL_CORE
+#define my_lstat_flags(a)      Perl_my_lstat_flags(aTHX_ a)
+#endif
 #if !defined(HAS_MEMCMP) || !defined(HAS_SANE_MEMCMP)
 #define my_memcmp              Perl_my_memcmp
 #endif
 #define my_popen(a,b)          Perl_my_popen(aTHX_ a,b)
 #define my_popen_list(a,b,c)   Perl_my_popen_list(aTHX_ a,b,c)
 #define my_setenv(a,b)         Perl_my_setenv(aTHX_ a,b)
-#define my_stat()              Perl_my_stat(aTHX)
+#ifdef PERL_CORE
+#define my_stat_flags(a)       Perl_my_stat_flags(aTHX_ a)
+#endif
 #define my_strftime(a,b,c,d,e,f,g,h,i,j)       Perl_my_strftime(aTHX_ a,b,c,d,e,f,g,h,i,j)
 #if defined(MYSWAP)
 #define my_swap(a)             Perl_my_swap(aTHX_ a)
 #ifdef PERL_CORE
 #define pad_free(a)            Perl_pad_free(aTHX_ a)
 #endif
-#if defined(PERL_IN_PAD_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_PAD_C)
 #ifdef PERL_CORE
 #define pad_reset()            S_pad_reset(aTHX)
 #endif
 #ifdef PERL_CORE
 #define pad_swipe(a,b)         Perl_pad_swipe(aTHX_ a,b)
 #define peep(a)                        Perl_peep(aTHX_ a)
+#define rpeep(a)               Perl_rpeep(aTHX_ a)
 #endif
 #if defined(USE_REENTRANT_API)
 #define reentrant_size()       Perl_reentrant_size(aTHX)
 #define reentrant_init()       Perl_reentrant_init(aTHX)
 #define reentrant_free()       Perl_reentrant_free(aTHX)
+#define reentrant_retry                Perl_reentrant_retry
 #endif
 #define call_atexit(a,b)       Perl_call_atexit(aTHX_ a,b)
 #define call_argv(a,b,c)       Perl_call_argv(aTHX_ a,b,c)
 #ifdef PERL_CORE
 #define pmruntime(a,b,c)       Perl_pmruntime(aTHX_ a,b,c)
 #endif
-#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_OP_C)
 #ifdef PERL_CORE
 #define pmtrans(a,b,c)         S_pmtrans(aTHX_ a,b,c)
 #endif
 #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)
+#if defined(PERL_IN_OP_C)
 #ifdef PERL_CORE
 #define refkids(a,b)           S_refkids(aTHX_ a,b)
 #endif
 #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)
+#if defined(PERL_IN_PP_CTL_C)
 #ifdef PERL_CORE
 #define rxres_free(a)          S_rxres_free(aTHX_ a)
 #define rxres_restore(a,b)     S_rxres_restore(aTHX_ a,b)
 #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_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)
+#if defined(PERL_IN_SCOPE_C)
 #ifdef PERL_CORE
 #define save_pushptri32ptr(a,b,c,d)    S_save_pushptri32ptr(aTHX_ a,b,c,d)
 #endif
 #define sawparens(a)           Perl_sawparens(aTHX_ a)
 #define scalar(a)              Perl_scalar(aTHX_ a)
 #endif
-#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_OP_C)
 #ifdef PERL_CORE
 #define scalarkids(a)          S_scalarkids(aTHX_ a)
 #define scalarseq(a)           S_scalarseq(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)
-#if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_SV_C)
 #ifdef PERL_CORE
 #define glob_2number(a)                S_glob_2number(aTHX_ a)
 #endif
 #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)
+#if defined(PERL_IN_SV_C)
 #ifdef PERL_CORE
 #define sv_add_arena(a,b,c)    S_sv_add_arena(aTHX_ a,b,c)
 #endif
 #define yylex()                        Perl_yylex(aTHX)
 #endif
 #ifdef PERL_CORE
-#define yyparse()              Perl_yyparse(aTHX)
+#define yyunlex()              Perl_yyunlex(aTHX)
+#define yyparse(a)             Perl_yyparse(aTHX_ a)
 #define parser_free(a)         Perl_parser_free(aTHX_ a)
 #endif
-#if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_TOKE_C)
 #ifdef PERL_CORE
 #define yywarn(a)              S_yywarn(aTHX_ a)
 #endif
 #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)
+#if defined(PERL_IN_SV_C)
 #ifdef PERL_CORE
 #define sv_dup_inc_multiple(a,b,c,d)   S_sv_dup_inc_multiple(aTHX_ a,b,c,d)
 #endif
 #endif
-#if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_SV_C)
 #ifdef PERL_CORE
 #define sv_dup_common(a,b)     S_sv_dup_common(aTHX_ a,b)
 #endif
 #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)
+#if defined(PERL_IN_DOOP_C)
 #ifdef PERL_CORE
 #define do_trans_simple(a)     S_do_trans_simple(aTHX_ a)
 #define do_trans_count(a)      S_do_trans_count(aTHX_ a)
 #define do_trans_complex_utf8(a)       S_do_trans_complex_utf8(aTHX_ a)
 #endif
 #endif
-#if defined(PERL_IN_GV_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_GV_C)
 #ifdef PERL_CORE
 #define gv_init_sv(a,b)                S_gv_init_sv(aTHX_ a,b)
+#define gv_magicalize_isa(a,b,c)       S_gv_magicalize_isa(aTHX_ a,b,c)
+#define gv_magicalize_overload(a)      S_gv_magicalize_overload(aTHX_ a)
 #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
-#ifdef PERL_CORE
-#endif
-#if defined(PERL_IN_HV_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_HV_C)
 #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
 #define refcounted_he_value(a) S_refcounted_he_value(aTHX_ a)
 #endif
 #endif
-#if defined(PERL_IN_MG_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_MG_C)
 #ifdef PERL_CORE
 #define save_magic(a,b)                S_save_magic(aTHX_ a,b)
 #define magic_methpack(a,b,c)  S_magic_methpack(aTHX_ a,b,c)
 #define unwind_handler_stack(a)        S_unwind_handler_stack(aTHX_ a)
 #endif
 #endif
-#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_OP_C)
 #ifdef PERL_CORE
 #define ck_anoncode(a)         Perl_ck_anoncode(aTHX_ a)
 #define ck_bitop(a)            Perl_ck_bitop(aTHX_ a)
 #    endif
 #  endif
 #endif
-#if defined(PERL_IN_PERL_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_PERL_C)
 #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_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)
+#if defined(PERL_IN_PP_C)
 #ifdef PERL_CORE
 #define do_delete_local()      S_do_delete_local(aTHX)
 #define refto(a)               S_refto(aTHX_ a)
 #endif
 #endif
-#if defined(PERL_IN_PP_C) || defined(PERL_IN_PP_HOT_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_PP_C) || defined(PERL_IN_PP_HOT_C)
 #ifdef PERL_CORE
 #endif
 #endif
-#if defined(PERL_IN_PP_PACK_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_PP_PACK_C)
 #ifdef PERL_CORE
 #define unpack_rec(a,b,c,d,e)  S_unpack_rec(aTHX_ a,b,c,d,e)
 #define pack_rec(a,b,c,d)      S_pack_rec(aTHX_ a,b,c,d)
 #define bytes_to_uni           S_bytes_to_uni
 #endif
 #endif
-#if defined(PERL_IN_PP_CTL_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_PP_CTL_C)
 #ifdef PERL_CORE
 #define docatch(a)             S_docatch(aTHX_ a)
 #define dofindlabel(a,b,c,d)   S_dofindlabel(aTHX_ a,b,c,d)
 #define do_smartmatch(a,b)     S_do_smartmatch(aTHX_ a,b)
 #endif
 #endif
-#if defined(PERL_IN_PP_HOT_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_PP_HOT_C)
 #ifdef PERL_CORE
 #define do_oddball(a,b,c)      S_do_oddball(aTHX_ a,b,c)
 #define method_common(a,b)     S_method_common(aTHX_ a,b)
 #endif
 #endif
-#if defined(PERL_IN_PP_SORT_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_PP_SORT_C)
 #ifdef PERL_CORE
 #define sv_ncmp(a,b)           S_sv_ncmp(aTHX_ a,b)
 #define sv_i_ncmp(a,b)         S_sv_i_ncmp(aTHX_ a,b)
 #define qsortsvu(a,b,c)                S_qsortsvu(aTHX_ a,b,c)
 #endif
 #endif
-#if defined(PERL_IN_PP_SYS_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_PP_SYS_C)
 #ifdef PERL_CORE
 #define doform(a,b,c)          S_doform(aTHX_ a,b,c)
 #endif
 #define space_join_names_mortal(a)     S_space_join_names_mortal(aTHX_ a)
 #endif
 #endif
-#if defined(PERL_IN_REGCOMP_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_REGCOMP_C)
 #if defined(PERL_CORE) || defined(PERL_EXT)
 #define reg(a,b,c,d)           S_reg(aTHX_ a,b,c,d)
 #define reganode(a,b,c)                S_reganode(aTHX_ a,b,c)
 #endif
 #  endif
 #endif
-#if defined(PERL_IN_REGEXEC_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_REGEXEC_C)
 #if defined(PERL_CORE) || defined(PERL_EXT)
 #define regmatch(a,b)          S_regmatch(aTHX_ a,b)
 #define regrepeat(a,b,c,d)     S_regrepeat(aTHX_ a,b,c,d)
 #endif
 #  endif
 #endif
-#if defined(PERL_IN_DUMP_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_DUMP_C)
 #ifdef PERL_CORE
 #define deb_curcv(a)           S_deb_curcv(aTHX_ a)
 #define debprof(a)             S_debprof(aTHX_ a)
 #define pm_description(a)      S_pm_description(aTHX_ a)
 #endif
 #endif
-#if defined(PERL_IN_SCOPE_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_SCOPE_C)
 #ifdef PERL_CORE
 #define save_scalar_at(a,b)    S_save_scalar_at(aTHX_ a,b)
 #endif
 #endif
-#if defined(PERL_IN_GV_C) || defined(PERL_IN_SV_C) || defined(PERL_IN_PAD_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_GV_C) || defined(PERL_IN_SV_C) || defined(PERL_IN_PAD_C) || defined(PERL_IN_OP_C)
 #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)
+#if defined(PERL_IN_HV_C) || defined(PERL_IN_MG_C) || defined(PERL_IN_SV_C)
 #ifdef PERL_CORE
 #endif
 #endif
-#if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
+#ifdef PERL_CORE
+#define sv_del_backref(a,b)    Perl_sv_del_backref(aTHX_ a,b)
+#endif
+#if defined(PERL_IN_SV_C)
 #ifdef PERL_CORE
 #define uiv_2buf               S_uiv_2buf
 #define sv_unglob(a)           S_sv_unglob(aTHX_ a)
 #define not_a_number(a)                S_not_a_number(aTHX_ a)
 #define visit(a,b,c)           S_visit(aTHX_ a,b,c)
-#define sv_del_backref(a,b)    S_sv_del_backref(aTHX_ a,b)
 #define varname(a,b,c,d,e,f)   S_varname(aTHX_ a,b,c,d,e,f)
 #endif
 #  ifdef DEBUGGING
 #define sv_pos_u2b_forwards    S_sv_pos_u2b_forwards
 #define sv_pos_u2b_midway      S_sv_pos_u2b_midway
 #define sv_pos_u2b_cached(a,b,c,d,e,f,g)       S_sv_pos_u2b_cached(aTHX_ a,b,c,d,e,f,g)
+#define utf8_mg_len_cache_update(a,b,c)        S_utf8_mg_len_cache_update(aTHX_ a,b,c)
 #define utf8_mg_pos_cache_update(a,b,c,d,e)    S_utf8_mg_pos_cache_update(aTHX_ a,b,c,d,e)
 #define sv_pos_b2u_midway(a,b,c,d)     S_sv_pos_b2u_midway(aTHX_ a,b,c,d)
+#define assert_uft8_cache_coherent(a,b,c,d)    S_assert_uft8_cache_coherent(aTHX_ a,b,c,d)
 #define F0convert              S_F0convert
 #endif
 #  if defined(PERL_OLD_COPY_ON_WRITE)
 #  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)
 #define ptr_table_find         S_ptr_table_find
+#define anonymise_cv_maybe(a,b)        S_anonymise_cv_maybe(aTHX_ a,b)
 #endif
 #endif
-#if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT)
+#ifdef PERL_CORE
+#endif
+#if defined(PERL_IN_TOKE_C)
 #ifdef PERL_CORE
 #define check_uni()            S_check_uni(aTHX)
 #define force_next(a)          S_force_next(aTHX_ a)
 #endif
 #  endif
 #endif
-#if defined(PERL_IN_UNIVERSAL_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_UNIVERSAL_C)
 #ifdef PERL_CORE
 #define isa_lookup(a,b)                S_isa_lookup(aTHX_ a,b)
 #endif
 #endif
-#if defined(PERL_IN_LOCALE_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_LOCALE_C)
 #if defined(USE_LOCALE_NUMERIC) || defined(USE_LOCALE_COLLATE)
 #ifdef PERL_CORE
 #define stdize_locale(a)       S_stdize_locale(aTHX_ a)
 #endif
 #endif
 #endif
-#if defined(PERL_IN_UTIL_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_UTIL_C)
 #ifdef PERL_CORE
 #define closest_cop(a,b)       S_closest_cop(aTHX_ a,b)
 #define mess_alloc()           S_mess_alloc(aTHX)
 #endif
 #endif
 #endif
-#if defined(PERL_IN_NUMERIC_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_NUMERIC_C)
 #ifdef PERL_CORE
 #define mulexp10               S_mulexp10
 #endif
 #endif
-#if defined(PERL_IN_UTF8_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_UTF8_C)
 #ifdef PERL_CORE
 #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)
 #ifdef PERL_CORE
 #define deb_stack_all()                Perl_deb_stack_all(aTHX)
 #endif
-#if defined(PERL_IN_DEB_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_DEB_C)
 #ifdef PERL_CORE
 #define deb_stack_n(a,b,c,d,e) S_deb_stack_n(aTHX_ a,b,c,d,e)
 #endif
 #define pad_add_name(a,b,c,d,e)        Perl_pad_add_name(aTHX_ a,b,c,d,e)
 #define pad_add_anon(a,b)      Perl_pad_add_anon(aTHX_ a,b)
 #endif
-#if defined(PERL_IN_PAD_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_PAD_C)
 #ifdef PERL_CORE
 #define pad_check_dup(a,b,c)   S_pad_check_dup(aTHX_ a,b,c)
 #endif
 #define padlist_dup(a,b)       Perl_padlist_dup(aTHX_ a,b)
 #endif
 #endif
-#if defined(PERL_IN_PAD_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_PAD_C)
 #ifdef PERL_CORE
 #define pad_findlex(a,b,c,d,e,f,g)     S_pad_findlex(aTHX_ a,b,c,d,e,f,g)
 #define pad_add_name_sv(a,b,c,d)       S_pad_add_name_sv(aTHX_ a,b,c,d)
 #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)
+#if defined(PERL_IN_DUMP_C) || defined(PERL_IN_HV_C) || defined(PERL_IN_SV_C)
 #ifdef PERL_CORE
 #endif
 #endif
 #ifdef PERL_CORE
 #define magic_scalarpack(a,b)  Perl_magic_scalarpack(aTHX_ a,b)
 #endif
-#if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_SV_C)
 #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)
 #endif
 #ifdef PERL_DONT_CREATE_GVSV
 #endif
-#if defined(PERL_IN_UTIL_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_UTIL_C)
 #ifdef PERL_CORE
 #define ckwarn_common(a)       S_ckwarn_common(aTHX_ a)
 #endif
 #endif
 #if defined(PERL_CORE) || defined(PERL_EXT)
 #endif
-#ifdef PERL_CORE
-#define offer_nice_chunk(a,b)  Perl_offer_nice_chunk(aTHX_ a,b)
-#endif
 #ifndef SPRINTF_RETURNS_STRLEN
 #endif
 #ifdef PERL_CORE
 #ifdef PERL_CORE
 #define pad_peg                        Perl_pad_peg
 #endif
-#if defined(PERL_IN_DUMP_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_DUMP_C)
 #ifdef PERL_CORE
 #endif
 #endif
 #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)
+#  if defined(PERL_IN_TOKE_C)
 #ifdef PERL_CORE
 #define skipspace0(a)          S_skipspace0(aTHX_ a)
 #define skipspace1(a)          S_skipspace1(aTHX_ a)
 #  endif
 #ifdef PERL_CORE
 #define madlex()               Perl_madlex(aTHX)
-#define madparse()             Perl_madparse(aTHX)
+#define madparse(a)            Perl_madparse(aTHX_ a)
 #endif
 #endif
 #if !defined(HAS_SIGNBIT)
 #endif
 #endif
 #define mro_get_linear_isa(a)  Perl_mro_get_linear_isa(aTHX_ a)
-#if defined(PERL_IN_MRO_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_MRO_C)
 #ifdef PERL_CORE
 #define mro_get_linear_isa_dfs(a,b)    S_mro_get_linear_isa_dfs(aTHX_ a,b)
 #endif
 #ifdef PERL_CORE
 #endif
 #ifdef PERL_CORE
+#define munge_qwlist_to_paren_list(a)  Perl_munge_qwlist_to_paren_list(aTHX_ a)
 #endif
 #if defined(USE_ITHREADS)
-#  if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
+#  if defined(PERL_IN_SV_C)
 #ifdef PERL_CORE
 #define unreferenced_to_tmp_stack(a)   S_unreferenced_to_tmp_stack(aTHX_ a)
 #endif
  */
 #  define perl_atexit(a,b)             call_atexit(a,b)
 #  define perl_call_argv(a,b,c)                call_argv(a,b,c)
-#  define perl_call_pv(a,b)            call_pv(a,b)
 #  define perl_call_method(a,b)                call_method(a,b)
+#  define perl_call_pv(a,b)            call_pv(a,b)
 #  define perl_call_sv(a,b)            call_sv(a,b)
-#  define perl_eval_sv(a,b)            eval_sv(a,b)
 #  define perl_eval_pv(a,b)            eval_pv(a,b)
-#  define perl_require_pv(a)           require_pv(a)
+#  define perl_eval_sv(a,b)            eval_sv(a,b)
 #  define perl_get_sv(a,b)             get_sv(a,b)
 #  define perl_get_av(a,b)             get_av(a,b)
 #  define perl_get_hv(a,b)             get_hv(a,b)
 #  define perl_get_cv(a,b)             get_cv(a,b)
 #  define perl_init_i18nl10n(a)                init_i18nl10n(a)
 #  define perl_init_i18nl14n(a)                init_i18nl14n(a)
-#  define perl_new_ctype(a)            new_ctype(a)
 #  define perl_new_collate(a)          new_collate(a)
+#  define perl_new_ctype(a)            new_ctype(a)
 #  define perl_new_numeric(a)          new_numeric(a)
+#  define perl_require_pv(a)           require_pv(a)
 
 /* varargs functions can't be handled with CPP macros. :-(
    This provides a set of compatibility functions that don't take
    dTHX.
  */
 #if defined(PERL_IMPLICIT_CONTEXT) && !defined(PERL_NO_SHORT_NAMES)
-#  define croak                                Perl_croak_nocontext
-#  define deb                          Perl_deb_nocontext
-#  define die                          Perl_die_nocontext
-#  define form                         Perl_form_nocontext
-#  define load_module                  Perl_load_module_nocontext
-#  define mess                         Perl_mess_nocontext
-#  define newSVpvf                     Perl_newSVpvf_nocontext
-#  define sv_catpvf                    Perl_sv_catpvf_nocontext
-#  define sv_setpvf                    Perl_sv_setpvf_nocontext
-#  define warn                         Perl_warn_nocontext
-#  define warner                       Perl_warner_nocontext
-#  define sv_catpvf_mg                 Perl_sv_catpvf_mg_nocontext
-#  define sv_setpvf_mg                 Perl_sv_setpvf_mg_nocontext
+#  define croak                        Perl_croak_nocontext
+#  define deb                  Perl_deb_nocontext
+#  define die                  Perl_die_nocontext
+#  define form                 Perl_form_nocontext
+#  define load_module          Perl_load_module_nocontext
+#  define mess                 Perl_mess_nocontext
+#  define newSVpvf             Perl_newSVpvf_nocontext
+#  define sv_catpvf            Perl_sv_catpvf_nocontext
+#  define sv_catpvf_mg         Perl_sv_catpvf_mg_nocontext
+#  define sv_setpvf            Perl_sv_setpvf_nocontext
+#  define sv_setpvf_mg         Perl_sv_setpvf_mg_nocontext
+#  define warn                 Perl_warn_nocontext
+#  define warner               Perl_warner_nocontext
 #endif
 
 #endif /* !defined(PERL_CORE) && !defined(PERL_NOCOMPAT) */
 
 #if !defined(PERL_IMPLICIT_CONTEXT)
 /* undefined symbols, point them back at the usual ones */
-#  define Perl_croak_nocontext         Perl_croak
-#  define Perl_die_nocontext           Perl_die
-#  define Perl_deb_nocontext           Perl_deb
-#  define Perl_form_nocontext          Perl_form
+#  define Perl_croak_nocontext Perl_croak
+#  define Perl_deb_nocontext   Perl_deb
+#  define Perl_die_nocontext   Perl_die
+#  define Perl_form_nocontext  Perl_form
 #  define Perl_load_module_nocontext   Perl_load_module
-#  define Perl_mess_nocontext          Perl_mess
+#  define Perl_mess_nocontext  Perl_mess
 #  define Perl_newSVpvf_nocontext      Perl_newSVpvf
 #  define Perl_sv_catpvf_nocontext     Perl_sv_catpvf
-#  define Perl_sv_setpvf_nocontext     Perl_sv_setpvf
-#  define Perl_warn_nocontext          Perl_warn
-#  define Perl_warner_nocontext                Perl_warner
 #  define Perl_sv_catpvf_mg_nocontext  Perl_sv_catpvf_mg
+#  define Perl_sv_setpvf_nocontext     Perl_sv_setpvf
 #  define Perl_sv_setpvf_mg_nocontext  Perl_sv_setpvf_mg
+#  define Perl_warn_nocontext  Perl_warn
+#  define Perl_warner_nocontext        Perl_warner
 #endif
 
 /* ex: set ro: */