/* 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_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
+# define PERL_POLLUTE
+/* 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_OBJECT)
#define append_elem Perl_append_elem
#define append_list Perl_append_list
#define apply Perl_apply
-#define assertref Perl_assertref
#define avhv_exists_ent Perl_avhv_exists_ent
#define avhv_fetch_ent Perl_avhv_fetch_ent
#define avhv_iternext Perl_avhv_iternext
#define do_join Perl_do_join
#define do_kv Perl_do_kv
#define do_open Perl_do_open
+#define do_open9 Perl_do_open9
#define do_pipe Perl_do_pipe
#define do_print Perl_do_print
#define do_readline Perl_do_readline
#define do_sysseek Perl_do_sysseek
#define do_tell Perl_do_tell
#define do_trans Perl_do_trans
+#define do_vecget Perl_do_vecget
#define do_vecset Perl_do_vecset
#define do_vop Perl_do_vop
#define dofile Perl_dofile
#define tmps_grow Perl_tmps_grow
#define sv_rvweaken Perl_sv_rvweaken
#define magic_killbackrefs Perl_magic_killbackrefs
+#define newANONATTRSUB Perl_newANONATTRSUB
+#define newATTRSUB Perl_newATTRSUB
+#define newMYSUB Perl_newMYSUB
+#define my_attrs Perl_my_attrs
+#define boot_core_xsutils Perl_boot_core_xsutils
#if defined(PERL_OBJECT)
#endif
#if defined(PERL_IN_AV_C) || defined(PERL_DECL_PROT)
#define scalarboolean S_scalarboolean
#define too_few_arguments S_too_few_arguments
#define too_many_arguments S_too_many_arguments
+#define op_clear S_op_clear
#define null S_null
#define pad_findlex S_pad_findlex
#define newDEFSVOP S_newDEFSVOP
#define gv_ename S_gv_ename
#define cv_clone2 S_cv_clone2
#define scalar_mod_type S_scalar_mod_type
+#define my_kid S_my_kid
+#define dup_attrlist S_dup_attrlist
+#define apply_attrs S_apply_attrs
# if defined(PL_OP_SLAB_ALLOC)
#define Slab_Alloc S_Slab_Alloc
# endif
#endif
#if defined(PERL_IN_PP_HOT_C) || defined(PERL_DECL_PROT)
#define get_db_sub S_get_db_sub
+#define method_common S_method_common
#endif
#if defined(PERL_IN_PP_SYS_C) || defined(PERL_DECL_PROT)
#define doform S_doform
#define reganode S_reganode
#define regatom S_regatom
#define regbranch S_regbranch
-#define regc S_regc
#define reguni S_reguni
#define regclass S_regclass
#define regclassutf8 S_regclassutf8
#if defined(PERL_IN_UNIVERSAL_C) || defined(PERL_DECL_PROT)
#define isa_lookup S_isa_lookup
#endif
+#if defined(PERL_IN_XSUTILS_C) || defined(PERL_DECL_PROT)
+#define modify_SV_attributes S_modify_SV_attributes
+#endif
#if defined(PERL_IN_UTIL_C) || defined(PERL_DECL_PROT)
#define mess_alloc S_mess_alloc
# if defined(LEAKTEST)
#define ck_glob Perl_ck_glob
#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_method Perl_ck_method
#define ck_null Perl_ck_null
#define ck_repeat Perl_ck_repeat
#define ck_require Perl_ck_require
#define pp_leaveeval Perl_pp_leaveeval
#define pp_leaveloop Perl_pp_leaveloop
#define pp_leavesub Perl_pp_leavesub
+#define pp_leavesublv Perl_pp_leavesublv
#define pp_leavetry Perl_pp_leavetry
#define pp_leavewrite Perl_pp_leavewrite
#define pp_left_shift Perl_pp_left_shift
#define pp_mapwhile Perl_pp_mapwhile
#define pp_match Perl_pp_match
#define pp_method Perl_pp_method
+#define pp_method_named Perl_pp_method_named
#define pp_mkdir Perl_pp_mkdir
#define pp_modulo Perl_pp_modulo
#define pp_msgctl Perl_pp_msgctl
#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
#define append_elem(a,b,c) Perl_append_elem(aTHX_ a,b,c)
#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 assertref(a) Perl_assertref(aTHX_ a)
#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_iternext(a) Perl_avhv_iternext(aTHX_ a)
#define do_join(a,b,c,d) Perl_do_join(aTHX_ a,b,c,d)
#define do_kv() Perl_do_kv(aTHX)
#define do_open(a,b,c,d,e,f,g) Perl_do_open(aTHX_ a,b,c,d,e,f,g)
+#define do_open9(a,b,c,d,e,f,g,h,i) Perl_do_open9(aTHX_ a,b,c,d,e,f,g,h,i)
#define do_pipe(a,b,c) Perl_do_pipe(aTHX_ a,b,c)
#define do_print(a,b) Perl_do_print(aTHX_ a,b)
#define do_readline() Perl_do_readline(aTHX)
#define do_sysseek(a,b,c) Perl_do_sysseek(aTHX_ a,b,c)
#define do_tell(a) Perl_do_tell(aTHX_ a)
#define do_trans(a) Perl_do_trans(aTHX_ a)
+#define do_vecget(a,b,c) Perl_do_vecget(aTHX_ a,b,c)
#define do_vecset(a) Perl_do_vecset(aTHX_ a)
#define do_vop(a,b,c,d) Perl_do_vop(aTHX_ a,b,c,d)
#define dofile(a) Perl_dofile(aTHX_ a)
#define init_stacks() Perl_init_stacks(aTHX)
#define intro_my() Perl_intro_my(aTHX)
#define instr(a,b) Perl_instr(aTHX_ a,b)
-#define io_close(a) Perl_io_close(aTHX_ a)
+#define io_close(a,b) Perl_io_close(aTHX_ a,b)
#define invert(a) Perl_invert(aTHX_ a)
#define is_uni_alnum(a) Perl_is_uni_alnum(aTHX_ a)
#define is_uni_alnumc(a) Perl_is_uni_alnumc(aTHX_ a)
#define tmps_grow(a) Perl_tmps_grow(aTHX_ a)
#define sv_rvweaken(a) Perl_sv_rvweaken(aTHX_ a)
#define magic_killbackrefs(a,b) Perl_magic_killbackrefs(aTHX_ a,b)
+#define newANONATTRSUB(a,b,c,d) Perl_newANONATTRSUB(aTHX_ a,b,c,d)
+#define newATTRSUB(a,b,c,d,e) Perl_newATTRSUB(aTHX_ a,b,c,d,e)
+#define newMYSUB(a,b,c,d,e) Perl_newMYSUB(aTHX_ a,b,c,d,e)
+#define my_attrs(a,b) Perl_my_attrs(aTHX_ a,b)
+#define boot_core_xsutils() Perl_boot_core_xsutils(aTHX)
#if defined(PERL_OBJECT)
#endif
#if defined(PERL_IN_AV_C) || defined(PERL_DECL_PROT)
#define scalarboolean(a) S_scalarboolean(aTHX_ a)
#define too_few_arguments(a,b) S_too_few_arguments(aTHX_ a,b)
#define too_many_arguments(a,b) S_too_many_arguments(aTHX_ a,b)
+#define op_clear(a) S_op_clear(aTHX_ a)
#define null(a) S_null(aTHX_ a)
#define pad_findlex(a,b,c,d,e,f,g) S_pad_findlex(aTHX_ a,b,c,d,e,f,g)
#define newDEFSVOP() S_newDEFSVOP(aTHX)
#define gv_ename(a) S_gv_ename(aTHX_ a)
#define cv_clone2(a,b) S_cv_clone2(aTHX_ a,b)
#define scalar_mod_type(a,b) S_scalar_mod_type(aTHX_ a,b)
+#define my_kid(a,b) S_my_kid(aTHX_ a,b)
+#define dup_attrlist(a) S_dup_attrlist(aTHX_ a)
+#define apply_attrs(a,b,c) S_apply_attrs(aTHX_ a,b,c)
# if defined(PL_OP_SLAB_ALLOC)
#define Slab_Alloc(a,b) S_Slab_Alloc(aTHX_ a,b)
# endif
#endif
#if defined(PERL_IN_PP_HOT_C) || defined(PERL_DECL_PROT)
#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
#if defined(PERL_IN_PP_SYS_C) || defined(PERL_DECL_PROT)
#define doform(a,b,c) S_doform(aTHX_ a,b,c)
#define reganode(a,b) S_reganode(aTHX_ a,b)
#define regatom(a) S_regatom(aTHX_ a)
#define regbranch(a,b) S_regbranch(aTHX_ a,b)
-#define regc(a,b) S_regc(aTHX_ a,b)
#define reguni(a,b,c) S_reguni(aTHX_ a,b,c)
#define regclass() S_regclass(aTHX)
#define regclassutf8() S_regclassutf8(aTHX)
#define scan_ident(a,b,c,d,e) S_scan_ident(aTHX_ a,b,c,d,e)
#define scan_inputsymbol(a) S_scan_inputsymbol(aTHX_ a)
#define scan_pat(a,b) S_scan_pat(aTHX_ a,b)
-#define scan_str(a) S_scan_str(aTHX_ a)
+#define scan_str(a,b,c) S_scan_str(aTHX_ a,b,c)
#define scan_subst(a) S_scan_subst(aTHX_ a)
#define scan_trans(a) S_scan_trans(aTHX_ a)
#define scan_word(a,b,c,d,e) S_scan_word(aTHX_ a,b,c,d,e)
#if defined(PERL_IN_UNIVERSAL_C) || defined(PERL_DECL_PROT)
#define isa_lookup(a,b,c,d) S_isa_lookup(aTHX_ a,b,c,d)
#endif
+#if defined(PERL_IN_XSUTILS_C) || defined(PERL_DECL_PROT)
+#define modify_SV_attributes(a,b,c,d) S_modify_SV_attributes(aTHX_ a,b,c,d)
+#endif
#if defined(PERL_IN_UTIL_C) || defined(PERL_DECL_PROT)
#define mess_alloc() S_mess_alloc(aTHX)
# if defined(LEAKTEST)
#define ck_glob(a) Perl_ck_glob(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 ck_method(a) Perl_ck_method(aTHX_ a)
#define ck_null(a) Perl_ck_null(aTHX_ a)
#define ck_repeat(a) Perl_ck_repeat(aTHX_ a)
#define ck_require(a) Perl_ck_require(aTHX_ a)
#define pp_leaveeval() Perl_pp_leaveeval(aTHX)
#define pp_leaveloop() Perl_pp_leaveloop(aTHX)
#define pp_leavesub() Perl_pp_leavesub(aTHX)
+#define pp_leavesublv() Perl_pp_leavesublv(aTHX)
#define pp_leavetry() Perl_pp_leavetry(aTHX)
#define pp_leavewrite() Perl_pp_leavewrite(aTHX)
#define pp_left_shift() Perl_pp_left_shift(aTHX)
#define pp_mapwhile() Perl_pp_mapwhile(aTHX)
#define pp_match() Perl_pp_match(aTHX)
#define pp_method() Perl_pp_method(aTHX)
+#define pp_method_named() Perl_pp_method_named(aTHX)
#define pp_mkdir() Perl_pp_mkdir(aTHX)
#define pp_modulo() Perl_pp_modulo(aTHX)
#define pp_msgctl() Perl_pp_msgctl(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)
#define append_list Perl_append_list
#define Perl_apply CPerlObj::Perl_apply
#define apply Perl_apply
-#define Perl_assertref CPerlObj::Perl_assertref
-#define assertref Perl_assertref
#define Perl_avhv_exists_ent CPerlObj::Perl_avhv_exists_ent
#define avhv_exists_ent Perl_avhv_exists_ent
#define Perl_avhv_fetch_ent CPerlObj::Perl_avhv_fetch_ent
#define do_kv Perl_do_kv
#define Perl_do_open CPerlObj::Perl_do_open
#define do_open Perl_do_open
+#define Perl_do_open9 CPerlObj::Perl_do_open9
+#define do_open9 Perl_do_open9
#define Perl_do_pipe CPerlObj::Perl_do_pipe
#define do_pipe Perl_do_pipe
#define Perl_do_print CPerlObj::Perl_do_print
#define do_tell Perl_do_tell
#define Perl_do_trans CPerlObj::Perl_do_trans
#define do_trans Perl_do_trans
+#define Perl_do_vecget CPerlObj::Perl_do_vecget
+#define do_vecget Perl_do_vecget
#define Perl_do_vecset CPerlObj::Perl_do_vecset
#define do_vecset Perl_do_vecset
#define Perl_do_vop CPerlObj::Perl_do_vop
#define sv_rvweaken Perl_sv_rvweaken
#define Perl_magic_killbackrefs CPerlObj::Perl_magic_killbackrefs
#define magic_killbackrefs Perl_magic_killbackrefs
+#define Perl_newANONATTRSUB CPerlObj::Perl_newANONATTRSUB
+#define newANONATTRSUB Perl_newANONATTRSUB
+#define Perl_newATTRSUB CPerlObj::Perl_newATTRSUB
+#define newATTRSUB Perl_newATTRSUB
+#define Perl_newMYSUB CPerlObj::Perl_newMYSUB
+#define newMYSUB Perl_newMYSUB
+#define Perl_my_attrs CPerlObj::Perl_my_attrs
+#define my_attrs Perl_my_attrs
+#define Perl_boot_core_xsutils CPerlObj::Perl_boot_core_xsutils
+#define boot_core_xsutils Perl_boot_core_xsutils
#if defined(PERL_OBJECT)
#endif
#if defined(PERL_IN_AV_C) || defined(PERL_DECL_PROT)
#define too_few_arguments S_too_few_arguments
#define S_too_many_arguments CPerlObj::S_too_many_arguments
#define too_many_arguments S_too_many_arguments
+#define S_op_clear CPerlObj::S_op_clear
+#define op_clear S_op_clear
#define S_null CPerlObj::S_null
#define null S_null
#define S_pad_findlex CPerlObj::S_pad_findlex
#define cv_clone2 S_cv_clone2
#define S_scalar_mod_type CPerlObj::S_scalar_mod_type
#define scalar_mod_type S_scalar_mod_type
+#define S_my_kid CPerlObj::S_my_kid
+#define my_kid S_my_kid
+#define S_dup_attrlist CPerlObj::S_dup_attrlist
+#define dup_attrlist S_dup_attrlist
+#define S_apply_attrs CPerlObj::S_apply_attrs
+#define apply_attrs S_apply_attrs
# if defined(PL_OP_SLAB_ALLOC)
#define S_Slab_Alloc CPerlObj::S_Slab_Alloc
#define Slab_Alloc S_Slab_Alloc
#if defined(PERL_IN_PP_HOT_C) || defined(PERL_DECL_PROT)
#define S_get_db_sub CPerlObj::S_get_db_sub
#define get_db_sub S_get_db_sub
+#define S_method_common CPerlObj::S_method_common
+#define method_common S_method_common
#endif
#if defined(PERL_IN_PP_SYS_C) || defined(PERL_DECL_PROT)
#define S_doform CPerlObj::S_doform
#define regatom S_regatom
#define S_regbranch CPerlObj::S_regbranch
#define regbranch S_regbranch
-#define S_regc CPerlObj::S_regc
-#define regc S_regc
#define S_reguni CPerlObj::S_reguni
#define reguni S_reguni
#define S_regclass CPerlObj::S_regclass
#define S_isa_lookup CPerlObj::S_isa_lookup
#define isa_lookup S_isa_lookup
#endif
+#if defined(PERL_IN_XSUTILS_C) || defined(PERL_DECL_PROT)
+#define S_modify_SV_attributes CPerlObj::S_modify_SV_attributes
+#define modify_SV_attributes S_modify_SV_attributes
+#endif
#if defined(PERL_IN_UTIL_C) || defined(PERL_DECL_PROT)
#define S_mess_alloc CPerlObj::S_mess_alloc
#define mess_alloc S_mess_alloc
#define ck_grep Perl_ck_grep
#define Perl_ck_index CPerlObj::Perl_ck_index
#define ck_index Perl_ck_index
+#define Perl_ck_join CPerlObj::Perl_ck_join
+#define ck_join Perl_ck_join
#define Perl_ck_lengthconst CPerlObj::Perl_ck_lengthconst
#define ck_lengthconst Perl_ck_lengthconst
#define Perl_ck_lfun CPerlObj::Perl_ck_lfun
#define ck_listiob Perl_ck_listiob
#define Perl_ck_match CPerlObj::Perl_ck_match
#define ck_match Perl_ck_match
+#define Perl_ck_method CPerlObj::Perl_ck_method
+#define ck_method Perl_ck_method
#define Perl_ck_null CPerlObj::Perl_ck_null
#define ck_null Perl_ck_null
#define Perl_ck_repeat CPerlObj::Perl_ck_repeat
#define pp_leaveloop Perl_pp_leaveloop
#define Perl_pp_leavesub CPerlObj::Perl_pp_leavesub
#define pp_leavesub Perl_pp_leavesub
+#define Perl_pp_leavesublv CPerlObj::Perl_pp_leavesublv
+#define pp_leavesublv Perl_pp_leavesublv
#define Perl_pp_leavetry CPerlObj::Perl_pp_leavetry
#define pp_leavetry Perl_pp_leavetry
#define Perl_pp_leavewrite CPerlObj::Perl_pp_leavewrite
#define pp_match Perl_pp_match
#define Perl_pp_method CPerlObj::Perl_pp_method
#define pp_method Perl_pp_method
+#define Perl_pp_method_named CPerlObj::Perl_pp_method_named
+#define pp_method_named Perl_pp_method_named
#define Perl_pp_mkdir CPerlObj::Perl_pp_mkdir
#define pp_mkdir Perl_pp_mkdir
#define Perl_pp_modulo CPerlObj::Perl_pp_modulo
#define pp_setpgrp Perl_pp_setpgrp
#define Perl_pp_setpriority CPerlObj::Perl_pp_setpriority
#define pp_setpriority Perl_pp_setpriority
+#define Perl_pp_setstate CPerlObj::Perl_pp_setstate
+#define pp_setstate Perl_pp_setstate
#define Perl_pp_sge CPerlObj::Perl_pp_sge
#define pp_sge Perl_pp_sge
#define Perl_pp_sgrent CPerlObj::Perl_pp_sgrent
disable them.
*/
-#if !defined(PERL_CORE) && !defined(PERL_NOCOMPAT)
-
+#if !defined(PERL_CORE)
# define sv_setptrobj(rv,ptr,name) sv_setref_iv(rv,name,(IV)ptr)
# define sv_setptrref(rv,ptr) sv_setref_iv(rv,Nullch,(IV)ptr)
+#endif
+#if !defined(PERL_CORE) && !defined(PERL_NOCOMPAT) && !defined(PERL_BINCOMPAT_5005)
/* Compatibility for various misnamed functions. All functions
in the API that begin with "perl_" (not "Perl_") take an explicit