/* NO_EMBED is no longer supported. i.e. EMBED is always active. */
-/* provide binary compatible (but inconsistent) names */
-#if defined(PERL_BINCOMPAT_5005)
-# define Perl_call_atexit perl_atexit
-# define Perl_eval_sv perl_eval_sv
-# define Perl_eval_pv perl_eval_pv
-# define Perl_call_argv perl_call_argv
-# define Perl_call_method perl_call_method
-# define Perl_call_pv perl_call_pv
-# define Perl_call_sv perl_call_sv
-# define Perl_get_av perl_get_av
-# define Perl_get_cv perl_get_cv
-# define Perl_get_hv perl_get_hv
-# define Perl_get_sv perl_get_sv
-# define Perl_init_i18nl10n perl_init_i18nl10n
-# define Perl_init_i18nl14n perl_init_i18nl14n
-# define Perl_new_collate perl_new_collate
-# define Perl_new_ctype perl_new_ctype
-# define Perl_new_numeric perl_new_numeric
-# define Perl_require_pv perl_require_pv
-# define Perl_safesyscalloc Perl_safecalloc
-# define Perl_safesysfree Perl_safefree
-# define Perl_safesysmalloc Perl_safemalloc
-# define Perl_safesysrealloc Perl_saferealloc
-# define Perl_set_numeric_local perl_set_numeric_local
-# define Perl_set_numeric_standard perl_set_numeric_standard
-/* malloc() pollution was the default in earlier versions, so enable
- * it for bincompat; but not for systems that used to do prevent that,
- * or when they ask for {HIDE,EMBED}MYMALLOC */
-# if !defined(EMBEDMYMALLOC) && !defined(HIDEMYMALLOC)
-# if !defined(NeXT) && !defined(__NeXT) && !defined(__MACHTEN__) && \
- !defined(__QNX__)
-# define PERL_POLLUTE_MALLOC
-# endif
-# endif
-#endif
-
/* Hide global symbols */
#if !defined(PERL_IMPLICIT_CONTEXT)
#define append_list Perl_append_list
#define apply Perl_apply
#define apply_attrs_string Perl_apply_attrs_string
-#define avhv_delete_ent Perl_avhv_delete_ent
-#define avhv_exists_ent Perl_avhv_exists_ent
-#define avhv_fetch_ent Perl_avhv_fetch_ent
-#define avhv_store_ent Perl_avhv_store_ent
-#define avhv_iternext Perl_avhv_iternext
-#define avhv_iterval Perl_avhv_iterval
-#define avhv_keys Perl_avhv_keys
#define av_clear Perl_av_clear
#define av_delete Perl_av_delete
#define av_exists Perl_av_exists
#define do_close Perl_do_close
#define do_eof Perl_do_eof
#define do_exec Perl_do_exec
+#if defined(WIN32)
+#define do_aspawn Perl_do_aspawn
+#define do_spawn Perl_do_spawn
+#define do_spawn_nowait Perl_do_spawn_nowait
+#endif
#if !defined(WIN32)
#define do_exec3 Perl_do_exec3
#endif
#define hv_iterkeysv Perl_hv_iterkeysv
#define hv_iternext Perl_hv_iternext
#define hv_iternextsv Perl_hv_iternextsv
+#define hv_iternext_flags Perl_hv_iternext_flags
#define hv_iterval Perl_hv_iterval
#define hv_ksplit Perl_hv_ksplit
#define hv_magic Perl_hv_magic
#define hv_store Perl_hv_store
#define hv_store_ent Perl_hv_store_ent
+#define hv_store_flags Perl_hv_store_flags
#define hv_undef Perl_hv_undef
#define ibcmp Perl_ibcmp
#define ibcmp_locale Perl_ibcmp_locale
#define is_utf8_alnum Perl_is_utf8_alnum
#define is_utf8_alnumc Perl_is_utf8_alnumc
#define is_utf8_idfirst Perl_is_utf8_idfirst
+#define is_utf8_idcont Perl_is_utf8_idcont
#define is_utf8_alpha Perl_is_utf8_alpha
#define is_utf8_ascii Perl_is_utf8_ascii
#define is_utf8_space Perl_is_utf8_space
#define newUNOP Perl_newUNOP
#define newWHILEOP Perl_newWHILEOP
#define new_stackinfo Perl_new_stackinfo
-#define new_vstring Perl_new_vstring
+#define scan_vstring Perl_scan_vstring
+#define scan_version Perl_scan_version
+#define new_version Perl_new_version
+#define upg_version Perl_upg_version
+#define vnumify Perl_vnumify
+#define vstringify Perl_vstringify
#define nextargv Perl_nextargv
#define ninstr Perl_ninstr
#define oopsCV Perl_oopsCV
#define sv_setpvf Perl_sv_setpvf
#define sv_vsetpvf Perl_sv_vsetpvf
#define sv_setiv Perl_sv_setiv
-#define sv_setpviv Perl_sv_setpviv
#define sv_setuv Perl_sv_setuv
#define sv_setnv Perl_sv_setnv
#define sv_setref_iv Perl_sv_setref_iv
#define sv_setpvf_mg Perl_sv_setpvf_mg
#define sv_vsetpvf_mg Perl_sv_vsetpvf_mg
#define sv_setiv_mg Perl_sv_setiv_mg
-#define sv_setpviv_mg Perl_sv_setpviv_mg
#define sv_setuv_mg Perl_sv_setuv_mg
#define sv_setnv_mg Perl_sv_setnv_mg
#define sv_setpv_mg Perl_sv_setpv_mg
#endif
#define custom_op_name Perl_custom_op_name
#define custom_op_desc Perl_custom_op_desc
+#if defined(PERL_COPY_ON_WRITE)
+#define sv_release_IVX Perl_sv_release_IVX
+#endif
#define sv_nosharing Perl_sv_nosharing
#define sv_nolocking Perl_sv_nolocking
#define sv_nounlocking Perl_sv_nounlocking
#define nothreadhook Perl_nothreadhook
-#if defined(PERL_IN_AV_C) || defined(PERL_DECL_PROT)
-#define avhv_index_sv S_avhv_index_sv
-#define avhv_index S_avhv_index
-#endif
#if defined(PERL_IN_DOOP_C) || defined(PERL_DECL_PROT)
#define do_trans_simple S_do_trans_simple
#define do_trans_count S_do_trans_count
#define more_he S_more_he
#define new_he S_new_he
#define del_he S_del_he
-#define save_hek S_save_hek
+#define save_hek_flags S_save_hek_flags
#define hv_magic_check S_hv_magic_check
+#define unshare_hek_or_pvn S_unshare_hek_or_pvn
+#define share_hek_flags S_share_hek_flags
+#define hv_fetch_flags S_hv_fetch_flags
+#define hv_notallowed S_hv_notallowed
#endif
#if defined(PERL_IN_MG_C) || defined(PERL_DECL_PROT)
#define save_magic S_save_magic
#define path_is_absolute S_path_is_absolute
#endif
#if defined(PERL_IN_PP_HOT_C) || defined(PERL_DECL_PROT)
-#define do_maybe_phash S_do_maybe_phash
#define do_oddball S_do_oddball
#define get_db_sub S_get_db_sub
#define method_common S_method_common
# if defined(USE_ITHREADS)
#define gv_share S_gv_share
# endif
+#if defined(PERL_COPY_ON_WRITE)
+#define sv_release_COW S_sv_release_COW
+#endif
#endif
#if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT)
#define check_uni S_check_uni
#define PerlIO_stdout Perl_PerlIO_stdout
#define PerlIO_stderr Perl_PerlIO_stderr
#endif /* PERLIO_LAYERS */
+#define deb_stack_all Perl_deb_stack_all
+#ifdef PERL_IN_DEB_C
+#define deb_stack_n S_deb_stack_n
+#endif
#define ck_anoncode Perl_ck_anoncode
#define ck_bitop Perl_ck_bitop
#define ck_concat Perl_ck_concat
#define pp_die Perl_pp_die
#define pp_divide Perl_pp_divide
#define pp_dofile Perl_pp_dofile
+#define pp_dor Perl_pp_dor
+#define pp_dorassign Perl_pp_dorassign
#define pp_dump Perl_pp_dump
#define pp_each Perl_pp_each
#define pp_egrent Perl_pp_egrent
#define append_list(a,b,c) Perl_append_list(aTHX_ a,b,c)
#define apply(a,b,c) Perl_apply(aTHX_ a,b,c)
#define apply_attrs_string(a,b,c,d) Perl_apply_attrs_string(aTHX_ a,b,c,d)
-#define avhv_delete_ent(a,b,c,d) Perl_avhv_delete_ent(aTHX_ a,b,c,d)
-#define avhv_exists_ent(a,b,c) Perl_avhv_exists_ent(aTHX_ a,b,c)
-#define avhv_fetch_ent(a,b,c,d) Perl_avhv_fetch_ent(aTHX_ a,b,c,d)
-#define avhv_store_ent(a,b,c,d) Perl_avhv_store_ent(aTHX_ a,b,c,d)
-#define avhv_iternext(a) Perl_avhv_iternext(aTHX_ a)
-#define avhv_iterval(a,b) Perl_avhv_iterval(aTHX_ a,b)
-#define avhv_keys(a) Perl_avhv_keys(aTHX_ a)
#define av_clear(a) Perl_av_clear(aTHX_ a)
#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 do_close(a,b) Perl_do_close(aTHX_ a,b)
#define do_eof(a) Perl_do_eof(aTHX_ a)
#define do_exec(a) Perl_do_exec(aTHX_ a)
+#if defined(WIN32)
+#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)
+#endif
#if !defined(WIN32)
#define do_exec3(a,b,c) Perl_do_exec3(aTHX_ a,b,c)
#endif
#define hv_iterkeysv(a) Perl_hv_iterkeysv(aTHX_ a)
#define hv_iternext(a) Perl_hv_iternext(aTHX_ a)
#define hv_iternextsv(a,b,c) Perl_hv_iternextsv(aTHX_ a,b,c)
+#define hv_iternext_flags(a,b) Perl_hv_iternext_flags(aTHX_ a,b)
#define hv_iterval(a,b) Perl_hv_iterval(aTHX_ a,b)
#define hv_ksplit(a,b) Perl_hv_ksplit(aTHX_ a,b)
#define hv_magic(a,b,c) Perl_hv_magic(aTHX_ a,b,c)
#define hv_store(a,b,c,d,e) Perl_hv_store(aTHX_ a,b,c,d,e)
#define hv_store_ent(a,b,c,d) Perl_hv_store_ent(aTHX_ a,b,c,d)
+#define hv_store_flags(a,b,c,d,e,f) Perl_hv_store_flags(aTHX_ a,b,c,d,e,f)
#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 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)
+#define is_utf8_idcont(a) Perl_is_utf8_idcont(aTHX_ a)
#define is_utf8_alpha(a) Perl_is_utf8_alpha(aTHX_ a)
#define is_utf8_ascii(a) Perl_is_utf8_ascii(aTHX_ a)
#define is_utf8_space(a) Perl_is_utf8_space(aTHX_ a)
#define newUNOP(a,b,c) Perl_newUNOP(aTHX_ a,b,c)
#define newWHILEOP(a,b,c,d,e,f,g) Perl_newWHILEOP(aTHX_ a,b,c,d,e,f,g)
#define new_stackinfo(a,b) Perl_new_stackinfo(aTHX_ a,b)
-#define new_vstring(a,b) Perl_new_vstring(aTHX_ a,b)
+#define scan_vstring(a,b) Perl_scan_vstring(aTHX_ a,b)
+#define scan_version(a,b) Perl_scan_version(aTHX_ a,b)
+#define new_version(a) Perl_new_version(aTHX_ a)
+#define upg_version(a) Perl_upg_version(aTHX_ a)
+#define vnumify(a,b) Perl_vnumify(aTHX_ a,b)
+#define vstringify(a,b) Perl_vstringify(aTHX_ a,b)
#define nextargv(a) Perl_nextargv(aTHX_ a)
#define ninstr(a,b,c,d) Perl_ninstr(aTHX_ a,b,c,d)
#define oopsCV(a) Perl_oopsCV(aTHX_ a)
#define sv_reset(a,b) Perl_sv_reset(aTHX_ a,b)
#define sv_vsetpvf(a,b,c) Perl_sv_vsetpvf(aTHX_ a,b,c)
#define sv_setiv(a,b) Perl_sv_setiv(aTHX_ a,b)
-#define sv_setpviv(a,b) Perl_sv_setpviv(aTHX_ a,b)
#define sv_setuv(a,b) Perl_sv_setuv(aTHX_ a,b)
#define sv_setnv(a,b) Perl_sv_setnv(aTHX_ a,b)
#define sv_setref_iv(a,b,c) Perl_sv_setref_iv(aTHX_ a,b,c)
#define sv_catsv_mg(a,b) Perl_sv_catsv_mg(aTHX_ a,b)
#define sv_vsetpvf_mg(a,b,c) Perl_sv_vsetpvf_mg(aTHX_ a,b,c)
#define sv_setiv_mg(a,b) Perl_sv_setiv_mg(aTHX_ a,b)
-#define sv_setpviv_mg(a,b) Perl_sv_setpviv_mg(aTHX_ a,b)
#define sv_setuv_mg(a,b) Perl_sv_setuv_mg(aTHX_ a,b)
#define sv_setnv_mg(a,b) Perl_sv_setnv_mg(aTHX_ a,b)
#define sv_setpv_mg(a,b) Perl_sv_setpv_mg(aTHX_ a,b)
#endif
#define custom_op_name(a) Perl_custom_op_name(aTHX_ a)
#define custom_op_desc(a) Perl_custom_op_desc(aTHX_ a)
+#if defined(PERL_COPY_ON_WRITE)
+#define sv_release_IVX(a) Perl_sv_release_IVX(aTHX_ a)
+#endif
#define sv_nosharing(a) Perl_sv_nosharing(aTHX_ a)
#define sv_nolocking(a) Perl_sv_nolocking(aTHX_ a)
#define sv_nounlocking(a) Perl_sv_nounlocking(aTHX_ a)
#define nothreadhook() Perl_nothreadhook(aTHX)
-#if defined(PERL_IN_AV_C) || defined(PERL_DECL_PROT)
-#define avhv_index_sv(a) S_avhv_index_sv(aTHX_ a)
-#define avhv_index(a,b,c) S_avhv_index(aTHX_ a,b,c)
-#endif
#if defined(PERL_IN_DOOP_C) || defined(PERL_DECL_PROT)
#define do_trans_simple(a) S_do_trans_simple(aTHX_ a)
#define do_trans_count(a) S_do_trans_count(aTHX_ a)
#define more_he() S_more_he(aTHX)
#define new_he() S_new_he(aTHX)
#define del_he(a) S_del_he(aTHX_ a)
-#define save_hek(a,b,c) S_save_hek(aTHX_ a,b,c)
+#define save_hek_flags(a,b,c,d) S_save_hek_flags(aTHX_ a,b,c,d)
#define hv_magic_check(a,b,c) S_hv_magic_check(aTHX_ a,b,c)
+#define unshare_hek_or_pvn(a,b,c,d) S_unshare_hek_or_pvn(aTHX_ a,b,c,d)
+#define share_hek_flags(a,b,c,d) S_share_hek_flags(aTHX_ a,b,c,d)
+#define hv_fetch_flags(a,b,c,d,e) S_hv_fetch_flags(aTHX_ a,b,c,d,e)
+#define hv_notallowed(a,b,c,d) S_hv_notallowed(aTHX_ a,b,c,d)
#endif
#if defined(PERL_IN_MG_C) || defined(PERL_DECL_PROT)
#define save_magic(a,b) S_save_magic(aTHX_ a,b)
#define path_is_absolute(a) S_path_is_absolute(aTHX_ a)
#endif
#if defined(PERL_IN_PP_HOT_C) || defined(PERL_DECL_PROT)
-#define do_maybe_phash(a,b,c,d,e) S_do_maybe_phash(aTHX_ a,b,c,d,e)
#define do_oddball(a,b,c) S_do_oddball(aTHX_ a,b,c)
#define get_db_sub(a,b) S_get_db_sub(aTHX_ a,b)
#define method_common(a,b) S_method_common(aTHX_ a,b)
# endif
#define expect_number(a) S_expect_number(aTHX_ a)
# if defined(USE_ITHREADS)
-#define gv_share(a) S_gv_share(aTHX_ a)
+#define gv_share(a,b) S_gv_share(aTHX_ a,b)
# endif
+#if defined(PERL_COPY_ON_WRITE)
+#define sv_release_COW(a,b,c,d,e,f) S_sv_release_COW(aTHX_ a,b,c,d,e,f)
+#endif
#endif
#if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT)
#define check_uni() S_check_uni(aTHX)
#define PerlIO_stdout() Perl_PerlIO_stdout(aTHX)
#define PerlIO_stderr() Perl_PerlIO_stderr(aTHX)
#endif /* PERLIO_LAYERS */
+#define deb_stack_all() Perl_deb_stack_all(aTHX)
+#ifdef PERL_IN_DEB_C
+#define deb_stack_n(a,b,c,d,e) S_deb_stack_n(aTHX_ a,b,c,d,e)
+#endif
#define ck_anoncode(a) Perl_ck_anoncode(aTHX_ a)
#define ck_bitop(a) Perl_ck_bitop(aTHX_ a)
#define ck_concat(a) Perl_ck_concat(aTHX_ a)
#define pp_die() Perl_pp_die(aTHX)
#define pp_divide() Perl_pp_divide(aTHX)
#define pp_dofile() Perl_pp_dofile(aTHX)
+#define pp_dor() Perl_pp_dor(aTHX)
+#define pp_dorassign() Perl_pp_dorassign(aTHX)
#define pp_dump() Perl_pp_dump(aTHX)
#define pp_each() Perl_pp_each(aTHX)
#define pp_egrent() Perl_pp_egrent(aTHX)
# define sv_setptrref(rv,ptr) sv_setref_iv(rv,Nullch,PTR2IV(ptr))
#endif
-#if !defined(PERL_CORE) && !defined(PERL_NOCOMPAT) && !defined(PERL_BINCOMPAT_5005)
+#if !defined(PERL_CORE) && !defined(PERL_NOCOMPAT)
/* Compatibility for various misnamed functions. All functions
in the API that begin with "perl_" (not "Perl_") take an explicit