summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGurusamy Sarathy <gsar@cpan.org>1999-06-27 14:28:49 +0000
committerGurusamy Sarathy <gsar@cpan.org>1999-06-27 14:28:49 +0000
commit0cb9638729211ea71a75ae8756c03ba21553bd53 (patch)
treef00e767824d620a63a26a857b6a37fcb6945f89d
parent4f4e629e089f1120f8e94984281df06ac4f885c5 (diff)
downloadperl-0cb9638729211ea71a75ae8756c03ba21553bd53.tar.gz
somewhat untested PERL_OBJECT cleanups (C++isms mostly
gone from the public API); PERL_OBJECT builds again on windows TODO: namespace-clean the typedefs in iperlsys.h and elsewhere; remove C++ remnants from public headers p4raw-id: //depot/perl@3553
-rw-r--r--XSUB.h24
-rw-r--r--bytecode.pl17
-rw-r--r--cv.h2
-rw-r--r--embed.h3812
-rwxr-xr-xembed.pl114
-rw-r--r--ext/B/B.xs6
-rw-r--r--ext/ByteLoader/ByteLoader.xs10
-rw-r--r--ext/ByteLoader/bytecode.h2
-rw-r--r--ext/ByteLoader/byterun.c15
-rw-r--r--ext/ByteLoader/byterun.h2
-rw-r--r--ext/DynaLoader/dlutils.c4
-rw-r--r--global.sym18
-rw-r--r--globals.c26
-rw-r--r--iperlsys.h1110
-rw-r--r--lib/ExtUtils/Embed.pm5
-rwxr-xr-xlib/ExtUtils/xsubpp2
-rw-r--r--mg.c10
-rw-r--r--objXSUB.h4038
-rw-r--r--opcode.h13
-rwxr-xr-xopcode.pl13
-rw-r--r--perl.c24
-rw-r--r--perl.h221
-rw-r--r--pod/perlhist.pod2
-rw-r--r--pp_ctl.c2
-rw-r--r--pp_hot.c2
-rw-r--r--proto.h1328
-rw-r--r--scope.h2
-rw-r--r--sv.h2
-rw-r--r--toke.c2
-rw-r--r--universal.c29
-rw-r--r--util.c10
-rw-r--r--win32/GenCAPI.pl165
-rw-r--r--win32/Makefile55
-rw-r--r--win32/config.bc20
-rw-r--r--win32/config.gc20
-rw-r--r--win32/config.vc20
-rw-r--r--win32/dl_win32.xs29
-rw-r--r--win32/makedef.pl10
-rw-r--r--win32/makefile.mk16
-rw-r--r--win32/perllib.c1486
-rw-r--r--win32/runperl.c78
-rw-r--r--win32/win32.c139
-rw-r--r--win32/win32.h27
-rw-r--r--win32/win32iop.h3
-rw-r--r--win32/win32sck.c16
45 files changed, 9128 insertions, 3823 deletions
diff --git a/XSUB.h b/XSUB.h
index 74e8f026ee..70e7d84b47 100644
--- a/XSUB.h
+++ b/XSUB.h
@@ -1,13 +1,9 @@
#define ST(off) PL_stack_base[ax + (off)]
-#ifdef PERL_OBJECT
-# define XS(name) void name(CV* cv, CPerlObj* pPerl)
+#if defined(CYGWIN32) && defined(USE_DYNAMIC_LOADING)
+# define XS(name) __declspec(dllexport) void name(pTHXo_ CV* cv)
#else
-# if defined(CYGWIN32) && defined(USE_DYNAMIC_LOADING)
-# define XS(name) __declspec(dllexport) void name(pTHX_ CV* cv)
-# else
-# define XS(name) void name(pTHX_ CV* cv)
-# endif
+# define XS(name) void name(pTHXo_ CV* cv)
#endif
#define dXSARGS \
@@ -148,10 +144,12 @@
#ifdef PERL_OBJECT
# include "objXSUB.h"
-# undef PERL_OBJECT_THIS
-# define PERL_OBJECT_THIS pPerl
-# undef PERL_OBJECT_THIS_
-# define PERL_OBJECT_THIS_ pPerl,
+# undef aTHXo
+# define aTHXo pPerl
+# undef aTHXo_
+# define aTHXo_ aTHXo,
+# undef _aTHXo
+# define _aTHXo ,aTHXo
# undef SAVEDESTRUCTOR
# define SAVEDESTRUCTOR(f,p) \
@@ -162,8 +160,6 @@
# undef errno
# define errno ErrorNo()
# endif
-# undef ErrorNo
-# define ErrorNo pPerl->ErrorNo
# undef NtCrypt
# define NtCrypt pPerl->NtCrypt
# undef NtGetLib
@@ -176,6 +172,8 @@
# define NtGetBin pPerl->NtGetBin
# undef NtGetDebugScriptStr
# define NtGetDebugScriptStr pPerl->NtGetDebugScriptStr
+# undef fprintf
+# define fprintf pPerl->fprintf
# endif /* WIN32 */
# ifndef NO_XSLOCKS
diff --git a/bytecode.pl b/bytecode.pl
index 955db20ea3..e12acbb0a6 100644
--- a/bytecode.pl
+++ b/bytecode.pl
@@ -67,9 +67,20 @@ print BYTERUN_C $c_header, <<'EOT';
#include "EXTERN.h"
#include "perl.h"
+#define NO_XSLOCKS
+#include "XSUB.h"
+
+#ifdef PERL_OBJECT
+#undef CALL_FPTR
+#define CALL_FPTR(fptr) (pPerl->*fptr)
+#undef PL_ppaddr
+#define PL_ppaddr (*get_ppaddr())
+#endif
+
#include "byterun.h"
#include "bytecode.h"
+
static int optype_size[] = {
EOT
my $i = 0;
@@ -89,7 +100,7 @@ static void **bytecode_obj_list;
static I32 bytecode_obj_list_fill = -1;
void *
-bset_obj_store(void *obj, I32 ix)
+bset_obj_store(pTHXo_ void *obj, I32 ix)
{
if (ix > bytecode_obj_list_fill) {
if (bytecode_obj_list_fill == -1)
@@ -103,7 +114,7 @@ bset_obj_store(void *obj, I32 ix)
}
void
-byterun(pTHX_ struct bytestream bs)
+byterun(pTHXo_ struct bytestream bs)
{
dTHR;
int insn;
@@ -237,6 +248,8 @@ print BYTERUN_H <<'EOT';
EOT
print BYTERUN_H <<'EOT';
+EXT void byterun(pTHXo_ struct bytestream bs);
+
#define INIT_SPECIALSV_LIST STMT_START { \
EOT
for ($i = 0; $i < @specialsv; $i++) {
diff --git a/cv.h b/cv.h
index d862aeb190..e060dc8abd 100644
--- a/cv.h
+++ b/cv.h
@@ -21,7 +21,7 @@ struct xpvcv {
HV * xcv_stash;
OP * xcv_start;
OP * xcv_root;
- void (*xcv_xsub) (pTHX_ CV*);
+ void (*xcv_xsub) (pTHXo_ CV*);
ANY xcv_xsubany;
GV * xcv_gv;
GV * xcv_filegv;
diff --git a/embed.h b/embed.h
index 02a2cc2948..767b707779 100644
--- a/embed.h
+++ b/embed.h
@@ -12,6 +12,8 @@
#if !defined(PERL_OBJECT)
#if !defined(PERL_IMPLICIT_CONTEXT)
+#if defined(PERL_OBJECT)
+#endif
#define amagic_call Perl_amagic_call
#define Gv_AMupdate Perl_Gv_AMupdate
#define append_elem Perl_append_elem
@@ -80,6 +82,7 @@
#define get_op_names Perl_get_op_names
#define get_no_modify Perl_get_no_modify
#define get_opargs Perl_get_opargs
+#define get_ppaddr Perl_get_ppaddr
#define cxinc Perl_cxinc
#define deb Perl_deb
#define deb_growlevel Perl_deb_growlevel
@@ -409,6 +412,9 @@
#define pad_reset Perl_pad_reset
#define pad_swipe Perl_pad_swipe
#define peep Perl_peep
+#if defined(PERL_OBJECT)
+#else
+#endif
#define call_atexit Perl_call_atexit
#define call_argv Perl_call_argv
#define call_method Perl_call_method
@@ -648,8 +654,12 @@
#define runops_standard Perl_runops_standard
#define runops_debug Perl_runops_debug
#if defined(WIN32)
+#if defined(PERL_OBJECT)
+#define ErrorNo Perl_ErrorNo
+#else
#define ErrorNo Perl_ErrorNo
#endif
+#endif
#define sv_catpvf_mg Perl_sv_catpvf_mg
#define sv_catpv_mg Perl_sv_catpv_mg
#define sv_catpvn_mg Perl_sv_catpvn_mg
@@ -682,10 +692,12 @@
#define tmps_grow Perl_tmps_grow
#define sv_rvweaken Perl_sv_rvweaken
#define magic_killbackrefs Perl_magic_killbackrefs
-#if defined(PERL_IN_AV_C)
+#if defined(PERL_OBJECT)
+#endif
+#if defined(PERL_IN_AV_C) || defined(PERL_DECL_PROT)
#define avhv_index_sv S_avhv_index_sv
#endif
-#if defined(PERL_IN_DOOP_C)
+#if defined(PERL_IN_DOOP_C) || defined(PERL_DECL_PROT)
#define do_trans_CC_simple S_do_trans_CC_simple
#define do_trans_CC_count S_do_trans_CC_count
#define do_trans_CC_complex S_do_trans_CC_complex
@@ -697,10 +709,10 @@
#define do_trans_UC_trivial S_do_trans_UC_trivial
#define do_trans_CU_trivial S_do_trans_CU_trivial
#endif
-#if defined(PERL_IN_GV_C)
+#if defined(PERL_IN_GV_C) || defined(PERL_DECL_PROT)
#define gv_init_sv S_gv_init_sv
#endif
-#if defined(PERL_IN_HV_C)
+#if defined(PERL_IN_HV_C) || defined(PERL_DECL_PROT)
#define hsplit S_hsplit
#define hfreeentries S_hfreeentries
#define more_he S_more_he
@@ -709,14 +721,14 @@
#define save_hek S_save_hek
#define hv_magic_check S_hv_magic_check
#endif
-#if defined(PERL_IN_MG_C)
+#if defined(PERL_IN_MG_C) || defined(PERL_DECL_PROT)
#define save_magic S_save_magic
#define magic_methpack S_magic_methpack
#define magic_methcall S_magic_methcall
#define unwind_handler_stack S_unwind_handler_stack
#define restore_magic S_restore_magic
#endif
-#if defined(PERL_IN_OP_C)
+#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT)
#define list_assignment S_list_assignment
#define bad_type S_bad_type
#define modkids S_modkids
@@ -738,7 +750,7 @@
#define Slab_Alloc S_Slab_Alloc
# endif
#endif
-#if defined(PERL_IN_PERL_C)
+#if defined(PERL_IN_PERL_C) || defined(PERL_DECL_PROT)
#define find_beginning S_find_beginning
#define forbid_setid S_forbid_setid
#define incpush S_incpush
@@ -755,7 +767,6 @@
#define open_script S_open_script
#define usage S_usage
#define validate_suid S_validate_suid
-#define read_e_script S_read_e_script
# if defined(IAMSUID)
#define fd_on_nosuid_fs S_fd_on_nosuid_fs
# endif
@@ -768,7 +779,7 @@
#define init_main_thread S_init_main_thread
# endif
#endif
-#if defined(PERL_IN_PP_C)
+#if defined(PERL_IN_PP_C) || defined(PERL_DECL_PROT)
#define doencodes S_doencodes
#define refto S_refto
#define seed S_seed
@@ -776,7 +787,7 @@
#define is_an_int S_is_an_int
#define div128 S_div128
#endif
-#if defined(PERL_IN_PP_CTL_C)
+#if defined(PERL_IN_PP_CTL_C) || defined(PERL_DECL_PROT)
#define docatch S_docatch
#define docatch_body S_docatch_body
#define dofindlabel S_dofindlabel
@@ -799,20 +810,20 @@
#define amagic_cmp S_amagic_cmp
#define amagic_cmp_locale S_amagic_cmp_locale
#endif
-#if defined(PERL_IN_PP_HOT_C)
+#if defined(PERL_IN_PP_HOT_C) || defined(PERL_DECL_PROT)
#define get_db_sub S_get_db_sub
# if defined(USE_THREADS)
#define unset_cvowner S_unset_cvowner
# endif
#endif
-#if defined(PERL_IN_PP_SYS_C)
+#if defined(PERL_IN_PP_SYS_C) || defined(PERL_DECL_PROT)
#define doform S_doform
#define emulate_eaccess S_emulate_eaccess
# if !defined(HAS_MKDIR) || !defined(HAS_RMDIR)
#define dooneliner S_dooneliner
# endif
#endif
-#if defined(PERL_IN_REGCOMP_C)
+#if defined(PERL_IN_REGCOMP_C) || defined(PERL_DECL_PROT)
#define reg S_reg
#define reganode S_reganode
#define regatom S_regatom
@@ -837,7 +848,7 @@
#define regpposixcc S_regpposixcc
#define clear_re S_clear_re
#endif
-#if defined(PERL_IN_REGEXEC_C)
+#if defined(PERL_IN_REGEXEC_C) || defined(PERL_DECL_PROT)
#define regmatch S_regmatch
#define regrepeat S_regrepeat
#define regrepeat_hard S_regrepeat_hard
@@ -852,13 +863,13 @@
#define reghop S_reghop
#define reghopmaybe S_reghopmaybe
#endif
-#if defined(PERL_IN_RUN_C)
+#if defined(PERL_IN_RUN_C) || defined(PERL_DECL_PROT)
#define debprof S_debprof
#endif
-#if defined(PERL_IN_SCOPE_C)
+#if defined(PERL_IN_SCOPE_C) || defined(PERL_DECL_PROT)
#define save_scalar_at S_save_scalar_at
#endif
-#if defined(PERL_IN_SV_C)
+#if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
#define asIV S_asIV
#define asUV S_asUV
#define more_sv S_more_sv
@@ -893,7 +904,7 @@
#define del_sv S_del_sv
# endif
#endif
-#if defined(PERL_IN_TOKE_C)
+#if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT)
#define check_uni S_check_uni
#define force_next S_force_next
#define force_version S_force_version
@@ -939,13 +950,14 @@
#define win32_textfilter S_win32_textfilter
# endif
#endif
-#if defined(PERL_IN_UNIVERSAL_C)
+#if defined(PERL_IN_UNIVERSAL_C) || defined(PERL_DECL_PROT)
#define isa_lookup S_isa_lookup
#endif
-#if defined(PERL_IN_UTIL_C)
+#if defined(PERL_IN_UTIL_C) || defined(PERL_DECL_PROT)
#define mess_alloc S_mess_alloc
#define do_croak S_do_croak
#define do_warn S_do_warn
+#define do_die S_do_die
# if defined(LEAKTEST)
#define xstat S_xstat
# endif
@@ -1330,6 +1342,8 @@
#else /* PERL_IMPLICIT_CONTEXT */
+#if defined(PERL_OBJECT)
+#endif
#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 append_elem(a,b,c) Perl_append_elem(aTHX_ a,b,c)
@@ -1388,6 +1402,7 @@
#define get_op_names() Perl_get_op_names(aTHX)
#define get_no_modify() Perl_get_no_modify(aTHX)
#define get_opargs() Perl_get_opargs(aTHX)
+#define get_ppaddr() Perl_get_ppaddr(aTHX)
#define cxinc() Perl_cxinc(aTHX)
#define deb_growlevel() Perl_deb_growlevel(aTHX)
#define debprofdump() Perl_debprofdump(aTHX)
@@ -1713,6 +1728,9 @@
#define pad_reset() Perl_pad_reset(aTHX)
#define pad_swipe(a) Perl_pad_swipe(aTHX_ a)
#define peep(a) Perl_peep(aTHX_ a)
+#if defined(PERL_OBJECT)
+#else
+#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)
#define call_method(a,b) Perl_call_method(aTHX_ a,b)
@@ -1948,7 +1966,11 @@
#define runops_standard() Perl_runops_standard(aTHX)
#define runops_debug() Perl_runops_debug(aTHX)
#if defined(WIN32)
+#if defined(PERL_OBJECT)
#define ErrorNo() Perl_ErrorNo(aTHX)
+#else
+#define ErrorNo() Perl_ErrorNo(aTHX)
+#endif
#endif
#define sv_catpv_mg(a,b) Perl_sv_catpv_mg(aTHX_ a,b)
#define sv_catpvn_mg(a,b,c) Perl_sv_catpvn_mg(aTHX_ a,b,c)
@@ -1978,10 +2000,12 @@
#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)
-#if defined(PERL_IN_AV_C)
+#if defined(PERL_OBJECT)
+#endif
+#if defined(PERL_IN_AV_C) || defined(PERL_DECL_PROT)
#define avhv_index_sv(a) S_avhv_index_sv(aTHX_ a)
#endif
-#if defined(PERL_IN_DOOP_C)
+#if defined(PERL_IN_DOOP_C) || defined(PERL_DECL_PROT)
#define do_trans_CC_simple(a) S_do_trans_CC_simple(aTHX_ a)
#define do_trans_CC_count(a) S_do_trans_CC_count(aTHX_ a)
#define do_trans_CC_complex(a) S_do_trans_CC_complex(aTHX_ a)
@@ -1993,10 +2017,10 @@
#define do_trans_UC_trivial(a) S_do_trans_UC_trivial(aTHX_ a)
#define do_trans_CU_trivial(a) S_do_trans_CU_trivial(aTHX_ a)
#endif
-#if defined(PERL_IN_GV_C)
+#if defined(PERL_IN_GV_C) || defined(PERL_DECL_PROT)
#define gv_init_sv(a,b) S_gv_init_sv(aTHX_ a,b)
#endif
-#if defined(PERL_IN_HV_C)
+#if defined(PERL_IN_HV_C) || defined(PERL_DECL_PROT)
#define hsplit(a) S_hsplit(aTHX_ a)
#define hfreeentries(a) S_hfreeentries(aTHX_ a)
#define more_he() S_more_he(aTHX)
@@ -2005,14 +2029,14 @@
#define save_hek(a,b,c) S_save_hek(aTHX_ a,b,c)
#define hv_magic_check(a,b,c) S_hv_magic_check(aTHX_ a,b,c)
#endif
-#if defined(PERL_IN_MG_C)
+#if defined(PERL_IN_MG_C) || defined(PERL_DECL_PROT)
#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 magic_methcall(a,b,c,d,e,f) S_magic_methcall(aTHX_ a,b,c,d,e,f)
#define unwind_handler_stack(a) S_unwind_handler_stack(aTHX_ a)
#define restore_magic(a) S_restore_magic(aTHX_ a)
#endif
-#if defined(PERL_IN_OP_C)
+#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT)
#define list_assignment(a) S_list_assignment(aTHX_ a)
#define bad_type(a,b,c,d) S_bad_type(aTHX_ a,b,c,d)
#define modkids(a,b) S_modkids(aTHX_ a,b)
@@ -2034,7 +2058,7 @@
#define Slab_Alloc(a,b) S_Slab_Alloc(aTHX_ a,b)
# endif
#endif
-#if defined(PERL_IN_PERL_C)
+#if defined(PERL_IN_PERL_C) || defined(PERL_DECL_PROT)
#define find_beginning() S_find_beginning(aTHX)
#define forbid_setid(a) S_forbid_setid(aTHX_ a)
#define incpush(a,b) S_incpush(aTHX_ a,b)
@@ -2051,7 +2075,6 @@
#define open_script(a,b,c,d) S_open_script(aTHX_ a,b,c,d)
#define usage(a) S_usage(aTHX_ a)
#define validate_suid(a,b,c) S_validate_suid(aTHX_ a,b,c)
-#define read_e_script(a,b,c) S_read_e_script(aTHX_ a,b,c)
# if defined(IAMSUID)
#define fd_on_nosuid_fs(a) S_fd_on_nosuid_fs(aTHX_ a)
# endif
@@ -2064,7 +2087,7 @@
#define init_main_thread() S_init_main_thread(aTHX)
# endif
#endif
-#if defined(PERL_IN_PP_C)
+#if defined(PERL_IN_PP_C) || defined(PERL_DECL_PROT)
#define doencodes(a,b,c) S_doencodes(aTHX_ a,b,c)
#define refto(a) S_refto(aTHX_ a)
#define seed() S_seed(aTHX)
@@ -2072,7 +2095,7 @@
#define is_an_int(a,b) S_is_an_int(aTHX_ a,b)
#define div128(a,b) S_div128(aTHX_ a,b)
#endif
-#if defined(PERL_IN_PP_CTL_C)
+#if defined(PERL_IN_PP_CTL_C) || defined(PERL_DECL_PROT)
#define docatch(a) S_docatch(aTHX_ a)
#define docatch_body(a) S_docatch_body(aTHX_ a)
#define dofindlabel(a,b,c,d) S_dofindlabel(aTHX_ a,b,c,d)
@@ -2095,20 +2118,20 @@
#define amagic_cmp(a,b) S_amagic_cmp(aTHX_ a,b)
#define amagic_cmp_locale(a,b) S_amagic_cmp_locale(aTHX_ a,b)
#endif
-#if defined(PERL_IN_PP_HOT_C)
+#if defined(PERL_IN_PP_HOT_C) || defined(PERL_DECL_PROT)
#define get_db_sub(a,b) S_get_db_sub(aTHX_ a,b)
# if defined(USE_THREADS)
#define unset_cvowner(a) S_unset_cvowner(aTHX_ a)
# endif
#endif
-#if defined(PERL_IN_PP_SYS_C)
+#if defined(PERL_IN_PP_SYS_C) || defined(PERL_DECL_PROT)
#define doform(a,b,c) S_doform(aTHX_ a,b,c)
#define emulate_eaccess(a,b) S_emulate_eaccess(aTHX_ a,b)
# if !defined(HAS_MKDIR) || !defined(HAS_RMDIR)
#define dooneliner(a,b) S_dooneliner(aTHX_ a,b)
# endif
#endif
-#if defined(PERL_IN_REGCOMP_C)
+#if defined(PERL_IN_REGCOMP_C) || defined(PERL_DECL_PROT)
#define reg(a,b) S_reg(aTHX_ a,b)
#define reganode(a,b) S_reganode(aTHX_ a,b)
#define regatom(a) S_regatom(aTHX_ a)
@@ -2132,7 +2155,7 @@
#define regpposixcc(a) S_regpposixcc(aTHX_ a)
#define clear_re(a) S_clear_re(aTHX_ a)
#endif
-#if defined(PERL_IN_REGEXEC_C)
+#if defined(PERL_IN_REGEXEC_C) || defined(PERL_DECL_PROT)
#define regmatch(a) S_regmatch(aTHX_ a)
#define regrepeat(a,b) S_regrepeat(aTHX_ a,b)
#define regrepeat_hard(a,b,c) S_regrepeat_hard(aTHX_ a,b,c)
@@ -2147,13 +2170,13 @@
#define reghop(a,b) S_reghop(aTHX_ a,b)
#define reghopmaybe(a,b) S_reghopmaybe(aTHX_ a,b)
#endif
-#if defined(PERL_IN_RUN_C)
+#if defined(PERL_IN_RUN_C) || defined(PERL_DECL_PROT)
#define debprof(a) S_debprof(aTHX_ a)
#endif
-#if defined(PERL_IN_SCOPE_C)
+#if defined(PERL_IN_SCOPE_C) || defined(PERL_DECL_PROT)
#define save_scalar_at(a) S_save_scalar_at(aTHX_ a)
#endif
-#if defined(PERL_IN_SV_C)
+#if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
#define asIV(a) S_asIV(aTHX_ a)
#define asUV(a) S_asUV(aTHX_ a)
#define more_sv() S_more_sv(aTHX)
@@ -2188,7 +2211,7 @@
#define del_sv(a) S_del_sv(aTHX_ a)
# endif
#endif
-#if defined(PERL_IN_TOKE_C)
+#if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT)
#define check_uni() S_check_uni(aTHX)
#define force_next(a) S_force_next(aTHX_ a)
#define force_version(a) S_force_version(aTHX_ a)
@@ -2234,13 +2257,14 @@
#define win32_textfilter(a,b,c) S_win32_textfilter(aTHX_ a,b,c)
# endif
#endif
-#if defined(PERL_IN_UNIVERSAL_C)
+#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_UTIL_C)
+#if defined(PERL_IN_UTIL_C) || defined(PERL_DECL_PROT)
#define mess_alloc() S_mess_alloc(aTHX)
#define do_croak(a,b) S_do_croak(aTHX_ a,b)
#define do_warn(a,b) S_do_warn(aTHX_ a,b)
+#define do_die(a,b) S_do_die(aTHX_ a,b)
# if defined(LEAKTEST)
#define xstat(a) S_xstat(aTHX_ a)
# endif
@@ -2626,1321 +2650,2549 @@
#endif /* PERL_IMPLICIT_CONTEXT */
#else /* PERL_OBJECT */
-#define Perl_amagic_call CPerlObj::amagic_call
-#define Perl_Gv_AMupdate CPerlObj::Gv_AMupdate
-#define Perl_append_elem CPerlObj::append_elem
-#define Perl_append_list CPerlObj::append_list
-#define Perl_apply CPerlObj::apply
-#define Perl_assertref CPerlObj::assertref
-#define Perl_avhv_exists_ent CPerlObj::avhv_exists_ent
-#define Perl_avhv_fetch_ent CPerlObj::avhv_fetch_ent
-#define Perl_avhv_iternext CPerlObj::avhv_iternext
-#define Perl_avhv_iterval CPerlObj::avhv_iterval
-#define Perl_avhv_keys CPerlObj::avhv_keys
-#define Perl_av_clear CPerlObj::av_clear
-#define Perl_av_extend CPerlObj::av_extend
-#define Perl_av_fake CPerlObj::av_fake
-#define Perl_av_fetch CPerlObj::av_fetch
-#define Perl_av_fill CPerlObj::av_fill
-#define Perl_av_len CPerlObj::av_len
-#define Perl_av_make CPerlObj::av_make
-#define Perl_av_pop CPerlObj::av_pop
-#define Perl_av_push CPerlObj::av_push
-#define Perl_av_reify CPerlObj::av_reify
-#define Perl_av_shift CPerlObj::av_shift
-#define Perl_av_store CPerlObj::av_store
-#define Perl_av_undef CPerlObj::av_undef
-#define Perl_av_unshift CPerlObj::av_unshift
-#define Perl_bind_match CPerlObj::bind_match
-#define Perl_block_end CPerlObj::block_end
-#define Perl_block_gimme CPerlObj::block_gimme
-#define Perl_block_start CPerlObj::block_start
-#define Perl_boot_core_UNIVERSAL CPerlObj::boot_core_UNIVERSAL
-#define Perl_call_list CPerlObj::call_list
-#define Perl_cando CPerlObj::cando
-#define Perl_cast_ulong CPerlObj::cast_ulong
-#define Perl_cast_i32 CPerlObj::cast_i32
-#define Perl_cast_iv CPerlObj::cast_iv
-#define Perl_cast_uv CPerlObj::cast_uv
+#if defined(PERL_OBJECT)
+#endif
+#define Perl_amagic_call CPerlObj::Perl_amagic_call
+#define amagic_call Perl_amagic_call
+#define Perl_Gv_AMupdate CPerlObj::Perl_Gv_AMupdate
+#define Gv_AMupdate Perl_Gv_AMupdate
+#define Perl_append_elem CPerlObj::Perl_append_elem
+#define append_elem Perl_append_elem
+#define Perl_append_list CPerlObj::Perl_append_list
+#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 avhv_fetch_ent Perl_avhv_fetch_ent
+#define Perl_avhv_iternext CPerlObj::Perl_avhv_iternext
+#define avhv_iternext Perl_avhv_iternext
+#define Perl_avhv_iterval CPerlObj::Perl_avhv_iterval
+#define avhv_iterval Perl_avhv_iterval
+#define Perl_avhv_keys CPerlObj::Perl_avhv_keys
+#define avhv_keys Perl_avhv_keys
+#define Perl_av_clear CPerlObj::Perl_av_clear
+#define av_clear Perl_av_clear
+#define Perl_av_extend CPerlObj::Perl_av_extend
+#define av_extend Perl_av_extend
+#define Perl_av_fake CPerlObj::Perl_av_fake
+#define av_fake Perl_av_fake
+#define Perl_av_fetch CPerlObj::Perl_av_fetch
+#define av_fetch Perl_av_fetch
+#define Perl_av_fill CPerlObj::Perl_av_fill
+#define av_fill Perl_av_fill
+#define Perl_av_len CPerlObj::Perl_av_len
+#define av_len Perl_av_len
+#define Perl_av_make CPerlObj::Perl_av_make
+#define av_make Perl_av_make
+#define Perl_av_pop CPerlObj::Perl_av_pop
+#define av_pop Perl_av_pop
+#define Perl_av_push CPerlObj::Perl_av_push
+#define av_push Perl_av_push
+#define Perl_av_reify CPerlObj::Perl_av_reify
+#define av_reify Perl_av_reify
+#define Perl_av_shift CPerlObj::Perl_av_shift
+#define av_shift Perl_av_shift
+#define Perl_av_store CPerlObj::Perl_av_store
+#define av_store Perl_av_store
+#define Perl_av_undef CPerlObj::Perl_av_undef
+#define av_undef Perl_av_undef
+#define Perl_av_unshift CPerlObj::Perl_av_unshift
+#define av_unshift Perl_av_unshift
+#define Perl_bind_match CPerlObj::Perl_bind_match
+#define bind_match Perl_bind_match
+#define Perl_block_end CPerlObj::Perl_block_end
+#define block_end Perl_block_end
+#define Perl_block_gimme CPerlObj::Perl_block_gimme
+#define block_gimme Perl_block_gimme
+#define Perl_block_start CPerlObj::Perl_block_start
+#define block_start Perl_block_start
+#define Perl_boot_core_UNIVERSAL CPerlObj::Perl_boot_core_UNIVERSAL
+#define boot_core_UNIVERSAL Perl_boot_core_UNIVERSAL
+#define Perl_call_list CPerlObj::Perl_call_list
+#define call_list Perl_call_list
+#define Perl_cando CPerlObj::Perl_cando
+#define cando Perl_cando
+#define Perl_cast_ulong CPerlObj::Perl_cast_ulong
+#define cast_ulong Perl_cast_ulong
+#define Perl_cast_i32 CPerlObj::Perl_cast_i32
+#define cast_i32 Perl_cast_i32
+#define Perl_cast_iv CPerlObj::Perl_cast_iv
+#define cast_iv Perl_cast_iv
+#define Perl_cast_uv CPerlObj::Perl_cast_uv
+#define cast_uv Perl_cast_uv
#if !defined(HAS_TRUNCATE) && !defined(HAS_CHSIZE) && defined(F_FREESP)
-#define Perl_my_chsize CPerlObj::my_chsize
+#define Perl_my_chsize CPerlObj::Perl_my_chsize
+#define my_chsize Perl_my_chsize
#endif
#if defined(USE_THREADS)
-#define Perl_condpair_magic CPerlObj::condpair_magic
+#define Perl_condpair_magic CPerlObj::Perl_condpair_magic
+#define condpair_magic Perl_condpair_magic
#endif
-#define Perl_convert CPerlObj::convert
-#define Perl_croak CPerlObj::croak
+#define Perl_convert CPerlObj::Perl_convert
+#define convert Perl_convert
+#define Perl_croak CPerlObj::Perl_croak
+#define croak Perl_croak
#if defined(PERL_IMPLICIT_CONTEXT)
-#define Perl_croak_nocontext CPerlObj::croak_nocontext
-#define Perl_die_nocontext CPerlObj::die_nocontext
-#define Perl_form_nocontext CPerlObj::form_nocontext
-#define Perl_warn_nocontext CPerlObj::warn_nocontext
-#define Perl_newSVpvf_nocontext CPerlObj::newSVpvf_nocontext
-#define Perl_sv_catpvf_nocontext CPerlObj::sv_catpvf_nocontext
-#define Perl_sv_setpvf_nocontext CPerlObj::sv_setpvf_nocontext
-#define Perl_sv_catpvf_mg_nocontext CPerlObj::sv_catpvf_mg_nocontext
-#define Perl_sv_setpvf_mg_nocontext CPerlObj::sv_setpvf_mg_nocontext
-#endif
-#define Perl_cv_ckproto CPerlObj::cv_ckproto
-#define Perl_cv_clone CPerlObj::cv_clone
-#define Perl_cv_const_sv CPerlObj::cv_const_sv
-#define Perl_op_const_sv CPerlObj::op_const_sv
-#define Perl_cv_undef CPerlObj::cv_undef
-#define Perl_cx_dump CPerlObj::cx_dump
-#define Perl_filter_add CPerlObj::filter_add
-#define Perl_filter_del CPerlObj::filter_del
-#define Perl_filter_read CPerlObj::filter_read
-#define Perl_get_op_descs CPerlObj::get_op_descs
-#define Perl_get_op_names CPerlObj::get_op_names
-#define Perl_get_no_modify CPerlObj::get_no_modify
-#define Perl_get_opargs CPerlObj::get_opargs
-#define Perl_cxinc CPerlObj::cxinc
-#define Perl_deb CPerlObj::deb
-#define Perl_deb_growlevel CPerlObj::deb_growlevel
-#define Perl_debprofdump CPerlObj::debprofdump
-#define Perl_debop CPerlObj::debop
-#define Perl_debstack CPerlObj::debstack
-#define Perl_debstackptrs CPerlObj::debstackptrs
-#define Perl_delimcpy CPerlObj::delimcpy
-#define Perl_deprecate CPerlObj::deprecate
-#define Perl_die CPerlObj::die
-#define Perl_die_where CPerlObj::die_where
-#define Perl_dounwind CPerlObj::dounwind
-#define Perl_do_aexec CPerlObj::do_aexec
-#define Perl_do_binmode CPerlObj::do_binmode
-#define Perl_do_chop CPerlObj::do_chop
-#define Perl_do_close CPerlObj::do_close
-#define Perl_do_eof CPerlObj::do_eof
-#define Perl_do_exec CPerlObj::do_exec
+#define Perl_croak_nocontext CPerlObj::Perl_croak_nocontext
+#define croak_nocontext Perl_croak_nocontext
+#define Perl_die_nocontext CPerlObj::Perl_die_nocontext
+#define die_nocontext Perl_die_nocontext
+#define Perl_form_nocontext CPerlObj::Perl_form_nocontext
+#define form_nocontext Perl_form_nocontext
+#define Perl_warn_nocontext CPerlObj::Perl_warn_nocontext
+#define warn_nocontext Perl_warn_nocontext
+#define Perl_newSVpvf_nocontext CPerlObj::Perl_newSVpvf_nocontext
+#define newSVpvf_nocontext Perl_newSVpvf_nocontext
+#define Perl_sv_catpvf_nocontext CPerlObj::Perl_sv_catpvf_nocontext
+#define sv_catpvf_nocontext Perl_sv_catpvf_nocontext
+#define Perl_sv_setpvf_nocontext CPerlObj::Perl_sv_setpvf_nocontext
+#define sv_setpvf_nocontext Perl_sv_setpvf_nocontext
+#define Perl_sv_catpvf_mg_nocontext CPerlObj::Perl_sv_catpvf_mg_nocontext
+#define sv_catpvf_mg_nocontext Perl_sv_catpvf_mg_nocontext
+#define Perl_sv_setpvf_mg_nocontext CPerlObj::Perl_sv_setpvf_mg_nocontext
+#define sv_setpvf_mg_nocontext Perl_sv_setpvf_mg_nocontext
+#endif
+#define Perl_cv_ckproto CPerlObj::Perl_cv_ckproto
+#define cv_ckproto Perl_cv_ckproto
+#define Perl_cv_clone CPerlObj::Perl_cv_clone
+#define cv_clone Perl_cv_clone
+#define Perl_cv_const_sv CPerlObj::Perl_cv_const_sv
+#define cv_const_sv Perl_cv_const_sv
+#define Perl_op_const_sv CPerlObj::Perl_op_const_sv
+#define op_const_sv Perl_op_const_sv
+#define Perl_cv_undef CPerlObj::Perl_cv_undef
+#define cv_undef Perl_cv_undef
+#define Perl_cx_dump CPerlObj::Perl_cx_dump
+#define cx_dump Perl_cx_dump
+#define Perl_filter_add CPerlObj::Perl_filter_add
+#define filter_add Perl_filter_add
+#define Perl_filter_del CPerlObj::Perl_filter_del
+#define filter_del Perl_filter_del
+#define Perl_filter_read CPerlObj::Perl_filter_read
+#define filter_read Perl_filter_read
+#define Perl_get_op_descs CPerlObj::Perl_get_op_descs
+#define get_op_descs Perl_get_op_descs
+#define Perl_get_op_names CPerlObj::Perl_get_op_names
+#define get_op_names Perl_get_op_names
+#define Perl_get_no_modify CPerlObj::Perl_get_no_modify
+#define get_no_modify Perl_get_no_modify
+#define Perl_get_opargs CPerlObj::Perl_get_opargs
+#define get_opargs Perl_get_opargs
+#define Perl_get_ppaddr CPerlObj::Perl_get_ppaddr
+#define get_ppaddr Perl_get_ppaddr
+#define Perl_cxinc CPerlObj::Perl_cxinc
+#define cxinc Perl_cxinc
+#define Perl_deb CPerlObj::Perl_deb
+#define deb Perl_deb
+#define Perl_deb_growlevel CPerlObj::Perl_deb_growlevel
+#define deb_growlevel Perl_deb_growlevel
+#define Perl_debprofdump CPerlObj::Perl_debprofdump
+#define debprofdump Perl_debprofdump
+#define Perl_debop CPerlObj::Perl_debop
+#define debop Perl_debop
+#define Perl_debstack CPerlObj::Perl_debstack
+#define debstack Perl_debstack
+#define Perl_debstackptrs CPerlObj::Perl_debstackptrs
+#define debstackptrs Perl_debstackptrs
+#define Perl_delimcpy CPerlObj::Perl_delimcpy
+#define delimcpy Perl_delimcpy
+#define Perl_deprecate CPerlObj::Perl_deprecate
+#define deprecate Perl_deprecate
+#define Perl_die CPerlObj::Perl_die
+#define die Perl_die
+#define Perl_die_where CPerlObj::Perl_die_where
+#define die_where Perl_die_where
+#define Perl_dounwind CPerlObj::Perl_dounwind
+#define dounwind Perl_dounwind
+#define Perl_do_aexec CPerlObj::Perl_do_aexec
+#define do_aexec Perl_do_aexec
+#define Perl_do_binmode CPerlObj::Perl_do_binmode
+#define do_binmode Perl_do_binmode
+#define Perl_do_chop CPerlObj::Perl_do_chop
+#define do_chop Perl_do_chop
+#define Perl_do_close CPerlObj::Perl_do_close
+#define do_close Perl_do_close
+#define Perl_do_eof CPerlObj::Perl_do_eof
+#define do_eof Perl_do_eof
+#define Perl_do_exec CPerlObj::Perl_do_exec
+#define do_exec Perl_do_exec
#if !defined(WIN32)
-#define Perl_do_exec3 CPerlObj::do_exec3
+#define Perl_do_exec3 CPerlObj::Perl_do_exec3
+#define do_exec3 Perl_do_exec3
#endif
-#define Perl_do_execfree CPerlObj::do_execfree
+#define Perl_do_execfree CPerlObj::Perl_do_execfree
+#define do_execfree Perl_do_execfree
#if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM)
-#define Perl_do_ipcctl CPerlObj::do_ipcctl
-#define Perl_do_ipcget CPerlObj::do_ipcget
-#define Perl_do_msgrcv CPerlObj::do_msgrcv
-#define Perl_do_msgsnd CPerlObj::do_msgsnd
-#define Perl_do_semop CPerlObj::do_semop
-#define Perl_do_shmio CPerlObj::do_shmio
-#endif
-#define Perl_do_join CPerlObj::do_join
-#define Perl_do_kv CPerlObj::do_kv
-#define Perl_do_open CPerlObj::do_open
-#define Perl_do_pipe CPerlObj::do_pipe
-#define Perl_do_print CPerlObj::do_print
-#define Perl_do_readline CPerlObj::do_readline
-#define Perl_do_chomp CPerlObj::do_chomp
-#define Perl_do_seek CPerlObj::do_seek
-#define Perl_do_sprintf CPerlObj::do_sprintf
-#define Perl_do_sysseek CPerlObj::do_sysseek
-#define Perl_do_tell CPerlObj::do_tell
-#define Perl_do_trans CPerlObj::do_trans
-#define Perl_do_vecset CPerlObj::do_vecset
-#define Perl_do_vop CPerlObj::do_vop
-#define Perl_dofile CPerlObj::dofile
-#define Perl_dowantarray CPerlObj::dowantarray
-#define Perl_dump_all CPerlObj::dump_all
-#define Perl_dump_eval CPerlObj::dump_eval
+#define Perl_do_ipcctl CPerlObj::Perl_do_ipcctl
+#define do_ipcctl Perl_do_ipcctl
+#define Perl_do_ipcget CPerlObj::Perl_do_ipcget
+#define do_ipcget Perl_do_ipcget
+#define Perl_do_msgrcv CPerlObj::Perl_do_msgrcv
+#define do_msgrcv Perl_do_msgrcv
+#define Perl_do_msgsnd CPerlObj::Perl_do_msgsnd
+#define do_msgsnd Perl_do_msgsnd
+#define Perl_do_semop CPerlObj::Perl_do_semop
+#define do_semop Perl_do_semop
+#define Perl_do_shmio CPerlObj::Perl_do_shmio
+#define do_shmio Perl_do_shmio
+#endif
+#define Perl_do_join CPerlObj::Perl_do_join
+#define do_join Perl_do_join
+#define Perl_do_kv CPerlObj::Perl_do_kv
+#define do_kv Perl_do_kv
+#define Perl_do_open CPerlObj::Perl_do_open
+#define do_open Perl_do_open
+#define Perl_do_pipe CPerlObj::Perl_do_pipe
+#define do_pipe Perl_do_pipe
+#define Perl_do_print CPerlObj::Perl_do_print
+#define do_print Perl_do_print
+#define Perl_do_readline CPerlObj::Perl_do_readline
+#define do_readline Perl_do_readline
+#define Perl_do_chomp CPerlObj::Perl_do_chomp
+#define do_chomp Perl_do_chomp
+#define Perl_do_seek CPerlObj::Perl_do_seek
+#define do_seek Perl_do_seek
+#define Perl_do_sprintf CPerlObj::Perl_do_sprintf
+#define do_sprintf Perl_do_sprintf
+#define Perl_do_sysseek CPerlObj::Perl_do_sysseek
+#define do_sysseek Perl_do_sysseek
+#define Perl_do_tell CPerlObj::Perl_do_tell
+#define do_tell Perl_do_tell
+#define Perl_do_trans CPerlObj::Perl_do_trans
+#define do_trans Perl_do_trans
+#define Perl_do_vecset CPerlObj::Perl_do_vecset
+#define do_vecset Perl_do_vecset
+#define Perl_do_vop CPerlObj::Perl_do_vop
+#define do_vop Perl_do_vop
+#define Perl_dofile CPerlObj::Perl_dofile
+#define dofile Perl_dofile
+#define Perl_dowantarray CPerlObj::Perl_dowantarray
+#define dowantarray Perl_dowantarray
+#define Perl_dump_all CPerlObj::Perl_dump_all
+#define dump_all Perl_dump_all
+#define Perl_dump_eval CPerlObj::Perl_dump_eval
+#define dump_eval Perl_dump_eval
#if defined(DUMP_FDS)
-#define Perl_dump_fds CPerlObj::dump_fds
-#endif
-#define Perl_dump_form CPerlObj::dump_form
-#define Perl_gv_dump CPerlObj::gv_dump
-#define Perl_op_dump CPerlObj::op_dump
-#define Perl_pmop_dump CPerlObj::pmop_dump
-#define Perl_dump_packsubs CPerlObj::dump_packsubs
-#define Perl_dump_sub CPerlObj::dump_sub
-#define Perl_fbm_compile CPerlObj::fbm_compile
-#define Perl_fbm_instr CPerlObj::fbm_instr
-#define Perl_find_script CPerlObj::find_script
+#define Perl_dump_fds CPerlObj::Perl_dump_fds
+#define dump_fds Perl_dump_fds
+#endif
+#define Perl_dump_form CPerlObj::Perl_dump_form
+#define dump_form Perl_dump_form
+#define Perl_gv_dump CPerlObj::Perl_gv_dump
+#define gv_dump Perl_gv_dump
+#define Perl_op_dump CPerlObj::Perl_op_dump
+#define op_dump Perl_op_dump
+#define Perl_pmop_dump CPerlObj::Perl_pmop_dump
+#define pmop_dump Perl_pmop_dump
+#define Perl_dump_packsubs CPerlObj::Perl_dump_packsubs
+#define dump_packsubs Perl_dump_packsubs
+#define Perl_dump_sub CPerlObj::Perl_dump_sub
+#define dump_sub Perl_dump_sub
+#define Perl_fbm_compile CPerlObj::Perl_fbm_compile
+#define fbm_compile Perl_fbm_compile
+#define Perl_fbm_instr CPerlObj::Perl_fbm_instr
+#define fbm_instr Perl_fbm_instr
+#define Perl_find_script CPerlObj::Perl_find_script
+#define find_script Perl_find_script
#if defined(USE_THREADS)
-#define Perl_find_threadsv CPerlObj::find_threadsv
+#define Perl_find_threadsv CPerlObj::Perl_find_threadsv
+#define find_threadsv Perl_find_threadsv
#endif
-#define Perl_force_list CPerlObj::force_list
-#define Perl_fold_constants CPerlObj::fold_constants
-#define Perl_form CPerlObj::form
-#define Perl_free_tmps CPerlObj::free_tmps
-#define Perl_gen_constant_list CPerlObj::gen_constant_list
+#define Perl_force_list CPerlObj::Perl_force_list
+#define force_list Perl_force_list
+#define Perl_fold_constants CPerlObj::Perl_fold_constants
+#define fold_constants Perl_fold_constants
+#define Perl_form CPerlObj::Perl_form
+#define form Perl_form
+#define Perl_free_tmps CPerlObj::Perl_free_tmps
+#define free_tmps Perl_free_tmps
+#define Perl_gen_constant_list CPerlObj::Perl_gen_constant_list
+#define gen_constant_list Perl_gen_constant_list
#if !defined(HAS_GETENV_LEN)
-#define Perl_getenv_len CPerlObj::getenv_len
-#endif
-#define Perl_gp_free CPerlObj::gp_free
-#define Perl_gp_ref CPerlObj::gp_ref
-#define Perl_gv_AVadd CPerlObj::gv_AVadd
-#define Perl_gv_HVadd CPerlObj::gv_HVadd
-#define Perl_gv_IOadd CPerlObj::gv_IOadd
-#define Perl_gv_autoload4 CPerlObj::gv_autoload4
-#define Perl_gv_check CPerlObj::gv_check
-#define Perl_gv_efullname CPerlObj::gv_efullname
-#define Perl_gv_efullname3 CPerlObj::gv_efullname3
-#define Perl_gv_fetchfile CPerlObj::gv_fetchfile
-#define Perl_gv_fetchmeth CPerlObj::gv_fetchmeth
-#define Perl_gv_fetchmethod CPerlObj::gv_fetchmethod
-#define Perl_gv_fetchmethod_autoload CPerlObj::gv_fetchmethod_autoload
-#define Perl_gv_fetchpv CPerlObj::gv_fetchpv
-#define Perl_gv_fullname CPerlObj::gv_fullname
-#define Perl_gv_fullname3 CPerlObj::gv_fullname3
-#define Perl_gv_init CPerlObj::gv_init
-#define Perl_gv_stashpv CPerlObj::gv_stashpv
-#define Perl_gv_stashpvn CPerlObj::gv_stashpvn
-#define Perl_gv_stashsv CPerlObj::gv_stashsv
-#define Perl_hv_clear CPerlObj::hv_clear
-#define Perl_hv_delayfree_ent CPerlObj::hv_delayfree_ent
-#define Perl_hv_delete CPerlObj::hv_delete
-#define Perl_hv_delete_ent CPerlObj::hv_delete_ent
-#define Perl_hv_exists CPerlObj::hv_exists
-#define Perl_hv_exists_ent CPerlObj::hv_exists_ent
-#define Perl_hv_fetch CPerlObj::hv_fetch
-#define Perl_hv_fetch_ent CPerlObj::hv_fetch_ent
-#define Perl_hv_free_ent CPerlObj::hv_free_ent
-#define Perl_hv_iterinit CPerlObj::hv_iterinit
-#define Perl_hv_iterkey CPerlObj::hv_iterkey
-#define Perl_hv_iterkeysv CPerlObj::hv_iterkeysv
-#define Perl_hv_iternext CPerlObj::hv_iternext
-#define Perl_hv_iternextsv CPerlObj::hv_iternextsv
-#define Perl_hv_iterval CPerlObj::hv_iterval
-#define Perl_hv_ksplit CPerlObj::hv_ksplit
-#define Perl_hv_magic CPerlObj::hv_magic
-#define Perl_hv_store CPerlObj::hv_store
-#define Perl_hv_store_ent CPerlObj::hv_store_ent
-#define Perl_hv_undef CPerlObj::hv_undef
-#define Perl_ibcmp CPerlObj::ibcmp
-#define Perl_ibcmp_locale CPerlObj::ibcmp_locale
-#define Perl_ingroup CPerlObj::ingroup
-#define Perl_init_stacks CPerlObj::init_stacks
-#define Perl_intro_my CPerlObj::intro_my
-#define Perl_instr CPerlObj::instr
-#define Perl_io_close CPerlObj::io_close
-#define Perl_invert CPerlObj::invert
-#define Perl_is_uni_alnum CPerlObj::is_uni_alnum
-#define Perl_is_uni_idfirst CPerlObj::is_uni_idfirst
-#define Perl_is_uni_alpha CPerlObj::is_uni_alpha
-#define Perl_is_uni_space CPerlObj::is_uni_space
-#define Perl_is_uni_digit CPerlObj::is_uni_digit
-#define Perl_is_uni_upper CPerlObj::is_uni_upper
-#define Perl_is_uni_lower CPerlObj::is_uni_lower
-#define Perl_is_uni_print CPerlObj::is_uni_print
-#define Perl_to_uni_upper CPerlObj::to_uni_upper
-#define Perl_to_uni_title CPerlObj::to_uni_title
-#define Perl_to_uni_lower CPerlObj::to_uni_lower
-#define Perl_is_uni_alnum_lc CPerlObj::is_uni_alnum_lc
-#define Perl_is_uni_idfirst_lc CPerlObj::is_uni_idfirst_lc
-#define Perl_is_uni_alpha_lc CPerlObj::is_uni_alpha_lc
-#define Perl_is_uni_space_lc CPerlObj::is_uni_space_lc
-#define Perl_is_uni_digit_lc CPerlObj::is_uni_digit_lc
-#define Perl_is_uni_upper_lc CPerlObj::is_uni_upper_lc
-#define Perl_is_uni_lower_lc CPerlObj::is_uni_lower_lc
-#define Perl_is_uni_print_lc CPerlObj::is_uni_print_lc
-#define Perl_to_uni_upper_lc CPerlObj::to_uni_upper_lc
-#define Perl_to_uni_title_lc CPerlObj::to_uni_title_lc
-#define Perl_to_uni_lower_lc CPerlObj::to_uni_lower_lc
-#define Perl_is_utf8_alnum CPerlObj::is_utf8_alnum
-#define Perl_is_utf8_idfirst CPerlObj::is_utf8_idfirst
-#define Perl_is_utf8_alpha CPerlObj::is_utf8_alpha
-#define Perl_is_utf8_space CPerlObj::is_utf8_space
-#define Perl_is_utf8_digit CPerlObj::is_utf8_digit
-#define Perl_is_utf8_upper CPerlObj::is_utf8_upper
-#define Perl_is_utf8_lower CPerlObj::is_utf8_lower
-#define Perl_is_utf8_print CPerlObj::is_utf8_print
-#define Perl_is_utf8_mark CPerlObj::is_utf8_mark
-#define Perl_jmaybe CPerlObj::jmaybe
-#define Perl_keyword CPerlObj::keyword
-#define Perl_leave_scope CPerlObj::leave_scope
-#define Perl_lex_end CPerlObj::lex_end
-#define Perl_lex_start CPerlObj::lex_start
-#define Perl_linklist CPerlObj::linklist
-#define Perl_list CPerlObj::list
-#define Perl_listkids CPerlObj::listkids
-#define Perl_localize CPerlObj::localize
-#define Perl_looks_like_number CPerlObj::looks_like_number
-#define Perl_magic_clearenv CPerlObj::magic_clearenv
-#define Perl_magic_clear_all_env CPerlObj::magic_clear_all_env
-#define Perl_magic_clearpack CPerlObj::magic_clearpack
-#define Perl_magic_clearsig CPerlObj::magic_clearsig
-#define Perl_magic_existspack CPerlObj::magic_existspack
-#define Perl_magic_freeregexp CPerlObj::magic_freeregexp
-#define Perl_magic_get CPerlObj::magic_get
-#define Perl_magic_getarylen CPerlObj::magic_getarylen
-#define Perl_magic_getdefelem CPerlObj::magic_getdefelem
-#define Perl_magic_getglob CPerlObj::magic_getglob
-#define Perl_magic_getnkeys CPerlObj::magic_getnkeys
-#define Perl_magic_getpack CPerlObj::magic_getpack
-#define Perl_magic_getpos CPerlObj::magic_getpos
-#define Perl_magic_getsig CPerlObj::magic_getsig
-#define Perl_magic_getsubstr CPerlObj::magic_getsubstr
-#define Perl_magic_gettaint CPerlObj::magic_gettaint
-#define Perl_magic_getuvar CPerlObj::magic_getuvar
-#define Perl_magic_getvec CPerlObj::magic_getvec
-#define Perl_magic_len CPerlObj::magic_len
+#define Perl_getenv_len CPerlObj::Perl_getenv_len
+#define getenv_len Perl_getenv_len
+#endif
+#define Perl_gp_free CPerlObj::Perl_gp_free
+#define gp_free Perl_gp_free
+#define Perl_gp_ref CPerlObj::Perl_gp_ref
+#define gp_ref Perl_gp_ref
+#define Perl_gv_AVadd CPerlObj::Perl_gv_AVadd
+#define gv_AVadd Perl_gv_AVadd
+#define Perl_gv_HVadd CPerlObj::Perl_gv_HVadd
+#define gv_HVadd Perl_gv_HVadd
+#define Perl_gv_IOadd CPerlObj::Perl_gv_IOadd
+#define gv_IOadd Perl_gv_IOadd
+#define Perl_gv_autoload4 CPerlObj::Perl_gv_autoload4
+#define gv_autoload4 Perl_gv_autoload4
+#define Perl_gv_check CPerlObj::Perl_gv_check
+#define gv_check Perl_gv_check
+#define Perl_gv_efullname CPerlObj::Perl_gv_efullname
+#define gv_efullname Perl_gv_efullname
+#define Perl_gv_efullname3 CPerlObj::Perl_gv_efullname3
+#define gv_efullname3 Perl_gv_efullname3
+#define Perl_gv_fetchfile CPerlObj::Perl_gv_fetchfile
+#define gv_fetchfile Perl_gv_fetchfile
+#define Perl_gv_fetchmeth CPerlObj::Perl_gv_fetchmeth
+#define gv_fetchmeth Perl_gv_fetchmeth
+#define Perl_gv_fetchmethod CPerlObj::Perl_gv_fetchmethod
+#define gv_fetchmethod Perl_gv_fetchmethod
+#define Perl_gv_fetchmethod_autoload CPerlObj::Perl_gv_fetchmethod_autoload
+#define gv_fetchmethod_autoload Perl_gv_fetchmethod_autoload
+#define Perl_gv_fetchpv CPerlObj::Perl_gv_fetchpv
+#define gv_fetchpv Perl_gv_fetchpv
+#define Perl_gv_fullname CPerlObj::Perl_gv_fullname
+#define gv_fullname Perl_gv_fullname
+#define Perl_gv_fullname3 CPerlObj::Perl_gv_fullname3
+#define gv_fullname3 Perl_gv_fullname3
+#define Perl_gv_init CPerlObj::Perl_gv_init
+#define gv_init Perl_gv_init
+#define Perl_gv_stashpv CPerlObj::Perl_gv_stashpv
+#define gv_stashpv Perl_gv_stashpv
+#define Perl_gv_stashpvn CPerlObj::Perl_gv_stashpvn
+#define gv_stashpvn Perl_gv_stashpvn
+#define Perl_gv_stashsv CPerlObj::Perl_gv_stashsv
+#define gv_stashsv Perl_gv_stashsv
+#define Perl_hv_clear CPerlObj::Perl_hv_clear
+#define hv_clear Perl_hv_clear
+#define Perl_hv_delayfree_ent CPerlObj::Perl_hv_delayfree_ent
+#define hv_delayfree_ent Perl_hv_delayfree_ent
+#define Perl_hv_delete CPerlObj::Perl_hv_delete
+#define hv_delete Perl_hv_delete
+#define Perl_hv_delete_ent CPerlObj::Perl_hv_delete_ent
+#define hv_delete_ent Perl_hv_delete_ent
+#define Perl_hv_exists CPerlObj::Perl_hv_exists
+#define hv_exists Perl_hv_exists
+#define Perl_hv_exists_ent CPerlObj::Perl_hv_exists_ent
+#define hv_exists_ent Perl_hv_exists_ent
+#define Perl_hv_fetch CPerlObj::Perl_hv_fetch
+#define hv_fetch Perl_hv_fetch
+#define Perl_hv_fetch_ent CPerlObj::Perl_hv_fetch_ent
+#define hv_fetch_ent Perl_hv_fetch_ent
+#define Perl_hv_free_ent CPerlObj::Perl_hv_free_ent
+#define hv_free_ent Perl_hv_free_ent
+#define Perl_hv_iterinit CPerlObj::Perl_hv_iterinit
+#define hv_iterinit Perl_hv_iterinit
+#define Perl_hv_iterkey CPerlObj::Perl_hv_iterkey
+#define hv_iterkey Perl_hv_iterkey
+#define Perl_hv_iterkeysv CPerlObj::Perl_hv_iterkeysv
+#define hv_iterkeysv Perl_hv_iterkeysv
+#define Perl_hv_iternext CPerlObj::Perl_hv_iternext
+#define hv_iternext Perl_hv_iternext
+#define Perl_hv_iternextsv CPerlObj::Perl_hv_iternextsv
+#define hv_iternextsv Perl_hv_iternextsv
+#define Perl_hv_iterval CPerlObj::Perl_hv_iterval
+#define hv_iterval Perl_hv_iterval
+#define Perl_hv_ksplit CPerlObj::Perl_hv_ksplit
+#define hv_ksplit Perl_hv_ksplit
+#define Perl_hv_magic CPerlObj::Perl_hv_magic
+#define hv_magic Perl_hv_magic
+#define Perl_hv_store CPerlObj::Perl_hv_store
+#define hv_store Perl_hv_store
+#define Perl_hv_store_ent CPerlObj::Perl_hv_store_ent
+#define hv_store_ent Perl_hv_store_ent
+#define Perl_hv_undef CPerlObj::Perl_hv_undef
+#define hv_undef Perl_hv_undef
+#define Perl_ibcmp CPerlObj::Perl_ibcmp
+#define ibcmp Perl_ibcmp
+#define Perl_ibcmp_locale CPerlObj::Perl_ibcmp_locale
+#define ibcmp_locale Perl_ibcmp_locale
+#define Perl_ingroup CPerlObj::Perl_ingroup
+#define ingroup Perl_ingroup
+#define Perl_init_stacks CPerlObj::Perl_init_stacks
+#define init_stacks Perl_init_stacks
+#define Perl_intro_my CPerlObj::Perl_intro_my
+#define intro_my Perl_intro_my
+#define Perl_instr CPerlObj::Perl_instr
+#define instr Perl_instr
+#define Perl_io_close CPerlObj::Perl_io_close
+#define io_close Perl_io_close
+#define Perl_invert CPerlObj::Perl_invert
+#define invert Perl_invert
+#define Perl_is_uni_alnum CPerlObj::Perl_is_uni_alnum
+#define is_uni_alnum Perl_is_uni_alnum
+#define Perl_is_uni_idfirst CPerlObj::Perl_is_uni_idfirst
+#define is_uni_idfirst Perl_is_uni_idfirst
+#define Perl_is_uni_alpha CPerlObj::Perl_is_uni_alpha
+#define is_uni_alpha Perl_is_uni_alpha
+#define Perl_is_uni_space CPerlObj::Perl_is_uni_space
+#define is_uni_space Perl_is_uni_space
+#define Perl_is_uni_digit CPerlObj::Perl_is_uni_digit
+#define is_uni_digit Perl_is_uni_digit
+#define Perl_is_uni_upper CPerlObj::Perl_is_uni_upper
+#define is_uni_upper Perl_is_uni_upper
+#define Perl_is_uni_lower CPerlObj::Perl_is_uni_lower
+#define is_uni_lower Perl_is_uni_lower
+#define Perl_is_uni_print CPerlObj::Perl_is_uni_print
+#define is_uni_print Perl_is_uni_print
+#define Perl_to_uni_upper CPerlObj::Perl_to_uni_upper
+#define to_uni_upper Perl_to_uni_upper
+#define Perl_to_uni_title CPerlObj::Perl_to_uni_title
+#define to_uni_title Perl_to_uni_title
+#define Perl_to_uni_lower CPerlObj::Perl_to_uni_lower
+#define to_uni_lower Perl_to_uni_lower
+#define Perl_is_uni_alnum_lc CPerlObj::Perl_is_uni_alnum_lc
+#define is_uni_alnum_lc Perl_is_uni_alnum_lc
+#define Perl_is_uni_idfirst_lc CPerlObj::Perl_is_uni_idfirst_lc
+#define is_uni_idfirst_lc Perl_is_uni_idfirst_lc
+#define Perl_is_uni_alpha_lc CPerlObj::Perl_is_uni_alpha_lc
+#define is_uni_alpha_lc Perl_is_uni_alpha_lc
+#define Perl_is_uni_space_lc CPerlObj::Perl_is_uni_space_lc
+#define is_uni_space_lc Perl_is_uni_space_lc
+#define Perl_is_uni_digit_lc CPerlObj::Perl_is_uni_digit_lc
+#define is_uni_digit_lc Perl_is_uni_digit_lc
+#define Perl_is_uni_upper_lc CPerlObj::Perl_is_uni_upper_lc
+#define is_uni_upper_lc Perl_is_uni_upper_lc
+#define Perl_is_uni_lower_lc CPerlObj::Perl_is_uni_lower_lc
+#define is_uni_lower_lc Perl_is_uni_lower_lc
+#define Perl_is_uni_print_lc CPerlObj::Perl_is_uni_print_lc
+#define is_uni_print_lc Perl_is_uni_print_lc
+#define Perl_to_uni_upper_lc CPerlObj::Perl_to_uni_upper_lc
+#define to_uni_upper_lc Perl_to_uni_upper_lc
+#define Perl_to_uni_title_lc CPerlObj::Perl_to_uni_title_lc
+#define to_uni_title_lc Perl_to_uni_title_lc
+#define Perl_to_uni_lower_lc CPerlObj::Perl_to_uni_lower_lc
+#define to_uni_lower_lc Perl_to_uni_lower_lc
+#define Perl_is_utf8_alnum CPerlObj::Perl_is_utf8_alnum
+#define is_utf8_alnum Perl_is_utf8_alnum
+#define Perl_is_utf8_idfirst CPerlObj::Perl_is_utf8_idfirst
+#define is_utf8_idfirst Perl_is_utf8_idfirst
+#define Perl_is_utf8_alpha CPerlObj::Perl_is_utf8_alpha
+#define is_utf8_alpha Perl_is_utf8_alpha
+#define Perl_is_utf8_space CPerlObj::Perl_is_utf8_space
+#define is_utf8_space Perl_is_utf8_space
+#define Perl_is_utf8_digit CPerlObj::Perl_is_utf8_digit
+#define is_utf8_digit Perl_is_utf8_digit
+#define Perl_is_utf8_upper CPerlObj::Perl_is_utf8_upper
+#define is_utf8_upper Perl_is_utf8_upper
+#define Perl_is_utf8_lower CPerlObj::Perl_is_utf8_lower
+#define is_utf8_lower Perl_is_utf8_lower
+#define Perl_is_utf8_print CPerlObj::Perl_is_utf8_print
+#define is_utf8_print Perl_is_utf8_print
+#define Perl_is_utf8_mark CPerlObj::Perl_is_utf8_mark
+#define is_utf8_mark Perl_is_utf8_mark
+#define Perl_jmaybe CPerlObj::Perl_jmaybe
+#define jmaybe Perl_jmaybe
+#define Perl_keyword CPerlObj::Perl_keyword
+#define keyword Perl_keyword
+#define Perl_leave_scope CPerlObj::Perl_leave_scope
+#define leave_scope Perl_leave_scope
+#define Perl_lex_end CPerlObj::Perl_lex_end
+#define lex_end Perl_lex_end
+#define Perl_lex_start CPerlObj::Perl_lex_start
+#define lex_start Perl_lex_start
+#define Perl_linklist CPerlObj::Perl_linklist
+#define linklist Perl_linklist
+#define Perl_list CPerlObj::Perl_list
+#define list Perl_list
+#define Perl_listkids CPerlObj::Perl_listkids
+#define listkids Perl_listkids
+#define Perl_localize CPerlObj::Perl_localize
+#define localize Perl_localize
+#define Perl_looks_like_number CPerlObj::Perl_looks_like_number
+#define looks_like_number Perl_looks_like_number
+#define Perl_magic_clearenv CPerlObj::Perl_magic_clearenv
+#define magic_clearenv Perl_magic_clearenv
+#define Perl_magic_clear_all_env CPerlObj::Perl_magic_clear_all_env
+#define magic_clear_all_env Perl_magic_clear_all_env
+#define Perl_magic_clearpack CPerlObj::Perl_magic_clearpack
+#define magic_clearpack Perl_magic_clearpack
+#define Perl_magic_clearsig CPerlObj::Perl_magic_clearsig
+#define magic_clearsig Perl_magic_clearsig
+#define Perl_magic_existspack CPerlObj::Perl_magic_existspack
+#define magic_existspack Perl_magic_existspack
+#define Perl_magic_freeregexp CPerlObj::Perl_magic_freeregexp
+#define magic_freeregexp Perl_magic_freeregexp
+#define Perl_magic_get CPerlObj::Perl_magic_get
+#define magic_get Perl_magic_get
+#define Perl_magic_getarylen CPerlObj::Perl_magic_getarylen
+#define magic_getarylen Perl_magic_getarylen
+#define Perl_magic_getdefelem CPerlObj::Perl_magic_getdefelem
+#define magic_getdefelem Perl_magic_getdefelem
+#define Perl_magic_getglob CPerlObj::Perl_magic_getglob
+#define magic_getglob Perl_magic_getglob
+#define Perl_magic_getnkeys CPerlObj::Perl_magic_getnkeys
+#define magic_getnkeys Perl_magic_getnkeys
+#define Perl_magic_getpack CPerlObj::Perl_magic_getpack
+#define magic_getpack Perl_magic_getpack
+#define Perl_magic_getpos CPerlObj::Perl_magic_getpos
+#define magic_getpos Perl_magic_getpos
+#define Perl_magic_getsig CPerlObj::Perl_magic_getsig
+#define magic_getsig Perl_magic_getsig
+#define Perl_magic_getsubstr CPerlObj::Perl_magic_getsubstr
+#define magic_getsubstr Perl_magic_getsubstr
+#define Perl_magic_gettaint CPerlObj::Perl_magic_gettaint
+#define magic_gettaint Perl_magic_gettaint
+#define Perl_magic_getuvar CPerlObj::Perl_magic_getuvar
+#define magic_getuvar Perl_magic_getuvar
+#define Perl_magic_getvec CPerlObj::Perl_magic_getvec
+#define magic_getvec Perl_magic_getvec
+#define Perl_magic_len CPerlObj::Perl_magic_len
+#define magic_len Perl_magic_len
#if defined(USE_THREADS)
-#define Perl_magic_mutexfree CPerlObj::magic_mutexfree
-#endif
-#define Perl_magic_nextpack CPerlObj::magic_nextpack
-#define Perl_magic_regdata_cnt CPerlObj::magic_regdata_cnt
-#define Perl_magic_regdatum_get CPerlObj::magic_regdatum_get
-#define Perl_magic_set CPerlObj::magic_set
-#define Perl_magic_setamagic CPerlObj::magic_setamagic
-#define Perl_magic_setarylen CPerlObj::magic_setarylen
-#define Perl_magic_setbm CPerlObj::magic_setbm
-#define Perl_magic_setdbline CPerlObj::magic_setdbline
+#define Perl_magic_mutexfree CPerlObj::Perl_magic_mutexfree
+#define magic_mutexfree Perl_magic_mutexfree
+#endif
+#define Perl_magic_nextpack CPerlObj::Perl_magic_nextpack
+#define magic_nextpack Perl_magic_nextpack
+#define Perl_magic_regdata_cnt CPerlObj::Perl_magic_regdata_cnt
+#define magic_regdata_cnt Perl_magic_regdata_cnt
+#define Perl_magic_regdatum_get CPerlObj::Perl_magic_regdatum_get
+#define magic_regdatum_get Perl_magic_regdatum_get
+#define Perl_magic_set CPerlObj::Perl_magic_set
+#define magic_set Perl_magic_set
+#define Perl_magic_setamagic CPerlObj::Perl_magic_setamagic
+#define magic_setamagic Perl_magic_setamagic
+#define Perl_magic_setarylen CPerlObj::Perl_magic_setarylen
+#define magic_setarylen Perl_magic_setarylen
+#define Perl_magic_setbm CPerlObj::Perl_magic_setbm
+#define magic_setbm Perl_magic_setbm
+#define Perl_magic_setdbline CPerlObj::Perl_magic_setdbline
+#define magic_setdbline Perl_magic_setdbline
#if defined(USE_LOCALE_COLLATE)
-#define Perl_magic_setcollxfrm CPerlObj::magic_setcollxfrm
-#endif
-#define Perl_magic_setdefelem CPerlObj::magic_setdefelem
-#define Perl_magic_setenv CPerlObj::magic_setenv
-#define Perl_magic_setfm CPerlObj::magic_setfm
-#define Perl_magic_setisa CPerlObj::magic_setisa
-#define Perl_magic_setglob CPerlObj::magic_setglob
-#define Perl_magic_setmglob CPerlObj::magic_setmglob
-#define Perl_magic_setnkeys CPerlObj::magic_setnkeys
-#define Perl_magic_setpack CPerlObj::magic_setpack
-#define Perl_magic_setpos CPerlObj::magic_setpos
-#define Perl_magic_setsig CPerlObj::magic_setsig
-#define Perl_magic_setsubstr CPerlObj::magic_setsubstr
-#define Perl_magic_settaint CPerlObj::magic_settaint
-#define Perl_magic_setuvar CPerlObj::magic_setuvar
-#define Perl_magic_setvec CPerlObj::magic_setvec
-#define Perl_magic_set_all_env CPerlObj::magic_set_all_env
-#define Perl_magic_sizepack CPerlObj::magic_sizepack
-#define Perl_magic_wipepack CPerlObj::magic_wipepack
-#define Perl_magicname CPerlObj::magicname
+#define Perl_magic_setcollxfrm CPerlObj::Perl_magic_setcollxfrm
+#define magic_setcollxfrm Perl_magic_setcollxfrm
+#endif
+#define Perl_magic_setdefelem CPerlObj::Perl_magic_setdefelem
+#define magic_setdefelem Perl_magic_setdefelem
+#define Perl_magic_setenv CPerlObj::Perl_magic_setenv
+#define magic_setenv Perl_magic_setenv
+#define Perl_magic_setfm CPerlObj::Perl_magic_setfm
+#define magic_setfm Perl_magic_setfm
+#define Perl_magic_setisa CPerlObj::Perl_magic_setisa
+#define magic_setisa Perl_magic_setisa
+#define Perl_magic_setglob CPerlObj::Perl_magic_setglob
+#define magic_setglob Perl_magic_setglob
+#define Perl_magic_setmglob CPerlObj::Perl_magic_setmglob
+#define magic_setmglob Perl_magic_setmglob
+#define Perl_magic_setnkeys CPerlObj::Perl_magic_setnkeys
+#define magic_setnkeys Perl_magic_setnkeys
+#define Perl_magic_setpack CPerlObj::Perl_magic_setpack
+#define magic_setpack Perl_magic_setpack
+#define Perl_magic_setpos CPerlObj::Perl_magic_setpos
+#define magic_setpos Perl_magic_setpos
+#define Perl_magic_setsig CPerlObj::Perl_magic_setsig
+#define magic_setsig Perl_magic_setsig
+#define Perl_magic_setsubstr CPerlObj::Perl_magic_setsubstr
+#define magic_setsubstr Perl_magic_setsubstr
+#define Perl_magic_settaint CPerlObj::Perl_magic_settaint
+#define magic_settaint Perl_magic_settaint
+#define Perl_magic_setuvar CPerlObj::Perl_magic_setuvar
+#define magic_setuvar Perl_magic_setuvar
+#define Perl_magic_setvec CPerlObj::Perl_magic_setvec
+#define magic_setvec Perl_magic_setvec
+#define Perl_magic_set_all_env CPerlObj::Perl_magic_set_all_env
+#define magic_set_all_env Perl_magic_set_all_env
+#define Perl_magic_sizepack CPerlObj::Perl_magic_sizepack
+#define magic_sizepack Perl_magic_sizepack
+#define Perl_magic_wipepack CPerlObj::Perl_magic_wipepack
+#define magic_wipepack Perl_magic_wipepack
+#define Perl_magicname CPerlObj::Perl_magicname
+#define magicname Perl_magicname
#if defined(MYMALLOC)
-#define Perl_malloced_size CPerlObj::malloced_size
+#define Perl_malloced_size CPerlObj::Perl_malloced_size
+#define malloced_size Perl_malloced_size
#endif
-#define Perl_markstack_grow CPerlObj::markstack_grow
+#define Perl_markstack_grow CPerlObj::Perl_markstack_grow
+#define markstack_grow Perl_markstack_grow
#if defined(USE_LOCALE_COLLATE)
-#define Perl_mem_collxfrm CPerlObj::mem_collxfrm
-#endif
-#define Perl_mess CPerlObj::mess
-#define Perl_mg_clear CPerlObj::mg_clear
-#define Perl_mg_copy CPerlObj::mg_copy
-#define Perl_mg_find CPerlObj::mg_find
-#define Perl_mg_free CPerlObj::mg_free
-#define Perl_mg_get CPerlObj::mg_get
-#define Perl_mg_length CPerlObj::mg_length
-#define Perl_mg_magical CPerlObj::mg_magical
-#define Perl_mg_set CPerlObj::mg_set
-#define Perl_mg_size CPerlObj::mg_size
-#define Perl_mod CPerlObj::mod
-#define Perl_moreswitches CPerlObj::moreswitches
-#define Perl_my CPerlObj::my
+#define Perl_mem_collxfrm CPerlObj::Perl_mem_collxfrm
+#define mem_collxfrm Perl_mem_collxfrm
+#endif
+#define Perl_mess CPerlObj::Perl_mess
+#define mess Perl_mess
+#define Perl_mg_clear CPerlObj::Perl_mg_clear
+#define mg_clear Perl_mg_clear
+#define Perl_mg_copy CPerlObj::Perl_mg_copy
+#define mg_copy Perl_mg_copy
+#define Perl_mg_find CPerlObj::Perl_mg_find
+#define mg_find Perl_mg_find
+#define Perl_mg_free CPerlObj::Perl_mg_free
+#define mg_free Perl_mg_free
+#define Perl_mg_get CPerlObj::Perl_mg_get
+#define mg_get Perl_mg_get
+#define Perl_mg_length CPerlObj::Perl_mg_length
+#define mg_length Perl_mg_length
+#define Perl_mg_magical CPerlObj::Perl_mg_magical
+#define mg_magical Perl_mg_magical
+#define Perl_mg_set CPerlObj::Perl_mg_set
+#define mg_set Perl_mg_set
+#define Perl_mg_size CPerlObj::Perl_mg_size
+#define mg_size Perl_mg_size
+#define Perl_mod CPerlObj::Perl_mod
+#define mod Perl_mod
+#define Perl_moreswitches CPerlObj::Perl_moreswitches
+#define moreswitches Perl_moreswitches
+#define Perl_my CPerlObj::Perl_my
+#define my Perl_my
#ifdef USE_LOCALE_NUMERIC
-#define Perl_my_atof CPerlObj::my_atof
+#define Perl_my_atof CPerlObj::Perl_my_atof
+#define my_atof Perl_my_atof
#endif
#if !defined(HAS_BCOPY) || !defined(HAS_SAFE_BCOPY)
-#define Perl_my_bcopy CPerlObj::my_bcopy
+#define Perl_my_bcopy CPerlObj::Perl_my_bcopy
+#define my_bcopy Perl_my_bcopy
#endif
#if !defined(HAS_BZERO) && !defined(HAS_MEMSET)
-#define Perl_my_bzero CPerlObj::my_bzero
+#define Perl_my_bzero CPerlObj::Perl_my_bzero
+#define my_bzero Perl_my_bzero
#endif
-#define Perl_my_exit CPerlObj::my_exit
-#define Perl_my_failure_exit CPerlObj::my_failure_exit
-#define Perl_my_fflush_all CPerlObj::my_fflush_all
-#define Perl_my_lstat CPerlObj::my_lstat
+#define Perl_my_exit CPerlObj::Perl_my_exit
+#define my_exit Perl_my_exit
+#define Perl_my_failure_exit CPerlObj::Perl_my_failure_exit
+#define my_failure_exit Perl_my_failure_exit
+#define Perl_my_fflush_all CPerlObj::Perl_my_fflush_all
+#define my_fflush_all Perl_my_fflush_all
+#define Perl_my_lstat CPerlObj::Perl_my_lstat
+#define my_lstat Perl_my_lstat
#if !defined(HAS_MEMCMP) || !defined(HAS_SANE_MEMCMP)
-#define Perl_my_memcmp CPerlObj::my_memcmp
+#define Perl_my_memcmp CPerlObj::Perl_my_memcmp
+#define my_memcmp Perl_my_memcmp
#endif
#if !defined(HAS_MEMSET)
-#define Perl_my_memset CPerlObj::my_memset
+#define Perl_my_memset CPerlObj::Perl_my_memset
+#define my_memset Perl_my_memset
#endif
#if !defined(PERL_OBJECT)
-#define Perl_my_pclose CPerlObj::my_pclose
-#define Perl_my_popen CPerlObj::my_popen
+#define Perl_my_pclose CPerlObj::Perl_my_pclose
+#define my_pclose Perl_my_pclose
+#define Perl_my_popen CPerlObj::Perl_my_popen
+#define my_popen Perl_my_popen
#endif
-#define Perl_my_setenv CPerlObj::my_setenv
-#define Perl_my_stat CPerlObj::my_stat
+#define Perl_my_setenv CPerlObj::Perl_my_setenv
+#define my_setenv Perl_my_setenv
+#define Perl_my_stat CPerlObj::Perl_my_stat
+#define my_stat Perl_my_stat
#if defined(MYSWAP)
-#define Perl_my_swap CPerlObj::my_swap
-#define Perl_my_htonl CPerlObj::my_htonl
-#define Perl_my_ntohl CPerlObj::my_ntohl
-#endif
-#define Perl_my_unexec CPerlObj::my_unexec
-#define Perl_newANONLIST CPerlObj::newANONLIST
-#define Perl_newANONHASH CPerlObj::newANONHASH
-#define Perl_newANONSUB CPerlObj::newANONSUB
-#define Perl_newASSIGNOP CPerlObj::newASSIGNOP
-#define Perl_newCONDOP CPerlObj::newCONDOP
-#define Perl_newCONSTSUB CPerlObj::newCONSTSUB
-#define Perl_newFORM CPerlObj::newFORM
-#define Perl_newFOROP CPerlObj::newFOROP
-#define Perl_newLOGOP CPerlObj::newLOGOP
-#define Perl_newLOOPEX CPerlObj::newLOOPEX
-#define Perl_newLOOPOP CPerlObj::newLOOPOP
-#define Perl_newNULLLIST CPerlObj::newNULLLIST
-#define Perl_newOP CPerlObj::newOP
-#define Perl_newPROG CPerlObj::newPROG
-#define Perl_newRANGE CPerlObj::newRANGE
-#define Perl_newSLICEOP CPerlObj::newSLICEOP
-#define Perl_newSTATEOP CPerlObj::newSTATEOP
-#define Perl_newSUB CPerlObj::newSUB
-#define Perl_newXS CPerlObj::newXS
-#define Perl_newAV CPerlObj::newAV
-#define Perl_newAVREF CPerlObj::newAVREF
-#define Perl_newBINOP CPerlObj::newBINOP
-#define Perl_newCVREF CPerlObj::newCVREF
-#define Perl_newGVOP CPerlObj::newGVOP
-#define Perl_newGVgen CPerlObj::newGVgen
-#define Perl_newGVREF CPerlObj::newGVREF
-#define Perl_newHVREF CPerlObj::newHVREF
-#define Perl_newHV CPerlObj::newHV
-#define Perl_newHVhv CPerlObj::newHVhv
-#define Perl_newIO CPerlObj::newIO
-#define Perl_newLISTOP CPerlObj::newLISTOP
-#define Perl_newPMOP CPerlObj::newPMOP
-#define Perl_newPVOP CPerlObj::newPVOP
-#define Perl_newRV CPerlObj::newRV
-#define Perl_newRV_noinc CPerlObj::newRV_noinc
-#define Perl_newSV CPerlObj::newSV
-#define Perl_newSVREF CPerlObj::newSVREF
-#define Perl_newSVOP CPerlObj::newSVOP
-#define Perl_newSViv CPerlObj::newSViv
-#define Perl_newSVnv CPerlObj::newSVnv
-#define Perl_newSVpv CPerlObj::newSVpv
-#define Perl_newSVpvn CPerlObj::newSVpvn
-#define Perl_newSVpvf CPerlObj::newSVpvf
-#define Perl_newSVrv CPerlObj::newSVrv
-#define Perl_newSVsv CPerlObj::newSVsv
-#define Perl_newUNOP CPerlObj::newUNOP
-#define Perl_newWHILEOP CPerlObj::newWHILEOP
+#define Perl_my_swap CPerlObj::Perl_my_swap
+#define my_swap Perl_my_swap
+#define Perl_my_htonl CPerlObj::Perl_my_htonl
+#define my_htonl Perl_my_htonl
+#define Perl_my_ntohl CPerlObj::Perl_my_ntohl
+#define my_ntohl Perl_my_ntohl
+#endif
+#define Perl_my_unexec CPerlObj::Perl_my_unexec
+#define my_unexec Perl_my_unexec
+#define Perl_newANONLIST CPerlObj::Perl_newANONLIST
+#define newANONLIST Perl_newANONLIST
+#define Perl_newANONHASH CPerlObj::Perl_newANONHASH
+#define newANONHASH Perl_newANONHASH
+#define Perl_newANONSUB CPerlObj::Perl_newANONSUB
+#define newANONSUB Perl_newANONSUB
+#define Perl_newASSIGNOP CPerlObj::Perl_newASSIGNOP
+#define newASSIGNOP Perl_newASSIGNOP
+#define Perl_newCONDOP CPerlObj::Perl_newCONDOP
+#define newCONDOP Perl_newCONDOP
+#define Perl_newCONSTSUB CPerlObj::Perl_newCONSTSUB
+#define newCONSTSUB Perl_newCONSTSUB
+#define Perl_newFORM CPerlObj::Perl_newFORM
+#define newFORM Perl_newFORM
+#define Perl_newFOROP CPerlObj::Perl_newFOROP
+#define newFOROP Perl_newFOROP
+#define Perl_newLOGOP CPerlObj::Perl_newLOGOP
+#define newLOGOP Perl_newLOGOP
+#define Perl_newLOOPEX CPerlObj::Perl_newLOOPEX
+#define newLOOPEX Perl_newLOOPEX
+#define Perl_newLOOPOP CPerlObj::Perl_newLOOPOP
+#define newLOOPOP Perl_newLOOPOP
+#define Perl_newNULLLIST CPerlObj::Perl_newNULLLIST
+#define newNULLLIST Perl_newNULLLIST
+#define Perl_newOP CPerlObj::Perl_newOP
+#define newOP Perl_newOP
+#define Perl_newPROG CPerlObj::Perl_newPROG
+#define newPROG Perl_newPROG
+#define Perl_newRANGE CPerlObj::Perl_newRANGE
+#define newRANGE Perl_newRANGE
+#define Perl_newSLICEOP CPerlObj::Perl_newSLICEOP
+#define newSLICEOP Perl_newSLICEOP
+#define Perl_newSTATEOP CPerlObj::Perl_newSTATEOP
+#define newSTATEOP Perl_newSTATEOP
+#define Perl_newSUB CPerlObj::Perl_newSUB
+#define newSUB Perl_newSUB
+#define Perl_newXS CPerlObj::Perl_newXS
+#define newXS Perl_newXS
+#define Perl_newAV CPerlObj::Perl_newAV
+#define newAV Perl_newAV
+#define Perl_newAVREF CPerlObj::Perl_newAVREF
+#define newAVREF Perl_newAVREF
+#define Perl_newBINOP CPerlObj::Perl_newBINOP
+#define newBINOP Perl_newBINOP
+#define Perl_newCVREF CPerlObj::Perl_newCVREF
+#define newCVREF Perl_newCVREF
+#define Perl_newGVOP CPerlObj::Perl_newGVOP
+#define newGVOP Perl_newGVOP
+#define Perl_newGVgen CPerlObj::Perl_newGVgen
+#define newGVgen Perl_newGVgen
+#define Perl_newGVREF CPerlObj::Perl_newGVREF
+#define newGVREF Perl_newGVREF
+#define Perl_newHVREF CPerlObj::Perl_newHVREF
+#define newHVREF Perl_newHVREF
+#define Perl_newHV CPerlObj::Perl_newHV
+#define newHV Perl_newHV
+#define Perl_newHVhv CPerlObj::Perl_newHVhv
+#define newHVhv Perl_newHVhv
+#define Perl_newIO CPerlObj::Perl_newIO
+#define newIO Perl_newIO
+#define Perl_newLISTOP CPerlObj::Perl_newLISTOP
+#define newLISTOP Perl_newLISTOP
+#define Perl_newPMOP CPerlObj::Perl_newPMOP
+#define newPMOP Perl_newPMOP
+#define Perl_newPVOP CPerlObj::Perl_newPVOP
+#define newPVOP Perl_newPVOP
+#define Perl_newRV CPerlObj::Perl_newRV
+#define newRV Perl_newRV
+#define Perl_newRV_noinc CPerlObj::Perl_newRV_noinc
+#define newRV_noinc Perl_newRV_noinc
+#define Perl_newSV CPerlObj::Perl_newSV
+#define newSV Perl_newSV
+#define Perl_newSVREF CPerlObj::Perl_newSVREF
+#define newSVREF Perl_newSVREF
+#define Perl_newSVOP CPerlObj::Perl_newSVOP
+#define newSVOP Perl_newSVOP
+#define Perl_newSViv CPerlObj::Perl_newSViv
+#define newSViv Perl_newSViv
+#define Perl_newSVnv CPerlObj::Perl_newSVnv
+#define newSVnv Perl_newSVnv
+#define Perl_newSVpv CPerlObj::Perl_newSVpv
+#define newSVpv Perl_newSVpv
+#define Perl_newSVpvn CPerlObj::Perl_newSVpvn
+#define newSVpvn Perl_newSVpvn
+#define Perl_newSVpvf CPerlObj::Perl_newSVpvf
+#define newSVpvf Perl_newSVpvf
+#define Perl_newSVrv CPerlObj::Perl_newSVrv
+#define newSVrv Perl_newSVrv
+#define Perl_newSVsv CPerlObj::Perl_newSVsv
+#define newSVsv Perl_newSVsv
+#define Perl_newUNOP CPerlObj::Perl_newUNOP
+#define newUNOP Perl_newUNOP
+#define Perl_newWHILEOP CPerlObj::Perl_newWHILEOP
+#define newWHILEOP Perl_newWHILEOP
#if defined(USE_THREADS)
-#define Perl_new_struct_thread CPerlObj::new_struct_thread
-#endif
-#define Perl_new_stackinfo CPerlObj::new_stackinfo
-#define Perl_nextargv CPerlObj::nextargv
-#define Perl_ninstr CPerlObj::ninstr
-#define Perl_oopsCV CPerlObj::oopsCV
-#define Perl_op_free CPerlObj::op_free
-#define Perl_package CPerlObj::package
-#define Perl_pad_alloc CPerlObj::pad_alloc
-#define Perl_pad_allocmy CPerlObj::pad_allocmy
-#define Perl_pad_findmy CPerlObj::pad_findmy
-#define Perl_oopsAV CPerlObj::oopsAV
-#define Perl_oopsHV CPerlObj::oopsHV
-#define Perl_pad_leavemy CPerlObj::pad_leavemy
-#define Perl_pad_sv CPerlObj::pad_sv
-#define Perl_pad_free CPerlObj::pad_free
-#define Perl_pad_reset CPerlObj::pad_reset
-#define Perl_pad_swipe CPerlObj::pad_swipe
-#define Perl_peep CPerlObj::peep
-#define Perl_call_atexit CPerlObj::call_atexit
-#define Perl_call_argv CPerlObj::call_argv
-#define Perl_call_method CPerlObj::call_method
-#define Perl_call_pv CPerlObj::call_pv
-#define Perl_call_sv CPerlObj::call_sv
-#define Perl_eval_pv CPerlObj::eval_pv
-#define Perl_eval_sv CPerlObj::eval_sv
-#define Perl_get_sv CPerlObj::get_sv
-#define Perl_get_av CPerlObj::get_av
-#define Perl_get_hv CPerlObj::get_hv
-#define Perl_get_cv CPerlObj::get_cv
-#define Perl_init_i18nl10n CPerlObj::init_i18nl10n
-#define Perl_init_i18nl14n CPerlObj::init_i18nl14n
-#define Perl_new_collate CPerlObj::new_collate
-#define Perl_new_ctype CPerlObj::new_ctype
-#define Perl_new_numeric CPerlObj::new_numeric
-#define Perl_set_numeric_local CPerlObj::set_numeric_local
-#define Perl_set_numeric_radix CPerlObj::set_numeric_radix
-#define Perl_set_numeric_standard CPerlObj::set_numeric_standard
-#define Perl_require_pv CPerlObj::require_pv
-#define Perl_pidgone CPerlObj::pidgone
-#define Perl_pmflag CPerlObj::pmflag
-#define Perl_pmruntime CPerlObj::pmruntime
-#define Perl_pmtrans CPerlObj::pmtrans
-#define Perl_pop_return CPerlObj::pop_return
-#define Perl_pop_scope CPerlObj::pop_scope
-#define Perl_prepend_elem CPerlObj::prepend_elem
-#define Perl_push_return CPerlObj::push_return
-#define Perl_push_scope CPerlObj::push_scope
-#define Perl_ref CPerlObj::ref
-#define Perl_refkids CPerlObj::refkids
-#define Perl_regdump CPerlObj::regdump
-#define Perl_pregexec CPerlObj::pregexec
-#define Perl_pregfree CPerlObj::pregfree
-#define Perl_pregcomp CPerlObj::pregcomp
-#define Perl_regexec_flags CPerlObj::regexec_flags
-#define Perl_regnext CPerlObj::regnext
-#define Perl_regprop CPerlObj::regprop
-#define Perl_repeatcpy CPerlObj::repeatcpy
-#define Perl_rninstr CPerlObj::rninstr
-#define Perl_rsignal CPerlObj::rsignal
-#define Perl_rsignal_restore CPerlObj::rsignal_restore
-#define Perl_rsignal_save CPerlObj::rsignal_save
-#define Perl_rsignal_state CPerlObj::rsignal_state
-#define Perl_rxres_free CPerlObj::rxres_free
-#define Perl_rxres_restore CPerlObj::rxres_restore
-#define Perl_rxres_save CPerlObj::rxres_save
+#define Perl_new_struct_thread CPerlObj::Perl_new_struct_thread
+#define new_struct_thread Perl_new_struct_thread
+#endif
+#define Perl_new_stackinfo CPerlObj::Perl_new_stackinfo
+#define new_stackinfo Perl_new_stackinfo
+#define Perl_nextargv CPerlObj::Perl_nextargv
+#define nextargv Perl_nextargv
+#define Perl_ninstr CPerlObj::Perl_ninstr
+#define ninstr Perl_ninstr
+#define Perl_oopsCV CPerlObj::Perl_oopsCV
+#define oopsCV Perl_oopsCV
+#define Perl_op_free CPerlObj::Perl_op_free
+#define op_free Perl_op_free
+#define Perl_package CPerlObj::Perl_package
+#define package Perl_package
+#define Perl_pad_alloc CPerlObj::Perl_pad_alloc
+#define pad_alloc Perl_pad_alloc
+#define Perl_pad_allocmy CPerlObj::Perl_pad_allocmy
+#define pad_allocmy Perl_pad_allocmy
+#define Perl_pad_findmy CPerlObj::Perl_pad_findmy
+#define pad_findmy Perl_pad_findmy
+#define Perl_oopsAV CPerlObj::Perl_oopsAV
+#define oopsAV Perl_oopsAV
+#define Perl_oopsHV CPerlObj::Perl_oopsHV
+#define oopsHV Perl_oopsHV
+#define Perl_pad_leavemy CPerlObj::Perl_pad_leavemy
+#define pad_leavemy Perl_pad_leavemy
+#define Perl_pad_sv CPerlObj::Perl_pad_sv
+#define pad_sv Perl_pad_sv
+#define Perl_pad_free CPerlObj::Perl_pad_free
+#define pad_free Perl_pad_free
+#define Perl_pad_reset CPerlObj::Perl_pad_reset
+#define pad_reset Perl_pad_reset
+#define Perl_pad_swipe CPerlObj::Perl_pad_swipe
+#define pad_swipe Perl_pad_swipe
+#define Perl_peep CPerlObj::Perl_peep
+#define peep Perl_peep
+#if defined(PERL_OBJECT)
+#define perl_construct CPerlObj::perl_construct
+#define perl_destruct CPerlObj::perl_destruct
+#define perl_free CPerlObj::perl_free
+#define perl_run CPerlObj::perl_run
+#define perl_parse CPerlObj::perl_parse
+#else
+#define perl_alloc CPerlObj::perl_alloc
+#define perl_construct CPerlObj::perl_construct
+#define perl_destruct CPerlObj::perl_destruct
+#define perl_free CPerlObj::perl_free
+#define perl_run CPerlObj::perl_run
+#define perl_parse CPerlObj::perl_parse
+#endif
+#define Perl_call_atexit CPerlObj::Perl_call_atexit
+#define call_atexit Perl_call_atexit
+#define Perl_call_argv CPerlObj::Perl_call_argv
+#define call_argv Perl_call_argv
+#define Perl_call_method CPerlObj::Perl_call_method
+#define call_method Perl_call_method
+#define Perl_call_pv CPerlObj::Perl_call_pv
+#define call_pv Perl_call_pv
+#define Perl_call_sv CPerlObj::Perl_call_sv
+#define call_sv Perl_call_sv
+#define Perl_eval_pv CPerlObj::Perl_eval_pv
+#define eval_pv Perl_eval_pv
+#define Perl_eval_sv CPerlObj::Perl_eval_sv
+#define eval_sv Perl_eval_sv
+#define Perl_get_sv CPerlObj::Perl_get_sv
+#define get_sv Perl_get_sv
+#define Perl_get_av CPerlObj::Perl_get_av
+#define get_av Perl_get_av
+#define Perl_get_hv CPerlObj::Perl_get_hv
+#define get_hv Perl_get_hv
+#define Perl_get_cv CPerlObj::Perl_get_cv
+#define get_cv Perl_get_cv
+#define Perl_init_i18nl10n CPerlObj::Perl_init_i18nl10n
+#define init_i18nl10n Perl_init_i18nl10n
+#define Perl_init_i18nl14n CPerlObj::Perl_init_i18nl14n
+#define init_i18nl14n Perl_init_i18nl14n
+#define Perl_new_collate CPerlObj::Perl_new_collate
+#define new_collate Perl_new_collate
+#define Perl_new_ctype CPerlObj::Perl_new_ctype
+#define new_ctype Perl_new_ctype
+#define Perl_new_numeric CPerlObj::Perl_new_numeric
+#define new_numeric Perl_new_numeric
+#define Perl_set_numeric_local CPerlObj::Perl_set_numeric_local
+#define set_numeric_local Perl_set_numeric_local
+#define Perl_set_numeric_radix CPerlObj::Perl_set_numeric_radix
+#define set_numeric_radix Perl_set_numeric_radix
+#define Perl_set_numeric_standard CPerlObj::Perl_set_numeric_standard
+#define set_numeric_standard Perl_set_numeric_standard
+#define Perl_require_pv CPerlObj::Perl_require_pv
+#define require_pv Perl_require_pv
+#define Perl_pidgone CPerlObj::Perl_pidgone
+#define pidgone Perl_pidgone
+#define Perl_pmflag CPerlObj::Perl_pmflag
+#define pmflag Perl_pmflag
+#define Perl_pmruntime CPerlObj::Perl_pmruntime
+#define pmruntime Perl_pmruntime
+#define Perl_pmtrans CPerlObj::Perl_pmtrans
+#define pmtrans Perl_pmtrans
+#define Perl_pop_return CPerlObj::Perl_pop_return
+#define pop_return Perl_pop_return
+#define Perl_pop_scope CPerlObj::Perl_pop_scope
+#define pop_scope Perl_pop_scope
+#define Perl_prepend_elem CPerlObj::Perl_prepend_elem
+#define prepend_elem Perl_prepend_elem
+#define Perl_push_return CPerlObj::Perl_push_return
+#define push_return Perl_push_return
+#define Perl_push_scope CPerlObj::Perl_push_scope
+#define push_scope Perl_push_scope
+#define Perl_ref CPerlObj::Perl_ref
+#define ref Perl_ref
+#define Perl_refkids CPerlObj::Perl_refkids
+#define refkids Perl_refkids
+#define Perl_regdump CPerlObj::Perl_regdump
+#define regdump Perl_regdump
+#define Perl_pregexec CPerlObj::Perl_pregexec
+#define pregexec Perl_pregexec
+#define Perl_pregfree CPerlObj::Perl_pregfree
+#define pregfree Perl_pregfree
+#define Perl_pregcomp CPerlObj::Perl_pregcomp
+#define pregcomp Perl_pregcomp
+#define Perl_regexec_flags CPerlObj::Perl_regexec_flags
+#define regexec_flags Perl_regexec_flags
+#define Perl_regnext CPerlObj::Perl_regnext
+#define regnext Perl_regnext
+#define Perl_regprop CPerlObj::Perl_regprop
+#define regprop Perl_regprop
+#define Perl_repeatcpy CPerlObj::Perl_repeatcpy
+#define repeatcpy Perl_repeatcpy
+#define Perl_rninstr CPerlObj::Perl_rninstr
+#define rninstr Perl_rninstr
+#define Perl_rsignal CPerlObj::Perl_rsignal
+#define rsignal Perl_rsignal
+#define Perl_rsignal_restore CPerlObj::Perl_rsignal_restore
+#define rsignal_restore Perl_rsignal_restore
+#define Perl_rsignal_save CPerlObj::Perl_rsignal_save
+#define rsignal_save Perl_rsignal_save
+#define Perl_rsignal_state CPerlObj::Perl_rsignal_state
+#define rsignal_state Perl_rsignal_state
+#define Perl_rxres_free CPerlObj::Perl_rxres_free
+#define rxres_free Perl_rxres_free
+#define Perl_rxres_restore CPerlObj::Perl_rxres_restore
+#define rxres_restore Perl_rxres_restore
+#define Perl_rxres_save CPerlObj::Perl_rxres_save
+#define rxres_save Perl_rxres_save
#if !defined(HAS_RENAME)
-#define Perl_same_dirent CPerlObj::same_dirent
-#endif
-#define Perl_savepv CPerlObj::savepv
-#define Perl_savepvn CPerlObj::savepvn
-#define Perl_savestack_grow CPerlObj::savestack_grow
-#define Perl_save_aelem CPerlObj::save_aelem
-#define Perl_save_alloc CPerlObj::save_alloc
-#define Perl_save_aptr CPerlObj::save_aptr
-#define Perl_save_ary CPerlObj::save_ary
-#define Perl_save_clearsv CPerlObj::save_clearsv
-#define Perl_save_delete CPerlObj::save_delete
-#define Perl_save_destructor CPerlObj::save_destructor
-#define Perl_save_freesv CPerlObj::save_freesv
-#define Perl_save_freeop CPerlObj::save_freeop
-#define Perl_save_freepv CPerlObj::save_freepv
-#define Perl_save_generic_svref CPerlObj::save_generic_svref
-#define Perl_save_gp CPerlObj::save_gp
-#define Perl_save_hash CPerlObj::save_hash
-#define Perl_save_helem CPerlObj::save_helem
-#define Perl_save_hints CPerlObj::save_hints
-#define Perl_save_hptr CPerlObj::save_hptr
-#define Perl_save_I16 CPerlObj::save_I16
-#define Perl_save_I32 CPerlObj::save_I32
-#define Perl_save_int CPerlObj::save_int
-#define Perl_save_item CPerlObj::save_item
-#define Perl_save_iv CPerlObj::save_iv
-#define Perl_save_list CPerlObj::save_list
-#define Perl_save_long CPerlObj::save_long
-#define Perl_save_nogv CPerlObj::save_nogv
-#define Perl_save_op CPerlObj::save_op
-#define Perl_save_scalar CPerlObj::save_scalar
-#define Perl_save_pptr CPerlObj::save_pptr
-#define Perl_save_re_context CPerlObj::save_re_context
-#define Perl_save_sptr CPerlObj::save_sptr
-#define Perl_save_svref CPerlObj::save_svref
-#define Perl_save_threadsv CPerlObj::save_threadsv
-#define Perl_sawparens CPerlObj::sawparens
-#define Perl_scalar CPerlObj::scalar
-#define Perl_scalarkids CPerlObj::scalarkids
-#define Perl_scalarseq CPerlObj::scalarseq
-#define Perl_scalarvoid CPerlObj::scalarvoid
-#define Perl_scan_bin CPerlObj::scan_bin
-#define Perl_scan_hex CPerlObj::scan_hex
-#define Perl_scan_num CPerlObj::scan_num
-#define Perl_scan_oct CPerlObj::scan_oct
-#define Perl_scope CPerlObj::scope
-#define Perl_screaminstr CPerlObj::screaminstr
+#define Perl_same_dirent CPerlObj::Perl_same_dirent
+#define same_dirent Perl_same_dirent
+#endif
+#define Perl_savepv CPerlObj::Perl_savepv
+#define savepv Perl_savepv
+#define Perl_savepvn CPerlObj::Perl_savepvn
+#define savepvn Perl_savepvn
+#define Perl_savestack_grow CPerlObj::Perl_savestack_grow
+#define savestack_grow Perl_savestack_grow
+#define Perl_save_aelem CPerlObj::Perl_save_aelem
+#define save_aelem Perl_save_aelem
+#define Perl_save_alloc CPerlObj::Perl_save_alloc
+#define save_alloc Perl_save_alloc
+#define Perl_save_aptr CPerlObj::Perl_save_aptr
+#define save_aptr Perl_save_aptr
+#define Perl_save_ary CPerlObj::Perl_save_ary
+#define save_ary Perl_save_ary
+#define Perl_save_clearsv CPerlObj::Perl_save_clearsv
+#define save_clearsv Perl_save_clearsv
+#define Perl_save_delete CPerlObj::Perl_save_delete
+#define save_delete Perl_save_delete
+#define Perl_save_destructor CPerlObj::Perl_save_destructor
+#define save_destructor Perl_save_destructor
+#define Perl_save_freesv CPerlObj::Perl_save_freesv
+#define save_freesv Perl_save_freesv
+#define Perl_save_freeop CPerlObj::Perl_save_freeop
+#define save_freeop Perl_save_freeop
+#define Perl_save_freepv CPerlObj::Perl_save_freepv
+#define save_freepv Perl_save_freepv
+#define Perl_save_generic_svref CPerlObj::Perl_save_generic_svref
+#define save_generic_svref Perl_save_generic_svref
+#define Perl_save_gp CPerlObj::Perl_save_gp
+#define save_gp Perl_save_gp
+#define Perl_save_hash CPerlObj::Perl_save_hash
+#define save_hash Perl_save_hash
+#define Perl_save_helem CPerlObj::Perl_save_helem
+#define save_helem Perl_save_helem
+#define Perl_save_hints CPerlObj::Perl_save_hints
+#define save_hints Perl_save_hints
+#define Perl_save_hptr CPerlObj::Perl_save_hptr
+#define save_hptr Perl_save_hptr
+#define Perl_save_I16 CPerlObj::Perl_save_I16
+#define save_I16 Perl_save_I16
+#define Perl_save_I32 CPerlObj::Perl_save_I32
+#define save_I32 Perl_save_I32
+#define Perl_save_int CPerlObj::Perl_save_int
+#define save_int Perl_save_int
+#define Perl_save_item CPerlObj::Perl_save_item
+#define save_item Perl_save_item
+#define Perl_save_iv CPerlObj::Perl_save_iv
+#define save_iv Perl_save_iv
+#define Perl_save_list CPerlObj::Perl_save_list
+#define save_list Perl_save_list
+#define Perl_save_long CPerlObj::Perl_save_long
+#define save_long Perl_save_long
+#define Perl_save_nogv CPerlObj::Perl_save_nogv
+#define save_nogv Perl_save_nogv
+#define Perl_save_op CPerlObj::Perl_save_op
+#define save_op Perl_save_op
+#define Perl_save_scalar CPerlObj::Perl_save_scalar
+#define save_scalar Perl_save_scalar
+#define Perl_save_pptr CPerlObj::Perl_save_pptr
+#define save_pptr Perl_save_pptr
+#define Perl_save_re_context CPerlObj::Perl_save_re_context
+#define save_re_context Perl_save_re_context
+#define Perl_save_sptr CPerlObj::Perl_save_sptr
+#define save_sptr Perl_save_sptr
+#define Perl_save_svref CPerlObj::Perl_save_svref
+#define save_svref Perl_save_svref
+#define Perl_save_threadsv CPerlObj::Perl_save_threadsv
+#define save_threadsv Perl_save_threadsv
+#define Perl_sawparens CPerlObj::Perl_sawparens
+#define sawparens Perl_sawparens
+#define Perl_scalar CPerlObj::Perl_scalar
+#define scalar Perl_scalar
+#define Perl_scalarkids CPerlObj::Perl_scalarkids
+#define scalarkids Perl_scalarkids
+#define Perl_scalarseq CPerlObj::Perl_scalarseq
+#define scalarseq Perl_scalarseq
+#define Perl_scalarvoid CPerlObj::Perl_scalarvoid
+#define scalarvoid Perl_scalarvoid
+#define Perl_scan_bin CPerlObj::Perl_scan_bin
+#define scan_bin Perl_scan_bin
+#define Perl_scan_hex CPerlObj::Perl_scan_hex
+#define scan_hex Perl_scan_hex
+#define Perl_scan_num CPerlObj::Perl_scan_num
+#define scan_num Perl_scan_num
+#define Perl_scan_oct CPerlObj::Perl_scan_oct
+#define scan_oct Perl_scan_oct
+#define Perl_scope CPerlObj::Perl_scope
+#define scope Perl_scope
+#define Perl_screaminstr CPerlObj::Perl_screaminstr
+#define screaminstr Perl_screaminstr
#if !defined(VMS)
-#define Perl_setenv_getix CPerlObj::setenv_getix
-#endif
-#define Perl_setdefout CPerlObj::setdefout
-#define Perl_sharepvn CPerlObj::sharepvn
-#define Perl_share_hek CPerlObj::share_hek
-#define Perl_sighandler CPerlObj::sighandler
-#define Perl_stack_grow CPerlObj::stack_grow
-#define Perl_start_subparse CPerlObj::start_subparse
-#define Perl_sub_crush_depth CPerlObj::sub_crush_depth
-#define Perl_sv_2bool CPerlObj::sv_2bool
-#define Perl_sv_2cv CPerlObj::sv_2cv
-#define Perl_sv_2io CPerlObj::sv_2io
-#define Perl_sv_2iv CPerlObj::sv_2iv
-#define Perl_sv_2mortal CPerlObj::sv_2mortal
-#define Perl_sv_2nv CPerlObj::sv_2nv
-#define Perl_sv_2pv CPerlObj::sv_2pv
-#define Perl_sv_2uv CPerlObj::sv_2uv
-#define Perl_sv_iv CPerlObj::sv_iv
-#define Perl_sv_uv CPerlObj::sv_uv
-#define Perl_sv_nv CPerlObj::sv_nv
-#define Perl_sv_pvn CPerlObj::sv_pvn
-#define Perl_sv_true CPerlObj::sv_true
-#define Perl_sv_add_arena CPerlObj::sv_add_arena
-#define Perl_sv_backoff CPerlObj::sv_backoff
-#define Perl_sv_bless CPerlObj::sv_bless
-#define Perl_sv_catpvf CPerlObj::sv_catpvf
-#define Perl_sv_catpv CPerlObj::sv_catpv
-#define Perl_sv_catpvn CPerlObj::sv_catpvn
-#define Perl_sv_catsv CPerlObj::sv_catsv
-#define Perl_sv_chop CPerlObj::sv_chop
-#define Perl_sv_clean_all CPerlObj::sv_clean_all
-#define Perl_sv_clean_objs CPerlObj::sv_clean_objs
-#define Perl_sv_clear CPerlObj::sv_clear
-#define Perl_sv_cmp CPerlObj::sv_cmp
-#define Perl_sv_cmp_locale CPerlObj::sv_cmp_locale
+#define Perl_setenv_getix CPerlObj::Perl_setenv_getix
+#define setenv_getix Perl_setenv_getix
+#endif
+#define Perl_setdefout CPerlObj::Perl_setdefout
+#define setdefout Perl_setdefout
+#define Perl_sharepvn CPerlObj::Perl_sharepvn
+#define sharepvn Perl_sharepvn
+#define Perl_share_hek CPerlObj::Perl_share_hek
+#define share_hek Perl_share_hek
+#define Perl_sighandler CPerlObj::Perl_sighandler
+#define sighandler Perl_sighandler
+#define Perl_stack_grow CPerlObj::Perl_stack_grow
+#define stack_grow Perl_stack_grow
+#define Perl_start_subparse CPerlObj::Perl_start_subparse
+#define start_subparse Perl_start_subparse
+#define Perl_sub_crush_depth CPerlObj::Perl_sub_crush_depth
+#define sub_crush_depth Perl_sub_crush_depth
+#define Perl_sv_2bool CPerlObj::Perl_sv_2bool
+#define sv_2bool Perl_sv_2bool
+#define Perl_sv_2cv CPerlObj::Perl_sv_2cv
+#define sv_2cv Perl_sv_2cv
+#define Perl_sv_2io CPerlObj::Perl_sv_2io
+#define sv_2io Perl_sv_2io
+#define Perl_sv_2iv CPerlObj::Perl_sv_2iv
+#define sv_2iv Perl_sv_2iv
+#define Perl_sv_2mortal CPerlObj::Perl_sv_2mortal
+#define sv_2mortal Perl_sv_2mortal
+#define Perl_sv_2nv CPerlObj::Perl_sv_2nv
+#define sv_2nv Perl_sv_2nv
+#define Perl_sv_2pv CPerlObj::Perl_sv_2pv
+#define sv_2pv Perl_sv_2pv
+#define Perl_sv_2uv CPerlObj::Perl_sv_2uv
+#define sv_2uv Perl_sv_2uv
+#define Perl_sv_iv CPerlObj::Perl_sv_iv
+#define sv_iv Perl_sv_iv
+#define Perl_sv_uv CPerlObj::Perl_sv_uv
+#define sv_uv Perl_sv_uv
+#define Perl_sv_nv CPerlObj::Perl_sv_nv
+#define sv_nv Perl_sv_nv
+#define Perl_sv_pvn CPerlObj::Perl_sv_pvn
+#define sv_pvn Perl_sv_pvn
+#define Perl_sv_true CPerlObj::Perl_sv_true
+#define sv_true Perl_sv_true
+#define Perl_sv_add_arena CPerlObj::Perl_sv_add_arena
+#define sv_add_arena Perl_sv_add_arena
+#define Perl_sv_backoff CPerlObj::Perl_sv_backoff
+#define sv_backoff Perl_sv_backoff
+#define Perl_sv_bless CPerlObj::Perl_sv_bless
+#define sv_bless Perl_sv_bless
+#define Perl_sv_catpvf CPerlObj::Perl_sv_catpvf
+#define sv_catpvf Perl_sv_catpvf
+#define Perl_sv_catpv CPerlObj::Perl_sv_catpv
+#define sv_catpv Perl_sv_catpv
+#define Perl_sv_catpvn CPerlObj::Perl_sv_catpvn
+#define sv_catpvn Perl_sv_catpvn
+#define Perl_sv_catsv CPerlObj::Perl_sv_catsv
+#define sv_catsv Perl_sv_catsv
+#define Perl_sv_chop CPerlObj::Perl_sv_chop
+#define sv_chop Perl_sv_chop
+#define Perl_sv_clean_all CPerlObj::Perl_sv_clean_all
+#define sv_clean_all Perl_sv_clean_all
+#define Perl_sv_clean_objs CPerlObj::Perl_sv_clean_objs
+#define sv_clean_objs Perl_sv_clean_objs
+#define Perl_sv_clear CPerlObj::Perl_sv_clear
+#define sv_clear Perl_sv_clear
+#define Perl_sv_cmp CPerlObj::Perl_sv_cmp
+#define sv_cmp Perl_sv_cmp
+#define Perl_sv_cmp_locale CPerlObj::Perl_sv_cmp_locale
+#define sv_cmp_locale Perl_sv_cmp_locale
#if defined(USE_LOCALE_COLLATE)
-#define Perl_sv_collxfrm CPerlObj::sv_collxfrm
-#endif
-#define Perl_sv_compile_2op CPerlObj::sv_compile_2op
-#define Perl_sv_dec CPerlObj::sv_dec
-#define Perl_sv_dump CPerlObj::sv_dump
-#define Perl_sv_derived_from CPerlObj::sv_derived_from
-#define Perl_sv_eq CPerlObj::sv_eq
-#define Perl_sv_free CPerlObj::sv_free
-#define Perl_sv_free_arenas CPerlObj::sv_free_arenas
-#define Perl_sv_gets CPerlObj::sv_gets
-#define Perl_sv_grow CPerlObj::sv_grow
-#define Perl_sv_inc CPerlObj::sv_inc
-#define Perl_sv_insert CPerlObj::sv_insert
-#define Perl_sv_isa CPerlObj::sv_isa
-#define Perl_sv_isobject CPerlObj::sv_isobject
-#define Perl_sv_len CPerlObj::sv_len
-#define Perl_sv_len_utf8 CPerlObj::sv_len_utf8
-#define Perl_sv_magic CPerlObj::sv_magic
-#define Perl_sv_mortalcopy CPerlObj::sv_mortalcopy
-#define Perl_sv_newmortal CPerlObj::sv_newmortal
-#define Perl_sv_newref CPerlObj::sv_newref
-#define Perl_sv_peek CPerlObj::sv_peek
-#define Perl_sv_pos_u2b CPerlObj::sv_pos_u2b
-#define Perl_sv_pos_b2u CPerlObj::sv_pos_b2u
-#define Perl_sv_pvn_force CPerlObj::sv_pvn_force
-#define Perl_sv_reftype CPerlObj::sv_reftype
-#define Perl_sv_replace CPerlObj::sv_replace
-#define Perl_sv_report_used CPerlObj::sv_report_used
-#define Perl_sv_reset CPerlObj::sv_reset
-#define Perl_sv_setpvf CPerlObj::sv_setpvf
-#define Perl_sv_setiv CPerlObj::sv_setiv
-#define Perl_sv_setpviv CPerlObj::sv_setpviv
-#define Perl_sv_setuv CPerlObj::sv_setuv
-#define Perl_sv_setnv CPerlObj::sv_setnv
-#define Perl_sv_setref_iv CPerlObj::sv_setref_iv
-#define Perl_sv_setref_nv CPerlObj::sv_setref_nv
-#define Perl_sv_setref_pv CPerlObj::sv_setref_pv
-#define Perl_sv_setref_pvn CPerlObj::sv_setref_pvn
-#define Perl_sv_setpv CPerlObj::sv_setpv
-#define Perl_sv_setpvn CPerlObj::sv_setpvn
-#define Perl_sv_setsv CPerlObj::sv_setsv
-#define Perl_sv_taint CPerlObj::sv_taint
-#define Perl_sv_tainted CPerlObj::sv_tainted
-#define Perl_sv_unmagic CPerlObj::sv_unmagic
-#define Perl_sv_unref CPerlObj::sv_unref
-#define Perl_sv_untaint CPerlObj::sv_untaint
-#define Perl_sv_upgrade CPerlObj::sv_upgrade
-#define Perl_sv_usepvn CPerlObj::sv_usepvn
-#define Perl_sv_vcatpvfn CPerlObj::sv_vcatpvfn
-#define Perl_sv_vsetpvfn CPerlObj::sv_vsetpvfn
-#define Perl_swash_init CPerlObj::swash_init
-#define Perl_swash_fetch CPerlObj::swash_fetch
-#define Perl_taint_env CPerlObj::taint_env
-#define Perl_taint_proper CPerlObj::taint_proper
-#define Perl_to_utf8_lower CPerlObj::to_utf8_lower
-#define Perl_to_utf8_upper CPerlObj::to_utf8_upper
-#define Perl_to_utf8_title CPerlObj::to_utf8_title
+#define Perl_sv_collxfrm CPerlObj::Perl_sv_collxfrm
+#define sv_collxfrm Perl_sv_collxfrm
+#endif
+#define Perl_sv_compile_2op CPerlObj::Perl_sv_compile_2op
+#define sv_compile_2op Perl_sv_compile_2op
+#define Perl_sv_dec CPerlObj::Perl_sv_dec
+#define sv_dec Perl_sv_dec
+#define Perl_sv_dump CPerlObj::Perl_sv_dump
+#define sv_dump Perl_sv_dump
+#define Perl_sv_derived_from CPerlObj::Perl_sv_derived_from
+#define sv_derived_from Perl_sv_derived_from
+#define Perl_sv_eq CPerlObj::Perl_sv_eq
+#define sv_eq Perl_sv_eq
+#define Perl_sv_free CPerlObj::Perl_sv_free
+#define sv_free Perl_sv_free
+#define Perl_sv_free_arenas CPerlObj::Perl_sv_free_arenas
+#define sv_free_arenas Perl_sv_free_arenas
+#define Perl_sv_gets CPerlObj::Perl_sv_gets
+#define sv_gets Perl_sv_gets
+#define Perl_sv_grow CPerlObj::Perl_sv_grow
+#define sv_grow Perl_sv_grow
+#define Perl_sv_inc CPerlObj::Perl_sv_inc
+#define sv_inc Perl_sv_inc
+#define Perl_sv_insert CPerlObj::Perl_sv_insert
+#define sv_insert Perl_sv_insert
+#define Perl_sv_isa CPerlObj::Perl_sv_isa
+#define sv_isa Perl_sv_isa
+#define Perl_sv_isobject CPerlObj::Perl_sv_isobject
+#define sv_isobject Perl_sv_isobject
+#define Perl_sv_len CPerlObj::Perl_sv_len
+#define sv_len Perl_sv_len
+#define Perl_sv_len_utf8 CPerlObj::Perl_sv_len_utf8
+#define sv_len_utf8 Perl_sv_len_utf8
+#define Perl_sv_magic CPerlObj::Perl_sv_magic
+#define sv_magic Perl_sv_magic
+#define Perl_sv_mortalcopy CPerlObj::Perl_sv_mortalcopy
+#define sv_mortalcopy Perl_sv_mortalcopy
+#define Perl_sv_newmortal CPerlObj::Perl_sv_newmortal
+#define sv_newmortal Perl_sv_newmortal
+#define Perl_sv_newref CPerlObj::Perl_sv_newref
+#define sv_newref Perl_sv_newref
+#define Perl_sv_peek CPerlObj::Perl_sv_peek
+#define sv_peek Perl_sv_peek
+#define Perl_sv_pos_u2b CPerlObj::Perl_sv_pos_u2b
+#define sv_pos_u2b Perl_sv_pos_u2b
+#define Perl_sv_pos_b2u CPerlObj::Perl_sv_pos_b2u
+#define sv_pos_b2u Perl_sv_pos_b2u
+#define Perl_sv_pvn_force CPerlObj::Perl_sv_pvn_force
+#define sv_pvn_force Perl_sv_pvn_force
+#define Perl_sv_reftype CPerlObj::Perl_sv_reftype
+#define sv_reftype Perl_sv_reftype
+#define Perl_sv_replace CPerlObj::Perl_sv_replace
+#define sv_replace Perl_sv_replace
+#define Perl_sv_report_used CPerlObj::Perl_sv_report_used
+#define sv_report_used Perl_sv_report_used
+#define Perl_sv_reset CPerlObj::Perl_sv_reset
+#define sv_reset Perl_sv_reset
+#define Perl_sv_setpvf CPerlObj::Perl_sv_setpvf
+#define sv_setpvf Perl_sv_setpvf
+#define Perl_sv_setiv CPerlObj::Perl_sv_setiv
+#define sv_setiv Perl_sv_setiv
+#define Perl_sv_setpviv CPerlObj::Perl_sv_setpviv
+#define sv_setpviv Perl_sv_setpviv
+#define Perl_sv_setuv CPerlObj::Perl_sv_setuv
+#define sv_setuv Perl_sv_setuv
+#define Perl_sv_setnv CPerlObj::Perl_sv_setnv
+#define sv_setnv Perl_sv_setnv
+#define Perl_sv_setref_iv CPerlObj::Perl_sv_setref_iv
+#define sv_setref_iv Perl_sv_setref_iv
+#define Perl_sv_setref_nv CPerlObj::Perl_sv_setref_nv
+#define sv_setref_nv Perl_sv_setref_nv
+#define Perl_sv_setref_pv CPerlObj::Perl_sv_setref_pv
+#define sv_setref_pv Perl_sv_setref_pv
+#define Perl_sv_setref_pvn CPerlObj::Perl_sv_setref_pvn
+#define sv_setref_pvn Perl_sv_setref_pvn
+#define Perl_sv_setpv CPerlObj::Perl_sv_setpv
+#define sv_setpv Perl_sv_setpv
+#define Perl_sv_setpvn CPerlObj::Perl_sv_setpvn
+#define sv_setpvn Perl_sv_setpvn
+#define Perl_sv_setsv CPerlObj::Perl_sv_setsv
+#define sv_setsv Perl_sv_setsv
+#define Perl_sv_taint CPerlObj::Perl_sv_taint
+#define sv_taint Perl_sv_taint
+#define Perl_sv_tainted CPerlObj::Perl_sv_tainted
+#define sv_tainted Perl_sv_tainted
+#define Perl_sv_unmagic CPerlObj::Perl_sv_unmagic
+#define sv_unmagic Perl_sv_unmagic
+#define Perl_sv_unref CPerlObj::Perl_sv_unref
+#define sv_unref Perl_sv_unref
+#define Perl_sv_untaint CPerlObj::Perl_sv_untaint
+#define sv_untaint Perl_sv_untaint
+#define Perl_sv_upgrade CPerlObj::Perl_sv_upgrade
+#define sv_upgrade Perl_sv_upgrade
+#define Perl_sv_usepvn CPerlObj::Perl_sv_usepvn
+#define sv_usepvn Perl_sv_usepvn
+#define Perl_sv_vcatpvfn CPerlObj::Perl_sv_vcatpvfn
+#define sv_vcatpvfn Perl_sv_vcatpvfn
+#define Perl_sv_vsetpvfn CPerlObj::Perl_sv_vsetpvfn
+#define sv_vsetpvfn Perl_sv_vsetpvfn
+#define Perl_swash_init CPerlObj::Perl_swash_init
+#define swash_init Perl_swash_init
+#define Perl_swash_fetch CPerlObj::Perl_swash_fetch
+#define swash_fetch Perl_swash_fetch
+#define Perl_taint_env CPerlObj::Perl_taint_env
+#define taint_env Perl_taint_env
+#define Perl_taint_proper CPerlObj::Perl_taint_proper
+#define taint_proper Perl_taint_proper
+#define Perl_to_utf8_lower CPerlObj::Perl_to_utf8_lower
+#define to_utf8_lower Perl_to_utf8_lower
+#define Perl_to_utf8_upper CPerlObj::Perl_to_utf8_upper
+#define to_utf8_upper Perl_to_utf8_upper
+#define Perl_to_utf8_title CPerlObj::Perl_to_utf8_title
+#define to_utf8_title Perl_to_utf8_title
#if defined(UNLINK_ALL_VERSIONS)
-#define Perl_unlnk CPerlObj::unlnk
+#define Perl_unlnk CPerlObj::Perl_unlnk
+#define unlnk Perl_unlnk
#endif
#if defined(USE_THREADS)
-#define Perl_unlock_condpair CPerlObj::unlock_condpair
-#endif
-#define Perl_unsharepvn CPerlObj::unsharepvn
-#define Perl_unshare_hek CPerlObj::unshare_hek
-#define Perl_utilize CPerlObj::utilize
-#define Perl_utf16_to_utf8 CPerlObj::utf16_to_utf8
-#define Perl_utf16_to_utf8_reversed CPerlObj::utf16_to_utf8_reversed
-#define Perl_utf8_distance CPerlObj::utf8_distance
-#define Perl_utf8_hop CPerlObj::utf8_hop
-#define Perl_utf8_to_uv CPerlObj::utf8_to_uv
-#define Perl_uv_to_utf8 CPerlObj::uv_to_utf8
-#define Perl_vivify_defelem CPerlObj::vivify_defelem
-#define Perl_vivify_ref CPerlObj::vivify_ref
-#define Perl_wait4pid CPerlObj::wait4pid
-#define Perl_warn CPerlObj::warn
-#define Perl_warner CPerlObj::warner
-#define Perl_watch CPerlObj::watch
-#define Perl_whichsig CPerlObj::whichsig
-#define Perl_yyerror CPerlObj::yyerror
+#define Perl_unlock_condpair CPerlObj::Perl_unlock_condpair
+#define unlock_condpair Perl_unlock_condpair
+#endif
+#define Perl_unsharepvn CPerlObj::Perl_unsharepvn
+#define unsharepvn Perl_unsharepvn
+#define Perl_unshare_hek CPerlObj::Perl_unshare_hek
+#define unshare_hek Perl_unshare_hek
+#define Perl_utilize CPerlObj::Perl_utilize
+#define utilize Perl_utilize
+#define Perl_utf16_to_utf8 CPerlObj::Perl_utf16_to_utf8
+#define utf16_to_utf8 Perl_utf16_to_utf8
+#define Perl_utf16_to_utf8_reversed CPerlObj::Perl_utf16_to_utf8_reversed
+#define utf16_to_utf8_reversed Perl_utf16_to_utf8_reversed
+#define Perl_utf8_distance CPerlObj::Perl_utf8_distance
+#define utf8_distance Perl_utf8_distance
+#define Perl_utf8_hop CPerlObj::Perl_utf8_hop
+#define utf8_hop Perl_utf8_hop
+#define Perl_utf8_to_uv CPerlObj::Perl_utf8_to_uv
+#define utf8_to_uv Perl_utf8_to_uv
+#define Perl_uv_to_utf8 CPerlObj::Perl_uv_to_utf8
+#define uv_to_utf8 Perl_uv_to_utf8
+#define Perl_vivify_defelem CPerlObj::Perl_vivify_defelem
+#define vivify_defelem Perl_vivify_defelem
+#define Perl_vivify_ref CPerlObj::Perl_vivify_ref
+#define vivify_ref Perl_vivify_ref
+#define Perl_wait4pid CPerlObj::Perl_wait4pid
+#define wait4pid Perl_wait4pid
+#define Perl_warn CPerlObj::Perl_warn
+#define warn Perl_warn
+#define Perl_warner CPerlObj::Perl_warner
+#define warner Perl_warner
+#define Perl_watch CPerlObj::Perl_watch
+#define watch Perl_watch
+#define Perl_whichsig CPerlObj::Perl_whichsig
+#define whichsig Perl_whichsig
+#define Perl_yyerror CPerlObj::Perl_yyerror
+#define yyerror Perl_yyerror
#if defined(USE_PURE_BISON)
-#define Perl_yylex CPerlObj::yylex
+#define Perl_yylex CPerlObj::Perl_yylex
+#define yylex Perl_yylex
#else
-#define Perl_yylex CPerlObj::yylex
+#define Perl_yylex CPerlObj::Perl_yylex
+#define yylex Perl_yylex
#endif
-#define Perl_yyparse CPerlObj::yyparse
-#define Perl_yywarn CPerlObj::yywarn
+#define Perl_yyparse CPerlObj::Perl_yyparse
+#define yyparse Perl_yyparse
+#define Perl_yywarn CPerlObj::Perl_yywarn
+#define yywarn Perl_yywarn
#if defined(MYMALLOC)
-#define Perl_dump_mstats CPerlObj::dump_mstats
-#endif
-#define Perl_safesysmalloc CPerlObj::safesysmalloc
-#define Perl_safesyscalloc CPerlObj::safesyscalloc
-#define Perl_safesysrealloc CPerlObj::safesysrealloc
-#define Perl_safesysfree CPerlObj::safesysfree
+#define Perl_dump_mstats CPerlObj::Perl_dump_mstats
+#define dump_mstats Perl_dump_mstats
+#define Perl_malloc CPerlObj::Perl_malloc
+#define malloc Perl_malloc
+#define Perl_calloc CPerlObj::Perl_calloc
+#define calloc Perl_calloc
+#define Perl_realloc CPerlObj::Perl_realloc
+#define realloc Perl_realloc
+#define Perl_mfree CPerlObj::Perl_mfree
+#define mfree Perl_mfree
+#endif
+#define Perl_safesysmalloc CPerlObj::Perl_safesysmalloc
+#define safesysmalloc Perl_safesysmalloc
+#define Perl_safesyscalloc CPerlObj::Perl_safesyscalloc
+#define safesyscalloc Perl_safesyscalloc
+#define Perl_safesysrealloc CPerlObj::Perl_safesysrealloc
+#define safesysrealloc Perl_safesysrealloc
+#define Perl_safesysfree CPerlObj::Perl_safesysfree
+#define safesysfree Perl_safesysfree
#if defined(LEAKTEST)
-#define Perl_safexmalloc CPerlObj::safexmalloc
-#define Perl_safexcalloc CPerlObj::safexcalloc
-#define Perl_safexrealloc CPerlObj::safexrealloc
-#define Perl_safexfree CPerlObj::safexfree
+#define Perl_safexmalloc CPerlObj::Perl_safexmalloc
+#define safexmalloc Perl_safexmalloc
+#define Perl_safexcalloc CPerlObj::Perl_safexcalloc
+#define safexcalloc Perl_safexcalloc
+#define Perl_safexrealloc CPerlObj::Perl_safexrealloc
+#define safexrealloc Perl_safexrealloc
+#define Perl_safexfree CPerlObj::Perl_safexfree
+#define safexfree Perl_safexfree
#endif
#if defined(PERL_GLOBAL_STRUCT)
-#define Perl_GetVars CPerlObj::GetVars
+#define Perl_GetVars CPerlObj::Perl_GetVars
+#define GetVars Perl_GetVars
#endif
-#define Perl_yydestruct CPerlObj::yydestruct
-#define Perl_runops_standard CPerlObj::runops_standard
-#define Perl_runops_debug CPerlObj::runops_debug
+#define Perl_yydestruct CPerlObj::Perl_yydestruct
+#define yydestruct Perl_yydestruct
+#define Perl_runops_standard CPerlObj::Perl_runops_standard
+#define runops_standard Perl_runops_standard
+#define Perl_runops_debug CPerlObj::Perl_runops_debug
+#define runops_debug Perl_runops_debug
#if defined(WIN32)
-#define Perl_ErrorNo CPerlObj::ErrorNo
-#endif
-#define Perl_sv_catpvf_mg CPerlObj::sv_catpvf_mg
-#define Perl_sv_catpv_mg CPerlObj::sv_catpv_mg
-#define Perl_sv_catpvn_mg CPerlObj::sv_catpvn_mg
-#define Perl_sv_catsv_mg CPerlObj::sv_catsv_mg
-#define Perl_sv_setpvf_mg CPerlObj::sv_setpvf_mg
-#define Perl_sv_setiv_mg CPerlObj::sv_setiv_mg
-#define Perl_sv_setpviv_mg CPerlObj::sv_setpviv_mg
-#define Perl_sv_setuv_mg CPerlObj::sv_setuv_mg
-#define Perl_sv_setnv_mg CPerlObj::sv_setnv_mg
-#define Perl_sv_setpv_mg CPerlObj::sv_setpv_mg
-#define Perl_sv_setpvn_mg CPerlObj::sv_setpvn_mg
-#define Perl_sv_setsv_mg CPerlObj::sv_setsv_mg
-#define Perl_sv_usepvn_mg CPerlObj::sv_usepvn_mg
-#define Perl_get_vtbl CPerlObj::get_vtbl
-#define Perl_pv_display CPerlObj::pv_display
-#define Perl_dump_indent CPerlObj::dump_indent
-#define Perl_do_gv_dump CPerlObj::do_gv_dump
-#define Perl_do_gvgv_dump CPerlObj::do_gvgv_dump
-#define Perl_do_hv_dump CPerlObj::do_hv_dump
-#define Perl_do_magic_dump CPerlObj::do_magic_dump
-#define Perl_do_op_dump CPerlObj::do_op_dump
-#define Perl_do_pmop_dump CPerlObj::do_pmop_dump
-#define Perl_do_sv_dump CPerlObj::do_sv_dump
-#define Perl_magic_dump CPerlObj::magic_dump
-#define Perl_default_protect CPerlObj::default_protect
-#define Perl_reginitcolors CPerlObj::reginitcolors
-#define Perl_sv_2pv_nolen CPerlObj::sv_2pv_nolen
-#define Perl_sv_pv CPerlObj::sv_pv
-#define Perl_sv_force_normal CPerlObj::sv_force_normal
-#define Perl_tmps_grow CPerlObj::tmps_grow
-#define Perl_sv_rvweaken CPerlObj::sv_rvweaken
-#define Perl_magic_killbackrefs CPerlObj::magic_killbackrefs
-#if defined(PERL_IN_AV_C)
-#define S_avhv_index_sv CPerlObj::avhv_index_sv
-#endif
-#if defined(PERL_IN_DOOP_C)
-#define S_do_trans_CC_simple CPerlObj::do_trans_CC_simple
-#define S_do_trans_CC_count CPerlObj::do_trans_CC_count
-#define S_do_trans_CC_complex CPerlObj::do_trans_CC_complex
-#define S_do_trans_UU_simple CPerlObj::do_trans_UU_simple
-#define S_do_trans_UU_count CPerlObj::do_trans_UU_count
-#define S_do_trans_UU_complex CPerlObj::do_trans_UU_complex
-#define S_do_trans_UC_simple CPerlObj::do_trans_UC_simple
-#define S_do_trans_CU_simple CPerlObj::do_trans_CU_simple
-#define S_do_trans_UC_trivial CPerlObj::do_trans_UC_trivial
-#define S_do_trans_CU_trivial CPerlObj::do_trans_CU_trivial
-#endif
-#if defined(PERL_IN_GV_C)
-#define S_gv_init_sv CPerlObj::gv_init_sv
-#endif
-#if defined(PERL_IN_HV_C)
-#define S_hsplit CPerlObj::hsplit
-#define S_hfreeentries CPerlObj::hfreeentries
-#define S_more_he CPerlObj::more_he
-#define S_new_he CPerlObj::new_he
-#define S_del_he CPerlObj::del_he
-#define S_save_hek CPerlObj::save_hek
-#define S_hv_magic_check CPerlObj::hv_magic_check
-#endif
-#if defined(PERL_IN_MG_C)
-#define S_save_magic CPerlObj::save_magic
-#define S_magic_methpack CPerlObj::magic_methpack
-#define S_magic_methcall CPerlObj::magic_methcall
-#define S_unwind_handler_stack CPerlObj::unwind_handler_stack
-#define S_restore_magic CPerlObj::restore_magic
-#endif
-#if defined(PERL_IN_OP_C)
-#define S_list_assignment CPerlObj::list_assignment
-#define S_bad_type CPerlObj::bad_type
-#define S_modkids CPerlObj::modkids
-#define S_no_bareword_allowed CPerlObj::no_bareword_allowed
-#define S_no_fh_allowed CPerlObj::no_fh_allowed
-#define S_scalarboolean CPerlObj::scalarboolean
-#define S_too_few_arguments CPerlObj::too_few_arguments
-#define S_too_many_arguments CPerlObj::too_many_arguments
-#define S_null CPerlObj::null
-#define S_pad_findlex CPerlObj::pad_findlex
-#define S_newDEFSVOP CPerlObj::newDEFSVOP
-#define S_new_logop CPerlObj::new_logop
-#define S_simplify_sort CPerlObj::simplify_sort
-#define S_is_handle_constructor CPerlObj::is_handle_constructor
-#define S_gv_ename CPerlObj::gv_ename
-#define S_cv_clone2 CPerlObj::cv_clone2
-#define S_scalar_mod_type CPerlObj::scalar_mod_type
+#if defined(PERL_OBJECT)
+#define Perl_ErrorNo CPerlObj::Perl_ErrorNo
+#define ErrorNo Perl_ErrorNo
+#else
+#define Perl_ErrorNo CPerlObj::Perl_ErrorNo
+#define ErrorNo Perl_ErrorNo
+#endif
+#endif
+#define Perl_sv_catpvf_mg CPerlObj::Perl_sv_catpvf_mg
+#define sv_catpvf_mg Perl_sv_catpvf_mg
+#define Perl_sv_catpv_mg CPerlObj::Perl_sv_catpv_mg
+#define sv_catpv_mg Perl_sv_catpv_mg
+#define Perl_sv_catpvn_mg CPerlObj::Perl_sv_catpvn_mg
+#define sv_catpvn_mg Perl_sv_catpvn_mg
+#define Perl_sv_catsv_mg CPerlObj::Perl_sv_catsv_mg
+#define sv_catsv_mg Perl_sv_catsv_mg
+#define Perl_sv_setpvf_mg CPerlObj::Perl_sv_setpvf_mg
+#define sv_setpvf_mg Perl_sv_setpvf_mg
+#define Perl_sv_setiv_mg CPerlObj::Perl_sv_setiv_mg
+#define sv_setiv_mg Perl_sv_setiv_mg
+#define Perl_sv_setpviv_mg CPerlObj::Perl_sv_setpviv_mg
+#define sv_setpviv_mg Perl_sv_setpviv_mg
+#define Perl_sv_setuv_mg CPerlObj::Perl_sv_setuv_mg
+#define sv_setuv_mg Perl_sv_setuv_mg
+#define Perl_sv_setnv_mg CPerlObj::Perl_sv_setnv_mg
+#define sv_setnv_mg Perl_sv_setnv_mg
+#define Perl_sv_setpv_mg CPerlObj::Perl_sv_setpv_mg
+#define sv_setpv_mg Perl_sv_setpv_mg
+#define Perl_sv_setpvn_mg CPerlObj::Perl_sv_setpvn_mg
+#define sv_setpvn_mg Perl_sv_setpvn_mg
+#define Perl_sv_setsv_mg CPerlObj::Perl_sv_setsv_mg
+#define sv_setsv_mg Perl_sv_setsv_mg
+#define Perl_sv_usepvn_mg CPerlObj::Perl_sv_usepvn_mg
+#define sv_usepvn_mg Perl_sv_usepvn_mg
+#define Perl_get_vtbl CPerlObj::Perl_get_vtbl
+#define get_vtbl Perl_get_vtbl
+#define Perl_pv_display CPerlObj::Perl_pv_display
+#define pv_display Perl_pv_display
+#define Perl_dump_indent CPerlObj::Perl_dump_indent
+#define dump_indent Perl_dump_indent
+#define Perl_do_gv_dump CPerlObj::Perl_do_gv_dump
+#define do_gv_dump Perl_do_gv_dump
+#define Perl_do_gvgv_dump CPerlObj::Perl_do_gvgv_dump
+#define do_gvgv_dump Perl_do_gvgv_dump
+#define Perl_do_hv_dump CPerlObj::Perl_do_hv_dump
+#define do_hv_dump Perl_do_hv_dump
+#define Perl_do_magic_dump CPerlObj::Perl_do_magic_dump
+#define do_magic_dump Perl_do_magic_dump
+#define Perl_do_op_dump CPerlObj::Perl_do_op_dump
+#define do_op_dump Perl_do_op_dump
+#define Perl_do_pmop_dump CPerlObj::Perl_do_pmop_dump
+#define do_pmop_dump Perl_do_pmop_dump
+#define Perl_do_sv_dump CPerlObj::Perl_do_sv_dump
+#define do_sv_dump Perl_do_sv_dump
+#define Perl_magic_dump CPerlObj::Perl_magic_dump
+#define magic_dump Perl_magic_dump
+#define Perl_default_protect CPerlObj::Perl_default_protect
+#define default_protect Perl_default_protect
+#define Perl_reginitcolors CPerlObj::Perl_reginitcolors
+#define reginitcolors Perl_reginitcolors
+#define Perl_sv_2pv_nolen CPerlObj::Perl_sv_2pv_nolen
+#define sv_2pv_nolen Perl_sv_2pv_nolen
+#define Perl_sv_pv CPerlObj::Perl_sv_pv
+#define sv_pv Perl_sv_pv
+#define Perl_sv_force_normal CPerlObj::Perl_sv_force_normal
+#define sv_force_normal Perl_sv_force_normal
+#define Perl_tmps_grow CPerlObj::Perl_tmps_grow
+#define tmps_grow Perl_tmps_grow
+#define Perl_sv_rvweaken CPerlObj::Perl_sv_rvweaken
+#define sv_rvweaken Perl_sv_rvweaken
+#define Perl_magic_killbackrefs CPerlObj::Perl_magic_killbackrefs
+#define magic_killbackrefs Perl_magic_killbackrefs
+#if defined(PERL_OBJECT)
+#endif
+#if defined(PERL_IN_AV_C) || defined(PERL_DECL_PROT)
+#define S_avhv_index_sv CPerlObj::S_avhv_index_sv
+#define avhv_index_sv S_avhv_index_sv
+#endif
+#if defined(PERL_IN_DOOP_C) || defined(PERL_DECL_PROT)
+#define S_do_trans_CC_simple CPerlObj::S_do_trans_CC_simple
+#define do_trans_CC_simple S_do_trans_CC_simple
+#define S_do_trans_CC_count CPerlObj::S_do_trans_CC_count
+#define do_trans_CC_count S_do_trans_CC_count
+#define S_do_trans_CC_complex CPerlObj::S_do_trans_CC_complex
+#define do_trans_CC_complex S_do_trans_CC_complex
+#define S_do_trans_UU_simple CPerlObj::S_do_trans_UU_simple
+#define do_trans_UU_simple S_do_trans_UU_simple
+#define S_do_trans_UU_count CPerlObj::S_do_trans_UU_count
+#define do_trans_UU_count S_do_trans_UU_count
+#define S_do_trans_UU_complex CPerlObj::S_do_trans_UU_complex
+#define do_trans_UU_complex S_do_trans_UU_complex
+#define S_do_trans_UC_simple CPerlObj::S_do_trans_UC_simple
+#define do_trans_UC_simple S_do_trans_UC_simple
+#define S_do_trans_CU_simple CPerlObj::S_do_trans_CU_simple
+#define do_trans_CU_simple S_do_trans_CU_simple
+#define S_do_trans_UC_trivial CPerlObj::S_do_trans_UC_trivial
+#define do_trans_UC_trivial S_do_trans_UC_trivial
+#define S_do_trans_CU_trivial CPerlObj::S_do_trans_CU_trivial
+#define do_trans_CU_trivial S_do_trans_CU_trivial
+#endif
+#if defined(PERL_IN_GV_C) || defined(PERL_DECL_PROT)
+#define S_gv_init_sv CPerlObj::S_gv_init_sv
+#define gv_init_sv S_gv_init_sv
+#endif
+#if defined(PERL_IN_HV_C) || defined(PERL_DECL_PROT)
+#define S_hsplit CPerlObj::S_hsplit
+#define hsplit S_hsplit
+#define S_hfreeentries CPerlObj::S_hfreeentries
+#define hfreeentries S_hfreeentries
+#define S_more_he CPerlObj::S_more_he
+#define more_he S_more_he
+#define S_new_he CPerlObj::S_new_he
+#define new_he S_new_he
+#define S_del_he CPerlObj::S_del_he
+#define del_he S_del_he
+#define S_save_hek CPerlObj::S_save_hek
+#define save_hek S_save_hek
+#define S_hv_magic_check CPerlObj::S_hv_magic_check
+#define hv_magic_check S_hv_magic_check
+#endif
+#if defined(PERL_IN_MG_C) || defined(PERL_DECL_PROT)
+#define S_save_magic CPerlObj::S_save_magic
+#define save_magic S_save_magic
+#define S_magic_methpack CPerlObj::S_magic_methpack
+#define magic_methpack S_magic_methpack
+#define S_magic_methcall CPerlObj::S_magic_methcall
+#define magic_methcall S_magic_methcall
+#define S_unwind_handler_stack CPerlObj::S_unwind_handler_stack
+#define unwind_handler_stack S_unwind_handler_stack
+#define S_restore_magic CPerlObj::S_restore_magic
+#define restore_magic S_restore_magic
+#endif
+#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT)
+#define S_list_assignment CPerlObj::S_list_assignment
+#define list_assignment S_list_assignment
+#define S_bad_type CPerlObj::S_bad_type
+#define bad_type S_bad_type
+#define S_modkids CPerlObj::S_modkids
+#define modkids S_modkids
+#define S_no_bareword_allowed CPerlObj::S_no_bareword_allowed
+#define no_bareword_allowed S_no_bareword_allowed
+#define S_no_fh_allowed CPerlObj::S_no_fh_allowed
+#define no_fh_allowed S_no_fh_allowed
+#define S_scalarboolean CPerlObj::S_scalarboolean
+#define scalarboolean S_scalarboolean
+#define S_too_few_arguments CPerlObj::S_too_few_arguments
+#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_null CPerlObj::S_null
+#define null S_null
+#define S_pad_findlex CPerlObj::S_pad_findlex
+#define pad_findlex S_pad_findlex
+#define S_newDEFSVOP CPerlObj::S_newDEFSVOP
+#define newDEFSVOP S_newDEFSVOP
+#define S_new_logop CPerlObj::S_new_logop
+#define new_logop S_new_logop
+#define S_simplify_sort CPerlObj::S_simplify_sort
+#define simplify_sort S_simplify_sort
+#define S_is_handle_constructor CPerlObj::S_is_handle_constructor
+#define is_handle_constructor S_is_handle_constructor
+#define S_gv_ename CPerlObj::S_gv_ename
+#define gv_ename S_gv_ename
+#define S_cv_clone2 CPerlObj::S_cv_clone2
+#define cv_clone2 S_cv_clone2
+#define S_scalar_mod_type CPerlObj::S_scalar_mod_type
+#define scalar_mod_type S_scalar_mod_type
# if defined(PL_OP_SLAB_ALLOC)
-#define S_Slab_Alloc CPerlObj::Slab_Alloc
+#define S_Slab_Alloc CPerlObj::S_Slab_Alloc
+#define Slab_Alloc S_Slab_Alloc
# endif
#endif
-#if defined(PERL_IN_PERL_C)
-#define S_find_beginning CPerlObj::find_beginning
-#define S_forbid_setid CPerlObj::forbid_setid
-#define S_incpush CPerlObj::incpush
-#define S_init_interp CPerlObj::init_interp
-#define S_init_ids CPerlObj::init_ids
-#define S_init_debugger CPerlObj::init_debugger
-#define S_init_lexer CPerlObj::init_lexer
-#define S_init_main_stash CPerlObj::init_main_stash
-#define S_init_perllib CPerlObj::init_perllib
-#define S_init_postdump_symbols CPerlObj::init_postdump_symbols
-#define S_init_predump_symbols CPerlObj::init_predump_symbols
-#define S_my_exit_jump CPerlObj::my_exit_jump
-#define S_nuke_stacks CPerlObj::nuke_stacks
-#define S_open_script CPerlObj::open_script
-#define S_usage CPerlObj::usage
-#define S_validate_suid CPerlObj::validate_suid
-#define S_read_e_script CPerlObj::read_e_script
+#if defined(PERL_IN_PERL_C) || defined(PERL_DECL_PROT)
+#define S_find_beginning CPerlObj::S_find_beginning
+#define find_beginning S_find_beginning
+#define S_forbid_setid CPerlObj::S_forbid_setid
+#define forbid_setid S_forbid_setid
+#define S_incpush CPerlObj::S_incpush
+#define incpush S_incpush
+#define S_init_interp CPerlObj::S_init_interp
+#define init_interp S_init_interp
+#define S_init_ids CPerlObj::S_init_ids
+#define init_ids S_init_ids
+#define S_init_debugger CPerlObj::S_init_debugger
+#define init_debugger S_init_debugger
+#define S_init_lexer CPerlObj::S_init_lexer
+#define init_lexer S_init_lexer
+#define S_init_main_stash CPerlObj::S_init_main_stash
+#define init_main_stash S_init_main_stash
+#define S_init_perllib CPerlObj::S_init_perllib
+#define init_perllib S_init_perllib
+#define S_init_postdump_symbols CPerlObj::S_init_postdump_symbols
+#define init_postdump_symbols S_init_postdump_symbols
+#define S_init_predump_symbols CPerlObj::S_init_predump_symbols
+#define init_predump_symbols S_init_predump_symbols
+#define S_my_exit_jump CPerlObj::S_my_exit_jump
+#define my_exit_jump S_my_exit_jump
+#define S_nuke_stacks CPerlObj::S_nuke_stacks
+#define nuke_stacks S_nuke_stacks
+#define S_open_script CPerlObj::S_open_script
+#define open_script S_open_script
+#define S_usage CPerlObj::S_usage
+#define usage S_usage
+#define S_validate_suid CPerlObj::S_validate_suid
+#define validate_suid S_validate_suid
# if defined(IAMSUID)
-#define S_fd_on_nosuid_fs CPerlObj::fd_on_nosuid_fs
+#define S_fd_on_nosuid_fs CPerlObj::S_fd_on_nosuid_fs
+#define fd_on_nosuid_fs S_fd_on_nosuid_fs
# endif
-#define S_parse_body CPerlObj::parse_body
-#define S_run_body CPerlObj::run_body
-#define S_call_body CPerlObj::call_body
-#define S_call_xbody CPerlObj::call_xbody
-#define S_call_list_body CPerlObj::call_list_body
+#define S_parse_body CPerlObj::S_parse_body
+#define parse_body S_parse_body
+#define S_run_body CPerlObj::S_run_body
+#define run_body S_run_body
+#define S_call_body CPerlObj::S_call_body
+#define call_body S_call_body
+#define S_call_xbody CPerlObj::S_call_xbody
+#define call_xbody S_call_xbody
+#define S_call_list_body CPerlObj::S_call_list_body
+#define call_list_body S_call_list_body
# if defined(USE_THREADS)
-#define S_init_main_thread CPerlObj::init_main_thread
+#define S_init_main_thread CPerlObj::S_init_main_thread
+#define init_main_thread S_init_main_thread
# endif
#endif
-#if defined(PERL_IN_PP_C)
-#define S_doencodes CPerlObj::doencodes
-#define S_refto CPerlObj::refto
-#define S_seed CPerlObj::seed
-#define S_mul128 CPerlObj::mul128
-#define S_is_an_int CPerlObj::is_an_int
-#define S_div128 CPerlObj::div128
-#endif
-#if defined(PERL_IN_PP_CTL_C)
-#define S_docatch CPerlObj::docatch
-#define S_docatch_body CPerlObj::docatch_body
-#define S_dofindlabel CPerlObj::dofindlabel
-#define S_doparseform CPerlObj::doparseform
-#define S_dopoptoeval CPerlObj::dopoptoeval
-#define S_dopoptolabel CPerlObj::dopoptolabel
-#define S_dopoptoloop CPerlObj::dopoptoloop
-#define S_dopoptosub CPerlObj::dopoptosub
-#define S_dopoptosub_at CPerlObj::dopoptosub_at
-#define S_free_closures CPerlObj::free_closures
-#define S_save_lines CPerlObj::save_lines
-#define S_doeval CPerlObj::doeval
-#define S_doopen_pmc CPerlObj::doopen_pmc
-#define S_qsortsv CPerlObj::qsortsv
-#define S_sortcv CPerlObj::sortcv
-#define S_sv_ncmp CPerlObj::sv_ncmp
-#define S_sv_i_ncmp CPerlObj::sv_i_ncmp
-#define S_amagic_ncmp CPerlObj::amagic_ncmp
-#define S_amagic_i_ncmp CPerlObj::amagic_i_ncmp
-#define S_amagic_cmp CPerlObj::amagic_cmp
-#define S_amagic_cmp_locale CPerlObj::amagic_cmp_locale
-#endif
-#if defined(PERL_IN_PP_HOT_C)
-#define S_get_db_sub CPerlObj::get_db_sub
+#if defined(PERL_IN_PP_C) || defined(PERL_DECL_PROT)
+#define S_doencodes CPerlObj::S_doencodes
+#define doencodes S_doencodes
+#define S_refto CPerlObj::S_refto
+#define refto S_refto
+#define S_seed CPerlObj::S_seed
+#define seed S_seed
+#define S_mul128 CPerlObj::S_mul128
+#define mul128 S_mul128
+#define S_is_an_int CPerlObj::S_is_an_int
+#define is_an_int S_is_an_int
+#define S_div128 CPerlObj::S_div128
+#define div128 S_div128
+#endif
+#if defined(PERL_IN_PP_CTL_C) || defined(PERL_DECL_PROT)
+#define S_docatch CPerlObj::S_docatch
+#define docatch S_docatch
+#define S_docatch_body CPerlObj::S_docatch_body
+#define docatch_body S_docatch_body
+#define S_dofindlabel CPerlObj::S_dofindlabel
+#define dofindlabel S_dofindlabel
+#define S_doparseform CPerlObj::S_doparseform
+#define doparseform S_doparseform
+#define S_dopoptoeval CPerlObj::S_dopoptoeval
+#define dopoptoeval S_dopoptoeval
+#define S_dopoptolabel CPerlObj::S_dopoptolabel
+#define dopoptolabel S_dopoptolabel
+#define S_dopoptoloop CPerlObj::S_dopoptoloop
+#define dopoptoloop S_dopoptoloop
+#define S_dopoptosub CPerlObj::S_dopoptosub
+#define dopoptosub S_dopoptosub
+#define S_dopoptosub_at CPerlObj::S_dopoptosub_at
+#define dopoptosub_at S_dopoptosub_at
+#define S_free_closures CPerlObj::S_free_closures
+#define free_closures S_free_closures
+#define S_save_lines CPerlObj::S_save_lines
+#define save_lines S_save_lines
+#define S_doeval CPerlObj::S_doeval
+#define doeval S_doeval
+#define S_doopen_pmc CPerlObj::S_doopen_pmc
+#define doopen_pmc S_doopen_pmc
+#define S_qsortsv CPerlObj::S_qsortsv
+#define qsortsv S_qsortsv
+#define S_sortcv CPerlObj::S_sortcv
+#define sortcv S_sortcv
+#define S_sv_ncmp CPerlObj::S_sv_ncmp
+#define sv_ncmp S_sv_ncmp
+#define S_sv_i_ncmp CPerlObj::S_sv_i_ncmp
+#define sv_i_ncmp S_sv_i_ncmp
+#define S_amagic_ncmp CPerlObj::S_amagic_ncmp
+#define amagic_ncmp S_amagic_ncmp
+#define S_amagic_i_ncmp CPerlObj::S_amagic_i_ncmp
+#define amagic_i_ncmp S_amagic_i_ncmp
+#define S_amagic_cmp CPerlObj::S_amagic_cmp
+#define amagic_cmp S_amagic_cmp
+#define S_amagic_cmp_locale CPerlObj::S_amagic_cmp_locale
+#define amagic_cmp_locale S_amagic_cmp_locale
+#endif
+#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
# if defined(USE_THREADS)
-#define S_unset_cvowner CPerlObj::unset_cvowner
+#define S_unset_cvowner CPerlObj::S_unset_cvowner
+#define unset_cvowner S_unset_cvowner
# endif
#endif
-#if defined(PERL_IN_PP_SYS_C)
-#define S_doform CPerlObj::doform
-#define S_emulate_eaccess CPerlObj::emulate_eaccess
+#if defined(PERL_IN_PP_SYS_C) || defined(PERL_DECL_PROT)
+#define S_doform CPerlObj::S_doform
+#define doform S_doform
+#define S_emulate_eaccess CPerlObj::S_emulate_eaccess
+#define emulate_eaccess S_emulate_eaccess
# if !defined(HAS_MKDIR) || !defined(HAS_RMDIR)
-#define S_dooneliner CPerlObj::dooneliner
+#define S_dooneliner CPerlObj::S_dooneliner
+#define dooneliner S_dooneliner
# endif
#endif
-#if defined(PERL_IN_REGCOMP_C)
-#define S_reg CPerlObj::reg
-#define S_reganode CPerlObj::reganode
-#define S_regatom CPerlObj::regatom
-#define S_regbranch CPerlObj::regbranch
-#define S_regc CPerlObj::regc
-#define S_reguni CPerlObj::reguni
-#define S_regclass CPerlObj::regclass
-#define S_regclassutf8 CPerlObj::regclassutf8
-#define S_regcurly CPerlObj::regcurly
-#define S_reg_node CPerlObj::reg_node
-#define S_regpiece CPerlObj::regpiece
-#define S_reginsert CPerlObj::reginsert
-#define S_regoptail CPerlObj::regoptail
-#define S_regtail CPerlObj::regtail
-#define S_regwhite CPerlObj::regwhite
-#define S_nextchar CPerlObj::nextchar
-#define S_dumpuntil CPerlObj::dumpuntil
-#define S_scan_commit CPerlObj::scan_commit
-#define S_study_chunk CPerlObj::study_chunk
-#define S_add_data CPerlObj::add_data
-#define S_re_croak2 CPerlObj::re_croak2
-#define S_regpposixcc CPerlObj::regpposixcc
-#define S_clear_re CPerlObj::clear_re
-#endif
-#if defined(PERL_IN_REGEXEC_C)
-#define S_regmatch CPerlObj::regmatch
-#define S_regrepeat CPerlObj::regrepeat
-#define S_regrepeat_hard CPerlObj::regrepeat_hard
-#define S_regtry CPerlObj::regtry
-#define S_reginclass CPerlObj::reginclass
-#define S_reginclassutf8 CPerlObj::reginclassutf8
-#define S_regcppush CPerlObj::regcppush
-#define S_regcppop CPerlObj::regcppop
-#define S_regcp_set_to CPerlObj::regcp_set_to
-#define S_cache_re CPerlObj::cache_re
-#define S_restore_pos CPerlObj::restore_pos
-#define S_reghop CPerlObj::reghop
-#define S_reghopmaybe CPerlObj::reghopmaybe
-#endif
-#if defined(PERL_IN_RUN_C)
-#define S_debprof CPerlObj::debprof
-#endif
-#if defined(PERL_IN_SCOPE_C)
-#define S_save_scalar_at CPerlObj::save_scalar_at
-#endif
-#if defined(PERL_IN_SV_C)
-#define S_asIV CPerlObj::asIV
-#define S_asUV CPerlObj::asUV
-#define S_more_sv CPerlObj::more_sv
-#define S_more_xiv CPerlObj::more_xiv
-#define S_more_xnv CPerlObj::more_xnv
-#define S_more_xpv CPerlObj::more_xpv
-#define S_more_xrv CPerlObj::more_xrv
-#define S_new_xiv CPerlObj::new_xiv
-#define S_new_xnv CPerlObj::new_xnv
-#define S_new_xpv CPerlObj::new_xpv
-#define S_new_xrv CPerlObj::new_xrv
-#define S_del_xiv CPerlObj::del_xiv
-#define S_del_xnv CPerlObj::del_xnv
-#define S_del_xpv CPerlObj::del_xpv
-#define S_del_xrv CPerlObj::del_xrv
-#define S_sv_unglob CPerlObj::sv_unglob
-#define S_do_report_used CPerlObj::do_report_used
-#define S_do_clean_objs CPerlObj::do_clean_objs
-#define S_do_clean_named_objs CPerlObj::do_clean_named_objs
-#define S_do_clean_all CPerlObj::do_clean_all
-#define S_not_a_number CPerlObj::not_a_number
-#define S_visit CPerlObj::visit
+#if defined(PERL_IN_REGCOMP_C) || defined(PERL_DECL_PROT)
+#define S_reg CPerlObj::S_reg
+#define reg S_reg
+#define S_reganode CPerlObj::S_reganode
+#define reganode S_reganode
+#define S_regatom CPerlObj::S_regatom
+#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 regclass S_regclass
+#define S_regclassutf8 CPerlObj::S_regclassutf8
+#define regclassutf8 S_regclassutf8
+#define S_regcurly CPerlObj::S_regcurly
+#define regcurly S_regcurly
+#define S_reg_node CPerlObj::S_reg_node
+#define reg_node S_reg_node
+#define S_regpiece CPerlObj::S_regpiece
+#define regpiece S_regpiece
+#define S_reginsert CPerlObj::S_reginsert
+#define reginsert S_reginsert
+#define S_regoptail CPerlObj::S_regoptail
+#define regoptail S_regoptail
+#define S_regtail CPerlObj::S_regtail
+#define regtail S_regtail
+#define S_regwhite CPerlObj::S_regwhite
+#define regwhite S_regwhite
+#define S_nextchar CPerlObj::S_nextchar
+#define nextchar S_nextchar
+#define S_dumpuntil CPerlObj::S_dumpuntil
+#define dumpuntil S_dumpuntil
+#define S_scan_commit CPerlObj::S_scan_commit
+#define scan_commit S_scan_commit
+#define S_study_chunk CPerlObj::S_study_chunk
+#define study_chunk S_study_chunk
+#define S_add_data CPerlObj::S_add_data
+#define add_data S_add_data
+#define S_re_croak2 CPerlObj::S_re_croak2
+#define re_croak2 S_re_croak2
+#define S_regpposixcc CPerlObj::S_regpposixcc
+#define regpposixcc S_regpposixcc
+#define S_clear_re CPerlObj::S_clear_re
+#define clear_re S_clear_re
+#endif
+#if defined(PERL_IN_REGEXEC_C) || defined(PERL_DECL_PROT)
+#define S_regmatch CPerlObj::S_regmatch
+#define regmatch S_regmatch
+#define S_regrepeat CPerlObj::S_regrepeat
+#define regrepeat S_regrepeat
+#define S_regrepeat_hard CPerlObj::S_regrepeat_hard
+#define regrepeat_hard S_regrepeat_hard
+#define S_regtry CPerlObj::S_regtry
+#define regtry S_regtry
+#define S_reginclass CPerlObj::S_reginclass
+#define reginclass S_reginclass
+#define S_reginclassutf8 CPerlObj::S_reginclassutf8
+#define reginclassutf8 S_reginclassutf8
+#define S_regcppush CPerlObj::S_regcppush
+#define regcppush S_regcppush
+#define S_regcppop CPerlObj::S_regcppop
+#define regcppop S_regcppop
+#define S_regcp_set_to CPerlObj::S_regcp_set_to
+#define regcp_set_to S_regcp_set_to
+#define S_cache_re CPerlObj::S_cache_re
+#define cache_re S_cache_re
+#define S_restore_pos CPerlObj::S_restore_pos
+#define restore_pos S_restore_pos
+#define S_reghop CPerlObj::S_reghop
+#define reghop S_reghop
+#define S_reghopmaybe CPerlObj::S_reghopmaybe
+#define reghopmaybe S_reghopmaybe
+#endif
+#if defined(PERL_IN_RUN_C) || defined(PERL_DECL_PROT)
+#define S_debprof CPerlObj::S_debprof
+#define debprof S_debprof
+#endif
+#if defined(PERL_IN_SCOPE_C) || defined(PERL_DECL_PROT)
+#define S_save_scalar_at CPerlObj::S_save_scalar_at
+#define save_scalar_at S_save_scalar_at
+#endif
+#if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
+#define S_asIV CPerlObj::S_asIV
+#define asIV S_asIV
+#define S_asUV CPerlObj::S_asUV
+#define asUV S_asUV
+#define S_more_sv CPerlObj::S_more_sv
+#define more_sv S_more_sv
+#define S_more_xiv CPerlObj::S_more_xiv
+#define more_xiv S_more_xiv
+#define S_more_xnv CPerlObj::S_more_xnv
+#define more_xnv S_more_xnv
+#define S_more_xpv CPerlObj::S_more_xpv
+#define more_xpv S_more_xpv
+#define S_more_xrv CPerlObj::S_more_xrv
+#define more_xrv S_more_xrv
+#define S_new_xiv CPerlObj::S_new_xiv
+#define new_xiv S_new_xiv
+#define S_new_xnv CPerlObj::S_new_xnv
+#define new_xnv S_new_xnv
+#define S_new_xpv CPerlObj::S_new_xpv
+#define new_xpv S_new_xpv
+#define S_new_xrv CPerlObj::S_new_xrv
+#define new_xrv S_new_xrv
+#define S_del_xiv CPerlObj::S_del_xiv
+#define del_xiv S_del_xiv
+#define S_del_xnv CPerlObj::S_del_xnv
+#define del_xnv S_del_xnv
+#define S_del_xpv CPerlObj::S_del_xpv
+#define del_xpv S_del_xpv
+#define S_del_xrv CPerlObj::S_del_xrv
+#define del_xrv S_del_xrv
+#define S_sv_unglob CPerlObj::S_sv_unglob
+#define sv_unglob S_sv_unglob
+#define S_do_report_used CPerlObj::S_do_report_used
+#define do_report_used S_do_report_used
+#define S_do_clean_objs CPerlObj::S_do_clean_objs
+#define do_clean_objs S_do_clean_objs
+#define S_do_clean_named_objs CPerlObj::S_do_clean_named_objs
+#define do_clean_named_objs S_do_clean_named_objs
+#define S_do_clean_all CPerlObj::S_do_clean_all
+#define do_clean_all S_do_clean_all
+#define S_not_a_number CPerlObj::S_not_a_number
+#define not_a_number S_not_a_number
+#define S_visit CPerlObj::S_visit
+#define visit S_visit
# if defined(PURIFY)
-#define S_reg_add CPerlObj::reg_add
-#define S_reg_remove CPerlObj::reg_remove
+#define S_reg_add CPerlObj::S_reg_add
+#define reg_add S_reg_add
+#define S_reg_remove CPerlObj::S_reg_remove
+#define reg_remove S_reg_remove
# else
-#define S_my_safemalloc CPerlObj::my_safemalloc
+#define S_my_safemalloc CPerlObj::S_my_safemalloc
+#define my_safemalloc S_my_safemalloc
# endif
-#define S_sv_add_backref CPerlObj::sv_add_backref
-#define S_sv_del_backref CPerlObj::sv_del_backref
+#define S_sv_add_backref CPerlObj::S_sv_add_backref
+#define sv_add_backref S_sv_add_backref
+#define S_sv_del_backref CPerlObj::S_sv_del_backref
+#define sv_del_backref S_sv_del_backref
# if defined(DEBUGGING)
-#define S_del_sv CPerlObj::del_sv
+#define S_del_sv CPerlObj::S_del_sv
+#define del_sv S_del_sv
# endif
#endif
-#if defined(PERL_IN_TOKE_C)
-#define S_check_uni CPerlObj::check_uni
-#define S_force_next CPerlObj::force_next
-#define S_force_version CPerlObj::force_version
-#define S_force_word CPerlObj::force_word
-#define S_tokeq CPerlObj::tokeq
-#define S_scan_const CPerlObj::scan_const
-#define S_scan_formline CPerlObj::scan_formline
-#define S_scan_heredoc CPerlObj::scan_heredoc
-#define S_scan_ident CPerlObj::scan_ident
-#define S_scan_inputsymbol CPerlObj::scan_inputsymbol
-#define S_scan_pat CPerlObj::scan_pat
-#define S_scan_str CPerlObj::scan_str
-#define S_scan_subst CPerlObj::scan_subst
-#define S_scan_trans CPerlObj::scan_trans
-#define S_scan_word CPerlObj::scan_word
-#define S_skipspace CPerlObj::skipspace
-#define S_checkcomma CPerlObj::checkcomma
-#define S_force_ident CPerlObj::force_ident
-#define S_incline CPerlObj::incline
-#define S_intuit_method CPerlObj::intuit_method
-#define S_intuit_more CPerlObj::intuit_more
-#define S_lop CPerlObj::lop
-#define S_missingterm CPerlObj::missingterm
-#define S_no_op CPerlObj::no_op
-#define S_set_csh CPerlObj::set_csh
-#define S_sublex_done CPerlObj::sublex_done
-#define S_sublex_push CPerlObj::sublex_push
-#define S_sublex_start CPerlObj::sublex_start
-#define S_filter_gets CPerlObj::filter_gets
-#define S_new_constant CPerlObj::new_constant
-#define S_ao CPerlObj::ao
-#define S_depcom CPerlObj::depcom
-#define S_incl_perldb CPerlObj::incl_perldb
-#define S_utf16_textfilter CPerlObj::utf16_textfilter
-#define S_utf16rev_textfilter CPerlObj::utf16rev_textfilter
-#define S_restore_rsfp CPerlObj::restore_rsfp
-#define S_restore_expect CPerlObj::restore_expect
-#define S_restore_lex_expect CPerlObj::restore_lex_expect
+#if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT)
+#define S_check_uni CPerlObj::S_check_uni
+#define check_uni S_check_uni
+#define S_force_next CPerlObj::S_force_next
+#define force_next S_force_next
+#define S_force_version CPerlObj::S_force_version
+#define force_version S_force_version
+#define S_force_word CPerlObj::S_force_word
+#define force_word S_force_word
+#define S_tokeq CPerlObj::S_tokeq
+#define tokeq S_tokeq
+#define S_scan_const CPerlObj::S_scan_const
+#define scan_const S_scan_const
+#define S_scan_formline CPerlObj::S_scan_formline
+#define scan_formline S_scan_formline
+#define S_scan_heredoc CPerlObj::S_scan_heredoc
+#define scan_heredoc S_scan_heredoc
+#define S_scan_ident CPerlObj::S_scan_ident
+#define scan_ident S_scan_ident
+#define S_scan_inputsymbol CPerlObj::S_scan_inputsymbol
+#define scan_inputsymbol S_scan_inputsymbol
+#define S_scan_pat CPerlObj::S_scan_pat
+#define scan_pat S_scan_pat
+#define S_scan_str CPerlObj::S_scan_str
+#define scan_str S_scan_str
+#define S_scan_subst CPerlObj::S_scan_subst
+#define scan_subst S_scan_subst
+#define S_scan_trans CPerlObj::S_scan_trans
+#define scan_trans S_scan_trans
+#define S_scan_word CPerlObj::S_scan_word
+#define scan_word S_scan_word
+#define S_skipspace CPerlObj::S_skipspace
+#define skipspace S_skipspace
+#define S_checkcomma CPerlObj::S_checkcomma
+#define checkcomma S_checkcomma
+#define S_force_ident CPerlObj::S_force_ident
+#define force_ident S_force_ident
+#define S_incline CPerlObj::S_incline
+#define incline S_incline
+#define S_intuit_method CPerlObj::S_intuit_method
+#define intuit_method S_intuit_method
+#define S_intuit_more CPerlObj::S_intuit_more
+#define intuit_more S_intuit_more
+#define S_lop CPerlObj::S_lop
+#define lop S_lop
+#define S_missingterm CPerlObj::S_missingterm
+#define missingterm S_missingterm
+#define S_no_op CPerlObj::S_no_op
+#define no_op S_no_op
+#define S_set_csh CPerlObj::S_set_csh
+#define set_csh S_set_csh
+#define S_sublex_done CPerlObj::S_sublex_done
+#define sublex_done S_sublex_done
+#define S_sublex_push CPerlObj::S_sublex_push
+#define sublex_push S_sublex_push
+#define S_sublex_start CPerlObj::S_sublex_start
+#define sublex_start S_sublex_start
+#define S_filter_gets CPerlObj::S_filter_gets
+#define filter_gets S_filter_gets
+#define S_new_constant CPerlObj::S_new_constant
+#define new_constant S_new_constant
+#define S_ao CPerlObj::S_ao
+#define ao S_ao
+#define S_depcom CPerlObj::S_depcom
+#define depcom S_depcom
+#define S_incl_perldb CPerlObj::S_incl_perldb
+#define incl_perldb S_incl_perldb
+#define S_utf16_textfilter CPerlObj::S_utf16_textfilter
+#define utf16_textfilter S_utf16_textfilter
+#define S_utf16rev_textfilter CPerlObj::S_utf16rev_textfilter
+#define utf16rev_textfilter S_utf16rev_textfilter
+#define S_restore_rsfp CPerlObj::S_restore_rsfp
+#define restore_rsfp S_restore_rsfp
+#define S_restore_expect CPerlObj::S_restore_expect
+#define restore_expect S_restore_expect
+#define S_restore_lex_expect CPerlObj::S_restore_lex_expect
+#define restore_lex_expect S_restore_lex_expect
# if defined(CRIPPLED_CC)
-#define S_uni CPerlObj::uni
+#define S_uni CPerlObj::S_uni
+#define uni S_uni
# endif
# if defined(WIN32)
-#define S_win32_textfilter CPerlObj::win32_textfilter
+#define S_win32_textfilter CPerlObj::S_win32_textfilter
+#define win32_textfilter S_win32_textfilter
# endif
#endif
-#if defined(PERL_IN_UNIVERSAL_C)
-#define S_isa_lookup CPerlObj::isa_lookup
+#if defined(PERL_IN_UNIVERSAL_C) || defined(PERL_DECL_PROT)
+#define S_isa_lookup CPerlObj::S_isa_lookup
+#define isa_lookup S_isa_lookup
#endif
-#if defined(PERL_IN_UTIL_C)
-#define S_mess_alloc CPerlObj::mess_alloc
-#define S_do_croak CPerlObj::do_croak
-#define S_do_warn CPerlObj::do_warn
+#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 S_do_croak CPerlObj::S_do_croak
+#define do_croak S_do_croak
+#define S_do_warn CPerlObj::S_do_warn
+#define do_warn S_do_warn
+#define S_do_die CPerlObj::S_do_die
+#define do_die S_do_die
# if defined(LEAKTEST)
-#define S_xstat CPerlObj::xstat
+#define S_xstat CPerlObj::S_xstat
+#define xstat S_xstat
# endif
#endif
-#define Perl_ck_anoncode CPerlObj::ck_anoncode
-#define Perl_ck_bitop CPerlObj::ck_bitop
-#define Perl_ck_concat CPerlObj::ck_concat
-#define Perl_ck_defined CPerlObj::ck_defined
-#define Perl_ck_delete CPerlObj::ck_delete
-#define Perl_ck_eof CPerlObj::ck_eof
-#define Perl_ck_eval CPerlObj::ck_eval
-#define Perl_ck_exec CPerlObj::ck_exec
-#define Perl_ck_exists CPerlObj::ck_exists
-#define Perl_ck_ftst CPerlObj::ck_ftst
-#define Perl_ck_fun CPerlObj::ck_fun
-#define Perl_ck_fun_locale CPerlObj::ck_fun_locale
-#define Perl_ck_glob CPerlObj::ck_glob
-#define Perl_ck_grep CPerlObj::ck_grep
-#define Perl_ck_index CPerlObj::ck_index
-#define Perl_ck_lengthconst CPerlObj::ck_lengthconst
-#define Perl_ck_lfun CPerlObj::ck_lfun
-#define Perl_ck_listiob CPerlObj::ck_listiob
-#define Perl_ck_match CPerlObj::ck_match
-#define Perl_ck_null CPerlObj::ck_null
-#define Perl_ck_repeat CPerlObj::ck_repeat
-#define Perl_ck_require CPerlObj::ck_require
-#define Perl_ck_rfun CPerlObj::ck_rfun
-#define Perl_ck_rvconst CPerlObj::ck_rvconst
-#define Perl_ck_scmp CPerlObj::ck_scmp
-#define Perl_ck_select CPerlObj::ck_select
-#define Perl_ck_shift CPerlObj::ck_shift
-#define Perl_ck_sort CPerlObj::ck_sort
-#define Perl_ck_spair CPerlObj::ck_spair
-#define Perl_ck_split CPerlObj::ck_split
-#define Perl_ck_subr CPerlObj::ck_subr
-#define Perl_ck_svconst CPerlObj::ck_svconst
-#define Perl_ck_trunc CPerlObj::ck_trunc
-#define Perl_pp_aassign CPerlObj::pp_aassign
-#define Perl_pp_abs CPerlObj::pp_abs
-#define Perl_pp_accept CPerlObj::pp_accept
-#define Perl_pp_add CPerlObj::pp_add
-#define Perl_pp_aelem CPerlObj::pp_aelem
-#define Perl_pp_aelemfast CPerlObj::pp_aelemfast
-#define Perl_pp_alarm CPerlObj::pp_alarm
-#define Perl_pp_and CPerlObj::pp_and
-#define Perl_pp_andassign CPerlObj::pp_andassign
-#define Perl_pp_anoncode CPerlObj::pp_anoncode
-#define Perl_pp_anonhash CPerlObj::pp_anonhash
-#define Perl_pp_anonlist CPerlObj::pp_anonlist
-#define Perl_pp_aslice CPerlObj::pp_aslice
-#define Perl_pp_atan2 CPerlObj::pp_atan2
-#define Perl_pp_av2arylen CPerlObj::pp_av2arylen
-#define Perl_pp_backtick CPerlObj::pp_backtick
-#define Perl_pp_bind CPerlObj::pp_bind
-#define Perl_pp_binmode CPerlObj::pp_binmode
-#define Perl_pp_bit_and CPerlObj::pp_bit_and
-#define Perl_pp_bit_or CPerlObj::pp_bit_or
-#define Perl_pp_bit_xor CPerlObj::pp_bit_xor
-#define Perl_pp_bless CPerlObj::pp_bless
-#define Perl_pp_caller CPerlObj::pp_caller
-#define Perl_pp_chdir CPerlObj::pp_chdir
-#define Perl_pp_chmod CPerlObj::pp_chmod
-#define Perl_pp_chomp CPerlObj::pp_chomp
-#define Perl_pp_chop CPerlObj::pp_chop
-#define Perl_pp_chown CPerlObj::pp_chown
-#define Perl_pp_chr CPerlObj::pp_chr
-#define Perl_pp_chroot CPerlObj::pp_chroot
-#define Perl_pp_close CPerlObj::pp_close
-#define Perl_pp_closedir CPerlObj::pp_closedir
-#define Perl_pp_complement CPerlObj::pp_complement
-#define Perl_pp_concat CPerlObj::pp_concat
-#define Perl_pp_cond_expr CPerlObj::pp_cond_expr
-#define Perl_pp_connect CPerlObj::pp_connect
-#define Perl_pp_const CPerlObj::pp_const
-#define Perl_pp_cos CPerlObj::pp_cos
-#define Perl_pp_crypt CPerlObj::pp_crypt
-#define Perl_pp_dbmclose CPerlObj::pp_dbmclose
-#define Perl_pp_dbmopen CPerlObj::pp_dbmopen
-#define Perl_pp_dbstate CPerlObj::pp_dbstate
-#define Perl_pp_defined CPerlObj::pp_defined
-#define Perl_pp_delete CPerlObj::pp_delete
-#define Perl_pp_die CPerlObj::pp_die
-#define Perl_pp_divide CPerlObj::pp_divide
-#define Perl_pp_dofile CPerlObj::pp_dofile
-#define Perl_pp_dump CPerlObj::pp_dump
-#define Perl_pp_each CPerlObj::pp_each
-#define Perl_pp_egrent CPerlObj::pp_egrent
-#define Perl_pp_ehostent CPerlObj::pp_ehostent
-#define Perl_pp_enetent CPerlObj::pp_enetent
-#define Perl_pp_enter CPerlObj::pp_enter
-#define Perl_pp_entereval CPerlObj::pp_entereval
-#define Perl_pp_enteriter CPerlObj::pp_enteriter
-#define Perl_pp_enterloop CPerlObj::pp_enterloop
-#define Perl_pp_entersub CPerlObj::pp_entersub
-#define Perl_pp_entertry CPerlObj::pp_entertry
-#define Perl_pp_enterwrite CPerlObj::pp_enterwrite
-#define Perl_pp_eof CPerlObj::pp_eof
-#define Perl_pp_eprotoent CPerlObj::pp_eprotoent
-#define Perl_pp_epwent CPerlObj::pp_epwent
-#define Perl_pp_eq CPerlObj::pp_eq
-#define Perl_pp_eservent CPerlObj::pp_eservent
-#define Perl_pp_exec CPerlObj::pp_exec
-#define Perl_pp_exists CPerlObj::pp_exists
-#define Perl_pp_exit CPerlObj::pp_exit
-#define Perl_pp_exp CPerlObj::pp_exp
-#define Perl_pp_fcntl CPerlObj::pp_fcntl
-#define Perl_pp_fileno CPerlObj::pp_fileno
-#define Perl_pp_flip CPerlObj::pp_flip
-#define Perl_pp_flock CPerlObj::pp_flock
-#define Perl_pp_flop CPerlObj::pp_flop
-#define Perl_pp_fork CPerlObj::pp_fork
-#define Perl_pp_formline CPerlObj::pp_formline
-#define Perl_pp_ftatime CPerlObj::pp_ftatime
-#define Perl_pp_ftbinary CPerlObj::pp_ftbinary
-#define Perl_pp_ftblk CPerlObj::pp_ftblk
-#define Perl_pp_ftchr CPerlObj::pp_ftchr
-#define Perl_pp_ftctime CPerlObj::pp_ftctime
-#define Perl_pp_ftdir CPerlObj::pp_ftdir
-#define Perl_pp_fteexec CPerlObj::pp_fteexec
-#define Perl_pp_fteowned CPerlObj::pp_fteowned
-#define Perl_pp_fteread CPerlObj::pp_fteread
-#define Perl_pp_ftewrite CPerlObj::pp_ftewrite
-#define Perl_pp_ftfile CPerlObj::pp_ftfile
-#define Perl_pp_ftis CPerlObj::pp_ftis
-#define Perl_pp_ftlink CPerlObj::pp_ftlink
-#define Perl_pp_ftmtime CPerlObj::pp_ftmtime
-#define Perl_pp_ftpipe CPerlObj::pp_ftpipe
-#define Perl_pp_ftrexec CPerlObj::pp_ftrexec
-#define Perl_pp_ftrowned CPerlObj::pp_ftrowned
-#define Perl_pp_ftrread CPerlObj::pp_ftrread
-#define Perl_pp_ftrwrite CPerlObj::pp_ftrwrite
-#define Perl_pp_ftsgid CPerlObj::pp_ftsgid
-#define Perl_pp_ftsize CPerlObj::pp_ftsize
-#define Perl_pp_ftsock CPerlObj::pp_ftsock
-#define Perl_pp_ftsuid CPerlObj::pp_ftsuid
-#define Perl_pp_ftsvtx CPerlObj::pp_ftsvtx
-#define Perl_pp_fttext CPerlObj::pp_fttext
-#define Perl_pp_fttty CPerlObj::pp_fttty
-#define Perl_pp_ftzero CPerlObj::pp_ftzero
-#define Perl_pp_ge CPerlObj::pp_ge
-#define Perl_pp_gelem CPerlObj::pp_gelem
-#define Perl_pp_getc CPerlObj::pp_getc
-#define Perl_pp_getlogin CPerlObj::pp_getlogin
-#define Perl_pp_getpeername CPerlObj::pp_getpeername
-#define Perl_pp_getpgrp CPerlObj::pp_getpgrp
-#define Perl_pp_getppid CPerlObj::pp_getppid
-#define Perl_pp_getpriority CPerlObj::pp_getpriority
-#define Perl_pp_getsockname CPerlObj::pp_getsockname
-#define Perl_pp_ggrent CPerlObj::pp_ggrent
-#define Perl_pp_ggrgid CPerlObj::pp_ggrgid
-#define Perl_pp_ggrnam CPerlObj::pp_ggrnam
-#define Perl_pp_ghbyaddr CPerlObj::pp_ghbyaddr
-#define Perl_pp_ghbyname CPerlObj::pp_ghbyname
-#define Perl_pp_ghostent CPerlObj::pp_ghostent
-#define Perl_pp_glob CPerlObj::pp_glob
-#define Perl_pp_gmtime CPerlObj::pp_gmtime
-#define Perl_pp_gnbyaddr CPerlObj::pp_gnbyaddr
-#define Perl_pp_gnbyname CPerlObj::pp_gnbyname
-#define Perl_pp_gnetent CPerlObj::pp_gnetent
-#define Perl_pp_goto CPerlObj::pp_goto
-#define Perl_pp_gpbyname CPerlObj::pp_gpbyname
-#define Perl_pp_gpbynumber CPerlObj::pp_gpbynumber
-#define Perl_pp_gprotoent CPerlObj::pp_gprotoent
-#define Perl_pp_gpwent CPerlObj::pp_gpwent
-#define Perl_pp_gpwnam CPerlObj::pp_gpwnam
-#define Perl_pp_gpwuid CPerlObj::pp_gpwuid
-#define Perl_pp_grepstart CPerlObj::pp_grepstart
-#define Perl_pp_grepwhile CPerlObj::pp_grepwhile
-#define Perl_pp_gsbyname CPerlObj::pp_gsbyname
-#define Perl_pp_gsbyport CPerlObj::pp_gsbyport
-#define Perl_pp_gservent CPerlObj::pp_gservent
-#define Perl_pp_gsockopt CPerlObj::pp_gsockopt
-#define Perl_pp_gt CPerlObj::pp_gt
-#define Perl_pp_gv CPerlObj::pp_gv
-#define Perl_pp_gvsv CPerlObj::pp_gvsv
-#define Perl_pp_helem CPerlObj::pp_helem
-#define Perl_pp_hex CPerlObj::pp_hex
-#define Perl_pp_hslice CPerlObj::pp_hslice
-#define Perl_pp_i_add CPerlObj::pp_i_add
-#define Perl_pp_i_divide CPerlObj::pp_i_divide
-#define Perl_pp_i_eq CPerlObj::pp_i_eq
-#define Perl_pp_i_ge CPerlObj::pp_i_ge
-#define Perl_pp_i_gt CPerlObj::pp_i_gt
-#define Perl_pp_i_le CPerlObj::pp_i_le
-#define Perl_pp_i_lt CPerlObj::pp_i_lt
-#define Perl_pp_i_modulo CPerlObj::pp_i_modulo
-#define Perl_pp_i_multiply CPerlObj::pp_i_multiply
-#define Perl_pp_i_ncmp CPerlObj::pp_i_ncmp
-#define Perl_pp_i_ne CPerlObj::pp_i_ne
-#define Perl_pp_i_negate CPerlObj::pp_i_negate
-#define Perl_pp_i_subtract CPerlObj::pp_i_subtract
-#define Perl_pp_index CPerlObj::pp_index
-#define Perl_pp_int CPerlObj::pp_int
-#define Perl_pp_ioctl CPerlObj::pp_ioctl
-#define Perl_pp_iter CPerlObj::pp_iter
-#define Perl_pp_join CPerlObj::pp_join
-#define Perl_pp_keys CPerlObj::pp_keys
-#define Perl_pp_kill CPerlObj::pp_kill
-#define Perl_pp_last CPerlObj::pp_last
-#define Perl_pp_lc CPerlObj::pp_lc
-#define Perl_pp_lcfirst CPerlObj::pp_lcfirst
-#define Perl_pp_le CPerlObj::pp_le
-#define Perl_pp_leave CPerlObj::pp_leave
-#define Perl_pp_leaveeval CPerlObj::pp_leaveeval
-#define Perl_pp_leaveloop CPerlObj::pp_leaveloop
-#define Perl_pp_leavesub CPerlObj::pp_leavesub
-#define Perl_pp_leavetry CPerlObj::pp_leavetry
-#define Perl_pp_leavewrite CPerlObj::pp_leavewrite
-#define Perl_pp_left_shift CPerlObj::pp_left_shift
-#define Perl_pp_length CPerlObj::pp_length
-#define Perl_pp_lineseq CPerlObj::pp_lineseq
-#define Perl_pp_link CPerlObj::pp_link
-#define Perl_pp_list CPerlObj::pp_list
-#define Perl_pp_listen CPerlObj::pp_listen
-#define Perl_pp_localtime CPerlObj::pp_localtime
-#define Perl_pp_lock CPerlObj::pp_lock
-#define Perl_pp_log CPerlObj::pp_log
-#define Perl_pp_lslice CPerlObj::pp_lslice
-#define Perl_pp_lstat CPerlObj::pp_lstat
-#define Perl_pp_lt CPerlObj::pp_lt
-#define Perl_pp_mapstart CPerlObj::pp_mapstart
-#define Perl_pp_mapwhile CPerlObj::pp_mapwhile
-#define Perl_pp_match CPerlObj::pp_match
-#define Perl_pp_method CPerlObj::pp_method
-#define Perl_pp_mkdir CPerlObj::pp_mkdir
-#define Perl_pp_modulo CPerlObj::pp_modulo
-#define Perl_pp_msgctl CPerlObj::pp_msgctl
-#define Perl_pp_msgget CPerlObj::pp_msgget
-#define Perl_pp_msgrcv CPerlObj::pp_msgrcv
-#define Perl_pp_msgsnd CPerlObj::pp_msgsnd
-#define Perl_pp_multiply CPerlObj::pp_multiply
-#define Perl_pp_ncmp CPerlObj::pp_ncmp
-#define Perl_pp_ne CPerlObj::pp_ne
-#define Perl_pp_negate CPerlObj::pp_negate
-#define Perl_pp_next CPerlObj::pp_next
-#define Perl_pp_nextstate CPerlObj::pp_nextstate
-#define Perl_pp_not CPerlObj::pp_not
-#define Perl_pp_null CPerlObj::pp_null
-#define Perl_pp_oct CPerlObj::pp_oct
-#define Perl_pp_open CPerlObj::pp_open
-#define Perl_pp_open_dir CPerlObj::pp_open_dir
-#define Perl_pp_or CPerlObj::pp_or
-#define Perl_pp_orassign CPerlObj::pp_orassign
-#define Perl_pp_ord CPerlObj::pp_ord
-#define Perl_pp_pack CPerlObj::pp_pack
-#define Perl_pp_padany CPerlObj::pp_padany
-#define Perl_pp_padav CPerlObj::pp_padav
-#define Perl_pp_padhv CPerlObj::pp_padhv
-#define Perl_pp_padsv CPerlObj::pp_padsv
-#define Perl_pp_pipe_op CPerlObj::pp_pipe_op
-#define Perl_pp_pop CPerlObj::pp_pop
-#define Perl_pp_pos CPerlObj::pp_pos
-#define Perl_pp_postdec CPerlObj::pp_postdec
-#define Perl_pp_postinc CPerlObj::pp_postinc
-#define Perl_pp_pow CPerlObj::pp_pow
-#define Perl_pp_predec CPerlObj::pp_predec
-#define Perl_pp_preinc CPerlObj::pp_preinc
-#define Perl_pp_print CPerlObj::pp_print
-#define Perl_pp_prototype CPerlObj::pp_prototype
-#define Perl_pp_prtf CPerlObj::pp_prtf
-#define Perl_pp_push CPerlObj::pp_push
-#define Perl_pp_pushmark CPerlObj::pp_pushmark
-#define Perl_pp_pushre CPerlObj::pp_pushre
-#define Perl_pp_qr CPerlObj::pp_qr
-#define Perl_pp_quotemeta CPerlObj::pp_quotemeta
-#define Perl_pp_rand CPerlObj::pp_rand
-#define Perl_pp_range CPerlObj::pp_range
-#define Perl_pp_rcatline CPerlObj::pp_rcatline
-#define Perl_pp_read CPerlObj::pp_read
-#define Perl_pp_readdir CPerlObj::pp_readdir
-#define Perl_pp_readline CPerlObj::pp_readline
-#define Perl_pp_readlink CPerlObj::pp_readlink
-#define Perl_pp_recv CPerlObj::pp_recv
-#define Perl_pp_redo CPerlObj::pp_redo
-#define Perl_pp_ref CPerlObj::pp_ref
-#define Perl_pp_refgen CPerlObj::pp_refgen
-#define Perl_pp_regcmaybe CPerlObj::pp_regcmaybe
-#define Perl_pp_regcomp CPerlObj::pp_regcomp
-#define Perl_pp_regcreset CPerlObj::pp_regcreset
-#define Perl_pp_rename CPerlObj::pp_rename
-#define Perl_pp_repeat CPerlObj::pp_repeat
-#define Perl_pp_require CPerlObj::pp_require
-#define Perl_pp_reset CPerlObj::pp_reset
-#define Perl_pp_return CPerlObj::pp_return
-#define Perl_pp_reverse CPerlObj::pp_reverse
-#define Perl_pp_rewinddir CPerlObj::pp_rewinddir
-#define Perl_pp_right_shift CPerlObj::pp_right_shift
-#define Perl_pp_rindex CPerlObj::pp_rindex
-#define Perl_pp_rmdir CPerlObj::pp_rmdir
-#define Perl_pp_rv2av CPerlObj::pp_rv2av
-#define Perl_pp_rv2cv CPerlObj::pp_rv2cv
-#define Perl_pp_rv2gv CPerlObj::pp_rv2gv
-#define Perl_pp_rv2hv CPerlObj::pp_rv2hv
-#define Perl_pp_rv2sv CPerlObj::pp_rv2sv
-#define Perl_pp_sassign CPerlObj::pp_sassign
-#define Perl_pp_scalar CPerlObj::pp_scalar
-#define Perl_pp_schomp CPerlObj::pp_schomp
-#define Perl_pp_schop CPerlObj::pp_schop
-#define Perl_pp_scmp CPerlObj::pp_scmp
-#define Perl_pp_scope CPerlObj::pp_scope
-#define Perl_pp_seek CPerlObj::pp_seek
-#define Perl_pp_seekdir CPerlObj::pp_seekdir
-#define Perl_pp_select CPerlObj::pp_select
-#define Perl_pp_semctl CPerlObj::pp_semctl
-#define Perl_pp_semget CPerlObj::pp_semget
-#define Perl_pp_semop CPerlObj::pp_semop
-#define Perl_pp_send CPerlObj::pp_send
-#define Perl_pp_seq CPerlObj::pp_seq
-#define Perl_pp_setpgrp CPerlObj::pp_setpgrp
-#define Perl_pp_setpriority CPerlObj::pp_setpriority
-#define Perl_pp_sge CPerlObj::pp_sge
-#define Perl_pp_sgrent CPerlObj::pp_sgrent
-#define Perl_pp_sgt CPerlObj::pp_sgt
-#define Perl_pp_shift CPerlObj::pp_shift
-#define Perl_pp_shmctl CPerlObj::pp_shmctl
-#define Perl_pp_shmget CPerlObj::pp_shmget
-#define Perl_pp_shmread CPerlObj::pp_shmread
-#define Perl_pp_shmwrite CPerlObj::pp_shmwrite
-#define Perl_pp_shostent CPerlObj::pp_shostent
-#define Perl_pp_shutdown CPerlObj::pp_shutdown
-#define Perl_pp_sin CPerlObj::pp_sin
-#define Perl_pp_sle CPerlObj::pp_sle
-#define Perl_pp_sleep CPerlObj::pp_sleep
-#define Perl_pp_slt CPerlObj::pp_slt
-#define Perl_pp_sne CPerlObj::pp_sne
-#define Perl_pp_snetent CPerlObj::pp_snetent
-#define Perl_pp_socket CPerlObj::pp_socket
-#define Perl_pp_sockpair CPerlObj::pp_sockpair
-#define Perl_pp_sort CPerlObj::pp_sort
-#define Perl_pp_splice CPerlObj::pp_splice
-#define Perl_pp_split CPerlObj::pp_split
-#define Perl_pp_sprintf CPerlObj::pp_sprintf
-#define Perl_pp_sprotoent CPerlObj::pp_sprotoent
-#define Perl_pp_spwent CPerlObj::pp_spwent
-#define Perl_pp_sqrt CPerlObj::pp_sqrt
-#define Perl_pp_srand CPerlObj::pp_srand
-#define Perl_pp_srefgen CPerlObj::pp_srefgen
-#define Perl_pp_sselect CPerlObj::pp_sselect
-#define Perl_pp_sservent CPerlObj::pp_sservent
-#define Perl_pp_ssockopt CPerlObj::pp_ssockopt
-#define Perl_pp_stat CPerlObj::pp_stat
-#define Perl_pp_stringify CPerlObj::pp_stringify
-#define Perl_pp_stub CPerlObj::pp_stub
-#define Perl_pp_study CPerlObj::pp_study
-#define Perl_pp_subst CPerlObj::pp_subst
-#define Perl_pp_substcont CPerlObj::pp_substcont
-#define Perl_pp_substr CPerlObj::pp_substr
-#define Perl_pp_subtract CPerlObj::pp_subtract
-#define Perl_pp_symlink CPerlObj::pp_symlink
-#define Perl_pp_syscall CPerlObj::pp_syscall
-#define Perl_pp_sysopen CPerlObj::pp_sysopen
-#define Perl_pp_sysread CPerlObj::pp_sysread
-#define Perl_pp_sysseek CPerlObj::pp_sysseek
-#define Perl_pp_system CPerlObj::pp_system
-#define Perl_pp_syswrite CPerlObj::pp_syswrite
-#define Perl_pp_tell CPerlObj::pp_tell
-#define Perl_pp_telldir CPerlObj::pp_telldir
-#define Perl_pp_threadsv CPerlObj::pp_threadsv
-#define Perl_pp_tie CPerlObj::pp_tie
-#define Perl_pp_tied CPerlObj::pp_tied
-#define Perl_pp_time CPerlObj::pp_time
-#define Perl_pp_tms CPerlObj::pp_tms
-#define Perl_pp_trans CPerlObj::pp_trans
-#define Perl_pp_truncate CPerlObj::pp_truncate
-#define Perl_pp_uc CPerlObj::pp_uc
-#define Perl_pp_ucfirst CPerlObj::pp_ucfirst
-#define Perl_pp_umask CPerlObj::pp_umask
-#define Perl_pp_undef CPerlObj::pp_undef
-#define Perl_pp_unlink CPerlObj::pp_unlink
-#define Perl_pp_unpack CPerlObj::pp_unpack
-#define Perl_pp_unshift CPerlObj::pp_unshift
-#define Perl_pp_unstack CPerlObj::pp_unstack
-#define Perl_pp_untie CPerlObj::pp_untie
-#define Perl_pp_utime CPerlObj::pp_utime
-#define Perl_pp_values CPerlObj::pp_values
-#define Perl_pp_vec CPerlObj::pp_vec
-#define Perl_pp_wait CPerlObj::pp_wait
-#define Perl_pp_waitpid CPerlObj::pp_waitpid
-#define Perl_pp_wantarray CPerlObj::pp_wantarray
-#define Perl_pp_warn CPerlObj::pp_warn
-#define Perl_pp_xor CPerlObj::pp_xor
+#define Perl_ck_anoncode CPerlObj::Perl_ck_anoncode
+#define ck_anoncode Perl_ck_anoncode
+#define Perl_ck_bitop CPerlObj::Perl_ck_bitop
+#define ck_bitop Perl_ck_bitop
+#define Perl_ck_concat CPerlObj::Perl_ck_concat
+#define ck_concat Perl_ck_concat
+#define Perl_ck_defined CPerlObj::Perl_ck_defined
+#define ck_defined Perl_ck_defined
+#define Perl_ck_delete CPerlObj::Perl_ck_delete
+#define ck_delete Perl_ck_delete
+#define Perl_ck_eof CPerlObj::Perl_ck_eof
+#define ck_eof Perl_ck_eof
+#define Perl_ck_eval CPerlObj::Perl_ck_eval
+#define ck_eval Perl_ck_eval
+#define Perl_ck_exec CPerlObj::Perl_ck_exec
+#define ck_exec Perl_ck_exec
+#define Perl_ck_exists CPerlObj::Perl_ck_exists
+#define ck_exists Perl_ck_exists
+#define Perl_ck_ftst CPerlObj::Perl_ck_ftst
+#define ck_ftst Perl_ck_ftst
+#define Perl_ck_fun CPerlObj::Perl_ck_fun
+#define ck_fun Perl_ck_fun
+#define Perl_ck_fun_locale CPerlObj::Perl_ck_fun_locale
+#define ck_fun_locale Perl_ck_fun_locale
+#define Perl_ck_glob CPerlObj::Perl_ck_glob
+#define ck_glob Perl_ck_glob
+#define Perl_ck_grep CPerlObj::Perl_ck_grep
+#define ck_grep Perl_ck_grep
+#define Perl_ck_index CPerlObj::Perl_ck_index
+#define ck_index Perl_ck_index
+#define Perl_ck_lengthconst CPerlObj::Perl_ck_lengthconst
+#define ck_lengthconst Perl_ck_lengthconst
+#define Perl_ck_lfun CPerlObj::Perl_ck_lfun
+#define ck_lfun Perl_ck_lfun
+#define Perl_ck_listiob CPerlObj::Perl_ck_listiob
+#define ck_listiob Perl_ck_listiob
+#define Perl_ck_match CPerlObj::Perl_ck_match
+#define ck_match Perl_ck_match
+#define Perl_ck_null CPerlObj::Perl_ck_null
+#define ck_null Perl_ck_null
+#define Perl_ck_repeat CPerlObj::Perl_ck_repeat
+#define ck_repeat Perl_ck_repeat
+#define Perl_ck_require CPerlObj::Perl_ck_require
+#define ck_require Perl_ck_require
+#define Perl_ck_rfun CPerlObj::Perl_ck_rfun
+#define ck_rfun Perl_ck_rfun
+#define Perl_ck_rvconst CPerlObj::Perl_ck_rvconst
+#define ck_rvconst Perl_ck_rvconst
+#define Perl_ck_scmp CPerlObj::Perl_ck_scmp
+#define ck_scmp Perl_ck_scmp
+#define Perl_ck_select CPerlObj::Perl_ck_select
+#define ck_select Perl_ck_select
+#define Perl_ck_shift CPerlObj::Perl_ck_shift
+#define ck_shift Perl_ck_shift
+#define Perl_ck_sort CPerlObj::Perl_ck_sort
+#define ck_sort Perl_ck_sort
+#define Perl_ck_spair CPerlObj::Perl_ck_spair
+#define ck_spair Perl_ck_spair
+#define Perl_ck_split CPerlObj::Perl_ck_split
+#define ck_split Perl_ck_split
+#define Perl_ck_subr CPerlObj::Perl_ck_subr
+#define ck_subr Perl_ck_subr
+#define Perl_ck_svconst CPerlObj::Perl_ck_svconst
+#define ck_svconst Perl_ck_svconst
+#define Perl_ck_trunc CPerlObj::Perl_ck_trunc
+#define ck_trunc Perl_ck_trunc
+#define Perl_pp_aassign CPerlObj::Perl_pp_aassign
+#define pp_aassign Perl_pp_aassign
+#define Perl_pp_abs CPerlObj::Perl_pp_abs
+#define pp_abs Perl_pp_abs
+#define Perl_pp_accept CPerlObj::Perl_pp_accept
+#define pp_accept Perl_pp_accept
+#define Perl_pp_add CPerlObj::Perl_pp_add
+#define pp_add Perl_pp_add
+#define Perl_pp_aelem CPerlObj::Perl_pp_aelem
+#define pp_aelem Perl_pp_aelem
+#define Perl_pp_aelemfast CPerlObj::Perl_pp_aelemfast
+#define pp_aelemfast Perl_pp_aelemfast
+#define Perl_pp_alarm CPerlObj::Perl_pp_alarm
+#define pp_alarm Perl_pp_alarm
+#define Perl_pp_and CPerlObj::Perl_pp_and
+#define pp_and Perl_pp_and
+#define Perl_pp_andassign CPerlObj::Perl_pp_andassign
+#define pp_andassign Perl_pp_andassign
+#define Perl_pp_anoncode CPerlObj::Perl_pp_anoncode
+#define pp_anoncode Perl_pp_anoncode
+#define Perl_pp_anonhash CPerlObj::Perl_pp_anonhash
+#define pp_anonhash Perl_pp_anonhash
+#define Perl_pp_anonlist CPerlObj::Perl_pp_anonlist
+#define pp_anonlist Perl_pp_anonlist
+#define Perl_pp_aslice CPerlObj::Perl_pp_aslice
+#define pp_aslice Perl_pp_aslice
+#define Perl_pp_atan2 CPerlObj::Perl_pp_atan2
+#define pp_atan2 Perl_pp_atan2
+#define Perl_pp_av2arylen CPerlObj::Perl_pp_av2arylen
+#define pp_av2arylen Perl_pp_av2arylen
+#define Perl_pp_backtick CPerlObj::Perl_pp_backtick
+#define pp_backtick Perl_pp_backtick
+#define Perl_pp_bind CPerlObj::Perl_pp_bind
+#define pp_bind Perl_pp_bind
+#define Perl_pp_binmode CPerlObj::Perl_pp_binmode
+#define pp_binmode Perl_pp_binmode
+#define Perl_pp_bit_and CPerlObj::Perl_pp_bit_and
+#define pp_bit_and Perl_pp_bit_and
+#define Perl_pp_bit_or CPerlObj::Perl_pp_bit_or
+#define pp_bit_or Perl_pp_bit_or
+#define Perl_pp_bit_xor CPerlObj::Perl_pp_bit_xor
+#define pp_bit_xor Perl_pp_bit_xor
+#define Perl_pp_bless CPerlObj::Perl_pp_bless
+#define pp_bless Perl_pp_bless
+#define Perl_pp_caller CPerlObj::Perl_pp_caller
+#define pp_caller Perl_pp_caller
+#define Perl_pp_chdir CPerlObj::Perl_pp_chdir
+#define pp_chdir Perl_pp_chdir
+#define Perl_pp_chmod CPerlObj::Perl_pp_chmod
+#define pp_chmod Perl_pp_chmod
+#define Perl_pp_chomp CPerlObj::Perl_pp_chomp
+#define pp_chomp Perl_pp_chomp
+#define Perl_pp_chop CPerlObj::Perl_pp_chop
+#define pp_chop Perl_pp_chop
+#define Perl_pp_chown CPerlObj::Perl_pp_chown
+#define pp_chown Perl_pp_chown
+#define Perl_pp_chr CPerlObj::Perl_pp_chr
+#define pp_chr Perl_pp_chr
+#define Perl_pp_chroot CPerlObj::Perl_pp_chroot
+#define pp_chroot Perl_pp_chroot
+#define Perl_pp_close CPerlObj::Perl_pp_close
+#define pp_close Perl_pp_close
+#define Perl_pp_closedir CPerlObj::Perl_pp_closedir
+#define pp_closedir Perl_pp_closedir
+#define Perl_pp_complement CPerlObj::Perl_pp_complement
+#define pp_complement Perl_pp_complement
+#define Perl_pp_concat CPerlObj::Perl_pp_concat
+#define pp_concat Perl_pp_concat
+#define Perl_pp_cond_expr CPerlObj::Perl_pp_cond_expr
+#define pp_cond_expr Perl_pp_cond_expr
+#define Perl_pp_connect CPerlObj::Perl_pp_connect
+#define pp_connect Perl_pp_connect
+#define Perl_pp_const CPerlObj::Perl_pp_const
+#define pp_const Perl_pp_const
+#define Perl_pp_cos CPerlObj::Perl_pp_cos
+#define pp_cos Perl_pp_cos
+#define Perl_pp_crypt CPerlObj::Perl_pp_crypt
+#define pp_crypt Perl_pp_crypt
+#define Perl_pp_dbmclose CPerlObj::Perl_pp_dbmclose
+#define pp_dbmclose Perl_pp_dbmclose
+#define Perl_pp_dbmopen CPerlObj::Perl_pp_dbmopen
+#define pp_dbmopen Perl_pp_dbmopen
+#define Perl_pp_dbstate CPerlObj::Perl_pp_dbstate
+#define pp_dbstate Perl_pp_dbstate
+#define Perl_pp_defined CPerlObj::Perl_pp_defined
+#define pp_defined Perl_pp_defined
+#define Perl_pp_delete CPerlObj::Perl_pp_delete
+#define pp_delete Perl_pp_delete
+#define Perl_pp_die CPerlObj::Perl_pp_die
+#define pp_die Perl_pp_die
+#define Perl_pp_divide CPerlObj::Perl_pp_divide
+#define pp_divide Perl_pp_divide
+#define Perl_pp_dofile CPerlObj::Perl_pp_dofile
+#define pp_dofile Perl_pp_dofile
+#define Perl_pp_dump CPerlObj::Perl_pp_dump
+#define pp_dump Perl_pp_dump
+#define Perl_pp_each CPerlObj::Perl_pp_each
+#define pp_each Perl_pp_each
+#define Perl_pp_egrent CPerlObj::Perl_pp_egrent
+#define pp_egrent Perl_pp_egrent
+#define Perl_pp_ehostent CPerlObj::Perl_pp_ehostent
+#define pp_ehostent Perl_pp_ehostent
+#define Perl_pp_enetent CPerlObj::Perl_pp_enetent
+#define pp_enetent Perl_pp_enetent
+#define Perl_pp_enter CPerlObj::Perl_pp_enter
+#define pp_enter Perl_pp_enter
+#define Perl_pp_entereval CPerlObj::Perl_pp_entereval
+#define pp_entereval Perl_pp_entereval
+#define Perl_pp_enteriter CPerlObj::Perl_pp_enteriter
+#define pp_enteriter Perl_pp_enteriter
+#define Perl_pp_enterloop CPerlObj::Perl_pp_enterloop
+#define pp_enterloop Perl_pp_enterloop
+#define Perl_pp_entersub CPerlObj::Perl_pp_entersub
+#define pp_entersub Perl_pp_entersub
+#define Perl_pp_entertry CPerlObj::Perl_pp_entertry
+#define pp_entertry Perl_pp_entertry
+#define Perl_pp_enterwrite CPerlObj::Perl_pp_enterwrite
+#define pp_enterwrite Perl_pp_enterwrite
+#define Perl_pp_eof CPerlObj::Perl_pp_eof
+#define pp_eof Perl_pp_eof
+#define Perl_pp_eprotoent CPerlObj::Perl_pp_eprotoent
+#define pp_eprotoent Perl_pp_eprotoent
+#define Perl_pp_epwent CPerlObj::Perl_pp_epwent
+#define pp_epwent Perl_pp_epwent
+#define Perl_pp_eq CPerlObj::Perl_pp_eq
+#define pp_eq Perl_pp_eq
+#define Perl_pp_eservent CPerlObj::Perl_pp_eservent
+#define pp_eservent Perl_pp_eservent
+#define Perl_pp_exec CPerlObj::Perl_pp_exec
+#define pp_exec Perl_pp_exec
+#define Perl_pp_exists CPerlObj::Perl_pp_exists
+#define pp_exists Perl_pp_exists
+#define Perl_pp_exit CPerlObj::Perl_pp_exit
+#define pp_exit Perl_pp_exit
+#define Perl_pp_exp CPerlObj::Perl_pp_exp
+#define pp_exp Perl_pp_exp
+#define Perl_pp_fcntl CPerlObj::Perl_pp_fcntl
+#define pp_fcntl Perl_pp_fcntl
+#define Perl_pp_fileno CPerlObj::Perl_pp_fileno
+#define pp_fileno Perl_pp_fileno
+#define Perl_pp_flip CPerlObj::Perl_pp_flip
+#define pp_flip Perl_pp_flip
+#define Perl_pp_flock CPerlObj::Perl_pp_flock
+#define pp_flock Perl_pp_flock
+#define Perl_pp_flop CPerlObj::Perl_pp_flop
+#define pp_flop Perl_pp_flop
+#define Perl_pp_fork CPerlObj::Perl_pp_fork
+#define pp_fork Perl_pp_fork
+#define Perl_pp_formline CPerlObj::Perl_pp_formline
+#define pp_formline Perl_pp_formline
+#define Perl_pp_ftatime CPerlObj::Perl_pp_ftatime
+#define pp_ftatime Perl_pp_ftatime
+#define Perl_pp_ftbinary CPerlObj::Perl_pp_ftbinary
+#define pp_ftbinary Perl_pp_ftbinary
+#define Perl_pp_ftblk CPerlObj::Perl_pp_ftblk
+#define pp_ftblk Perl_pp_ftblk
+#define Perl_pp_ftchr CPerlObj::Perl_pp_ftchr
+#define pp_ftchr Perl_pp_ftchr
+#define Perl_pp_ftctime CPerlObj::Perl_pp_ftctime
+#define pp_ftctime Perl_pp_ftctime
+#define Perl_pp_ftdir CPerlObj::Perl_pp_ftdir
+#define pp_ftdir Perl_pp_ftdir
+#define Perl_pp_fteexec CPerlObj::Perl_pp_fteexec
+#define pp_fteexec Perl_pp_fteexec
+#define Perl_pp_fteowned CPerlObj::Perl_pp_fteowned
+#define pp_fteowned Perl_pp_fteowned
+#define Perl_pp_fteread CPerlObj::Perl_pp_fteread
+#define pp_fteread Perl_pp_fteread
+#define Perl_pp_ftewrite CPerlObj::Perl_pp_ftewrite
+#define pp_ftewrite Perl_pp_ftewrite
+#define Perl_pp_ftfile CPerlObj::Perl_pp_ftfile
+#define pp_ftfile Perl_pp_ftfile
+#define Perl_pp_ftis CPerlObj::Perl_pp_ftis
+#define pp_ftis Perl_pp_ftis
+#define Perl_pp_ftlink CPerlObj::Perl_pp_ftlink
+#define pp_ftlink Perl_pp_ftlink
+#define Perl_pp_ftmtime CPerlObj::Perl_pp_ftmtime
+#define pp_ftmtime Perl_pp_ftmtime
+#define Perl_pp_ftpipe CPerlObj::Perl_pp_ftpipe
+#define pp_ftpipe Perl_pp_ftpipe
+#define Perl_pp_ftrexec CPerlObj::Perl_pp_ftrexec
+#define pp_ftrexec Perl_pp_ftrexec
+#define Perl_pp_ftrowned CPerlObj::Perl_pp_ftrowned
+#define pp_ftrowned Perl_pp_ftrowned
+#define Perl_pp_ftrread CPerlObj::Perl_pp_ftrread
+#define pp_ftrread Perl_pp_ftrread
+#define Perl_pp_ftrwrite CPerlObj::Perl_pp_ftrwrite
+#define pp_ftrwrite Perl_pp_ftrwrite
+#define Perl_pp_ftsgid CPerlObj::Perl_pp_ftsgid
+#define pp_ftsgid Perl_pp_ftsgid
+#define Perl_pp_ftsize CPerlObj::Perl_pp_ftsize
+#define pp_ftsize Perl_pp_ftsize
+#define Perl_pp_ftsock CPerlObj::Perl_pp_ftsock
+#define pp_ftsock Perl_pp_ftsock
+#define Perl_pp_ftsuid CPerlObj::Perl_pp_ftsuid
+#define pp_ftsuid Perl_pp_ftsuid
+#define Perl_pp_ftsvtx CPerlObj::Perl_pp_ftsvtx
+#define pp_ftsvtx Perl_pp_ftsvtx
+#define Perl_pp_fttext CPerlObj::Perl_pp_fttext
+#define pp_fttext Perl_pp_fttext
+#define Perl_pp_fttty CPerlObj::Perl_pp_fttty
+#define pp_fttty Perl_pp_fttty
+#define Perl_pp_ftzero CPerlObj::Perl_pp_ftzero
+#define pp_ftzero Perl_pp_ftzero
+#define Perl_pp_ge CPerlObj::Perl_pp_ge
+#define pp_ge Perl_pp_ge
+#define Perl_pp_gelem CPerlObj::Perl_pp_gelem
+#define pp_gelem Perl_pp_gelem
+#define Perl_pp_getc CPerlObj::Perl_pp_getc
+#define pp_getc Perl_pp_getc
+#define Perl_pp_getlogin CPerlObj::Perl_pp_getlogin
+#define pp_getlogin Perl_pp_getlogin
+#define Perl_pp_getpeername CPerlObj::Perl_pp_getpeername
+#define pp_getpeername Perl_pp_getpeername
+#define Perl_pp_getpgrp CPerlObj::Perl_pp_getpgrp
+#define pp_getpgrp Perl_pp_getpgrp
+#define Perl_pp_getppid CPerlObj::Perl_pp_getppid
+#define pp_getppid Perl_pp_getppid
+#define Perl_pp_getpriority CPerlObj::Perl_pp_getpriority
+#define pp_getpriority Perl_pp_getpriority
+#define Perl_pp_getsockname CPerlObj::Perl_pp_getsockname
+#define pp_getsockname Perl_pp_getsockname
+#define Perl_pp_ggrent CPerlObj::Perl_pp_ggrent
+#define pp_ggrent Perl_pp_ggrent
+#define Perl_pp_ggrgid CPerlObj::Perl_pp_ggrgid
+#define pp_ggrgid Perl_pp_ggrgid
+#define Perl_pp_ggrnam CPerlObj::Perl_pp_ggrnam
+#define pp_ggrnam Perl_pp_ggrnam
+#define Perl_pp_ghbyaddr CPerlObj::Perl_pp_ghbyaddr
+#define pp_ghbyaddr Perl_pp_ghbyaddr
+#define Perl_pp_ghbyname CPerlObj::Perl_pp_ghbyname
+#define pp_ghbyname Perl_pp_ghbyname
+#define Perl_pp_ghostent CPerlObj::Perl_pp_ghostent
+#define pp_ghostent Perl_pp_ghostent
+#define Perl_pp_glob CPerlObj::Perl_pp_glob
+#define pp_glob Perl_pp_glob
+#define Perl_pp_gmtime CPerlObj::Perl_pp_gmtime
+#define pp_gmtime Perl_pp_gmtime
+#define Perl_pp_gnbyaddr CPerlObj::Perl_pp_gnbyaddr
+#define pp_gnbyaddr Perl_pp_gnbyaddr
+#define Perl_pp_gnbyname CPerlObj::Perl_pp_gnbyname
+#define pp_gnbyname Perl_pp_gnbyname
+#define Perl_pp_gnetent CPerlObj::Perl_pp_gnetent
+#define pp_gnetent Perl_pp_gnetent
+#define Perl_pp_goto CPerlObj::Perl_pp_goto
+#define pp_goto Perl_pp_goto
+#define Perl_pp_gpbyname CPerlObj::Perl_pp_gpbyname
+#define pp_gpbyname Perl_pp_gpbyname
+#define Perl_pp_gpbynumber CPerlObj::Perl_pp_gpbynumber
+#define pp_gpbynumber Perl_pp_gpbynumber
+#define Perl_pp_gprotoent CPerlObj::Perl_pp_gprotoent
+#define pp_gprotoent Perl_pp_gprotoent
+#define Perl_pp_gpwent CPerlObj::Perl_pp_gpwent
+#define pp_gpwent Perl_pp_gpwent
+#define Perl_pp_gpwnam CPerlObj::Perl_pp_gpwnam
+#define pp_gpwnam Perl_pp_gpwnam
+#define Perl_pp_gpwuid CPerlObj::Perl_pp_gpwuid
+#define pp_gpwuid Perl_pp_gpwuid
+#define Perl_pp_grepstart CPerlObj::Perl_pp_grepstart
+#define pp_grepstart Perl_pp_grepstart
+#define Perl_pp_grepwhile CPerlObj::Perl_pp_grepwhile
+#define pp_grepwhile Perl_pp_grepwhile
+#define Perl_pp_gsbyname CPerlObj::Perl_pp_gsbyname
+#define pp_gsbyname Perl_pp_gsbyname
+#define Perl_pp_gsbyport CPerlObj::Perl_pp_gsbyport
+#define pp_gsbyport Perl_pp_gsbyport
+#define Perl_pp_gservent CPerlObj::Perl_pp_gservent
+#define pp_gservent Perl_pp_gservent
+#define Perl_pp_gsockopt CPerlObj::Perl_pp_gsockopt
+#define pp_gsockopt Perl_pp_gsockopt
+#define Perl_pp_gt CPerlObj::Perl_pp_gt
+#define pp_gt Perl_pp_gt
+#define Perl_pp_gv CPerlObj::Perl_pp_gv
+#define pp_gv Perl_pp_gv
+#define Perl_pp_gvsv CPerlObj::Perl_pp_gvsv
+#define pp_gvsv Perl_pp_gvsv
+#define Perl_pp_helem CPerlObj::Perl_pp_helem
+#define pp_helem Perl_pp_helem
+#define Perl_pp_hex CPerlObj::Perl_pp_hex
+#define pp_hex Perl_pp_hex
+#define Perl_pp_hslice CPerlObj::Perl_pp_hslice
+#define pp_hslice Perl_pp_hslice
+#define Perl_pp_i_add CPerlObj::Perl_pp_i_add
+#define pp_i_add Perl_pp_i_add
+#define Perl_pp_i_divide CPerlObj::Perl_pp_i_divide
+#define pp_i_divide Perl_pp_i_divide
+#define Perl_pp_i_eq CPerlObj::Perl_pp_i_eq
+#define pp_i_eq Perl_pp_i_eq
+#define Perl_pp_i_ge CPerlObj::Perl_pp_i_ge
+#define pp_i_ge Perl_pp_i_ge
+#define Perl_pp_i_gt CPerlObj::Perl_pp_i_gt
+#define pp_i_gt Perl_pp_i_gt
+#define Perl_pp_i_le CPerlObj::Perl_pp_i_le
+#define pp_i_le Perl_pp_i_le
+#define Perl_pp_i_lt CPerlObj::Perl_pp_i_lt
+#define pp_i_lt Perl_pp_i_lt
+#define Perl_pp_i_modulo CPerlObj::Perl_pp_i_modulo
+#define pp_i_modulo Perl_pp_i_modulo
+#define Perl_pp_i_multiply CPerlObj::Perl_pp_i_multiply
+#define pp_i_multiply Perl_pp_i_multiply
+#define Perl_pp_i_ncmp CPerlObj::Perl_pp_i_ncmp
+#define pp_i_ncmp Perl_pp_i_ncmp
+#define Perl_pp_i_ne CPerlObj::Perl_pp_i_ne
+#define pp_i_ne Perl_pp_i_ne
+#define Perl_pp_i_negate CPerlObj::Perl_pp_i_negate
+#define pp_i_negate Perl_pp_i_negate
+#define Perl_pp_i_subtract CPerlObj::Perl_pp_i_subtract
+#define pp_i_subtract Perl_pp_i_subtract
+#define Perl_pp_index CPerlObj::Perl_pp_index
+#define pp_index Perl_pp_index
+#define Perl_pp_int CPerlObj::Perl_pp_int
+#define pp_int Perl_pp_int
+#define Perl_pp_ioctl CPerlObj::Perl_pp_ioctl
+#define pp_ioctl Perl_pp_ioctl
+#define Perl_pp_iter CPerlObj::Perl_pp_iter
+#define pp_iter Perl_pp_iter
+#define Perl_pp_join CPerlObj::Perl_pp_join
+#define pp_join Perl_pp_join
+#define Perl_pp_keys CPerlObj::Perl_pp_keys
+#define pp_keys Perl_pp_keys
+#define Perl_pp_kill CPerlObj::Perl_pp_kill
+#define pp_kill Perl_pp_kill
+#define Perl_pp_last CPerlObj::Perl_pp_last
+#define pp_last Perl_pp_last
+#define Perl_pp_lc CPerlObj::Perl_pp_lc
+#define pp_lc Perl_pp_lc
+#define Perl_pp_lcfirst CPerlObj::Perl_pp_lcfirst
+#define pp_lcfirst Perl_pp_lcfirst
+#define Perl_pp_le CPerlObj::Perl_pp_le
+#define pp_le Perl_pp_le
+#define Perl_pp_leave CPerlObj::Perl_pp_leave
+#define pp_leave Perl_pp_leave
+#define Perl_pp_leaveeval CPerlObj::Perl_pp_leaveeval
+#define pp_leaveeval Perl_pp_leaveeval
+#define Perl_pp_leaveloop CPerlObj::Perl_pp_leaveloop
+#define pp_leaveloop Perl_pp_leaveloop
+#define Perl_pp_leavesub CPerlObj::Perl_pp_leavesub
+#define pp_leavesub Perl_pp_leavesub
+#define Perl_pp_leavetry CPerlObj::Perl_pp_leavetry
+#define pp_leavetry Perl_pp_leavetry
+#define Perl_pp_leavewrite CPerlObj::Perl_pp_leavewrite
+#define pp_leavewrite Perl_pp_leavewrite
+#define Perl_pp_left_shift CPerlObj::Perl_pp_left_shift
+#define pp_left_shift Perl_pp_left_shift
+#define Perl_pp_length CPerlObj::Perl_pp_length
+#define pp_length Perl_pp_length
+#define Perl_pp_lineseq CPerlObj::Perl_pp_lineseq
+#define pp_lineseq Perl_pp_lineseq
+#define Perl_pp_link CPerlObj::Perl_pp_link
+#define pp_link Perl_pp_link
+#define Perl_pp_list CPerlObj::Perl_pp_list
+#define pp_list Perl_pp_list
+#define Perl_pp_listen CPerlObj::Perl_pp_listen
+#define pp_listen Perl_pp_listen
+#define Perl_pp_localtime CPerlObj::Perl_pp_localtime
+#define pp_localtime Perl_pp_localtime
+#define Perl_pp_lock CPerlObj::Perl_pp_lock
+#define pp_lock Perl_pp_lock
+#define Perl_pp_log CPerlObj::Perl_pp_log
+#define pp_log Perl_pp_log
+#define Perl_pp_lslice CPerlObj::Perl_pp_lslice
+#define pp_lslice Perl_pp_lslice
+#define Perl_pp_lstat CPerlObj::Perl_pp_lstat
+#define pp_lstat Perl_pp_lstat
+#define Perl_pp_lt CPerlObj::Perl_pp_lt
+#define pp_lt Perl_pp_lt
+#define Perl_pp_mapstart CPerlObj::Perl_pp_mapstart
+#define pp_mapstart Perl_pp_mapstart
+#define Perl_pp_mapwhile CPerlObj::Perl_pp_mapwhile
+#define pp_mapwhile Perl_pp_mapwhile
+#define Perl_pp_match CPerlObj::Perl_pp_match
+#define pp_match Perl_pp_match
+#define Perl_pp_method CPerlObj::Perl_pp_method
+#define pp_method Perl_pp_method
+#define Perl_pp_mkdir CPerlObj::Perl_pp_mkdir
+#define pp_mkdir Perl_pp_mkdir
+#define Perl_pp_modulo CPerlObj::Perl_pp_modulo
+#define pp_modulo Perl_pp_modulo
+#define Perl_pp_msgctl CPerlObj::Perl_pp_msgctl
+#define pp_msgctl Perl_pp_msgctl
+#define Perl_pp_msgget CPerlObj::Perl_pp_msgget
+#define pp_msgget Perl_pp_msgget
+#define Perl_pp_msgrcv CPerlObj::Perl_pp_msgrcv
+#define pp_msgrcv Perl_pp_msgrcv
+#define Perl_pp_msgsnd CPerlObj::Perl_pp_msgsnd
+#define pp_msgsnd Perl_pp_msgsnd
+#define Perl_pp_multiply CPerlObj::Perl_pp_multiply
+#define pp_multiply Perl_pp_multiply
+#define Perl_pp_ncmp CPerlObj::Perl_pp_ncmp
+#define pp_ncmp Perl_pp_ncmp
+#define Perl_pp_ne CPerlObj::Perl_pp_ne
+#define pp_ne Perl_pp_ne
+#define Perl_pp_negate CPerlObj::Perl_pp_negate
+#define pp_negate Perl_pp_negate
+#define Perl_pp_next CPerlObj::Perl_pp_next
+#define pp_next Perl_pp_next
+#define Perl_pp_nextstate CPerlObj::Perl_pp_nextstate
+#define pp_nextstate Perl_pp_nextstate
+#define Perl_pp_not CPerlObj::Perl_pp_not
+#define pp_not Perl_pp_not
+#define Perl_pp_null CPerlObj::Perl_pp_null
+#define pp_null Perl_pp_null
+#define Perl_pp_oct CPerlObj::Perl_pp_oct
+#define pp_oct Perl_pp_oct
+#define Perl_pp_open CPerlObj::Perl_pp_open
+#define pp_open Perl_pp_open
+#define Perl_pp_open_dir CPerlObj::Perl_pp_open_dir
+#define pp_open_dir Perl_pp_open_dir
+#define Perl_pp_or CPerlObj::Perl_pp_or
+#define pp_or Perl_pp_or
+#define Perl_pp_orassign CPerlObj::Perl_pp_orassign
+#define pp_orassign Perl_pp_orassign
+#define Perl_pp_ord CPerlObj::Perl_pp_ord
+#define pp_ord Perl_pp_ord
+#define Perl_pp_pack CPerlObj::Perl_pp_pack
+#define pp_pack Perl_pp_pack
+#define Perl_pp_padany CPerlObj::Perl_pp_padany
+#define pp_padany Perl_pp_padany
+#define Perl_pp_padav CPerlObj::Perl_pp_padav
+#define pp_padav Perl_pp_padav
+#define Perl_pp_padhv CPerlObj::Perl_pp_padhv
+#define pp_padhv Perl_pp_padhv
+#define Perl_pp_padsv CPerlObj::Perl_pp_padsv
+#define pp_padsv Perl_pp_padsv
+#define Perl_pp_pipe_op CPerlObj::Perl_pp_pipe_op
+#define pp_pipe_op Perl_pp_pipe_op
+#define Perl_pp_pop CPerlObj::Perl_pp_pop
+#define pp_pop Perl_pp_pop
+#define Perl_pp_pos CPerlObj::Perl_pp_pos
+#define pp_pos Perl_pp_pos
+#define Perl_pp_postdec CPerlObj::Perl_pp_postdec
+#define pp_postdec Perl_pp_postdec
+#define Perl_pp_postinc CPerlObj::Perl_pp_postinc
+#define pp_postinc Perl_pp_postinc
+#define Perl_pp_pow CPerlObj::Perl_pp_pow
+#define pp_pow Perl_pp_pow
+#define Perl_pp_predec CPerlObj::Perl_pp_predec
+#define pp_predec Perl_pp_predec
+#define Perl_pp_preinc CPerlObj::Perl_pp_preinc
+#define pp_preinc Perl_pp_preinc
+#define Perl_pp_print CPerlObj::Perl_pp_print
+#define pp_print Perl_pp_print
+#define Perl_pp_prototype CPerlObj::Perl_pp_prototype
+#define pp_prototype Perl_pp_prototype
+#define Perl_pp_prtf CPerlObj::Perl_pp_prtf
+#define pp_prtf Perl_pp_prtf
+#define Perl_pp_push CPerlObj::Perl_pp_push
+#define pp_push Perl_pp_push
+#define Perl_pp_pushmark CPerlObj::Perl_pp_pushmark
+#define pp_pushmark Perl_pp_pushmark
+#define Perl_pp_pushre CPerlObj::Perl_pp_pushre
+#define pp_pushre Perl_pp_pushre
+#define Perl_pp_qr CPerlObj::Perl_pp_qr
+#define pp_qr Perl_pp_qr
+#define Perl_pp_quotemeta CPerlObj::Perl_pp_quotemeta
+#define pp_quotemeta Perl_pp_quotemeta
+#define Perl_pp_rand CPerlObj::Perl_pp_rand
+#define pp_rand Perl_pp_rand
+#define Perl_pp_range CPerlObj::Perl_pp_range
+#define pp_range Perl_pp_range
+#define Perl_pp_rcatline CPerlObj::Perl_pp_rcatline
+#define pp_rcatline Perl_pp_rcatline
+#define Perl_pp_read CPerlObj::Perl_pp_read
+#define pp_read Perl_pp_read
+#define Perl_pp_readdir CPerlObj::Perl_pp_readdir
+#define pp_readdir Perl_pp_readdir
+#define Perl_pp_readline CPerlObj::Perl_pp_readline
+#define pp_readline Perl_pp_readline
+#define Perl_pp_readlink CPerlObj::Perl_pp_readlink
+#define pp_readlink Perl_pp_readlink
+#define Perl_pp_recv CPerlObj::Perl_pp_recv
+#define pp_recv Perl_pp_recv
+#define Perl_pp_redo CPerlObj::Perl_pp_redo
+#define pp_redo Perl_pp_redo
+#define Perl_pp_ref CPerlObj::Perl_pp_ref
+#define pp_ref Perl_pp_ref
+#define Perl_pp_refgen CPerlObj::Perl_pp_refgen
+#define pp_refgen Perl_pp_refgen
+#define Perl_pp_regcmaybe CPerlObj::Perl_pp_regcmaybe
+#define pp_regcmaybe Perl_pp_regcmaybe
+#define Perl_pp_regcomp CPerlObj::Perl_pp_regcomp
+#define pp_regcomp Perl_pp_regcomp
+#define Perl_pp_regcreset CPerlObj::Perl_pp_regcreset
+#define pp_regcreset Perl_pp_regcreset
+#define Perl_pp_rename CPerlObj::Perl_pp_rename
+#define pp_rename Perl_pp_rename
+#define Perl_pp_repeat CPerlObj::Perl_pp_repeat
+#define pp_repeat Perl_pp_repeat
+#define Perl_pp_require CPerlObj::Perl_pp_require
+#define pp_require Perl_pp_require
+#define Perl_pp_reset CPerlObj::Perl_pp_reset
+#define pp_reset Perl_pp_reset
+#define Perl_pp_return CPerlObj::Perl_pp_return
+#define pp_return Perl_pp_return
+#define Perl_pp_reverse CPerlObj::Perl_pp_reverse
+#define pp_reverse Perl_pp_reverse
+#define Perl_pp_rewinddir CPerlObj::Perl_pp_rewinddir
+#define pp_rewinddir Perl_pp_rewinddir
+#define Perl_pp_right_shift CPerlObj::Perl_pp_right_shift
+#define pp_right_shift Perl_pp_right_shift
+#define Perl_pp_rindex CPerlObj::Perl_pp_rindex
+#define pp_rindex Perl_pp_rindex
+#define Perl_pp_rmdir CPerlObj::Perl_pp_rmdir
+#define pp_rmdir Perl_pp_rmdir
+#define Perl_pp_rv2av CPerlObj::Perl_pp_rv2av
+#define pp_rv2av Perl_pp_rv2av
+#define Perl_pp_rv2cv CPerlObj::Perl_pp_rv2cv
+#define pp_rv2cv Perl_pp_rv2cv
+#define Perl_pp_rv2gv CPerlObj::Perl_pp_rv2gv
+#define pp_rv2gv Perl_pp_rv2gv
+#define Perl_pp_rv2hv CPerlObj::Perl_pp_rv2hv
+#define pp_rv2hv Perl_pp_rv2hv
+#define Perl_pp_rv2sv CPerlObj::Perl_pp_rv2sv
+#define pp_rv2sv Perl_pp_rv2sv
+#define Perl_pp_sassign CPerlObj::Perl_pp_sassign
+#define pp_sassign Perl_pp_sassign
+#define Perl_pp_scalar CPerlObj::Perl_pp_scalar
+#define pp_scalar Perl_pp_scalar
+#define Perl_pp_schomp CPerlObj::Perl_pp_schomp
+#define pp_schomp Perl_pp_schomp
+#define Perl_pp_schop CPerlObj::Perl_pp_schop
+#define pp_schop Perl_pp_schop
+#define Perl_pp_scmp CPerlObj::Perl_pp_scmp
+#define pp_scmp Perl_pp_scmp
+#define Perl_pp_scope CPerlObj::Perl_pp_scope
+#define pp_scope Perl_pp_scope
+#define Perl_pp_seek CPerlObj::Perl_pp_seek
+#define pp_seek Perl_pp_seek
+#define Perl_pp_seekdir CPerlObj::Perl_pp_seekdir
+#define pp_seekdir Perl_pp_seekdir
+#define Perl_pp_select CPerlObj::Perl_pp_select
+#define pp_select Perl_pp_select
+#define Perl_pp_semctl CPerlObj::Perl_pp_semctl
+#define pp_semctl Perl_pp_semctl
+#define Perl_pp_semget CPerlObj::Perl_pp_semget
+#define pp_semget Perl_pp_semget
+#define Perl_pp_semop CPerlObj::Perl_pp_semop
+#define pp_semop Perl_pp_semop
+#define Perl_pp_send CPerlObj::Perl_pp_send
+#define pp_send Perl_pp_send
+#define Perl_pp_seq CPerlObj::Perl_pp_seq
+#define pp_seq Perl_pp_seq
+#define Perl_pp_setpgrp CPerlObj::Perl_pp_setpgrp
+#define pp_setpgrp Perl_pp_setpgrp
+#define Perl_pp_setpriority CPerlObj::Perl_pp_setpriority
+#define pp_setpriority Perl_pp_setpriority
+#define Perl_pp_sge CPerlObj::Perl_pp_sge
+#define pp_sge Perl_pp_sge
+#define Perl_pp_sgrent CPerlObj::Perl_pp_sgrent
+#define pp_sgrent Perl_pp_sgrent
+#define Perl_pp_sgt CPerlObj::Perl_pp_sgt
+#define pp_sgt Perl_pp_sgt
+#define Perl_pp_shift CPerlObj::Perl_pp_shift
+#define pp_shift Perl_pp_shift
+#define Perl_pp_shmctl CPerlObj::Perl_pp_shmctl
+#define pp_shmctl Perl_pp_shmctl
+#define Perl_pp_shmget CPerlObj::Perl_pp_shmget
+#define pp_shmget Perl_pp_shmget
+#define Perl_pp_shmread CPerlObj::Perl_pp_shmread
+#define pp_shmread Perl_pp_shmread
+#define Perl_pp_shmwrite CPerlObj::Perl_pp_shmwrite
+#define pp_shmwrite Perl_pp_shmwrite
+#define Perl_pp_shostent CPerlObj::Perl_pp_shostent
+#define pp_shostent Perl_pp_shostent
+#define Perl_pp_shutdown CPerlObj::Perl_pp_shutdown
+#define pp_shutdown Perl_pp_shutdown
+#define Perl_pp_sin CPerlObj::Perl_pp_sin
+#define pp_sin Perl_pp_sin
+#define Perl_pp_sle CPerlObj::Perl_pp_sle
+#define pp_sle Perl_pp_sle
+#define Perl_pp_sleep CPerlObj::Perl_pp_sleep
+#define pp_sleep Perl_pp_sleep
+#define Perl_pp_slt CPerlObj::Perl_pp_slt
+#define pp_slt Perl_pp_slt
+#define Perl_pp_sne CPerlObj::Perl_pp_sne
+#define pp_sne Perl_pp_sne
+#define Perl_pp_snetent CPerlObj::Perl_pp_snetent
+#define pp_snetent Perl_pp_snetent
+#define Perl_pp_socket CPerlObj::Perl_pp_socket
+#define pp_socket Perl_pp_socket
+#define Perl_pp_sockpair CPerlObj::Perl_pp_sockpair
+#define pp_sockpair Perl_pp_sockpair
+#define Perl_pp_sort CPerlObj::Perl_pp_sort
+#define pp_sort Perl_pp_sort
+#define Perl_pp_splice CPerlObj::Perl_pp_splice
+#define pp_splice Perl_pp_splice
+#define Perl_pp_split CPerlObj::Perl_pp_split
+#define pp_split Perl_pp_split
+#define Perl_pp_sprintf CPerlObj::Perl_pp_sprintf
+#define pp_sprintf Perl_pp_sprintf
+#define Perl_pp_sprotoent CPerlObj::Perl_pp_sprotoent
+#define pp_sprotoent Perl_pp_sprotoent
+#define Perl_pp_spwent CPerlObj::Perl_pp_spwent
+#define pp_spwent Perl_pp_spwent
+#define Perl_pp_sqrt CPerlObj::Perl_pp_sqrt
+#define pp_sqrt Perl_pp_sqrt
+#define Perl_pp_srand CPerlObj::Perl_pp_srand
+#define pp_srand Perl_pp_srand
+#define Perl_pp_srefgen CPerlObj::Perl_pp_srefgen
+#define pp_srefgen Perl_pp_srefgen
+#define Perl_pp_sselect CPerlObj::Perl_pp_sselect
+#define pp_sselect Perl_pp_sselect
+#define Perl_pp_sservent CPerlObj::Perl_pp_sservent
+#define pp_sservent Perl_pp_sservent
+#define Perl_pp_ssockopt CPerlObj::Perl_pp_ssockopt
+#define pp_ssockopt Perl_pp_ssockopt
+#define Perl_pp_stat CPerlObj::Perl_pp_stat
+#define pp_stat Perl_pp_stat
+#define Perl_pp_stringify CPerlObj::Perl_pp_stringify
+#define pp_stringify Perl_pp_stringify
+#define Perl_pp_stub CPerlObj::Perl_pp_stub
+#define pp_stub Perl_pp_stub
+#define Perl_pp_study CPerlObj::Perl_pp_study
+#define pp_study Perl_pp_study
+#define Perl_pp_subst CPerlObj::Perl_pp_subst
+#define pp_subst Perl_pp_subst
+#define Perl_pp_substcont CPerlObj::Perl_pp_substcont
+#define pp_substcont Perl_pp_substcont
+#define Perl_pp_substr CPerlObj::Perl_pp_substr
+#define pp_substr Perl_pp_substr
+#define Perl_pp_subtract CPerlObj::Perl_pp_subtract
+#define pp_subtract Perl_pp_subtract
+#define Perl_pp_symlink CPerlObj::Perl_pp_symlink
+#define pp_symlink Perl_pp_symlink
+#define Perl_pp_syscall CPerlObj::Perl_pp_syscall
+#define pp_syscall Perl_pp_syscall
+#define Perl_pp_sysopen CPerlObj::Perl_pp_sysopen
+#define pp_sysopen Perl_pp_sysopen
+#define Perl_pp_sysread CPerlObj::Perl_pp_sysread
+#define pp_sysread Perl_pp_sysread
+#define Perl_pp_sysseek CPerlObj::Perl_pp_sysseek
+#define pp_sysseek Perl_pp_sysseek
+#define Perl_pp_system CPerlObj::Perl_pp_system
+#define pp_system Perl_pp_system
+#define Perl_pp_syswrite CPerlObj::Perl_pp_syswrite
+#define pp_syswrite Perl_pp_syswrite
+#define Perl_pp_tell CPerlObj::Perl_pp_tell
+#define pp_tell Perl_pp_tell
+#define Perl_pp_telldir CPerlObj::Perl_pp_telldir
+#define pp_telldir Perl_pp_telldir
+#define Perl_pp_threadsv CPerlObj::Perl_pp_threadsv
+#define pp_threadsv Perl_pp_threadsv
+#define Perl_pp_tie CPerlObj::Perl_pp_tie
+#define pp_tie Perl_pp_tie
+#define Perl_pp_tied CPerlObj::Perl_pp_tied
+#define pp_tied Perl_pp_tied
+#define Perl_pp_time CPerlObj::Perl_pp_time
+#define pp_time Perl_pp_time
+#define Perl_pp_tms CPerlObj::Perl_pp_tms
+#define pp_tms Perl_pp_tms
+#define Perl_pp_trans CPerlObj::Perl_pp_trans
+#define pp_trans Perl_pp_trans
+#define Perl_pp_truncate CPerlObj::Perl_pp_truncate
+#define pp_truncate Perl_pp_truncate
+#define Perl_pp_uc CPerlObj::Perl_pp_uc
+#define pp_uc Perl_pp_uc
+#define Perl_pp_ucfirst CPerlObj::Perl_pp_ucfirst
+#define pp_ucfirst Perl_pp_ucfirst
+#define Perl_pp_umask CPerlObj::Perl_pp_umask
+#define pp_umask Perl_pp_umask
+#define Perl_pp_undef CPerlObj::Perl_pp_undef
+#define pp_undef Perl_pp_undef
+#define Perl_pp_unlink CPerlObj::Perl_pp_unlink
+#define pp_unlink Perl_pp_unlink
+#define Perl_pp_unpack CPerlObj::Perl_pp_unpack
+#define pp_unpack Perl_pp_unpack
+#define Perl_pp_unshift CPerlObj::Perl_pp_unshift
+#define pp_unshift Perl_pp_unshift
+#define Perl_pp_unstack CPerlObj::Perl_pp_unstack
+#define pp_unstack Perl_pp_unstack
+#define Perl_pp_untie CPerlObj::Perl_pp_untie
+#define pp_untie Perl_pp_untie
+#define Perl_pp_utime CPerlObj::Perl_pp_utime
+#define pp_utime Perl_pp_utime
+#define Perl_pp_values CPerlObj::Perl_pp_values
+#define pp_values Perl_pp_values
+#define Perl_pp_vec CPerlObj::Perl_pp_vec
+#define pp_vec Perl_pp_vec
+#define Perl_pp_wait CPerlObj::Perl_pp_wait
+#define pp_wait Perl_pp_wait
+#define Perl_pp_waitpid CPerlObj::Perl_pp_waitpid
+#define pp_waitpid Perl_pp_waitpid
+#define Perl_pp_wantarray CPerlObj::Perl_pp_wantarray
+#define pp_wantarray Perl_pp_wantarray
+#define Perl_pp_warn CPerlObj::Perl_pp_warn
+#define pp_warn Perl_pp_warn
+#define Perl_pp_xor CPerlObj::Perl_pp_xor
+#define pp_xor Perl_pp_xor
#endif /* PERL_OBJECT */
diff --git a/embed.pl b/embed.pl
index 68167401b4..d96158ee06 100755
--- a/embed.pl
+++ b/embed.pl
@@ -100,11 +100,14 @@ sub munge_c_files () {
#munge_c_files();
# generate proto.h
+my $wrote_protected = 0;
+
sub write_protos {
my $ret = "";
if (@_ == 1) {
my $arg = shift;
- $ret .= "$arg\n" if $arg =~ /^#\s*(if|ifdef|else|endif)\b/;
+ $ret .= "$arg\n" if $arg =~ /^#\s*(if|ifdef|else|endif)\b/
+ or $arg =~ /^\s*(public|protected|private):/;
}
else {
my ($flags,$retval,$func,@args) = @_;
@@ -112,8 +115,11 @@ sub write_protos {
$retval = "STATIC $retval";
$func = "S_$func";
}
- elsif ($flags =~ /p/) {
- $func = "Perl_$func";
+ else {
+ $retval = "VIRTUAL $retval";
+ if ($flags =~ /p/) {
+ $func = "Perl_$func";
+ }
}
$ret .= "$retval\t$func(";
unless ($flags =~ /n/) {
@@ -388,13 +394,16 @@ walk_table {
}
else {
my ($flags,$retval,$func,@args) = @_;
- unless ($flags =~ /o/) {
- if ($flags =~ /s/) {
- $ret .= hide("S_$func","CPerlObj::$func");
- }
- elsif ($flags =~ /p/) {
- $ret .= hide("Perl_$func","CPerlObj::$func");
- }
+ if ($flags =~ /s/) {
+ $ret .= hide("S_$func","CPerlObj::S_$func");
+ $ret .= hide($func,"S_$func");
+ }
+ elsif ($flags =~ /p/) {
+ $ret .= hide("Perl_$func","CPerlObj::Perl_$func");
+ $ret .= hide($func,"Perl_$func");
+ }
+ else {
+ $ret .= hide($func,"CPerlObj::$func");
}
}
$ret;
@@ -402,7 +411,8 @@ walk_table {
for $sym (sort keys %ppsym) {
$sym =~ s/^Perl_//;
- print EM hide("Perl_$sym", "CPerlObj::$sym");
+ print EM hide("Perl_$sym", "CPerlObj::Perl_$sym");
+ print EM hide($sym, "Perl_$sym");
}
print EM <<'END';
@@ -684,8 +694,12 @@ walk_table {
}
else {
my ($flags,$retval,$func,@args) = @_;
- unless ($flags =~ /o/) {
+ unless ($flags =~ /s/) {
if ($flags =~ /p/) {
+ $ret .= undefine("Perl_$func") . hide("Perl_$func","pPerl->Perl_$func");
+ $ret .= undefine($func) . hide($func,"Perl_$func");
+ }
+ else {
$ret .= undefine($func) . hide($func,"pPerl->$func");
}
}
@@ -695,7 +709,8 @@ walk_table {
for $sym (sort keys %ppsym) {
$sym =~ s/^Perl_//;
- print OBX undefine($sym) . hide($sym, "pPerl->$sym");
+ print OBX undefine("Perl_$sym") . hide("Perl_$sym", "pPerl->Perl_$sym");
+ print OBX undefine($sym) . hide($sym, "Perl_$sym");
}
print OBX <<'EOT';
@@ -731,6 +746,9 @@ __END__
# may be autogenerated.
#
+#if defined(PERL_OBJECT)
+public:
+#endif
p |SV* |amagic_call |SV* left|SV* right|int method|int dir
p |bool |Gv_AMupdate |HV* stash
p |OP* |append_elem |I32 optype|OP* head|OP* tail
@@ -799,6 +817,7 @@ p |char** |get_op_descs
p |char** |get_op_names
p |char* |get_no_modify
p |U32* |get_opargs
+p |PPADDR_t*|get_ppaddr
p |I32 |cxinc
p |void |deb |const char* pat|...
p |void |deb_growlevel
@@ -1019,7 +1038,6 @@ p |int |magic_set_all_env|SV* sv|MAGIC* mg
p |U32 |magic_sizepack |SV* sv|MAGIC* mg
p |int |magic_wipepack |SV* sv|MAGIC* mg
p |void |magicname |char* sym|char* name|I32 namlen
-no |int |main |int argc|char** argv|char** env
#if defined(MYMALLOC)
np |MEM_SIZE|malloced_size |void *p
#endif
@@ -1141,17 +1159,29 @@ p |void |pad_free |PADOFFSET po
p |void |pad_reset
p |void |pad_swipe |PADOFFSET po
p |void |peep |OP* o
+#if defined(PERL_OBJECT)
+no |void |perl_construct
+no |void |perl_destruct
+no |void |perl_free
+no |int |perl_run
+no |int |perl_parse |XSINIT_t xsinit \
+ |int argc|char** argv|char** env
+#else
no |PerlInterpreter* |perl_alloc
+no |void |perl_construct |PerlInterpreter* sv_interp
+no |void |perl_destruct |PerlInterpreter* sv_interp
+no |void |perl_free |PerlInterpreter* sv_interp
+no |int |perl_run |PerlInterpreter* sv_interp
+no |int |perl_parse |PerlInterpreter* sv_interp|XSINIT_t xsinit \
+ |int argc|char** argv|char** env
+#endif
p |void |call_atexit |ATEXIT_t fn|void *ptr
p |I32 |call_argv |const char* sub_name|I32 flags|char** argv
p |I32 |call_method |const char* methname|I32 flags
p |I32 |call_pv |const char* sub_name|I32 flags
p |I32 |call_sv |SV* sv|I32 flags
-no |void |perl_construct |PerlInterpreter* sv_interp
-no |void |perl_destruct |PerlInterpreter* sv_interp
p |SV* |eval_pv |const char* p|I32 croak_on_error
p |I32 |eval_sv |SV* sv|I32 flags
-no |void |perl_free |PerlInterpreter* sv_interp
p |SV* |get_sv |const char* name|I32 create
p |AV* |get_av |const char* name|I32 create
p |HV* |get_hv |const char* name|I32 create
@@ -1164,10 +1194,7 @@ p |void |new_numeric |const char* newcoll
p |void |set_numeric_local
p |void |set_numeric_radix
p |void |set_numeric_standard
-no |int |perl_parse |PerlInterpreter* sv_interp|XSINIT_t xsinit \
- |int argc|char** argv|char** env
p |void |require_pv |const char* pv
-no |int |perl_run |PerlInterpreter* sv_interp
p |void |pidgone |int pid|int status
p |void |pmflag |U16* pmfl|int ch
p |OP* |pmruntime |OP* pm|OP* expr|OP* repl
@@ -1406,8 +1433,12 @@ p |int |runops_standard
p |int |runops_debug
#if defined(WIN32)
+#if defined(PERL_OBJECT)
+p |int& |ErrorNo
+#else
p |int* |ErrorNo
#endif
+#endif
p |void |sv_catpvf_mg |SV *sv|const char* pat|...
p |void |sv_catpv_mg |SV *sv|const char *ptr
p |void |sv_catpvn_mg |SV *sv|const char *ptr|STRLEN len
@@ -1444,11 +1475,14 @@ p |void |tmps_grow |I32 n
p |SV* |sv_rvweaken |SV *sv
p |int |magic_killbackrefs|SV *sv|MAGIC *mg
-#if defined(PERL_IN_AV_C)
+#if defined(PERL_OBJECT)
+protected:
+#endif
+#if defined(PERL_IN_AV_C) || defined(PERL_DECL_PROT)
s |I32 |avhv_index_sv |SV* sv
#endif
-#if defined(PERL_IN_DOOP_C)
+#if defined(PERL_IN_DOOP_C) || defined(PERL_DECL_PROT)
s |I32 |do_trans_CC_simple |SV *sv
s |I32 |do_trans_CC_count |SV *sv
s |I32 |do_trans_CC_complex |SV *sv
@@ -1461,11 +1495,11 @@ s |I32 |do_trans_UC_trivial |SV *sv
s |I32 |do_trans_CU_trivial |SV *sv
#endif
-#if defined(PERL_IN_GV_C)
+#if defined(PERL_IN_GV_C) || defined(PERL_DECL_PROT)
s |void |gv_init_sv |GV *gv|I32 sv_type
#endif
-#if defined(PERL_IN_HV_C)
+#if defined(PERL_IN_HV_C) || defined(PERL_DECL_PROT)
s |void |hsplit |HV *hv
s |void |hfreeentries |HV *hv
s |void |more_he
@@ -1475,7 +1509,7 @@ s |HEK* |save_hek |const char *str|I32 len|U32 hash
s |void |hv_magic_check |HV *hv|bool *needs_copy|bool *needs_store
#endif
-#if defined(PERL_IN_MG_C)
+#if defined(PERL_IN_MG_C) || defined(PERL_DECL_PROT)
s |void |save_magic |I32 mgs_ix|SV *sv
s |int |magic_methpack |SV *sv|MAGIC *mg|char *meth
s |int |magic_methcall |SV *sv|MAGIC *mg|char *meth|I32 f \
@@ -1484,7 +1518,7 @@ s |void |unwind_handler_stack |void *p
s |void |restore_magic |void *p
#endif
-#if defined(PERL_IN_OP_C)
+#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT)
s |I32 |list_assignment|OP *o
s |void |bad_type |I32 n|char *t|char *name|OP *kid
s |OP* |modkids |OP *o|I32 type
@@ -1508,7 +1542,7 @@ s |void* |Slab_Alloc |int m|size_t sz
# endif
#endif
-#if defined(PERL_IN_PERL_C)
+#if defined(PERL_IN_PERL_C) || defined(PERL_DECL_PROT)
s |void |find_beginning
s |void |forbid_setid |char *
s |void |incpush |char *|int
@@ -1525,7 +1559,6 @@ s |void |nuke_stacks
s |void |open_script |char *|bool|SV *|int *fd
s |void |usage |char *
s |void |validate_suid |char *|char*|int
-s |I32 |read_e_script |int idx|SV *buf_sv|int maxlen
# if defined(IAMSUID)
s |int |fd_on_nosuid_fs|int fd
# endif
@@ -1539,7 +1572,7 @@ s |struct perl_thread * |init_main_thread
# endif
#endif
-#if defined(PERL_IN_PP_C)
+#if defined(PERL_IN_PP_C) || defined(PERL_DECL_PROT)
s |void |doencodes |SV* sv|char* s|I32 len
s |SV* |refto |SV* sv
s |U32 |seed
@@ -1548,7 +1581,7 @@ s |SV* |is_an_int |char *s|STRLEN l
s |int |div128 |SV *pnum|bool *done
#endif
-#if defined(PERL_IN_PP_CTL_C)
+#if defined(PERL_IN_PP_CTL_C) || defined(PERL_DECL_PROT)
s |OP* |docatch |OP *o
s |void* |docatch_body |va_list args
s |OP* |dofindlabel |OP *o|char *label|OP **opstack|OP **oplimit
@@ -1572,14 +1605,14 @@ s |I32 |amagic_cmp |SV *str1|SV *str2
s |I32 |amagic_cmp_locale|SV *str1|SV *str2
#endif
-#if defined(PERL_IN_PP_HOT_C)
+#if defined(PERL_IN_PP_HOT_C) || defined(PERL_DECL_PROT)
s |CV* |get_db_sub |SV **svp|CV *cv
# if defined(USE_THREADS)
s |void |unset_cvowner |void *cvarg
# endif
#endif
-#if defined(PERL_IN_PP_SYS_C)
+#if defined(PERL_IN_PP_SYS_C) || defined(PERL_DECL_PROT)
s |OP* |doform |CV *cv|GV *gv|OP *retop
s |int |emulate_eaccess|const char* path|int mode
# if !defined(HAS_MKDIR) || !defined(HAS_RMDIR)
@@ -1587,7 +1620,7 @@ s |int |dooneliner |char *cmd|char *filename
# endif
#endif
-#if defined(PERL_IN_REGCOMP_C)
+#if defined(PERL_IN_REGCOMP_C) || defined(PERL_DECL_PROT)
s |regnode*|reg |I32|I32 *
s |regnode*|reganode |U8|U32
s |regnode*|regatom |I32 *
@@ -1615,7 +1648,7 @@ s |char*|regpposixcc |I32 value
s |void |clear_re |void *r
#endif
-#if defined(PERL_IN_REGEXEC_C)
+#if defined(PERL_IN_REGEXEC_C) || defined(PERL_DECL_PROT)
s |I32 |regmatch |regnode *prog
s |I32 |regrepeat |regnode *p|I32 max
s |I32 |regrepeat_hard |regnode *p|I32 max|I32 *lp
@@ -1631,15 +1664,15 @@ s |U8* |reghop |U8 *pos|I32 off
s |U8* |reghopmaybe |U8 *pos|I32 off
#endif
-#if defined(PERL_IN_RUN_C)
+#if defined(PERL_IN_RUN_C) || defined(PERL_DECL_PROT)
s |void |debprof |OP *o
#endif
-#if defined(PERL_IN_SCOPE_C)
+#if defined(PERL_IN_SCOPE_C) || defined(PERL_DECL_PROT)
s |SV* |save_scalar_at |SV **sptr
#endif
-#if defined(PERL_IN_SV_C)
+#if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
s |IV |asIV |SV* sv
s |UV |asUV |SV* sv
s |SV* |more_sv
@@ -1675,7 +1708,7 @@ s |void |del_sv |SV *p
# endif
#endif
-#if defined(PERL_IN_TOKE_C)
+#if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT)
s |void |check_uni
s |void |force_next |I32 type
s |char* |force_version |char *start
@@ -1726,14 +1759,15 @@ s |I32 |win32_textfilter |int idx|SV *sv|int maxlen
# endif
#endif
-#if defined(PERL_IN_UNIVERSAL_C)
+#if defined(PERL_IN_UNIVERSAL_C) || defined(PERL_DECL_PROT)
s |SV*|isa_lookup |HV *stash|const char *name|int len|int level
#endif
-#if defined(PERL_IN_UTIL_C)
+#if defined(PERL_IN_UTIL_C) || defined(PERL_DECL_PROT)
s |SV* |mess_alloc
rs |void |do_croak |const char *pat|va_list *args
s |void |do_warn |const char *pat|va_list *args
+s |OP* |do_die |const char *pat|va_list *args
# if defined(LEAKTEST)
s |void |xstat |int
# endif
diff --git a/ext/B/B.xs b/ext/B/B.xs
index 90ec6c1c80..7e32d01ac9 100644
--- a/ext/B/B.xs
+++ b/ext/B/B.xs
@@ -15,9 +15,9 @@
#undef PL_op_name
#undef PL_opargs
#undef PL_op_desc
-#define PL_op_name (pPerl->Perl_get_op_names())
-#define PL_opargs (pPerl->Perl_get_opargs())
-#define PL_op_desc (pPerl->Perl_get_op_descs())
+#define PL_op_name (get_op_names())
+#define PL_opargs (get_opargs())
+#define PL_op_desc (get_op_descs())
#endif
#ifdef PerlIO
diff --git a/ext/ByteLoader/ByteLoader.xs b/ext/ByteLoader/ByteLoader.xs
index 34002f12b2..07f083843e 100644
--- a/ext/ByteLoader/ByteLoader.xs
+++ b/ext/ByteLoader/ByteLoader.xs
@@ -7,17 +7,13 @@ static void
freadpv(U32 len, void *data, XPV *pv)
{
New(666, pv->xpv_pv, len, char);
- fread(pv->xpv_pv, 1, len, (FILE*)data);
+ PerlIO_read((PerlIO*)data, (void*)pv->xpv_pv, len);
pv->xpv_len = len;
pv->xpv_cur = len - 1;
}
static I32
-#ifdef PERL_OBJECT
-byteloader_filter(CPerlObj *pPerl, int idx, SV *buf_sv, int maxlen)
-#else
-byteloader_filter(pTHX_ int idx, SV *buf_sv, int maxlen)
-#endif
+byteloader_filter(pTHXo_ int idx, SV *buf_sv, int maxlen)
{
dTHR;
OP *saveroot = PL_main_root;
@@ -29,7 +25,7 @@ byteloader_filter(pTHX_ int idx, SV *buf_sv, int maxlen)
bs.pfread = (int(*) (char*,size_t,size_t,void*))fread;
bs.pfreadpv = freadpv;
- byterun(bs);
+ byterun(aTHXo_ bs);
if (PL_in_eval) {
OP *o;
diff --git a/ext/ByteLoader/bytecode.h b/ext/ByteLoader/bytecode.h
index 8a59bb1273..9d597fbed2 100644
--- a/ext/ByteLoader/bytecode.h
+++ b/ext/ByteLoader/bytecode.h
@@ -140,4 +140,4 @@ typedef IV IV64;
#define BSET_OBJ_STORE(obj, ix) \
(I32)ix > bytecode_obj_list_fill ? \
- bset_obj_store(obj, (I32)ix) : (bytecode_obj_list[ix] = obj)
+ bset_obj_store(aTHXo_ obj, (I32)ix) : (bytecode_obj_list[ix] = obj)
diff --git a/ext/ByteLoader/byterun.c b/ext/ByteLoader/byterun.c
index e124c23efc..544a59f042 100644
--- a/ext/ByteLoader/byterun.c
+++ b/ext/ByteLoader/byterun.c
@@ -11,9 +11,20 @@
#include "EXTERN.h"
#include "perl.h"
+#define NO_XSLOCKS
+#include "XSUB.h"
+
+#ifdef PERL_OBJECT
+#undef CALL_FPTR
+#define CALL_FPTR(fptr) (pPerl->*fptr)
+#undef PL_ppaddr
+#define PL_ppaddr (*get_ppaddr())
+#endif
+
#include "byterun.h"
#include "bytecode.h"
+
static int optype_size[] = {
sizeof(OP),
sizeof(UNOP),
@@ -38,7 +49,7 @@ static void **bytecode_obj_list;
static I32 bytecode_obj_list_fill = -1;
void *
-bset_obj_store(void *obj, I32 ix)
+bset_obj_store(pTHXo_ void *obj, I32 ix)
{
if (ix > bytecode_obj_list_fill) {
if (bytecode_obj_list_fill == -1)
@@ -52,7 +63,7 @@ bset_obj_store(void *obj, I32 ix)
}
void
-byterun(pTHX_ struct bytestream bs)
+byterun(pTHXo_ struct bytestream bs)
{
dTHR;
int insn;
diff --git a/ext/ByteLoader/byterun.h b/ext/ByteLoader/byterun.h
index 3c5b2343c5..3a0381f3be 100644
--- a/ext/ByteLoader/byterun.h
+++ b/ext/ByteLoader/byterun.h
@@ -173,6 +173,8 @@ EXT int PL_optype_size[]
#endif /* DOINIT */
;
+EXT void byterun(pTHXo_ struct bytestream bs);
+
#define INIT_SPECIALSV_LIST STMT_START { \
PL_specialsv_list[0] = Nullsv; \
PL_specialsv_list[1] = &PL_sv_undef; \
diff --git a/ext/DynaLoader/dlutils.c b/ext/DynaLoader/dlutils.c
index b1e0bd6fbf..6da532392f 100644
--- a/ext/DynaLoader/dlutils.c
+++ b/ext/DynaLoader/dlutils.c
@@ -26,7 +26,7 @@ static int dl_debug = 0; /* value copied from $DynaLoader::dl_error */
static void
-dl_generic_private_init(pTHX) /* called by dl_*.xs dl_private_init() */
+dl_generic_private_init(pTHXo) /* called by dl_*.xs dl_private_init() */
{
char *perl_dl_nonlazy;
#ifdef DEBUGGING
@@ -45,7 +45,7 @@ dl_generic_private_init(pTHX) /* called by dl_*.xs dl_private_init() */
/* SaveError() takes printf style args and saves the result in LastError */
static void
-SaveError(pTHX_ char* pat, ...)
+SaveError(pTHXo_ char* pat, ...)
{
va_list args;
SV *msv;
diff --git a/global.sym b/global.sym
index 0c3f72bca7..efbca1d6ae 100644
--- a/global.sym
+++ b/global.sym
@@ -66,6 +66,7 @@ Perl_get_op_descs
Perl_get_op_names
Perl_get_no_modify
Perl_get_opargs
+Perl_get_ppaddr
Perl_cxinc
Perl_deb
Perl_deb_growlevel
@@ -263,7 +264,6 @@ Perl_magic_set_all_env
Perl_magic_sizepack
Perl_magic_wipepack
Perl_magicname
-main
Perl_malloced_size
Perl_markstack_grow
Perl_mem_collxfrm
@@ -362,17 +362,24 @@ Perl_pad_free
Perl_pad_reset
Perl_pad_swipe
Perl_peep
+perl_construct
+perl_destruct
+perl_free
+perl_run
+perl_parse
perl_alloc
+perl_construct
+perl_destruct
+perl_free
+perl_run
+perl_parse
Perl_call_atexit
Perl_call_argv
Perl_call_method
Perl_call_pv
Perl_call_sv
-perl_construct
-perl_destruct
Perl_eval_pv
Perl_eval_sv
-perl_free
Perl_get_sv
Perl_get_av
Perl_get_hv
@@ -385,9 +392,7 @@ Perl_new_numeric
Perl_set_numeric_local
Perl_set_numeric_radix
Perl_set_numeric_standard
-perl_parse
Perl_require_pv
-perl_run
Perl_pidgone
Perl_pmflag
Perl_pmruntime
@@ -592,6 +597,7 @@ Perl_yydestruct
Perl_runops_standard
Perl_runops_debug
Perl_ErrorNo
+Perl_ErrorNo
Perl_sv_catpvf_mg
Perl_sv_catpv_mg
Perl_sv_catpvn_mg
diff --git a/globals.c b/globals.c
index 8ac296d009..8ba15b3925 100644
--- a/globals.c
+++ b/globals.c
@@ -34,13 +34,13 @@ void*
CPerlObj::operator new(size_t nSize, IPerlMem *pvtbl)
{
if(pvtbl != NULL)
- return pvtbl->Malloc(nSize);
+ return pvtbl->pMalloc(pvtbl, nSize);
return NULL;
}
int&
-CPerlObj::ErrorNo(void)
+Perl_ErrorNo(void)
{
return errno;
}
@@ -50,4 +50,26 @@ CPerlObj::Init(void)
{
}
+int
+CPerlObj::fprintf(PerlIO *stream, const char *format, ...)
+{
+ va_list(arglist);
+ va_start(arglist, format);
+ return PerlIO_vprintf(stream, format, arglist);
+}
+
+#ifdef WIN32 /* XXX why are these needed? */
+bool
+Perl_do_exec(char *cmd)
+{
+ return PerlProc_Cmd(cmd);
+}
+
+int
+CPerlObj::do_aspawn(void *vreally, void **vmark, void **vsp)
+{
+ return PerlProc_aspawn(vreally, vmark, vsp);
+}
+#endif /* WIN32 */
+
#endif /* PERL_OBJECT */
diff --git a/iperlsys.h b/iperlsys.h
index 9ad3256062..d3ac12f58d 100644
--- a/iperlsys.h
+++ b/iperlsys.h
@@ -80,54 +80,102 @@ extern void PerlIO_init (void);
typedef struct _PerlIO PerlIO;
#endif
-class IPerlStdIO
+/* IPerlStdIO */
+struct IPerlStdIO;
+typedef PerlIO* (*LPStdin)(struct IPerlStdIO*);
+typedef PerlIO* (*LPStdout)(struct IPerlStdIO*);
+typedef PerlIO* (*LPStderr)(struct IPerlStdIO*);
+typedef PerlIO* (*LPOpen)(struct IPerlStdIO*, const char*,
+ const char*);
+typedef int (*LPClose)(struct IPerlStdIO*, PerlIO*);
+typedef int (*LPEof)(struct IPerlStdIO*, PerlIO*);
+typedef int (*LPError)(struct IPerlStdIO*, PerlIO*);
+typedef void (*LPClearerr)(struct IPerlStdIO*, PerlIO*);
+typedef int (*LPGetc)(struct IPerlStdIO*, PerlIO*);
+typedef char* (*LPGetBase)(struct IPerlStdIO*, PerlIO*);
+typedef int (*LPGetBufsiz)(struct IPerlStdIO*, PerlIO*);
+typedef int (*LPGetCnt)(struct IPerlStdIO*, PerlIO*);
+typedef char* (*LPGetPtr)(struct IPerlStdIO*, PerlIO*);
+typedef char* (*LPGets)(struct IPerlStdIO*, PerlIO*, char*, int);
+typedef int (*LPPutc)(struct IPerlStdIO*, PerlIO*, int);
+typedef int (*LPPuts)(struct IPerlStdIO*, PerlIO*, const char*);
+typedef int (*LPFlush)(struct IPerlStdIO*, PerlIO*);
+typedef int (*LPUngetc)(struct IPerlStdIO*, PerlIO*,int);
+typedef int (*LPFileno)(struct IPerlStdIO*, PerlIO*);
+typedef PerlIO* (*LPFdopen)(struct IPerlStdIO*, int, const char*);
+typedef PerlIO* (*LPReopen)(struct IPerlStdIO*, const char*,
+ const char*, PerlIO*);
+typedef SSize_t (*LPRead)(struct IPerlStdIO*, PerlIO*, void*, Size_t);
+typedef SSize_t (*LPWrite)(struct IPerlStdIO*, PerlIO*, const void*,
+ Size_t);
+typedef void (*LPSetBuf)(struct IPerlStdIO*, PerlIO*, char*);
+typedef int (*LPSetVBuf)(struct IPerlStdIO*, PerlIO*, char*, int,
+ Size_t);
+typedef void (*LPSetCnt)(struct IPerlStdIO*, PerlIO*, int);
+typedef void (*LPSetPtrCnt)(struct IPerlStdIO*, PerlIO*, char*,
+ int);
+typedef void (*LPSetlinebuf)(struct IPerlStdIO*, PerlIO*);
+typedef int (*LPPrintf)(struct IPerlStdIO*, PerlIO*, const char*,
+ ...);
+typedef int (*LPVprintf)(struct IPerlStdIO*, PerlIO*, const char*,
+ va_list);
+typedef long (*LPTell)(struct IPerlStdIO*, PerlIO*);
+typedef int (*LPSeek)(struct IPerlStdIO*, PerlIO*, Off_t, int);
+typedef void (*LPRewind)(struct IPerlStdIO*, PerlIO*);
+typedef PerlIO* (*LPTmpfile)(struct IPerlStdIO*);
+typedef int (*LPGetpos)(struct IPerlStdIO*, PerlIO*, Fpos_t*);
+typedef int (*LPSetpos)(struct IPerlStdIO*, PerlIO*,
+ const Fpos_t*);
+typedef void (*LPInit)(struct IPerlStdIO*);
+typedef void (*LPInitOSExtras)(struct IPerlStdIO*);
+
+struct IPerlStdIO
{
-public:
- virtual PerlIO * Stdin(void) = 0;
- virtual PerlIO * Stdout(void) = 0;
- virtual PerlIO * Stderr(void) = 0;
- virtual PerlIO * Open(const char *, const char *, int &err) = 0;
- virtual int Close(PerlIO*, int &err) = 0;
- virtual int Eof(PerlIO*, int &err) = 0;
- virtual int Error(PerlIO*, int &err) = 0;
- virtual void Clearerr(PerlIO*, int &err) = 0;
- virtual int Getc(PerlIO*, int &err) = 0;
- virtual char * GetBase(PerlIO *, int &err) = 0;
- virtual int GetBufsiz(PerlIO *, int &err) = 0;
- virtual int GetCnt(PerlIO *, int &err) = 0;
- virtual char * GetPtr(PerlIO *, int &err) = 0;
- virtual char * Gets(PerlIO*, char*, int, int& err) = 0;
- virtual int Putc(PerlIO*, int, int &err) = 0;
- virtual int Puts(PerlIO*, const char *, int &err) = 0;
- virtual int Flush(PerlIO*, int &err) = 0;
- virtual int Ungetc(PerlIO*,int, int &err) = 0;
- virtual int Fileno(PerlIO*, int &err) = 0;
- virtual PerlIO * Fdopen(int, const char *, int &err) = 0;
- virtual PerlIO * Reopen(const char*, const char*, PerlIO*, int &err) = 0;
- virtual SSize_t Read(PerlIO*,void *,Size_t, int &err) = 0;
- virtual SSize_t Write(PerlIO*,const void *,Size_t, int &err) = 0;
- virtual void SetBuf(PerlIO *, char*, int &err) = 0;
- virtual int SetVBuf(PerlIO *, char*, int, Size_t, int &err) = 0;
- virtual void SetCnt(PerlIO *, int, int &err) = 0;
- virtual void SetPtrCnt(PerlIO *, char *, int, int& err) = 0;
- virtual void Setlinebuf(PerlIO*, int &err) = 0;
- virtual int Printf(PerlIO*, int &err, const char *,...) = 0;
- virtual int Vprintf(PerlIO*, int &err, const char *, va_list) = 0;
- virtual long Tell(PerlIO*, int &err) = 0;
- virtual int Seek(PerlIO*, Off_t, int, int &err) = 0;
- virtual void Rewind(PerlIO*, int &err) = 0;
- virtual PerlIO * Tmpfile(int &err) = 0;
- virtual int Getpos(PerlIO*, Fpos_t *, int &err) = 0;
- virtual int Setpos(PerlIO*, const Fpos_t *, int &err) = 0;
- virtual void Init(int &err) = 0;
- virtual void InitOSExtras(void* p) = 0;
-#ifdef WIN32
- virtual int OpenOSfhandle(long osfhandle, int flags) = 0;
- virtual int GetOSfhandle(int filenum) = 0;
-#endif
+ LPStdin pStdin;
+ LPStdout pStdout;
+ LPStderr pStderr;
+ LPOpen pOpen;
+ LPClose pClose;
+ LPEof pEof;
+ LPError pError;
+ LPClearerr pClearerr;
+ LPGetc pGetc;
+ LPGetBase pGetBase;
+ LPGetBufsiz pGetBufsiz;
+ LPGetCnt pGetCnt;
+ LPGetPtr pGetPtr;
+ LPGets pGets;
+ LPPutc pPutc;
+ LPPuts pPuts;
+ LPFlush pFlush;
+ LPUngetc pUngetc;
+ LPFileno pFileno;
+ LPFdopen pFdopen;
+ LPReopen pReopen;
+ LPRead pRead;
+ LPWrite pWrite;
+ LPSetBuf pSetBuf;
+ LPSetVBuf pSetVBuf;
+ LPSetCnt pSetCnt;
+ LPSetPtrCnt pSetPtrCnt;
+ LPSetlinebuf pSetlinebuf;
+ LPPrintf pPrintf;
+ LPVprintf pVprintf;
+ LPTell pTell;
+ LPSeek pSeek;
+ LPRewind pRewind;
+ LPTmpfile pTmpfile;
+ LPGetpos pGetpos;
+ LPSetpos pSetpos;
+ LPInit pInit;
+ LPInitOSExtras pInitOSExtras;
};
-
+struct IPerlStdIOInfo
+{
+ unsigned long nCount; /* number of entries expected */
+ struct IPerlStdIO perlStdIOList;
+};
#ifdef USE_STDIO_PTR
# define PerlIO_has_cntptr(f) 1
@@ -154,49 +202,83 @@ public:
#define PerlIO_has_base(f) 0
#endif
-#define PerlIO_stdin() PL_piStdIO->Stdin()
-#define PerlIO_stdout() PL_piStdIO->Stdout()
-#define PerlIO_stderr() PL_piStdIO->Stderr()
-#define PerlIO_open(x,y) PL_piStdIO->Open((x),(y), ErrorNo())
-#define PerlIO_close(f) PL_piStdIO->Close((f), ErrorNo())
-#define PerlIO_eof(f) PL_piStdIO->Eof((f), ErrorNo())
-#define PerlIO_error(f) PL_piStdIO->Error((f), ErrorNo())
-#define PerlIO_clearerr(f) PL_piStdIO->Clearerr((f), ErrorNo())
-#define PerlIO_getc(f) PL_piStdIO->Getc((f), ErrorNo())
-#define PerlIO_get_base(f) PL_piStdIO->GetBase((f), ErrorNo())
-#define PerlIO_get_bufsiz(f) PL_piStdIO->GetBufsiz((f), ErrorNo())
-#define PerlIO_get_cnt(f) PL_piStdIO->GetCnt((f), ErrorNo())
-#define PerlIO_get_ptr(f) PL_piStdIO->GetPtr((f), ErrorNo())
-#define PerlIO_putc(f,c) PL_piStdIO->Putc((f),(c), ErrorNo())
-#define PerlIO_puts(f,s) PL_piStdIO->Puts((f),(s), ErrorNo())
-#define PerlIO_flush(f) PL_piStdIO->Flush((f), ErrorNo())
-#define PerlIO_gets(s, n, fp) PL_piStdIO->Gets((fp), s, n, ErrorNo())
-#define PerlIO_ungetc(f,c) PL_piStdIO->Ungetc((f),(c), ErrorNo())
-#define PerlIO_fileno(f) PL_piStdIO->Fileno((f), ErrorNo())
-#define PerlIO_fdopen(f, s) PL_piStdIO->Fdopen((f),(s), ErrorNo())
-#define PerlIO_reopen(p, m, f) PL_piStdIO->Reopen((p), (m), (f), ErrorNo())
+#define PerlIO_stdin() \
+ (*PL_piStdIO->pStdin)(PL_piStdIO)
+#define PerlIO_stdout() \
+ (*PL_piStdIO->pStdout)(PL_piStdIO)
+#define PerlIO_stderr() \
+ (*PL_piStdIO->pStderr)(PL_piStdIO)
+#define PerlIO_open(x,y) \
+ (*PL_piStdIO->pOpen)(PL_piStdIO, (x),(y))
+#define PerlIO_close(f) \
+ (*PL_piStdIO->pClose)(PL_piStdIO, (f))
+#define PerlIO_eof(f) \
+ (*PL_piStdIO->pEof)(PL_piStdIO, (f))
+#define PerlIO_error(f) \
+ (*PL_piStdIO->pError)(PL_piStdIO, (f))
+#define PerlIO_clearerr(f) \
+ (*PL_piStdIO->pClearerr)(PL_piStdIO, (f))
+#define PerlIO_getc(f) \
+ (*PL_piStdIO->pGetc)(PL_piStdIO, (f))
+#define PerlIO_get_base(f) \
+ (*PL_piStdIO->pGetBase)(PL_piStdIO, (f))
+#define PerlIO_get_bufsiz(f) \
+ (*PL_piStdIO->pGetBufsiz)(PL_piStdIO, (f))
+#define PerlIO_get_cnt(f) \
+ (*PL_piStdIO->pGetCnt)(PL_piStdIO, (f))
+#define PerlIO_get_ptr(f) \
+ (*PL_piStdIO->pGetPtr)(PL_piStdIO, (f))
+#define PerlIO_putc(f,c) \
+ (*PL_piStdIO->pPutc)(PL_piStdIO, (f),(c))
+#define PerlIO_puts(f,s) \
+ (*PL_piStdIO->pPuts)(PL_piStdIO, (f),(s))
+#define PerlIO_flush(f) \
+ (*PL_piStdIO->pFlush)(PL_piStdIO, (f))
+#define PerlIO_gets(s, n, fp) \
+ (*PL_piStdIO->pGets)(PL_piStdIO, (fp), s, n)
+#define PerlIO_ungetc(f,c) \
+ (*PL_piStdIO->pUngetc)(PL_piStdIO, (f),(c))
+#define PerlIO_fileno(f) \
+ (*PL_piStdIO->pFileno)(PL_piStdIO, (f))
+#define PerlIO_fdopen(f, s) \
+ (*PL_piStdIO->pFdopen)(PL_piStdIO, (f),(s))
+#define PerlIO_reopen(p, m, f) \
+ (*PL_piStdIO->pReopen)(PL_piStdIO, (p), (m), (f))
#define PerlIO_read(f,buf,count) \
- (SSize_t)PL_piStdIO->Read((f), (buf), (count), ErrorNo())
+ (SSize_t)(*PL_piStdIO->pRead)(PL_piStdIO, (f), (buf), (count))
#define PerlIO_write(f,buf,count) \
- PL_piStdIO->Write((f), (buf), (count), ErrorNo())
-#define PerlIO_setbuf(f,b) PL_piStdIO->SetBuf((f), (b), ErrorNo())
-#define PerlIO_setvbuf(f,b,t,s) PL_piStdIO->SetVBuf((f), (b), (t), (s), ErrorNo())
-#define PerlIO_set_cnt(f,c) PL_piStdIO->SetCnt((f), (c), ErrorNo())
+ (*PL_piStdIO->pWrite)(PL_piStdIO, (f), (buf), (count))
+#define PerlIO_setbuf(f,b) \
+ (*PL_piStdIO->pSetBuf)(PL_piStdIO, (f), (b))
+#define PerlIO_setvbuf(f,b,t,s) \
+ (*PL_piStdIO->pSetVBuf)(PL_piStdIO, (f),(b),(t),(s))
+#define PerlIO_set_cnt(f,c) \
+ (*PL_piStdIO->pSetCnt)(PL_piStdIO, (f), (c))
#define PerlIO_set_ptrcnt(f,p,c) \
- PL_piStdIO->SetPtrCnt((f), (p), (c), ErrorNo())
-#define PerlIO_setlinebuf(f) PL_piStdIO->Setlinebuf((f), ErrorNo())
+ (*PL_piStdIO->pSetPtrCnt)(PL_piStdIO, (f), (p), (c))
+#define PerlIO_setlinebuf(f) \
+ (*PL_piStdIO->pSetlinebuf)(PL_piStdIO, (f))
#define PerlIO_printf fprintf
-#define PerlIO_stdoutf PL_piStdIO->Printf
-#define PerlIO_vprintf(f,fmt,a) PL_piStdIO->Vprintf((f), ErrorNo(), (fmt),a)
-#define PerlIO_tell(f) PL_piStdIO->Tell((f), ErrorNo())
-#define PerlIO_seek(f,o,w) PL_piStdIO->Seek((f),(o),(w), ErrorNo())
-#define PerlIO_getpos(f,p) PL_piStdIO->Getpos((f),(p), ErrorNo())
-#define PerlIO_setpos(f,p) PL_piStdIO->Setpos((f),(p), ErrorNo())
-#define PerlIO_rewind(f) PL_piStdIO->Rewind((f), ErrorNo())
-#define PerlIO_tmpfile() PL_piStdIO->Tmpfile(ErrorNo())
-#define PerlIO_init() PL_piStdIO->Init(ErrorNo())
+#define PerlIO_stdoutf *PL_piStdIO->pPrintf
+#define PerlIO_vprintf(f,fmt,a) \
+ (*PL_piStdIO->pVprintf)(PL_piStdIO, (f),(fmt),a)
+#define PerlIO_tell(f) \
+ (*PL_piStdIO->pTell)(PL_piStdIO, (f))
+#define PerlIO_seek(f,o,w) \
+ (*PL_piStdIO->pSeek)(PL_piStdIO, (f),(o),(w))
+#define PerlIO_getpos(f,p) \
+ (*PL_piStdIO->pGetpos)(PL_piStdIO, (f),(p))
+#define PerlIO_setpos(f,p) \
+ (*PL_piStdIO->pSetpos)(PL_piStdIO, (f),(p))
+#define PerlIO_rewind(f) \
+ (*PL_piStdIO->pRewind)(PL_piStdIO, (f))
+#define PerlIO_tmpfile() \
+ (*PL_piStdIO->pTmpfile)(PL_piStdIO)
+#define PerlIO_init() \
+ (*PL_piStdIO->pInit)(PL_piStdIO)
#undef init_os_extras
-#define init_os_extras() PL_piStdIO->InitOSExtras(this)
+#define init_os_extras(x) \
+ (*PL_piStdIO->pInitOSExtras)(PL_piStdIO)
#else /* PERL_OBJECT */
@@ -386,38 +468,55 @@ extern int PerlIO_setpos (PerlIO *,const Fpos_t *);
#ifdef PERL_OBJECT
-class IPerlDir
+/* IPerlDir */
+struct IPerlDir;
+typedef int (*LPMakedir)(struct IPerlDir*, const char*, int);
+typedef int (*LPChdir)(struct IPerlDir*, const char*);
+typedef int (*LPRmdir)(struct IPerlDir*, const char*);
+typedef int (*LPDirClose)(struct IPerlDir*, DIR*);
+typedef DIR* (*LPDirOpen)(struct IPerlDir*, char*);
+typedef struct direct* (*LPDirRead)(struct IPerlDir*, DIR*);
+typedef void (*LPDirRewind)(struct IPerlDir*, DIR*);
+typedef void (*LPDirSeek)(struct IPerlDir*, DIR*, long);
+typedef long (*LPDirTell)(struct IPerlDir*, DIR*);
+
+struct IPerlDir
{
-public:
- virtual int Makedir(const char *dirname, int mode, int &err) = 0;
- virtual int Chdir(const char *dirname, int &err) = 0;
- virtual int Rmdir(const char *dirname, int &err) = 0;
- virtual int Close(DIR *dirp, int &err) = 0;
- virtual DIR * Open(char *filename, int &err) = 0;
- virtual struct direct *Read(DIR *dirp, int &err) = 0;
- virtual void Rewind(DIR *dirp, int &err) = 0;
- virtual void Seek(DIR *dirp, long loc, int &err) = 0;
- virtual long Tell(DIR *dirp, int &err) = 0;
+ LPMakedir pMakedir;
+ LPChdir pChdir;
+ LPRmdir pRmdir;
+ LPDirClose pClose;
+ LPDirOpen pOpen;
+ LPDirRead pRead;
+ LPDirRewind pRewind;
+ LPDirSeek pSeek;
+ LPDirTell pTell;
+};
+
+struct IPerlDirInfo
+{
+ unsigned long nCount; /* number of entries expected */
+ struct IPerlDir perlDirList;
};
#define PerlDir_mkdir(name, mode) \
- PL_piDir->Makedir((name), (mode), ErrorNo())
+ (*PL_piDir->pMakedir)(PL_piDir, (name), (mode))
#define PerlDir_chdir(name) \
- PL_piDir->Chdir((name), ErrorNo())
+ (*PL_piDir->pChdir)(PL_piDir, (name))
#define PerlDir_rmdir(name) \
- PL_piDir->Rmdir((name), ErrorNo())
+ (*PL_piDir->pRmdir)(PL_piDir, (name))
#define PerlDir_close(dir) \
- PL_piDir->Close((dir), ErrorNo())
+ (*PL_piDir->pClose)(PL_piDir, (dir))
#define PerlDir_open(name) \
- PL_piDir->Open((name), ErrorNo())
+ (*PL_piDir->pOpen)(PL_piDir, (name))
#define PerlDir_read(dir) \
- PL_piDir->Read((dir), ErrorNo())
+ (*PL_piDir->pRead)(PL_piDir, (dir))
#define PerlDir_rewind(dir) \
- PL_piDir->Rewind((dir), ErrorNo())
+ (*PL_piDir->pRewind)(PL_piDir, (dir))
#define PerlDir_seek(dir, loc) \
- PL_piDir->Seek((dir), (loc), ErrorNo())
+ (*PL_piDir->pSeek)(PL_piDir, (dir), (loc))
#define PerlDir_tell(dir) \
- PL_piDir->Tell((dir), ErrorNo())
+ (*PL_piDir->pTell)(PL_piDir, (dir))
#else /* PERL_OBJECT */
@@ -443,35 +542,79 @@ public:
#ifdef PERL_OBJECT
-class IPerlEnv
+/* IPerlEnv */
+struct IPerlEnv;
+typedef char* (*LPEnvGetenv)(struct IPerlEnv*, const char*);
+typedef int (*LPEnvPutenv)(struct IPerlEnv*, const char*);
+typedef char * (*LPEnvGetenv_len)(struct IPerlEnv*,
+ const char *varname, unsigned long *len);
+typedef int (*LPEnvUname)(struct IPerlEnv*, struct utsname *name);
+typedef void (*LPEnvClearenv)(struct IPerlEnv*);
+typedef unsigned long (*LPEnvOsID)(struct IPerlEnv*);
+#ifdef HAS_ENVGETENV
+typedef char * (*LPENVGetenv)(struct IPerlEnv*, const char *varname);
+typedef char * (*LPENVGetenv_len)(struct IPerlEnv*,
+ const char *varname, unsigned long *len);
+#endif
+#ifdef WIN32
+typedef char* (*LPEnvLibPath)(struct IPerlEnv*, char*);
+typedef char* (*LPEnvSiteLibPath)(struct IPerlEnv*, char*);
+#endif
+
+struct IPerlEnv
{
-public:
- virtual char * Getenv(const char *varname, int &err) = 0;
- virtual int Putenv(const char *envstring, int &err) = 0;
- virtual char * LibPath(char *patchlevel) =0;
- virtual char * SiteLibPath(char *patchlevel) =0;
- virtual int Uname(struct utsname *name, int &err) =0;
- virtual char * Getenv_len(const char *varname, unsigned long *len, int &err) = 0;
+ LPEnvGetenv pGetenv;
+ LPEnvPutenv pPutenv;
+ LPEnvGetenv_len pGetenv_len;
+ LPEnvUname pEnvUname;
+ LPEnvClearenv pClearenv;
#ifdef HAS_ENVGETENV
- virtual char * ENVGetenv(const char *varname, int &err) = 0;
- virtual char * ENVGetenv_len(const char *varname, unsigned long *len, int &err) = 0;
+ LPENVGetenv pENVGetenv;
+ LPENVGetenv_len pENVGetenv_len;
+#endif
+#ifdef WIN32
+ LPEnvOsID pEnvOsID;
+ LPEnvLibPath pLibPath;
+ LPEnvSiteLibPath pSiteLibPath;
#endif
};
-#define PerlEnv_putenv(str) PL_piENV->Putenv((str), ErrorNo())
-#define PerlEnv_getenv(str) PL_piENV->Getenv((str), ErrorNo())
-#define PerlEnv_getenv_len(str,l) PL_piENV->Getenv_len((str), (l), ErrorNo())
+struct IPerlEnvInfo
+{
+ unsigned long nCount; /* number of entries expected */
+ struct IPerlEnv perlEnvList;
+};
+
+#define PerlEnv_putenv(str) \
+ (*PL_piENV->pPutenv)(PL_piENV,(str))
+#define PerlEnv_getenv(str) \
+ (*PL_piENV->pGetenv)(PL_piENV,(str))
+#define PerlEnv_getenv_len(str,l) \
+ (*PL_piENV->pGetenv_len)(PL_piENV,(str), (l))
+#define PerlEnv_Clear() \
+ (*PL_piENV->pClearenv)(PL_piENV)
+#define PerlEnv_Clear() \
+ (*PL_piENV->pClearenv)(PL_piENV)
#ifdef HAS_ENVGETENV
-# define PerlEnv_ENVgetenv(str) PL_piENV->ENVGetenv((str), ErrorNo())
-# define PerlEnv_ENVgetenv_len(str,l) PL_piENV->ENVGetenv_len((str), (l), ErrorNo())
+# define PerlEnv_ENVgetenv(str) \
+ (*PL_piENV->pENVGetenv)(PL_piENV,(str))
+# define PerlEnv_ENVgetenv_len(str,l) \
+ (*PL_piENV->pENVGetenv_len)(PL_piENV,(str), (l))
#else
-# define PerlEnv_ENVgetenv(str) PerlEnv_getenv((str))
-# define PerlEnv_ENVgetenv_len(str,l) PerlEnv_getenv_len((str),(l))
+# define PerlEnv_ENVgetenv(str) \
+ PerlEnv_getenv((str))
+# define PerlEnv_ENVgetenv_len(str,l) \
+ PerlEnv_getenv_len((str),(l))
#endif
-#define PerlEnv_uname(name) PL_piENV->Uname((name), ErrorNo())
+#define PerlEnv_uname(name) \
+ (*PL_piENV->pEnvUname)(PL_piENV,(name))
#ifdef WIN32
-#define PerlEnv_lib_path(str) PL_piENV->LibPath((str))
-#define PerlEnv_sitelib_path(str) PL_piENV->SiteLibPath((str))
+#define PerlEnv_os_id() \
+ (*PL_piENV->pEnvOsID)(PL_piENV)
+#define PerlEnv_lib_path(str) \
+ (*PL_piENV->pLibPath)(PL_piENV,(str))
+#define PerlEnv_sitelib_path(str) \
+ (*PL_piENV->pSiteLibPath)(PL_piENV,(str))
#endif
#else /* PERL_OBJECT */
@@ -488,6 +631,10 @@ public:
#endif
#define PerlEnv_uname(name) uname((name))
+#ifdef WIN32
+#define PerlEnv_os_id() win32_os_id()
+#endif
+
#endif /* PERL_OBJECT */
/*
@@ -496,92 +643,125 @@ public:
#ifdef PERL_OBJECT
-class IPerlLIO
+/* IPerlLIO */
+struct IPerlLIO;
+typedef int (*LPLIOAccess)(struct IPerlLIO*, const char*, int);
+typedef int (*LPLIOChmod)(struct IPerlLIO*, const char*, int);
+typedef int (*LPLIOChown)(struct IPerlLIO*, const char*, uid_t,
+ gid_t);
+typedef int (*LPLIOChsize)(struct IPerlLIO*, int, long);
+typedef int (*LPLIOClose)(struct IPerlLIO*, int);
+typedef int (*LPLIODup)(struct IPerlLIO*, int);
+typedef int (*LPLIODup2)(struct IPerlLIO*, int, int);
+typedef int (*LPLIOFlock)(struct IPerlLIO*, int, int);
+typedef int (*LPLIOFileStat)(struct IPerlLIO*, int, struct stat*);
+typedef int (*LPLIOIOCtl)(struct IPerlLIO*, int, unsigned int,
+ char*);
+typedef int (*LPLIOIsatty)(struct IPerlLIO*, int);
+typedef long (*LPLIOLseek)(struct IPerlLIO*, int, long, int);
+typedef int (*LPLIOLstat)(struct IPerlLIO*, const char*,
+ struct stat*);
+typedef char* (*LPLIOMktemp)(struct IPerlLIO*, char*);
+typedef int (*LPLIOOpen)(struct IPerlLIO*, const char*, int);
+typedef int (*LPLIOOpen3)(struct IPerlLIO*, const char*, int, int);
+typedef int (*LPLIORead)(struct IPerlLIO*, int, void*, unsigned int);
+typedef int (*LPLIORename)(struct IPerlLIO*, const char*,
+ const char*);
+typedef int (*LPLIOSetmode)(struct IPerlLIO*, int, int);
+typedef int (*LPLIONameStat)(struct IPerlLIO*, const char*,
+ struct stat*);
+typedef char* (*LPLIOTmpnam)(struct IPerlLIO*, char*);
+typedef int (*LPLIOUmask)(struct IPerlLIO*, int);
+typedef int (*LPLIOUnlink)(struct IPerlLIO*, const char*);
+typedef int (*LPLIOUtime)(struct IPerlLIO*, char*, struct utimbuf*);
+typedef int (*LPLIOWrite)(struct IPerlLIO*, int, const void*,
+ unsigned int);
+
+struct IPerlLIO
+{
+ LPLIOAccess pAccess;
+ LPLIOChmod pChmod;
+ LPLIOChown pChown;
+ LPLIOChsize pChsize;
+ LPLIOClose pClose;
+ LPLIODup pDup;
+ LPLIODup2 pDup2;
+ LPLIOFlock pFlock;
+ LPLIOFileStat pFileStat;
+ LPLIOIOCtl pIOCtl;
+ LPLIOIsatty pIsatty;
+ LPLIOLseek pLseek;
+ LPLIOLstat pLstat;
+ LPLIOMktemp pMktemp;
+ LPLIOOpen pOpen;
+ LPLIOOpen3 pOpen3;
+ LPLIORead pRead;
+ LPLIORename pRename;
+ LPLIOSetmode pSetmode;
+ LPLIONameStat pNameStat;
+ LPLIOTmpnam pTmpnam;
+ LPLIOUmask pUmask;
+ LPLIOUnlink pUnlink;
+ LPLIOUtime pUtime;
+ LPLIOWrite pWrite;
+};
+
+struct IPerlLIOInfo
{
-public:
- virtual int Access(const char *path, int mode, int &err) = 0;
- virtual int Chmod(const char *filename, int pmode, int &err) = 0;
- virtual int Chown(const char *filename, uid_t owner,
- gid_t group, int &err) = 0;
- virtual int Chsize(int handle, long size, int &err) = 0;
- virtual int Close(int handle, int &err) = 0;
- virtual int Dup(int handle, int &err) = 0;
- virtual int Dup2(int handle1, int handle2, int &err) = 0;
- virtual int Flock(int fd, int oper, int &err) = 0;
- virtual int FileStat(int handle, struct stat *buffer, int &err) = 0;
- virtual int IOCtl(int i, unsigned int u, char *data, int &err) = 0;
- virtual int Isatty(int handle, int &err) = 0;
- virtual long Lseek(int handle, long offset, int origin, int &err) = 0;
- virtual int Lstat(const char *path, struct stat *buffer, int &err) = 0;
- virtual char * Mktemp(char *Template, int &err) = 0;
- virtual int Open(const char *filename, int oflag, int &err) = 0;
- virtual int Open(const char *filename, int oflag,
- int pmode, int &err) = 0;
- virtual int Read(int handle, void *buffer,
- unsigned int count, int &err) = 0;
- virtual int Rename(const char *oname,
- const char *newname, int &err) = 0;
- virtual int Setmode(int handle, int mode, int &err) = 0;
- virtual int NameStat(const char *path,
- struct stat *buffer, int &err) = 0;
- virtual char * Tmpnam(char *string, int &err) = 0;
- virtual int Umask(int pmode, int &err) = 0;
- virtual int Unlink(const char *filename, int &err) = 0;
- virtual int Utime(char *filename, struct utimbuf *times, int &err) = 0;
- virtual int Write(int handle, const void *buffer,
- unsigned int count, int &err) = 0;
+ unsigned long nCount; /* number of entries expected */
+ struct IPerlLIO perlLIOList;
};
#define PerlLIO_access(file, mode) \
- PL_piLIO->Access((file), (mode), ErrorNo())
+ (*PL_piLIO->pAccess)(PL_piLIO, (file), (mode))
#define PerlLIO_chmod(file, mode) \
- PL_piLIO->Chmod((file), (mode), ErrorNo())
+ (*PL_piLIO->pChmod)(PL_piLIO, (file), (mode))
#define PerlLIO_chown(file, owner, group) \
- PL_piLIO->Chown((file), (owner), (group), ErrorNo())
+ (*PL_piLIO->pChown)(PL_piLIO, (file), (owner), (group))
#define PerlLIO_chsize(fd, size) \
- PL_piLIO->Chsize((fd), (size), ErrorNo())
+ (*PL_piLIO->pChsize)(PL_piLIO, (fd), (size))
#define PerlLIO_close(fd) \
- PL_piLIO->Close((fd), ErrorNo())
+ (*PL_piLIO->pClose)(PL_piLIO, (fd))
#define PerlLIO_dup(fd) \
- PL_piLIO->Dup((fd), ErrorNo())
+ (*PL_piLIO->pDup)(PL_piLIO, (fd))
#define PerlLIO_dup2(fd1, fd2) \
- PL_piLIO->Dup2((fd1), (fd2), ErrorNo())
+ (*PL_piLIO->pDup2)(PL_piLIO, (fd1), (fd2))
#define PerlLIO_flock(fd, op) \
- PL_piLIO->Flock((fd), (op), ErrorNo())
+ (*PL_piLIO->pFlock)(PL_piLIO, (fd), (op))
#define PerlLIO_fstat(fd, buf) \
- PL_piLIO->FileStat((fd), (buf), ErrorNo())
+ (*PL_piLIO->pFileStat)(PL_piLIO, (fd), (buf))
#define PerlLIO_ioctl(fd, u, buf) \
- PL_piLIO->IOCtl((fd), (u), (buf), ErrorNo())
+ (*PL_piLIO->pIOCtl)(PL_piLIO, (fd), (u), (buf))
#define PerlLIO_isatty(fd) \
- PL_piLIO->Isatty((fd), ErrorNo())
+ (*PL_piLIO->pIsatty)(PL_piLIO, (fd))
#define PerlLIO_lseek(fd, offset, mode) \
- PL_piLIO->Lseek((fd), (offset), (mode), ErrorNo())
+ (*PL_piLIO->pLseek)(PL_piLIO, (fd), (offset), (mode))
#define PerlLIO_lstat(name, buf) \
- PL_piLIO->Lstat((name), (buf), ErrorNo())
+ (*PL_piLIO->pLstat)(PL_piLIO, (name), (buf))
#define PerlLIO_mktemp(file) \
- PL_piLIO->Mktemp((file), ErrorNo())
+ (*PL_piLIO->pMktemp)(PL_piLIO, (file))
#define PerlLIO_open(file, flag) \
- PL_piLIO->Open((file), (flag), ErrorNo())
+ (*PL_piLIO->pOpen)(PL_piLIO, (file), (flag))
#define PerlLIO_open3(file, flag, perm) \
- PL_piLIO->Open((file), (flag), (perm), ErrorNo())
+ (*PL_piLIO->pOpen3)(PL_piLIO, (file), (flag), (perm))
#define PerlLIO_read(fd, buf, count) \
- PL_piLIO->Read((fd), (buf), (count), ErrorNo())
+ (*PL_piLIO->pRead)(PL_piLIO, (fd), (buf), (count))
#define PerlLIO_rename(oname, newname) \
- PL_piLIO->Rename((oname), (newname), ErrorNo())
+ (*PL_piLIO->pRename)(PL_piLIO, (oname), (newname))
#define PerlLIO_setmode(fd, mode) \
- PL_piLIO->Setmode((fd), (mode), ErrorNo())
+ (*PL_piLIO->pSetmode)(PL_piLIO, (fd), (mode))
#define PerlLIO_stat(name, buf) \
- PL_piLIO->NameStat((name), (buf), ErrorNo())
+ (*PL_piLIO->pNameStat)(PL_piLIO, (name), (buf))
#define PerlLIO_tmpnam(str) \
- PL_piLIO->Tmpnam((str), ErrorNo())
+ (*PL_piLIO->pTmpnam)(PL_piLIO, (str))
#define PerlLIO_umask(mode) \
- PL_piLIO->Umask((mode), ErrorNo())
+ (*PL_piLIO->pUmask)(PL_piLIO, (mode))
#define PerlLIO_unlink(file) \
- PL_piLIO->Unlink((file), ErrorNo())
+ (*PL_piLIO->pUnlink)(PL_piLIO, (file))
#define PerlLIO_utime(file, time) \
- PL_piLIO->Utime((file), (time), ErrorNo())
+ (*PL_piLIO->pUtime)(PL_piLIO, (file), (time))
#define PerlLIO_write(fd, buf, count) \
- PL_piLIO->Write((fd), (buf), (count), ErrorNo())
+ (*PL_piLIO->pWrite)(PL_piLIO, (fd), (buf), (count))
#else /* PERL_OBJECT */
@@ -624,17 +804,31 @@ public:
#ifdef PERL_OBJECT
-class IPerlMem
+/* IPerlMem */
+struct IPerlMem;
+typedef void* (*LPMemMalloc)(struct IPerlMem*, size_t);
+typedef void* (*LPMemRealloc)(struct IPerlMem*, void*, size_t);
+typedef void (*LPMemFree)(struct IPerlMem*, void*);
+
+struct IPerlMem
{
-public:
- virtual void * Malloc(size_t) = 0;
- virtual void * Realloc(void*, size_t) = 0;
- virtual void Free(void*) = 0;
+ LPMemMalloc pMalloc;
+ LPMemRealloc pRealloc;
+ LPMemFree pFree;
};
-#define PerlMem_malloc(size) PL_piMem->Malloc((size))
-#define PerlMem_realloc(buf, size) PL_piMem->Realloc((buf), (size))
-#define PerlMem_free(buf) PL_piMem->Free((buf))
+struct IPerlMemInfo
+{
+ unsigned long nCount; /* number of entries expected */
+ struct IPerlMem perlMemList;
+};
+
+#define PerlMem_malloc(size) \
+ (*PL_piMem->pMalloc)(PL_piMem, (size))
+#define PerlMem_realloc(buf, size) \
+ (*PL_piMem->pRealloc)(PL_piMem, (buf), (size))
+#define PerlMem_free(buf) \
+ (*PL_piMem->pFree)(PL_piMem, (buf))
#else /* PERL_OBJECT */
@@ -658,86 +852,160 @@ typedef Signal_t (*Sighandler_t) (int);
#include <setjmp.h>
#endif
-class IPerlProc
+/* IPerlProc */
+struct IPerlProc;
+typedef void (*LPProcAbort)(struct IPerlProc*);
+typedef char* (*LPProcCrypt)(struct IPerlProc*, const char*,
+ const char*);
+typedef void (*LPProcExit)(struct IPerlProc*, int);
+typedef void (*LPProc_Exit)(struct IPerlProc*, int);
+typedef int (*LPProcExecl)(struct IPerlProc*, const char*,
+ const char*, const char*, const char*,
+ const char*);
+typedef int (*LPProcExecv)(struct IPerlProc*, const char*,
+ const char*const*);
+typedef int (*LPProcExecvp)(struct IPerlProc*, const char*,
+ const char*const*);
+typedef uid_t (*LPProcGetuid)(struct IPerlProc*);
+typedef uid_t (*LPProcGeteuid)(struct IPerlProc*);
+typedef gid_t (*LPProcGetgid)(struct IPerlProc*);
+typedef gid_t (*LPProcGetegid)(struct IPerlProc*);
+typedef char* (*LPProcGetlogin)(struct IPerlProc*);
+typedef int (*LPProcKill)(struct IPerlProc*, int, int);
+typedef int (*LPProcKillpg)(struct IPerlProc*, int, int);
+typedef int (*LPProcPauseProc)(struct IPerlProc*);
+typedef PerlIO* (*LPProcPopen)(struct IPerlProc*, const char*,
+ const char*);
+typedef int (*LPProcPclose)(struct IPerlProc*, PerlIO*);
+typedef int (*LPProcPipe)(struct IPerlProc*, int*);
+typedef int (*LPProcSetuid)(struct IPerlProc*, uid_t);
+typedef int (*LPProcSetgid)(struct IPerlProc*, gid_t);
+typedef int (*LPProcSleep)(struct IPerlProc*, unsigned int);
+typedef int (*LPProcTimes)(struct IPerlProc*, struct tms*);
+typedef int (*LPProcWait)(struct IPerlProc*, int*);
+typedef int (*LPProcWaitpid)(struct IPerlProc*, int, int*, int);
+typedef Sighandler_t (*LPProcSignal)(struct IPerlProc*, int, Sighandler_t);
+typedef void* (*LPProcDynaLoader)(struct IPerlProc*, const char*);
+#ifdef WIN32
+typedef void (*LPProcGetOSError)(struct IPerlProc*,
+ SV* sv, DWORD dwErr);
+typedef void (*LPProcFreeBuf)(struct IPerlProc*, char*);
+typedef BOOL (*LPProcDoCmd)(struct IPerlProc*, char*);
+typedef int (*LPProcSpawn)(struct IPerlProc*, char*);
+typedef int (*LPProcSpawnvp)(struct IPerlProc*, int, const char*,
+ const char*const*);
+typedef int (*LPProcASpawn)(struct IPerlProc*, void*, void**, void**);
+#endif
+
+struct IPerlProc
{
-public:
- virtual void Abort(void) = 0;
- virtual char * Crypt(const char* clear, const char* salt) = 0;
- virtual void Exit(int status) = 0;
- virtual void _Exit(int status) = 0;
- virtual int Execl(const char *cmdname, const char *arg0,
- const char *arg1, const char *arg2,
- const char *arg3) = 0;
- virtual int Execv(const char *cmdname, const char *const *argv) = 0;
- virtual int Execvp(const char *cmdname, const char *const *argv) = 0;
- virtual uid_t Getuid(void) = 0;
- virtual uid_t Geteuid(void) = 0;
- virtual gid_t Getgid(void) = 0;
- virtual gid_t Getegid(void) = 0;
- virtual char * Getlogin(void) = 0;
- virtual int Kill(int pid, int sig) = 0;
- virtual int Killpg(int pid, int sig) = 0;
- virtual int PauseProc(void) = 0;
- virtual PerlIO * Popen(const char *command, const char *mode) = 0;
- virtual int Pclose(PerlIO *stream) = 0;
- virtual int Pipe(int *phandles) = 0;
- virtual int Setuid(uid_t uid) = 0;
- virtual int Setgid(gid_t gid) = 0;
- virtual int Sleep(unsigned int) = 0;
- virtual int Times(struct tms *timebuf) = 0;
- virtual int Wait(int *status) = 0;
- virtual int Waitpid(int pid, int *status, int flags) = 0;
- virtual Sighandler_t Signal(int sig, Sighandler_t subcode) = 0;
+ LPProcAbort pAbort;
+ LPProcCrypt pCrypt;
+ LPProcExit pExit;
+ LPProc_Exit p_Exit;
+ LPProcExecl pExecl;
+ LPProcExecv pExecv;
+ LPProcExecvp pExecvp;
+ LPProcGetuid pGetuid;
+ LPProcGeteuid pGeteuid;
+ LPProcGetgid pGetgid;
+ LPProcGetegid pGetegid;
+ LPProcGetlogin pGetlogin;
+ LPProcKill pKill;
+ LPProcKillpg pKillpg;
+ LPProcPauseProc pPauseProc;
+ LPProcPopen pPopen;
+ LPProcPclose pPclose;
+ LPProcPipe pPipe;
+ LPProcSetuid pSetuid;
+ LPProcSetgid pSetgid;
+ LPProcSleep pSleep;
+ LPProcTimes pTimes;
+ LPProcWait pWait;
+ LPProcWaitpid pWaitpid;
+ LPProcSignal pSignal;
#ifdef WIN32
- virtual void GetSysMsg(char*& msg, DWORD& dwLen, DWORD dwErr) = 0;
- virtual void FreeBuf(char* msg) = 0;
- virtual BOOL DoCmd(char *cmd) = 0;
- virtual int Spawn(char*cmds) = 0;
- virtual int Spawnvp(int mode, const char *cmdname,
- const char *const *argv) = 0;
- virtual int ASpawn(void *vreally, void **vmark, void **vsp) = 0;
+ LPProcDynaLoader pDynaLoader;
+ LPProcGetOSError pGetOSError;
+ LPProcDoCmd pDoCmd;
+ LPProcSpawn pSpawn;
+ LPProcSpawnvp pSpawnvp;
+ LPProcASpawn pASpawn;
#endif
};
-#define PerlProc_abort() PL_piProc->Abort()
-#define PerlProc_crypt(c,s) PL_piProc->Crypt((c), (s))
-#define PerlProc_exit(s) PL_piProc->Exit((s))
-#define PerlProc__exit(s) PL_piProc->_Exit((s))
+struct IPerlProcInfo
+{
+ unsigned long nCount; /* number of entries expected */
+ struct IPerlProc perlProcList;
+};
+
+#define PerlProc_abort() \
+ (*PL_piProc->pAbort)(PL_piProc)
+#define PerlProc_crypt(c,s) \
+ (*PL_piProc->pCrypt)(PL_piProc, (c), (s))
+#define PerlProc_exit(s) \
+ (*PL_piProc->pExit)(PL_piProc, (s))
+#define PerlProc__exit(s) \
+ (*PL_piProc->p_Exit)(PL_piProc, (s))
#define PerlProc_execl(c, w, x, y, z) \
- PL_piProc->Execl((c), (w), (x), (y), (z))
-
-#define PerlProc_execv(c, a) PL_piProc->Execv((c), (a))
-#define PerlProc_execvp(c, a) PL_piProc->Execvp((c), (a))
-#define PerlProc_getuid() PL_piProc->Getuid()
-#define PerlProc_geteuid() PL_piProc->Geteuid()
-#define PerlProc_getgid() PL_piProc->Getgid()
-#define PerlProc_getegid() PL_piProc->Getegid()
-#define PerlProc_getlogin() PL_piProc->Getlogin()
-#define PerlProc_kill(i, a) PL_piProc->Kill((i), (a))
-#define PerlProc_killpg(i, a) PL_piProc->Killpg((i), (a))
-#define PerlProc_pause() PL_piProc->PauseProc()
-#define PerlProc_popen(c, m) PL_piProc->Popen((c), (m))
-#define PerlProc_pclose(f) PL_piProc->Pclose((f))
-#define PerlProc_pipe(fd) PL_piProc->Pipe((fd))
-#define PerlProc_setuid(u) PL_piProc->Setuid((u))
-#define PerlProc_setgid(g) PL_piProc->Setgid((g))
-#define PerlProc_sleep(t) PL_piProc->Sleep((t))
-#define PerlProc_times(t) PL_piProc->Times((t))
-#define PerlProc_wait(t) PL_piProc->Wait((t))
-#define PerlProc_waitpid(p,s,f) PL_piProc->Waitpid((p), (s), (f))
-#define PerlProc_setjmp(b, n) Sigsetjmp((b), (n))
-#define PerlProc_longjmp(b, n) Siglongjmp((b), (n))
-#define PerlProc_signal(n, h) PL_piProc->Signal((n), (h))
+ (*PL_piProc->pExecl)(PL_piProc, (c), (w), (x), (y), (z))
+#define PerlProc_execv(c, a) \
+ (*PL_piProc->pExecv)(PL_piProc, (c), (a))
+#define PerlProc_execvp(c, a) \
+ (*PL_piProc->pExecvp)(PL_piProc, (c), (a))
+#define PerlProc_getuid() \
+ (*PL_piProc->pGetuid)(PL_piProc)
+#define PerlProc_geteuid() \
+ (*PL_piProc->pGeteuid)(PL_piProc)
+#define PerlProc_getgid() \
+ (*PL_piProc->pGetgid)(PL_piProc)
+#define PerlProc_getegid() \
+ (*PL_piProc->pGetegid)(PL_piProc)
+#define PerlProc_getlogin() \
+ (*PL_piProc->pGetlogin)(PL_piProc)
+#define PerlProc_kill(i, a) \
+ (*PL_piProc->pKill)(PL_piProc, (i), (a))
+#define PerlProc_killpg(i, a) \
+ (*PL_piProc->pKillpg)(PL_piProc, (i), (a))
+#define PerlProc_pause() \
+ (*PL_piProc->pPauseProc)(PL_piProc)
+#define PerlProc_popen(c, m) \
+ (*PL_piProc->pPopen)(PL_piProc, (c), (m))
+#define PerlProc_pclose(f) \
+ (*PL_piProc->pPclose)(PL_piProc, (f))
+#define PerlProc_pipe(fd) \
+ (*PL_piProc->pPipe)(PL_piProc, (fd))
+#define PerlProc_setuid(u) \
+ (*PL_piProc->pSetuid)(PL_piProc, (u))
+#define PerlProc_setgid(g) \
+ (*PL_piProc->pSetgid)(PL_piProc, (g))
+#define PerlProc_sleep(t) \
+ (*PL_piProc->pSleep)(PL_piProc, (t))
+#define PerlProc_times(t) \
+ (*PL_piProc->pTimes)(PL_piProc, (t))
+#define PerlProc_wait(t) \
+ (*PL_piProc->pWait)(PL_piProc, (t))
+#define PerlProc_waitpid(p,s,f) \
+ (*PL_piProc->pWaitpid)(PL_piProc, (p), (s), (f))
+#define PerlProc_signal(n, h) \
+ (*PL_piProc->pSignal)(PL_piProc, (n), (h))
+#define PerlProc_setjmp(b, n) Sigsetjmp((b), (n))
+#define PerlProc_longjmp(b, n) Siglongjmp((b), (n))
#ifdef WIN32
-#define PerlProc_GetSysMsg(s,l,e) \
- PL_piProc->GetSysMsg((s), (l), (e))
-
-#define PerlProc_FreeBuf(s) PL_piProc->FreeBuf((s))
-#define PerlProc_Cmd(s) PL_piProc->DoCmd((s))
-#define do_spawn(s) PL_piProc->Spawn((s))
-#define do_spawnvp(m, c, a) PL_piProc->Spawnvp((m), (c), (a))
-#define PerlProc_aspawn(m,c,a) PL_piProc->ASpawn((m), (c), (a))
+#define PerlProc_DynaLoad(f) \
+ (*PL_piProc->pDynaLoader)(PL_piProc, (f))
+#define PerlProc_GetOSError(s,e) \
+ (*PL_piProc->pGetOSError)(PL_piProc, (s), (e))
+#define PerlProc_Cmd(s) \
+ (*PL_piProc->pDoCmd)(PL_piProc, (s))
+#define do_spawn(s) \
+ (*PL_piProc->pSpawn)(PL_piProc, (s))
+#define do_spawnvp(m, c, a) \
+ (*PL_piProc->pSpawnvp)(PL_piProc, (m), (c), (a))
+#define PerlProc_aspawn(m,c,a) \
+ (*PL_piProc->pASpawn)(PL_piProc, (m), (c), (a))
#endif
#else /* PERL_OBJECT */
@@ -771,7 +1039,12 @@ public:
#define PerlProc_longjmp(b, n) Siglongjmp((b), (n))
#define PerlProc_signal(n, h) signal((n), (h))
-
+#ifdef WIN32
+#define PerlProc_DynaLoad(f) \
+ win32_dynaload(aTHX_ const char*filename)
+#define PerlProc_GetOSError(s,e) \
+ win32_str_os_error(aTHX_ (s), (e))
+#endif
#endif /* PERL_OBJECT */
/*
@@ -780,123 +1053,217 @@ public:
#ifdef PERL_OBJECT
-class IPerlSock
+/* PerlSock */
+struct IPerlSock;
+typedef u_long (*LPHtonl)(struct IPerlSock*, u_long);
+typedef u_short (*LPHtons)(struct IPerlSock*, u_short);
+typedef u_long (*LPNtohl)(struct IPerlSock*, u_long);
+typedef u_short (*LPNtohs)(struct IPerlSock*, u_short);
+typedef SOCKET (*LPAccept)(struct IPerlSock*, SOCKET,
+ struct sockaddr*, int*);
+typedef int (*LPBind)(struct IPerlSock*, SOCKET,
+ const struct sockaddr*, int);
+typedef int (*LPConnect)(struct IPerlSock*, SOCKET,
+ const struct sockaddr*, int);
+typedef void (*LPEndhostent)(struct IPerlSock*);
+typedef void (*LPEndnetent)(struct IPerlSock*);
+typedef void (*LPEndprotoent)(struct IPerlSock*);
+typedef void (*LPEndservent)(struct IPerlSock*);
+typedef int (*LPGethostname)(struct IPerlSock*, char*, int);
+typedef int (*LPGetpeername)(struct IPerlSock*, SOCKET,
+ struct sockaddr*, int*);
+typedef struct hostent* (*LPGethostbyaddr)(struct IPerlSock*, const char*,
+ int, int);
+typedef struct hostent* (*LPGethostbyname)(struct IPerlSock*, const char*);
+typedef struct hostent* (*LPGethostent)(struct IPerlSock*);
+typedef struct netent* (*LPGetnetbyaddr)(struct IPerlSock*, long, int);
+typedef struct netent* (*LPGetnetbyname)(struct IPerlSock*, const char*);
+typedef struct netent* (*LPGetnetent)(struct IPerlSock*);
+typedef struct protoent*(*LPGetprotobyname)(struct IPerlSock*, const char*);
+typedef struct protoent*(*LPGetprotobynumber)(struct IPerlSock*, int);
+typedef struct protoent*(*LPGetprotoent)(struct IPerlSock*);
+typedef struct servent* (*LPGetservbyname)(struct IPerlSock*, const char*,
+ const char*);
+typedef struct servent* (*LPGetservbyport)(struct IPerlSock*, int,
+ const char*);
+typedef struct servent* (*LPGetservent)(struct IPerlSock*);
+typedef int (*LPGetsockname)(struct IPerlSock*, SOCKET,
+ struct sockaddr*, int*);
+typedef int (*LPGetsockopt)(struct IPerlSock*, SOCKET, int, int,
+ char*, int*);
+typedef unsigned long (*LPInetAddr)(struct IPerlSock*, const char*);
+typedef char* (*LPInetNtoa)(struct IPerlSock*, struct in_addr);
+typedef int (*LPListen)(struct IPerlSock*, SOCKET, int);
+typedef int (*LPRecv)(struct IPerlSock*, SOCKET, char*, int, int);
+typedef int (*LPRecvfrom)(struct IPerlSock*, SOCKET, char*, int,
+ int, struct sockaddr*, int*);
+typedef int (*LPSelect)(struct IPerlSock*, int, char*, char*,
+ char*, const struct timeval*);
+typedef int (*LPSend)(struct IPerlSock*, SOCKET, const char*, int,
+ int);
+typedef int (*LPSendto)(struct IPerlSock*, SOCKET, const char*,
+ int, int, const struct sockaddr*, int);
+typedef void (*LPSethostent)(struct IPerlSock*, int);
+typedef void (*LPSetnetent)(struct IPerlSock*, int);
+typedef void (*LPSetprotoent)(struct IPerlSock*, int);
+typedef void (*LPSetservent)(struct IPerlSock*, int);
+typedef int (*LPSetsockopt)(struct IPerlSock*, SOCKET, int, int,
+ const char*, int);
+typedef int (*LPShutdown)(struct IPerlSock*, SOCKET, int);
+typedef SOCKET (*LPSocket)(struct IPerlSock*, int, int, int);
+typedef int (*LPSocketpair)(struct IPerlSock*, int, int, int,
+ int*);
+#ifdef WIN32
+typedef int (*LPClosesocket)(struct IPerlSock*, SOCKET s);
+#endif
+
+struct IPerlSock
{
-public:
- virtual u_long Htonl(u_long hostlong) = 0;
- virtual u_short Htons(u_short hostshort) = 0;
- virtual u_long Ntohl(u_long netlong) = 0;
- virtual u_short Ntohs(u_short netshort) = 0;
- virtual SOCKET Accept(SOCKET s, struct sockaddr* addr,
- int* addrlen, int &err) = 0;
- virtual int Bind(SOCKET s, const struct sockaddr* name,
- int namelen, int &err) = 0;
- virtual int Connect(SOCKET s, const struct sockaddr* name,
- int namelen, int &err) = 0;
- virtual void Endhostent(int &err) = 0;
- virtual void Endnetent(int &err) = 0;
- virtual void Endprotoent(int &err) = 0;
- virtual void Endservent(int &err) = 0;
- virtual int Gethostname(char* name, int namelen, int &err) = 0;
- virtual int Getpeername(SOCKET s, struct sockaddr* name,
- int* namelen, int &err) = 0;
- virtual struct hostent * Gethostbyaddr(const char* addr, int len,
- int type, int &err) = 0;
- virtual struct hostent * Gethostbyname(const char* name, int &err) = 0;
- virtual struct hostent * Gethostent(int &err) = 0;
- virtual struct netent * Getnetbyaddr(long net, int type, int &err) = 0;
- virtual struct netent * Getnetbyname(const char *, int &err) = 0;
- virtual struct netent * Getnetent(int &err) = 0;
- virtual struct protoent * Getprotobyname(const char* name, int &err) = 0;
- virtual struct protoent * Getprotobynumber(int number, int &err) = 0;
- virtual struct protoent * Getprotoent(int &err) = 0;
- virtual struct servent * Getservbyname(const char* name,
- const char* proto, int &err) = 0;
- virtual struct servent * Getservbyport(int port, const char* proto,
- int &err) = 0;
- virtual struct servent * Getservent(int &err) = 0;
- virtual int Getsockname(SOCKET s, struct sockaddr* name,
- int* namelen, int &err) = 0;
- virtual int Getsockopt(SOCKET s, int level, int optname,
- char* optval, int* optlen, int &err) = 0;
- virtual unsigned long InetAddr(const char* cp, int &err) = 0;
- virtual char * InetNtoa(struct in_addr in, int &err) = 0;
- virtual int Listen(SOCKET s, int backlog, int &err) = 0;
- virtual int Recv(SOCKET s, char* buf, int len,
- int flags, int &err) = 0;
- virtual int Recvfrom(SOCKET s, char* buf, int len, int flags,
- struct sockaddr* from, int* fromlen, int &err) = 0;
- virtual int Select(int nfds, char* readfds, char* writefds,
- char* exceptfds, const struct timeval* timeout,
- int &err) = 0;
- virtual int Send(SOCKET s, const char* buf, int len,
- int flags, int &err) = 0;
- virtual int Sendto(SOCKET s, const char* buf, int len, int flags,
- const struct sockaddr* to, int tolen, int &err) = 0;
- virtual void Sethostent(int stayopen, int &err) = 0;
- virtual void Setnetent(int stayopen, int &err) = 0;
- virtual void Setprotoent(int stayopen, int &err) = 0;
- virtual void Setservent(int stayopen, int &err) = 0;
- virtual int Setsockopt(SOCKET s, int level, int optname,
- const char* optval, int optlen, int &err) = 0;
- virtual int Shutdown(SOCKET s, int how, int &err) = 0;
- virtual SOCKET Socket(int af, int type, int protocol, int &err) = 0;
- virtual int Socketpair(int domain, int type, int protocol,
- int* fds, int &err) = 0;
+ LPHtonl pHtonl;
+ LPHtons pHtons;
+ LPNtohl pNtohl;
+ LPNtohs pNtohs;
+ LPAccept pAccept;
+ LPBind pBind;
+ LPConnect pConnect;
+ LPEndhostent pEndhostent;
+ LPEndnetent pEndnetent;
+ LPEndprotoent pEndprotoent;
+ LPEndservent pEndservent;
+ LPGethostname pGethostname;
+ LPGetpeername pGetpeername;
+ LPGethostbyaddr pGethostbyaddr;
+ LPGethostbyname pGethostbyname;
+ LPGethostent pGethostent;
+ LPGetnetbyaddr pGetnetbyaddr;
+ LPGetnetbyname pGetnetbyname;
+ LPGetnetent pGetnetent;
+ LPGetprotobyname pGetprotobyname;
+ LPGetprotobynumber pGetprotobynumber;
+ LPGetprotoent pGetprotoent;
+ LPGetservbyname pGetservbyname;
+ LPGetservbyport pGetservbyport;
+ LPGetservent pGetservent;
+ LPGetsockname pGetsockname;
+ LPGetsockopt pGetsockopt;
+ LPInetAddr pInetAddr;
+ LPInetNtoa pInetNtoa;
+ LPListen pListen;
+ LPRecv pRecv;
+ LPRecvfrom pRecvfrom;
+ LPSelect pSelect;
+ LPSend pSend;
+ LPSendto pSendto;
+ LPSethostent pSethostent;
+ LPSetnetent pSetnetent;
+ LPSetprotoent pSetprotoent;
+ LPSetservent pSetservent;
+ LPSetsockopt pSetsockopt;
+ LPShutdown pShutdown;
+ LPSocket pSocket;
+ LPSocketpair pSocketpair;
#ifdef WIN32
- virtual int Closesocket(SOCKET s, int& err) = 0;
- virtual int Ioctlsocket(SOCKET s, long cmd, u_long *argp,
- int& err) = 0;
+ LPClosesocket pClosesocket;
#endif
};
-#define PerlSock_htonl(x) PL_piSock->Htonl(x)
-#define PerlSock_htons(x) PL_piSock->Htons(x)
-#define PerlSock_ntohl(x) PL_piSock->Ntohl(x)
-#define PerlSock_ntohs(x) PL_piSock->Ntohs(x)
-#define PerlSock_accept(s, a, l) PL_piSock->Accept(s, a, l, ErrorNo())
-#define PerlSock_bind(s, n, l) PL_piSock->Bind(s, n, l, ErrorNo())
-#define PerlSock_connect(s, n, l) PL_piSock->Connect(s, n, l, ErrorNo())
-#define PerlSock_endhostent() PL_piSock->Endhostent(ErrorNo())
-#define PerlSock_endnetent() PL_piSock->Endnetent(ErrorNo())
-#define PerlSock_endprotoent() PL_piSock->Endprotoent(ErrorNo())
-#define PerlSock_endservent() PL_piSock->Endservent(ErrorNo())
-#define PerlSock_gethostbyaddr(a, l, t) PL_piSock->Gethostbyaddr(a, l, t, ErrorNo())
-#define PerlSock_gethostbyname(n) PL_piSock->Gethostbyname(n, ErrorNo())
-#define PerlSock_gethostent() PL_piSock->Gethostent(ErrorNo())
-#define PerlSock_gethostname(n, l) PL_piSock->Gethostname(n, l, ErrorNo())
-#define PerlSock_getnetbyaddr(n, t) PL_piSock->Getnetbyaddr(n, t, ErrorNo())
-#define PerlSock_getnetbyname(c) PL_piSock->Getnetbyname(c, ErrorNo())
-#define PerlSock_getnetent() PL_piSock->Getnetent(ErrorNo())
-#define PerlSock_getpeername(s, n, l) PL_piSock->Getpeername(s, n, l, ErrorNo())
-#define PerlSock_getprotobyname(n) PL_piSock->Getprotobyname(n, ErrorNo())
-#define PerlSock_getprotobynumber(n) PL_piSock->Getprotobynumber(n, ErrorNo())
-#define PerlSock_getprotoent() PL_piSock->Getprotoent(ErrorNo())
-#define PerlSock_getservbyname(n, p) PL_piSock->Getservbyname(n, p, ErrorNo())
-#define PerlSock_getservbyport(port, p) PL_piSock->Getservbyport(port, p, ErrorNo())
-#define PerlSock_getservent() PL_piSock->Getservent(ErrorNo())
-#define PerlSock_getsockname(s, n, l) PL_piSock->Getsockname(s, n, l, ErrorNo())
-#define PerlSock_getsockopt(s,l,n,v,i) PL_piSock->Getsockopt(s, l, n, v, i, ErrorNo())
-#define PerlSock_inet_addr(c) PL_piSock->InetAddr(c, ErrorNo())
-#define PerlSock_inet_ntoa(i) PL_piSock->InetNtoa(i, ErrorNo())
-#define PerlSock_listen(s, b) PL_piSock->Listen(s, b, ErrorNo())
-#define PerlSock_recv(s, b, l, f) PL_piSock->Recv(s, b, l, f, ErrorNo())
+struct IPerlSockInfo
+{
+ unsigned long nCount; /* number of entries expected */
+ struct IPerlSock perlSockList;
+};
+
+#define PerlSock_htonl(x) \
+ (*PL_piSock->pHtonl)(PL_piSock, x)
+#define PerlSock_htons(x) \
+ (*PL_piSock->pHtons)(PL_piSock, x)
+#define PerlSock_ntohl(x) \
+ (*PL_piSock->pNtohl)(PL_piSock, x)
+#define PerlSock_ntohs(x) \
+ (*PL_piSock->pNtohs)(PL_piSock, x)
+#define PerlSock_accept(s, a, l) \
+ (*PL_piSock->pAccept)(PL_piSock, s, a, l)
+#define PerlSock_bind(s, n, l) \
+ (*PL_piSock->pBind)(PL_piSock, s, n, l)
+#define PerlSock_connect(s, n, l) \
+ (*PL_piSock->pConnect)(PL_piSock, s, n, l)
+#define PerlSock_endhostent() \
+ (*PL_piSock->pEndhostent)(PL_piSock)
+#define PerlSock_endnetent() \
+ (*PL_piSock->pEndnetent)(PL_piSock)
+#define PerlSock_endprotoent() \
+ (*PL_piSock->pEndprotoent)(PL_piSock)
+#define PerlSock_endservent() \
+ (*PL_piSock->pEndservent)(PL_piSock)
+#define PerlSock_gethostbyaddr(a, l, t) \
+ (*PL_piSock->pGethostbyaddr)(PL_piSock, a, l, t)
+#define PerlSock_gethostbyname(n) \
+ (*PL_piSock->pGethostbyname)(PL_piSock, n)
+#define PerlSock_gethostent() \
+ (*PL_piSock->pGethostent)(PL_piSock)
+#define PerlSock_gethostname(n, l) \
+ (*PL_piSock->pGethostname)(PL_piSock, n, l)
+#define PerlSock_getnetbyaddr(n, t) \
+ (*PL_piSock->pGetnetbyaddr)(PL_piSock, n, t)
+#define PerlSock_getnetbyname(c) \
+ (*PL_piSock->pGetnetbyname)(PL_piSock, c)
+#define PerlSock_getnetent() \
+ (*PL_piSock->pGetnetent)(PL_piSock)
+#define PerlSock_getpeername(s, n, l) \
+ (*PL_piSock->pGetpeername)(PL_piSock, s, n, l)
+#define PerlSock_getprotobyname(n) \
+ (*PL_piSock->pGetprotobyname)(PL_piSock, n)
+#define PerlSock_getprotobynumber(n) \
+ (*PL_piSock->pGetprotobynumber)(PL_piSock, n)
+#define PerlSock_getprotoent() \
+ (*PL_piSock->pGetprotoent)(PL_piSock)
+#define PerlSock_getservbyname(n, p) \
+ (*PL_piSock->pGetservbyname)(PL_piSock, n, p)
+#define PerlSock_getservbyport(port, p) \
+ (*PL_piSock->pGetservbyport)(PL_piSock, port, p)
+#define PerlSock_getservent() \
+ (*PL_piSock->pGetservent)(PL_piSock)
+#define PerlSock_getsockname(s, n, l) \
+ (*PL_piSock->pGetsockname)(PL_piSock, s, n, l)
+#define PerlSock_getsockopt(s,l,n,v,i) \
+ (*PL_piSock->pGetsockopt)(PL_piSock, s, l, n, v, i)
+#define PerlSock_inet_addr(c) \
+ (*PL_piSock->pInetAddr)(PL_piSock, c)
+#define PerlSock_inet_ntoa(i) \
+ (*PL_piSock->pInetNtoa)(PL_piSock, i)
+#define PerlSock_listen(s, b) \
+ (*PL_piSock->pListen)(PL_piSock, s, b)
+#define PerlSock_recv(s, b, l, f) \
+ (*PL_piSock->pRecv)(PL_piSock, s, b, l, f)
#define PerlSock_recvfrom(s,b,l,f,from,fromlen) \
- PL_piSock->Recvfrom(s, b, l, f, from, fromlen, ErrorNo())
+ (*PL_piSock->pRecvfrom)(PL_piSock, s, b, l, f, from, fromlen)
#define PerlSock_select(n, r, w, e, t) \
- PL_piSock->Select(n, (char*)r, (char*)w, (char*)e, t, ErrorNo())
-#define PerlSock_send(s, b, l, f) PL_piSock->Send(s, b, l, f, ErrorNo())
+ (*PL_piSock->pSelect)(PL_piSock, n, (char*)r, (char*)w, (char*)e, t)
+#define PerlSock_send(s, b, l, f) \
+ (*PL_piSock->pSend)(PL_piSock, s, b, l, f)
#define PerlSock_sendto(s, b, l, f, t, tlen) \
- PL_piSock->Sendto(s, b, l, f, t, tlen, ErrorNo())
-#define PerlSock_sethostent(f) PL_piSock->Sethostent(f, ErrorNo())
-#define PerlSock_setnetent(f) PL_piSock->Setnetent(f, ErrorNo())
-#define PerlSock_setprotoent(f) PL_piSock->Setprotoent(f, ErrorNo())
-#define PerlSock_setservent(f) PL_piSock->Setservent(f, ErrorNo())
+ (*PL_piSock->pSendto)(PL_piSock, s, b, l, f, t, tlen)
+#define PerlSock_sethostent(f) \
+ (*PL_piSock->pSethostent)(PL_piSock, f)
+#define PerlSock_setnetent(f) \
+ (*PL_piSock->pSetnetent)(PL_piSock, f)
+#define PerlSock_setprotoent(f) \
+ (*PL_piSock->pSetprotoent)(PL_piSock, f)
+#define PerlSock_setservent(f) \
+ (*PL_piSock->pSetservent)(PL_piSock, f)
#define PerlSock_setsockopt(s, l, n, v, len) \
- PL_piSock->Setsockopt(s, l, n, v, len, ErrorNo())
-#define PerlSock_shutdown(s, h) PL_piSock->Shutdown(s, h, ErrorNo())
-#define PerlSock_socket(a, t, p) PL_piSock->Socket(a, t, p, ErrorNo())
-#define PerlSock_socketpair(a, t, p, f) PL_piSock->Socketpair(a, t, p, f, ErrorNo())
+ (*PL_piSock->pSetsockopt)(PL_piSock, s, l, n, v, len)
+#define PerlSock_shutdown(s, h) \
+ (*PL_piSock->pShutdown)(PL_piSock, s, h)
+#define PerlSock_socket(a, t, p) \
+ (*PL_piSock->pSocket)(PL_piSock, a, t, p)
+#define PerlSock_socketpair(a, t, p, f) \
+ (*PL_piSock->pSocketpair)(PL_piSock, a, t, p, f)
+
+#ifdef WIN32
+#define PerlSock_closesocket(s) \
+ (*PL_piSock->pClosesocket)(PL_piSock, s)
+#endif
#else /* PERL_OBJECT */
@@ -952,6 +1319,9 @@ public:
#define PerlSock_socket(a, t, p) socket(a, t, p)
#define PerlSock_socketpair(a, t, p, f) socketpair(a, t, p, f)
+#ifdef WIN32
+#define PerlSock_closesocket(s) closesocket(s)
+#endif
#endif /* PERL_OBJECT */
diff --git a/lib/ExtUtils/Embed.pm b/lib/ExtUtils/Embed.pm
index 7b240ccc99..e0ea0685f0 100644
--- a/lib/ExtUtils/Embed.pm
+++ b/lib/ExtUtils/Embed.pm
@@ -51,7 +51,7 @@ sub xsinit {
my($file, $std, $mods) = @_;
my($fh,@mods,%seen);
$file ||= "perlxsi.c";
- my $xsinit_proto = is_perl_object() ? "CPERLarg" : "void";
+ my $xsinit_proto = "pTHXo";
if (@_) {
@mods = @$mods if $mods;
@@ -120,8 +120,7 @@ EOF
sub xsi_protos {
my(@exts) = @_;
my(@retval,%seen);
- my $boot_proto = is_perl_object() ?
- "CV* cv _CPERLarg" : "CV* cv";
+ my $boot_proto = "pTHXo_ CV* cv";
foreach $_ (@exts){
my($pname) = canon('/', $_);
my($mname, $cname);
diff --git a/lib/ExtUtils/xsubpp b/lib/ExtUtils/xsubpp
index 83ad03ae4d..ac9ea74d23 100755
--- a/lib/ExtUtils/xsubpp
+++ b/lib/ExtUtils/xsubpp
@@ -1320,7 +1320,7 @@ EOF
if ($WantCAPI) {
print Q<<"EOF";
##ifdef PERL_CAPI
-##define XSCAPI(name) void name(CV* cv, void* pPerl)
+##define XSCAPI(name) void name(void *pPerl, CV* cv)
#
##ifdef __cplusplus
#extern "C"
diff --git a/mg.c b/mg.c
index 30253bcf3b..8175982b45 100644
--- a/mg.c
+++ b/mg.c
@@ -525,15 +525,7 @@ Perl_magic_get(pTHX_ SV *sv, MAGIC *mg)
sv_setnv(sv, (double)dwErr);
if (dwErr)
{
-#ifdef PERL_OBJECT
- char *sMsg;
- DWORD dwLen;
- PerlProc_GetSysMsg(sMsg, dwLen, dwErr);
- sv_setpvn(sv, sMsg, dwLen);
- PerlProc_FreeBuf(sMsg);
-#else
- win32_str_os_error(aTHX_ sv, dwErr);
-#endif
+ PerlProc_GetOSError(sv, dwErr);
}
else
sv_setpv(sv, "");
diff --git a/objXSUB.h b/objXSUB.h
index c15c19df1f..1e37e0b830 100644
--- a/objXSUB.h
+++ b/objXSUB.h
@@ -789,2097 +789,4125 @@
/* Functions */
+#if defined(PERL_OBJECT)
+#endif
+#undef Perl_amagic_call
+#define Perl_amagic_call pPerl->Perl_amagic_call
#undef amagic_call
-#define amagic_call pPerl->amagic_call
+#define amagic_call Perl_amagic_call
+#undef Perl_Gv_AMupdate
+#define Perl_Gv_AMupdate pPerl->Perl_Gv_AMupdate
#undef Gv_AMupdate
-#define Gv_AMupdate pPerl->Gv_AMupdate
+#define Gv_AMupdate Perl_Gv_AMupdate
+#undef Perl_append_elem
+#define Perl_append_elem pPerl->Perl_append_elem
#undef append_elem
-#define append_elem pPerl->append_elem
+#define append_elem Perl_append_elem
+#undef Perl_append_list
+#define Perl_append_list pPerl->Perl_append_list
#undef append_list
-#define append_list pPerl->append_list
+#define append_list Perl_append_list
+#undef Perl_apply
+#define Perl_apply pPerl->Perl_apply
#undef apply
-#define apply pPerl->apply
+#define apply Perl_apply
+#undef Perl_assertref
+#define Perl_assertref pPerl->Perl_assertref
#undef assertref
-#define assertref pPerl->assertref
+#define assertref Perl_assertref
+#undef Perl_avhv_exists_ent
+#define Perl_avhv_exists_ent pPerl->Perl_avhv_exists_ent
#undef avhv_exists_ent
-#define avhv_exists_ent pPerl->avhv_exists_ent
+#define avhv_exists_ent Perl_avhv_exists_ent
+#undef Perl_avhv_fetch_ent
+#define Perl_avhv_fetch_ent pPerl->Perl_avhv_fetch_ent
#undef avhv_fetch_ent
-#define avhv_fetch_ent pPerl->avhv_fetch_ent
+#define avhv_fetch_ent Perl_avhv_fetch_ent
+#undef Perl_avhv_iternext
+#define Perl_avhv_iternext pPerl->Perl_avhv_iternext
#undef avhv_iternext
-#define avhv_iternext pPerl->avhv_iternext
+#define avhv_iternext Perl_avhv_iternext
+#undef Perl_avhv_iterval
+#define Perl_avhv_iterval pPerl->Perl_avhv_iterval
#undef avhv_iterval
-#define avhv_iterval pPerl->avhv_iterval
+#define avhv_iterval Perl_avhv_iterval
+#undef Perl_avhv_keys
+#define Perl_avhv_keys pPerl->Perl_avhv_keys
#undef avhv_keys
-#define avhv_keys pPerl->avhv_keys
+#define avhv_keys Perl_avhv_keys
+#undef Perl_av_clear
+#define Perl_av_clear pPerl->Perl_av_clear
#undef av_clear
-#define av_clear pPerl->av_clear
+#define av_clear Perl_av_clear
+#undef Perl_av_extend
+#define Perl_av_extend pPerl->Perl_av_extend
#undef av_extend
-#define av_extend pPerl->av_extend
+#define av_extend Perl_av_extend
+#undef Perl_av_fake
+#define Perl_av_fake pPerl->Perl_av_fake
#undef av_fake
-#define av_fake pPerl->av_fake
+#define av_fake Perl_av_fake
+#undef Perl_av_fetch
+#define Perl_av_fetch pPerl->Perl_av_fetch
#undef av_fetch
-#define av_fetch pPerl->av_fetch
+#define av_fetch Perl_av_fetch
+#undef Perl_av_fill
+#define Perl_av_fill pPerl->Perl_av_fill
#undef av_fill
-#define av_fill pPerl->av_fill
+#define av_fill Perl_av_fill
+#undef Perl_av_len
+#define Perl_av_len pPerl->Perl_av_len
#undef av_len
-#define av_len pPerl->av_len
+#define av_len Perl_av_len
+#undef Perl_av_make
+#define Perl_av_make pPerl->Perl_av_make
#undef av_make
-#define av_make pPerl->av_make
+#define av_make Perl_av_make
+#undef Perl_av_pop
+#define Perl_av_pop pPerl->Perl_av_pop
#undef av_pop
-#define av_pop pPerl->av_pop
+#define av_pop Perl_av_pop
+#undef Perl_av_push
+#define Perl_av_push pPerl->Perl_av_push
#undef av_push
-#define av_push pPerl->av_push
+#define av_push Perl_av_push
+#undef Perl_av_reify
+#define Perl_av_reify pPerl->Perl_av_reify
#undef av_reify
-#define av_reify pPerl->av_reify
+#define av_reify Perl_av_reify
+#undef Perl_av_shift
+#define Perl_av_shift pPerl->Perl_av_shift
#undef av_shift
-#define av_shift pPerl->av_shift
+#define av_shift Perl_av_shift
+#undef Perl_av_store
+#define Perl_av_store pPerl->Perl_av_store
#undef av_store
-#define av_store pPerl->av_store
+#define av_store Perl_av_store
+#undef Perl_av_undef
+#define Perl_av_undef pPerl->Perl_av_undef
#undef av_undef
-#define av_undef pPerl->av_undef
+#define av_undef Perl_av_undef
+#undef Perl_av_unshift
+#define Perl_av_unshift pPerl->Perl_av_unshift
#undef av_unshift
-#define av_unshift pPerl->av_unshift
+#define av_unshift Perl_av_unshift
+#undef Perl_bind_match
+#define Perl_bind_match pPerl->Perl_bind_match
#undef bind_match
-#define bind_match pPerl->bind_match
+#define bind_match Perl_bind_match
+#undef Perl_block_end
+#define Perl_block_end pPerl->Perl_block_end
#undef block_end
-#define block_end pPerl->block_end
+#define block_end Perl_block_end
+#undef Perl_block_gimme
+#define Perl_block_gimme pPerl->Perl_block_gimme
#undef block_gimme
-#define block_gimme pPerl->block_gimme
+#define block_gimme Perl_block_gimme
+#undef Perl_block_start
+#define Perl_block_start pPerl->Perl_block_start
#undef block_start
-#define block_start pPerl->block_start
+#define block_start Perl_block_start
+#undef Perl_boot_core_UNIVERSAL
+#define Perl_boot_core_UNIVERSAL pPerl->Perl_boot_core_UNIVERSAL
#undef boot_core_UNIVERSAL
-#define boot_core_UNIVERSAL pPerl->boot_core_UNIVERSAL
+#define boot_core_UNIVERSAL Perl_boot_core_UNIVERSAL
+#undef Perl_call_list
+#define Perl_call_list pPerl->Perl_call_list
#undef call_list
-#define call_list pPerl->call_list
+#define call_list Perl_call_list
+#undef Perl_cando
+#define Perl_cando pPerl->Perl_cando
#undef cando
-#define cando pPerl->cando
+#define cando Perl_cando
+#undef Perl_cast_ulong
+#define Perl_cast_ulong pPerl->Perl_cast_ulong
#undef cast_ulong
-#define cast_ulong pPerl->cast_ulong
+#define cast_ulong Perl_cast_ulong
+#undef Perl_cast_i32
+#define Perl_cast_i32 pPerl->Perl_cast_i32
#undef cast_i32
-#define cast_i32 pPerl->cast_i32
+#define cast_i32 Perl_cast_i32
+#undef Perl_cast_iv
+#define Perl_cast_iv pPerl->Perl_cast_iv
#undef cast_iv
-#define cast_iv pPerl->cast_iv
+#define cast_iv Perl_cast_iv
+#undef Perl_cast_uv
+#define Perl_cast_uv pPerl->Perl_cast_uv
#undef cast_uv
-#define cast_uv pPerl->cast_uv
+#define cast_uv Perl_cast_uv
#if !defined(HAS_TRUNCATE) && !defined(HAS_CHSIZE) && defined(F_FREESP)
+#undef Perl_my_chsize
+#define Perl_my_chsize pPerl->Perl_my_chsize
#undef my_chsize
-#define my_chsize pPerl->my_chsize
+#define my_chsize Perl_my_chsize
#endif
#if defined(USE_THREADS)
+#undef Perl_condpair_magic
+#define Perl_condpair_magic pPerl->Perl_condpair_magic
#undef condpair_magic
-#define condpair_magic pPerl->condpair_magic
+#define condpair_magic Perl_condpair_magic
#endif
+#undef Perl_convert
+#define Perl_convert pPerl->Perl_convert
#undef convert
-#define convert pPerl->convert
+#define convert Perl_convert
+#undef Perl_croak
+#define Perl_croak pPerl->Perl_croak
#undef croak
-#define croak pPerl->croak
+#define croak Perl_croak
#if defined(PERL_IMPLICIT_CONTEXT)
+#undef Perl_croak_nocontext
+#define Perl_croak_nocontext pPerl->Perl_croak_nocontext
#undef croak_nocontext
-#define croak_nocontext pPerl->croak_nocontext
+#define croak_nocontext Perl_croak_nocontext
+#undef Perl_die_nocontext
+#define Perl_die_nocontext pPerl->Perl_die_nocontext
#undef die_nocontext
-#define die_nocontext pPerl->die_nocontext
+#define die_nocontext Perl_die_nocontext
+#undef Perl_form_nocontext
+#define Perl_form_nocontext pPerl->Perl_form_nocontext
#undef form_nocontext
-#define form_nocontext pPerl->form_nocontext
+#define form_nocontext Perl_form_nocontext
+#undef Perl_warn_nocontext
+#define Perl_warn_nocontext pPerl->Perl_warn_nocontext
#undef warn_nocontext
-#define warn_nocontext pPerl->warn_nocontext
+#define warn_nocontext Perl_warn_nocontext
+#undef Perl_newSVpvf_nocontext
+#define Perl_newSVpvf_nocontext pPerl->Perl_newSVpvf_nocontext
#undef newSVpvf_nocontext
-#define newSVpvf_nocontext pPerl->newSVpvf_nocontext
+#define newSVpvf_nocontext Perl_newSVpvf_nocontext
+#undef Perl_sv_catpvf_nocontext
+#define Perl_sv_catpvf_nocontext pPerl->Perl_sv_catpvf_nocontext
#undef sv_catpvf_nocontext
-#define sv_catpvf_nocontext pPerl->sv_catpvf_nocontext
+#define sv_catpvf_nocontext Perl_sv_catpvf_nocontext
+#undef Perl_sv_setpvf_nocontext
+#define Perl_sv_setpvf_nocontext pPerl->Perl_sv_setpvf_nocontext
#undef sv_setpvf_nocontext
-#define sv_setpvf_nocontext pPerl->sv_setpvf_nocontext
+#define sv_setpvf_nocontext Perl_sv_setpvf_nocontext
+#undef Perl_sv_catpvf_mg_nocontext
+#define Perl_sv_catpvf_mg_nocontext pPerl->Perl_sv_catpvf_mg_nocontext
#undef sv_catpvf_mg_nocontext
-#define sv_catpvf_mg_nocontext pPerl->sv_catpvf_mg_nocontext
+#define sv_catpvf_mg_nocontext Perl_sv_catpvf_mg_nocontext
+#undef Perl_sv_setpvf_mg_nocontext
+#define Perl_sv_setpvf_mg_nocontext pPerl->Perl_sv_setpvf_mg_nocontext
#undef sv_setpvf_mg_nocontext
-#define sv_setpvf_mg_nocontext pPerl->sv_setpvf_mg_nocontext
+#define sv_setpvf_mg_nocontext Perl_sv_setpvf_mg_nocontext
#endif
+#undef Perl_cv_ckproto
+#define Perl_cv_ckproto pPerl->Perl_cv_ckproto
#undef cv_ckproto
-#define cv_ckproto pPerl->cv_ckproto
+#define cv_ckproto Perl_cv_ckproto
+#undef Perl_cv_clone
+#define Perl_cv_clone pPerl->Perl_cv_clone
#undef cv_clone
-#define cv_clone pPerl->cv_clone
+#define cv_clone Perl_cv_clone
+#undef Perl_cv_const_sv
+#define Perl_cv_const_sv pPerl->Perl_cv_const_sv
#undef cv_const_sv
-#define cv_const_sv pPerl->cv_const_sv
+#define cv_const_sv Perl_cv_const_sv
+#undef Perl_op_const_sv
+#define Perl_op_const_sv pPerl->Perl_op_const_sv
#undef op_const_sv
-#define op_const_sv pPerl->op_const_sv
+#define op_const_sv Perl_op_const_sv
+#undef Perl_cv_undef
+#define Perl_cv_undef pPerl->Perl_cv_undef
#undef cv_undef
-#define cv_undef pPerl->cv_undef
+#define cv_undef Perl_cv_undef
+#undef Perl_cx_dump
+#define Perl_cx_dump pPerl->Perl_cx_dump
#undef cx_dump
-#define cx_dump pPerl->cx_dump
+#define cx_dump Perl_cx_dump
+#undef Perl_filter_add
+#define Perl_filter_add pPerl->Perl_filter_add
#undef filter_add
-#define filter_add pPerl->filter_add
+#define filter_add Perl_filter_add
+#undef Perl_filter_del
+#define Perl_filter_del pPerl->Perl_filter_del
#undef filter_del
-#define filter_del pPerl->filter_del
+#define filter_del Perl_filter_del
+#undef Perl_filter_read
+#define Perl_filter_read pPerl->Perl_filter_read
#undef filter_read
-#define filter_read pPerl->filter_read
+#define filter_read Perl_filter_read
+#undef Perl_get_op_descs
+#define Perl_get_op_descs pPerl->Perl_get_op_descs
#undef get_op_descs
-#define get_op_descs pPerl->get_op_descs
+#define get_op_descs Perl_get_op_descs
+#undef Perl_get_op_names
+#define Perl_get_op_names pPerl->Perl_get_op_names
#undef get_op_names
-#define get_op_names pPerl->get_op_names
+#define get_op_names Perl_get_op_names
+#undef Perl_get_no_modify
+#define Perl_get_no_modify pPerl->Perl_get_no_modify
#undef get_no_modify
-#define get_no_modify pPerl->get_no_modify
+#define get_no_modify Perl_get_no_modify
+#undef Perl_get_opargs
+#define Perl_get_opargs pPerl->Perl_get_opargs
#undef get_opargs
-#define get_opargs pPerl->get_opargs
+#define get_opargs Perl_get_opargs
+#undef Perl_get_ppaddr
+#define Perl_get_ppaddr pPerl->Perl_get_ppaddr
+#undef get_ppaddr
+#define get_ppaddr Perl_get_ppaddr
+#undef Perl_cxinc
+#define Perl_cxinc pPerl->Perl_cxinc
#undef cxinc
-#define cxinc pPerl->cxinc
+#define cxinc Perl_cxinc
+#undef Perl_deb
+#define Perl_deb pPerl->Perl_deb
#undef deb
-#define deb pPerl->deb
+#define deb Perl_deb
+#undef Perl_deb_growlevel
+#define Perl_deb_growlevel pPerl->Perl_deb_growlevel
#undef deb_growlevel
-#define deb_growlevel pPerl->deb_growlevel
+#define deb_growlevel Perl_deb_growlevel
+#undef Perl_debprofdump
+#define Perl_debprofdump pPerl->Perl_debprofdump
#undef debprofdump
-#define debprofdump pPerl->debprofdump
+#define debprofdump Perl_debprofdump
+#undef Perl_debop
+#define Perl_debop pPerl->Perl_debop
#undef debop
-#define debop pPerl->debop
+#define debop Perl_debop
+#undef Perl_debstack
+#define Perl_debstack pPerl->Perl_debstack
#undef debstack
-#define debstack pPerl->debstack
+#define debstack Perl_debstack
+#undef Perl_debstackptrs
+#define Perl_debstackptrs pPerl->Perl_debstackptrs
#undef debstackptrs
-#define debstackptrs pPerl->debstackptrs
+#define debstackptrs Perl_debstackptrs
+#undef Perl_delimcpy
+#define Perl_delimcpy pPerl->Perl_delimcpy
#undef delimcpy
-#define delimcpy pPerl->delimcpy
+#define delimcpy Perl_delimcpy
+#undef Perl_deprecate
+#define Perl_deprecate pPerl->Perl_deprecate
#undef deprecate
-#define deprecate pPerl->deprecate
+#define deprecate Perl_deprecate
+#undef Perl_die
+#define Perl_die pPerl->Perl_die
#undef die
-#define die pPerl->die
+#define die Perl_die
+#undef Perl_die_where
+#define Perl_die_where pPerl->Perl_die_where
#undef die_where
-#define die_where pPerl->die_where
+#define die_where Perl_die_where
+#undef Perl_dounwind
+#define Perl_dounwind pPerl->Perl_dounwind
#undef dounwind
-#define dounwind pPerl->dounwind
+#define dounwind Perl_dounwind
+#undef Perl_do_aexec
+#define Perl_do_aexec pPerl->Perl_do_aexec
#undef do_aexec
-#define do_aexec pPerl->do_aexec
+#define do_aexec Perl_do_aexec
+#undef Perl_do_binmode
+#define Perl_do_binmode pPerl->Perl_do_binmode
#undef do_binmode
-#define do_binmode pPerl->do_binmode
+#define do_binmode Perl_do_binmode
+#undef Perl_do_chop
+#define Perl_do_chop pPerl->Perl_do_chop
#undef do_chop
-#define do_chop pPerl->do_chop
+#define do_chop Perl_do_chop
+#undef Perl_do_close
+#define Perl_do_close pPerl->Perl_do_close
#undef do_close
-#define do_close pPerl->do_close
+#define do_close Perl_do_close
+#undef Perl_do_eof
+#define Perl_do_eof pPerl->Perl_do_eof
#undef do_eof
-#define do_eof pPerl->do_eof
+#define do_eof Perl_do_eof
+#undef Perl_do_exec
+#define Perl_do_exec pPerl->Perl_do_exec
#undef do_exec
-#define do_exec pPerl->do_exec
+#define do_exec Perl_do_exec
#if !defined(WIN32)
+#undef Perl_do_exec3
+#define Perl_do_exec3 pPerl->Perl_do_exec3
#undef do_exec3
-#define do_exec3 pPerl->do_exec3
+#define do_exec3 Perl_do_exec3
#endif
+#undef Perl_do_execfree
+#define Perl_do_execfree pPerl->Perl_do_execfree
#undef do_execfree
-#define do_execfree pPerl->do_execfree
+#define do_execfree Perl_do_execfree
#if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM)
+#undef Perl_do_ipcctl
+#define Perl_do_ipcctl pPerl->Perl_do_ipcctl
#undef do_ipcctl
-#define do_ipcctl pPerl->do_ipcctl
+#define do_ipcctl Perl_do_ipcctl
+#undef Perl_do_ipcget
+#define Perl_do_ipcget pPerl->Perl_do_ipcget
#undef do_ipcget
-#define do_ipcget pPerl->do_ipcget
+#define do_ipcget Perl_do_ipcget
+#undef Perl_do_msgrcv
+#define Perl_do_msgrcv pPerl->Perl_do_msgrcv
#undef do_msgrcv
-#define do_msgrcv pPerl->do_msgrcv
+#define do_msgrcv Perl_do_msgrcv
+#undef Perl_do_msgsnd
+#define Perl_do_msgsnd pPerl->Perl_do_msgsnd
#undef do_msgsnd
-#define do_msgsnd pPerl->do_msgsnd
+#define do_msgsnd Perl_do_msgsnd
+#undef Perl_do_semop
+#define Perl_do_semop pPerl->Perl_do_semop
#undef do_semop
-#define do_semop pPerl->do_semop
+#define do_semop Perl_do_semop
+#undef Perl_do_shmio
+#define Perl_do_shmio pPerl->Perl_do_shmio
#undef do_shmio
-#define do_shmio pPerl->do_shmio
+#define do_shmio Perl_do_shmio
#endif
+#undef Perl_do_join
+#define Perl_do_join pPerl->Perl_do_join
#undef do_join
-#define do_join pPerl->do_join
+#define do_join Perl_do_join
+#undef Perl_do_kv
+#define Perl_do_kv pPerl->Perl_do_kv
#undef do_kv
-#define do_kv pPerl->do_kv
+#define do_kv Perl_do_kv
+#undef Perl_do_open
+#define Perl_do_open pPerl->Perl_do_open
#undef do_open
-#define do_open pPerl->do_open
+#define do_open Perl_do_open
+#undef Perl_do_pipe
+#define Perl_do_pipe pPerl->Perl_do_pipe
#undef do_pipe
-#define do_pipe pPerl->do_pipe
+#define do_pipe Perl_do_pipe
+#undef Perl_do_print
+#define Perl_do_print pPerl->Perl_do_print
#undef do_print
-#define do_print pPerl->do_print
+#define do_print Perl_do_print
+#undef Perl_do_readline
+#define Perl_do_readline pPerl->Perl_do_readline
#undef do_readline
-#define do_readline pPerl->do_readline
+#define do_readline Perl_do_readline
+#undef Perl_do_chomp
+#define Perl_do_chomp pPerl->Perl_do_chomp
#undef do_chomp
-#define do_chomp pPerl->do_chomp
+#define do_chomp Perl_do_chomp
+#undef Perl_do_seek
+#define Perl_do_seek pPerl->Perl_do_seek
#undef do_seek
-#define do_seek pPerl->do_seek
+#define do_seek Perl_do_seek
+#undef Perl_do_sprintf
+#define Perl_do_sprintf pPerl->Perl_do_sprintf
#undef do_sprintf
-#define do_sprintf pPerl->do_sprintf
+#define do_sprintf Perl_do_sprintf
+#undef Perl_do_sysseek
+#define Perl_do_sysseek pPerl->Perl_do_sysseek
#undef do_sysseek
-#define do_sysseek pPerl->do_sysseek
+#define do_sysseek Perl_do_sysseek
+#undef Perl_do_tell
+#define Perl_do_tell pPerl->Perl_do_tell
#undef do_tell
-#define do_tell pPerl->do_tell
+#define do_tell Perl_do_tell
+#undef Perl_do_trans
+#define Perl_do_trans pPerl->Perl_do_trans
#undef do_trans
-#define do_trans pPerl->do_trans
+#define do_trans Perl_do_trans
+#undef Perl_do_vecset
+#define Perl_do_vecset pPerl->Perl_do_vecset
#undef do_vecset
-#define do_vecset pPerl->do_vecset
+#define do_vecset Perl_do_vecset
+#undef Perl_do_vop
+#define Perl_do_vop pPerl->Perl_do_vop
#undef do_vop
-#define do_vop pPerl->do_vop
+#define do_vop Perl_do_vop
+#undef Perl_dofile
+#define Perl_dofile pPerl->Perl_dofile
#undef dofile
-#define dofile pPerl->dofile
+#define dofile Perl_dofile
+#undef Perl_dowantarray
+#define Perl_dowantarray pPerl->Perl_dowantarray
#undef dowantarray
-#define dowantarray pPerl->dowantarray
+#define dowantarray Perl_dowantarray
+#undef Perl_dump_all
+#define Perl_dump_all pPerl->Perl_dump_all
#undef dump_all
-#define dump_all pPerl->dump_all
+#define dump_all Perl_dump_all
+#undef Perl_dump_eval
+#define Perl_dump_eval pPerl->Perl_dump_eval
#undef dump_eval
-#define dump_eval pPerl->dump_eval
+#define dump_eval Perl_dump_eval
#if defined(DUMP_FDS)
+#undef Perl_dump_fds
+#define Perl_dump_fds pPerl->Perl_dump_fds
#undef dump_fds
-#define dump_fds pPerl->dump_fds
+#define dump_fds Perl_dump_fds
#endif
+#undef Perl_dump_form
+#define Perl_dump_form pPerl->Perl_dump_form
#undef dump_form
-#define dump_form pPerl->dump_form
+#define dump_form Perl_dump_form
+#undef Perl_gv_dump
+#define Perl_gv_dump pPerl->Perl_gv_dump
#undef gv_dump
-#define gv_dump pPerl->gv_dump
+#define gv_dump Perl_gv_dump
+#undef Perl_op_dump
+#define Perl_op_dump pPerl->Perl_op_dump
#undef op_dump
-#define op_dump pPerl->op_dump
+#define op_dump Perl_op_dump
+#undef Perl_pmop_dump
+#define Perl_pmop_dump pPerl->Perl_pmop_dump
#undef pmop_dump
-#define pmop_dump pPerl->pmop_dump
+#define pmop_dump Perl_pmop_dump
+#undef Perl_dump_packsubs
+#define Perl_dump_packsubs pPerl->Perl_dump_packsubs
#undef dump_packsubs
-#define dump_packsubs pPerl->dump_packsubs
+#define dump_packsubs Perl_dump_packsubs
+#undef Perl_dump_sub
+#define Perl_dump_sub pPerl->Perl_dump_sub
#undef dump_sub
-#define dump_sub pPerl->dump_sub
+#define dump_sub Perl_dump_sub
+#undef Perl_fbm_compile
+#define Perl_fbm_compile pPerl->Perl_fbm_compile
#undef fbm_compile
-#define fbm_compile pPerl->fbm_compile
+#define fbm_compile Perl_fbm_compile
+#undef Perl_fbm_instr
+#define Perl_fbm_instr pPerl->Perl_fbm_instr
#undef fbm_instr
-#define fbm_instr pPerl->fbm_instr
+#define fbm_instr Perl_fbm_instr
+#undef Perl_find_script
+#define Perl_find_script pPerl->Perl_find_script
#undef find_script
-#define find_script pPerl->find_script
+#define find_script Perl_find_script
#if defined(USE_THREADS)
+#undef Perl_find_threadsv
+#define Perl_find_threadsv pPerl->Perl_find_threadsv
#undef find_threadsv
-#define find_threadsv pPerl->find_threadsv
+#define find_threadsv Perl_find_threadsv
#endif
+#undef Perl_force_list
+#define Perl_force_list pPerl->Perl_force_list
#undef force_list
-#define force_list pPerl->force_list
+#define force_list Perl_force_list
+#undef Perl_fold_constants
+#define Perl_fold_constants pPerl->Perl_fold_constants
#undef fold_constants
-#define fold_constants pPerl->fold_constants
+#define fold_constants Perl_fold_constants
+#undef Perl_form
+#define Perl_form pPerl->Perl_form
#undef form
-#define form pPerl->form
+#define form Perl_form
+#undef Perl_free_tmps
+#define Perl_free_tmps pPerl->Perl_free_tmps
#undef free_tmps
-#define free_tmps pPerl->free_tmps
+#define free_tmps Perl_free_tmps
+#undef Perl_gen_constant_list
+#define Perl_gen_constant_list pPerl->Perl_gen_constant_list
#undef gen_constant_list
-#define gen_constant_list pPerl->gen_constant_list
+#define gen_constant_list Perl_gen_constant_list
#if !defined(HAS_GETENV_LEN)
+#undef Perl_getenv_len
+#define Perl_getenv_len pPerl->Perl_getenv_len
#undef getenv_len
-#define getenv_len pPerl->getenv_len
+#define getenv_len Perl_getenv_len
#endif
+#undef Perl_gp_free
+#define Perl_gp_free pPerl->Perl_gp_free
#undef gp_free
-#define gp_free pPerl->gp_free
+#define gp_free Perl_gp_free
+#undef Perl_gp_ref
+#define Perl_gp_ref pPerl->Perl_gp_ref
#undef gp_ref
-#define gp_ref pPerl->gp_ref
+#define gp_ref Perl_gp_ref
+#undef Perl_gv_AVadd
+#define Perl_gv_AVadd pPerl->Perl_gv_AVadd
#undef gv_AVadd
-#define gv_AVadd pPerl->gv_AVadd
+#define gv_AVadd Perl_gv_AVadd
+#undef Perl_gv_HVadd
+#define Perl_gv_HVadd pPerl->Perl_gv_HVadd
#undef gv_HVadd
-#define gv_HVadd pPerl->gv_HVadd
+#define gv_HVadd Perl_gv_HVadd
+#undef Perl_gv_IOadd
+#define Perl_gv_IOadd pPerl->Perl_gv_IOadd
#undef gv_IOadd
-#define gv_IOadd pPerl->gv_IOadd
+#define gv_IOadd Perl_gv_IOadd
+#undef Perl_gv_autoload4
+#define Perl_gv_autoload4 pPerl->Perl_gv_autoload4
#undef gv_autoload4
-#define gv_autoload4 pPerl->gv_autoload4
+#define gv_autoload4 Perl_gv_autoload4
+#undef Perl_gv_check
+#define Perl_gv_check pPerl->Perl_gv_check
#undef gv_check
-#define gv_check pPerl->gv_check
+#define gv_check Perl_gv_check
+#undef Perl_gv_efullname
+#define Perl_gv_efullname pPerl->Perl_gv_efullname
#undef gv_efullname
-#define gv_efullname pPerl->gv_efullname
+#define gv_efullname Perl_gv_efullname
+#undef Perl_gv_efullname3
+#define Perl_gv_efullname3 pPerl->Perl_gv_efullname3
#undef gv_efullname3
-#define gv_efullname3 pPerl->gv_efullname3
+#define gv_efullname3 Perl_gv_efullname3
+#undef Perl_gv_fetchfile
+#define Perl_gv_fetchfile pPerl->Perl_gv_fetchfile
#undef gv_fetchfile
-#define gv_fetchfile pPerl->gv_fetchfile
+#define gv_fetchfile Perl_gv_fetchfile
+#undef Perl_gv_fetchmeth
+#define Perl_gv_fetchmeth pPerl->Perl_gv_fetchmeth
#undef gv_fetchmeth
-#define gv_fetchmeth pPerl->gv_fetchmeth
+#define gv_fetchmeth Perl_gv_fetchmeth
+#undef Perl_gv_fetchmethod
+#define Perl_gv_fetchmethod pPerl->Perl_gv_fetchmethod
#undef gv_fetchmethod
-#define gv_fetchmethod pPerl->gv_fetchmethod
+#define gv_fetchmethod Perl_gv_fetchmethod
+#undef Perl_gv_fetchmethod_autoload
+#define Perl_gv_fetchmethod_autoload pPerl->Perl_gv_fetchmethod_autoload
#undef gv_fetchmethod_autoload
-#define gv_fetchmethod_autoload pPerl->gv_fetchmethod_autoload
+#define gv_fetchmethod_autoload Perl_gv_fetchmethod_autoload
+#undef Perl_gv_fetchpv
+#define Perl_gv_fetchpv pPerl->Perl_gv_fetchpv
#undef gv_fetchpv
-#define gv_fetchpv pPerl->gv_fetchpv
+#define gv_fetchpv Perl_gv_fetchpv
+#undef Perl_gv_fullname
+#define Perl_gv_fullname pPerl->Perl_gv_fullname
#undef gv_fullname
-#define gv_fullname pPerl->gv_fullname
+#define gv_fullname Perl_gv_fullname
+#undef Perl_gv_fullname3
+#define Perl_gv_fullname3 pPerl->Perl_gv_fullname3
#undef gv_fullname3
-#define gv_fullname3 pPerl->gv_fullname3
+#define gv_fullname3 Perl_gv_fullname3
+#undef Perl_gv_init
+#define Perl_gv_init pPerl->Perl_gv_init
#undef gv_init
-#define gv_init pPerl->gv_init
+#define gv_init Perl_gv_init
+#undef Perl_gv_stashpv
+#define Perl_gv_stashpv pPerl->Perl_gv_stashpv
#undef gv_stashpv
-#define gv_stashpv pPerl->gv_stashpv
+#define gv_stashpv Perl_gv_stashpv
+#undef Perl_gv_stashpvn
+#define Perl_gv_stashpvn pPerl->Perl_gv_stashpvn
#undef gv_stashpvn
-#define gv_stashpvn pPerl->gv_stashpvn
+#define gv_stashpvn Perl_gv_stashpvn
+#undef Perl_gv_stashsv
+#define Perl_gv_stashsv pPerl->Perl_gv_stashsv
#undef gv_stashsv
-#define gv_stashsv pPerl->gv_stashsv
+#define gv_stashsv Perl_gv_stashsv
+#undef Perl_hv_clear
+#define Perl_hv_clear pPerl->Perl_hv_clear
#undef hv_clear
-#define hv_clear pPerl->hv_clear
+#define hv_clear Perl_hv_clear
+#undef Perl_hv_delayfree_ent
+#define Perl_hv_delayfree_ent pPerl->Perl_hv_delayfree_ent
#undef hv_delayfree_ent
-#define hv_delayfree_ent pPerl->hv_delayfree_ent
+#define hv_delayfree_ent Perl_hv_delayfree_ent
+#undef Perl_hv_delete
+#define Perl_hv_delete pPerl->Perl_hv_delete
#undef hv_delete
-#define hv_delete pPerl->hv_delete
+#define hv_delete Perl_hv_delete
+#undef Perl_hv_delete_ent
+#define Perl_hv_delete_ent pPerl->Perl_hv_delete_ent
#undef hv_delete_ent
-#define hv_delete_ent pPerl->hv_delete_ent
+#define hv_delete_ent Perl_hv_delete_ent
+#undef Perl_hv_exists
+#define Perl_hv_exists pPerl->Perl_hv_exists
#undef hv_exists
-#define hv_exists pPerl->hv_exists
+#define hv_exists Perl_hv_exists
+#undef Perl_hv_exists_ent
+#define Perl_hv_exists_ent pPerl->Perl_hv_exists_ent
#undef hv_exists_ent
-#define hv_exists_ent pPerl->hv_exists_ent
+#define hv_exists_ent Perl_hv_exists_ent
+#undef Perl_hv_fetch
+#define Perl_hv_fetch pPerl->Perl_hv_fetch
#undef hv_fetch
-#define hv_fetch pPerl->hv_fetch
+#define hv_fetch Perl_hv_fetch
+#undef Perl_hv_fetch_ent
+#define Perl_hv_fetch_ent pPerl->Perl_hv_fetch_ent
#undef hv_fetch_ent
-#define hv_fetch_ent pPerl->hv_fetch_ent
+#define hv_fetch_ent Perl_hv_fetch_ent
+#undef Perl_hv_free_ent
+#define Perl_hv_free_ent pPerl->Perl_hv_free_ent
#undef hv_free_ent
-#define hv_free_ent pPerl->hv_free_ent
+#define hv_free_ent Perl_hv_free_ent
+#undef Perl_hv_iterinit
+#define Perl_hv_iterinit pPerl->Perl_hv_iterinit
#undef hv_iterinit
-#define hv_iterinit pPerl->hv_iterinit
+#define hv_iterinit Perl_hv_iterinit
+#undef Perl_hv_iterkey
+#define Perl_hv_iterkey pPerl->Perl_hv_iterkey
#undef hv_iterkey
-#define hv_iterkey pPerl->hv_iterkey
+#define hv_iterkey Perl_hv_iterkey
+#undef Perl_hv_iterkeysv
+#define Perl_hv_iterkeysv pPerl->Perl_hv_iterkeysv
#undef hv_iterkeysv
-#define hv_iterkeysv pPerl->hv_iterkeysv
+#define hv_iterkeysv Perl_hv_iterkeysv
+#undef Perl_hv_iternext
+#define Perl_hv_iternext pPerl->Perl_hv_iternext
#undef hv_iternext
-#define hv_iternext pPerl->hv_iternext
+#define hv_iternext Perl_hv_iternext
+#undef Perl_hv_iternextsv
+#define Perl_hv_iternextsv pPerl->Perl_hv_iternextsv
#undef hv_iternextsv
-#define hv_iternextsv pPerl->hv_iternextsv
+#define hv_iternextsv Perl_hv_iternextsv
+#undef Perl_hv_iterval
+#define Perl_hv_iterval pPerl->Perl_hv_iterval
#undef hv_iterval
-#define hv_iterval pPerl->hv_iterval
+#define hv_iterval Perl_hv_iterval
+#undef Perl_hv_ksplit
+#define Perl_hv_ksplit pPerl->Perl_hv_ksplit
#undef hv_ksplit
-#define hv_ksplit pPerl->hv_ksplit
+#define hv_ksplit Perl_hv_ksplit
+#undef Perl_hv_magic
+#define Perl_hv_magic pPerl->Perl_hv_magic
#undef hv_magic
-#define hv_magic pPerl->hv_magic
+#define hv_magic Perl_hv_magic
+#undef Perl_hv_store
+#define Perl_hv_store pPerl->Perl_hv_store
#undef hv_store
-#define hv_store pPerl->hv_store
+#define hv_store Perl_hv_store
+#undef Perl_hv_store_ent
+#define Perl_hv_store_ent pPerl->Perl_hv_store_ent
#undef hv_store_ent
-#define hv_store_ent pPerl->hv_store_ent
+#define hv_store_ent Perl_hv_store_ent
+#undef Perl_hv_undef
+#define Perl_hv_undef pPerl->Perl_hv_undef
#undef hv_undef
-#define hv_undef pPerl->hv_undef
+#define hv_undef Perl_hv_undef
+#undef Perl_ibcmp
+#define Perl_ibcmp pPerl->Perl_ibcmp
#undef ibcmp
-#define ibcmp pPerl->ibcmp
+#define ibcmp Perl_ibcmp
+#undef Perl_ibcmp_locale
+#define Perl_ibcmp_locale pPerl->Perl_ibcmp_locale
#undef ibcmp_locale
-#define ibcmp_locale pPerl->ibcmp_locale
+#define ibcmp_locale Perl_ibcmp_locale
+#undef Perl_ingroup
+#define Perl_ingroup pPerl->Perl_ingroup
#undef ingroup
-#define ingroup pPerl->ingroup
+#define ingroup Perl_ingroup
+#undef Perl_init_stacks
+#define Perl_init_stacks pPerl->Perl_init_stacks
#undef init_stacks
-#define init_stacks pPerl->init_stacks
+#define init_stacks Perl_init_stacks
+#undef Perl_intro_my
+#define Perl_intro_my pPerl->Perl_intro_my
#undef intro_my
-#define intro_my pPerl->intro_my
+#define intro_my Perl_intro_my
+#undef Perl_instr
+#define Perl_instr pPerl->Perl_instr
#undef instr
-#define instr pPerl->instr
+#define instr Perl_instr
+#undef Perl_io_close
+#define Perl_io_close pPerl->Perl_io_close
#undef io_close
-#define io_close pPerl->io_close
+#define io_close Perl_io_close
+#undef Perl_invert
+#define Perl_invert pPerl->Perl_invert
#undef invert
-#define invert pPerl->invert
+#define invert Perl_invert
+#undef Perl_is_uni_alnum
+#define Perl_is_uni_alnum pPerl->Perl_is_uni_alnum
#undef is_uni_alnum
-#define is_uni_alnum pPerl->is_uni_alnum
+#define is_uni_alnum Perl_is_uni_alnum
+#undef Perl_is_uni_idfirst
+#define Perl_is_uni_idfirst pPerl->Perl_is_uni_idfirst
#undef is_uni_idfirst
-#define is_uni_idfirst pPerl->is_uni_idfirst
+#define is_uni_idfirst Perl_is_uni_idfirst
+#undef Perl_is_uni_alpha
+#define Perl_is_uni_alpha pPerl->Perl_is_uni_alpha
#undef is_uni_alpha
-#define is_uni_alpha pPerl->is_uni_alpha
+#define is_uni_alpha Perl_is_uni_alpha
+#undef Perl_is_uni_space
+#define Perl_is_uni_space pPerl->Perl_is_uni_space
#undef is_uni_space
-#define is_uni_space pPerl->is_uni_space
+#define is_uni_space Perl_is_uni_space
+#undef Perl_is_uni_digit
+#define Perl_is_uni_digit pPerl->Perl_is_uni_digit
#undef is_uni_digit
-#define is_uni_digit pPerl->is_uni_digit
+#define is_uni_digit Perl_is_uni_digit
+#undef Perl_is_uni_upper
+#define Perl_is_uni_upper pPerl->Perl_is_uni_upper
#undef is_uni_upper
-#define is_uni_upper pPerl->is_uni_upper
+#define is_uni_upper Perl_is_uni_upper
+#undef Perl_is_uni_lower
+#define Perl_is_uni_lower pPerl->Perl_is_uni_lower
#undef is_uni_lower
-#define is_uni_lower pPerl->is_uni_lower
+#define is_uni_lower Perl_is_uni_lower
+#undef Perl_is_uni_print
+#define Perl_is_uni_print pPerl->Perl_is_uni_print
#undef is_uni_print
-#define is_uni_print pPerl->is_uni_print
+#define is_uni_print Perl_is_uni_print
+#undef Perl_to_uni_upper
+#define Perl_to_uni_upper pPerl->Perl_to_uni_upper
#undef to_uni_upper
-#define to_uni_upper pPerl->to_uni_upper
+#define to_uni_upper Perl_to_uni_upper
+#undef Perl_to_uni_title
+#define Perl_to_uni_title pPerl->Perl_to_uni_title
#undef to_uni_title
-#define to_uni_title pPerl->to_uni_title
+#define to_uni_title Perl_to_uni_title
+#undef Perl_to_uni_lower
+#define Perl_to_uni_lower pPerl->Perl_to_uni_lower
#undef to_uni_lower
-#define to_uni_lower pPerl->to_uni_lower
+#define to_uni_lower Perl_to_uni_lower
+#undef Perl_is_uni_alnum_lc
+#define Perl_is_uni_alnum_lc pPerl->Perl_is_uni_alnum_lc
#undef is_uni_alnum_lc
-#define is_uni_alnum_lc pPerl->is_uni_alnum_lc
+#define is_uni_alnum_lc Perl_is_uni_alnum_lc
+#undef Perl_is_uni_idfirst_lc
+#define Perl_is_uni_idfirst_lc pPerl->Perl_is_uni_idfirst_lc
#undef is_uni_idfirst_lc
-#define is_uni_idfirst_lc pPerl->is_uni_idfirst_lc
+#define is_uni_idfirst_lc Perl_is_uni_idfirst_lc
+#undef Perl_is_uni_alpha_lc
+#define Perl_is_uni_alpha_lc pPerl->Perl_is_uni_alpha_lc
#undef is_uni_alpha_lc
-#define is_uni_alpha_lc pPerl->is_uni_alpha_lc
+#define is_uni_alpha_lc Perl_is_uni_alpha_lc
+#undef Perl_is_uni_space_lc
+#define Perl_is_uni_space_lc pPerl->Perl_is_uni_space_lc
#undef is_uni_space_lc
-#define is_uni_space_lc pPerl->is_uni_space_lc
+#define is_uni_space_lc Perl_is_uni_space_lc
+#undef Perl_is_uni_digit_lc
+#define Perl_is_uni_digit_lc pPerl->Perl_is_uni_digit_lc
#undef is_uni_digit_lc
-#define is_uni_digit_lc pPerl->is_uni_digit_lc
+#define is_uni_digit_lc Perl_is_uni_digit_lc
+#undef Perl_is_uni_upper_lc
+#define Perl_is_uni_upper_lc pPerl->Perl_is_uni_upper_lc
#undef is_uni_upper_lc
-#define is_uni_upper_lc pPerl->is_uni_upper_lc
+#define is_uni_upper_lc Perl_is_uni_upper_lc
+#undef Perl_is_uni_lower_lc
+#define Perl_is_uni_lower_lc pPerl->Perl_is_uni_lower_lc
#undef is_uni_lower_lc
-#define is_uni_lower_lc pPerl->is_uni_lower_lc
+#define is_uni_lower_lc Perl_is_uni_lower_lc
+#undef Perl_is_uni_print_lc
+#define Perl_is_uni_print_lc pPerl->Perl_is_uni_print_lc
#undef is_uni_print_lc
-#define is_uni_print_lc pPerl->is_uni_print_lc
+#define is_uni_print_lc Perl_is_uni_print_lc
+#undef Perl_to_uni_upper_lc
+#define Perl_to_uni_upper_lc pPerl->Perl_to_uni_upper_lc
#undef to_uni_upper_lc
-#define to_uni_upper_lc pPerl->to_uni_upper_lc
+#define to_uni_upper_lc Perl_to_uni_upper_lc
+#undef Perl_to_uni_title_lc
+#define Perl_to_uni_title_lc pPerl->Perl_to_uni_title_lc
#undef to_uni_title_lc
-#define to_uni_title_lc pPerl->to_uni_title_lc
+#define to_uni_title_lc Perl_to_uni_title_lc
+#undef Perl_to_uni_lower_lc
+#define Perl_to_uni_lower_lc pPerl->Perl_to_uni_lower_lc
#undef to_uni_lower_lc
-#define to_uni_lower_lc pPerl->to_uni_lower_lc
+#define to_uni_lower_lc Perl_to_uni_lower_lc
+#undef Perl_is_utf8_alnum
+#define Perl_is_utf8_alnum pPerl->Perl_is_utf8_alnum
#undef is_utf8_alnum
-#define is_utf8_alnum pPerl->is_utf8_alnum
+#define is_utf8_alnum Perl_is_utf8_alnum
+#undef Perl_is_utf8_idfirst
+#define Perl_is_utf8_idfirst pPerl->Perl_is_utf8_idfirst
#undef is_utf8_idfirst
-#define is_utf8_idfirst pPerl->is_utf8_idfirst
+#define is_utf8_idfirst Perl_is_utf8_idfirst
+#undef Perl_is_utf8_alpha
+#define Perl_is_utf8_alpha pPerl->Perl_is_utf8_alpha
#undef is_utf8_alpha
-#define is_utf8_alpha pPerl->is_utf8_alpha
+#define is_utf8_alpha Perl_is_utf8_alpha
+#undef Perl_is_utf8_space
+#define Perl_is_utf8_space pPerl->Perl_is_utf8_space
#undef is_utf8_space
-#define is_utf8_space pPerl->is_utf8_space
+#define is_utf8_space Perl_is_utf8_space
+#undef Perl_is_utf8_digit
+#define Perl_is_utf8_digit pPerl->Perl_is_utf8_digit
#undef is_utf8_digit
-#define is_utf8_digit pPerl->is_utf8_digit
+#define is_utf8_digit Perl_is_utf8_digit
+#undef Perl_is_utf8_upper
+#define Perl_is_utf8_upper pPerl->Perl_is_utf8_upper
#undef is_utf8_upper
-#define is_utf8_upper pPerl->is_utf8_upper
+#define is_utf8_upper Perl_is_utf8_upper
+#undef Perl_is_utf8_lower
+#define Perl_is_utf8_lower pPerl->Perl_is_utf8_lower
#undef is_utf8_lower
-#define is_utf8_lower pPerl->is_utf8_lower
+#define is_utf8_lower Perl_is_utf8_lower
+#undef Perl_is_utf8_print
+#define Perl_is_utf8_print pPerl->Perl_is_utf8_print
#undef is_utf8_print
-#define is_utf8_print pPerl->is_utf8_print
+#define is_utf8_print Perl_is_utf8_print
+#undef Perl_is_utf8_mark
+#define Perl_is_utf8_mark pPerl->Perl_is_utf8_mark
#undef is_utf8_mark
-#define is_utf8_mark pPerl->is_utf8_mark
+#define is_utf8_mark Perl_is_utf8_mark
+#undef Perl_jmaybe
+#define Perl_jmaybe pPerl->Perl_jmaybe
#undef jmaybe
-#define jmaybe pPerl->jmaybe
+#define jmaybe Perl_jmaybe
+#undef Perl_keyword
+#define Perl_keyword pPerl->Perl_keyword
#undef keyword
-#define keyword pPerl->keyword
+#define keyword Perl_keyword
+#undef Perl_leave_scope
+#define Perl_leave_scope pPerl->Perl_leave_scope
#undef leave_scope
-#define leave_scope pPerl->leave_scope
+#define leave_scope Perl_leave_scope
+#undef Perl_lex_end
+#define Perl_lex_end pPerl->Perl_lex_end
#undef lex_end
-#define lex_end pPerl->lex_end
+#define lex_end Perl_lex_end
+#undef Perl_lex_start
+#define Perl_lex_start pPerl->Perl_lex_start
#undef lex_start
-#define lex_start pPerl->lex_start
+#define lex_start Perl_lex_start
+#undef Perl_linklist
+#define Perl_linklist pPerl->Perl_linklist
#undef linklist
-#define linklist pPerl->linklist
+#define linklist Perl_linklist
+#undef Perl_list
+#define Perl_list pPerl->Perl_list
#undef list
-#define list pPerl->list
+#define list Perl_list
+#undef Perl_listkids
+#define Perl_listkids pPerl->Perl_listkids
#undef listkids
-#define listkids pPerl->listkids
+#define listkids Perl_listkids
+#undef Perl_localize
+#define Perl_localize pPerl->Perl_localize
#undef localize
-#define localize pPerl->localize
+#define localize Perl_localize
+#undef Perl_looks_like_number
+#define Perl_looks_like_number pPerl->Perl_looks_like_number
#undef looks_like_number
-#define looks_like_number pPerl->looks_like_number
+#define looks_like_number Perl_looks_like_number
+#undef Perl_magic_clearenv
+#define Perl_magic_clearenv pPerl->Perl_magic_clearenv
#undef magic_clearenv
-#define magic_clearenv pPerl->magic_clearenv
+#define magic_clearenv Perl_magic_clearenv
+#undef Perl_magic_clear_all_env
+#define Perl_magic_clear_all_env pPerl->Perl_magic_clear_all_env
#undef magic_clear_all_env
-#define magic_clear_all_env pPerl->magic_clear_all_env
+#define magic_clear_all_env Perl_magic_clear_all_env
+#undef Perl_magic_clearpack
+#define Perl_magic_clearpack pPerl->Perl_magic_clearpack
#undef magic_clearpack
-#define magic_clearpack pPerl->magic_clearpack
+#define magic_clearpack Perl_magic_clearpack
+#undef Perl_magic_clearsig
+#define Perl_magic_clearsig pPerl->Perl_magic_clearsig
#undef magic_clearsig
-#define magic_clearsig pPerl->magic_clearsig
+#define magic_clearsig Perl_magic_clearsig
+#undef Perl_magic_existspack
+#define Perl_magic_existspack pPerl->Perl_magic_existspack
#undef magic_existspack
-#define magic_existspack pPerl->magic_existspack
+#define magic_existspack Perl_magic_existspack
+#undef Perl_magic_freeregexp
+#define Perl_magic_freeregexp pPerl->Perl_magic_freeregexp
#undef magic_freeregexp
-#define magic_freeregexp pPerl->magic_freeregexp
+#define magic_freeregexp Perl_magic_freeregexp
+#undef Perl_magic_get
+#define Perl_magic_get pPerl->Perl_magic_get
#undef magic_get
-#define magic_get pPerl->magic_get
+#define magic_get Perl_magic_get
+#undef Perl_magic_getarylen
+#define Perl_magic_getarylen pPerl->Perl_magic_getarylen
#undef magic_getarylen
-#define magic_getarylen pPerl->magic_getarylen
+#define magic_getarylen Perl_magic_getarylen
+#undef Perl_magic_getdefelem
+#define Perl_magic_getdefelem pPerl->Perl_magic_getdefelem
#undef magic_getdefelem
-#define magic_getdefelem pPerl->magic_getdefelem
+#define magic_getdefelem Perl_magic_getdefelem
+#undef Perl_magic_getglob
+#define Perl_magic_getglob pPerl->Perl_magic_getglob
#undef magic_getglob
-#define magic_getglob pPerl->magic_getglob
+#define magic_getglob Perl_magic_getglob
+#undef Perl_magic_getnkeys
+#define Perl_magic_getnkeys pPerl->Perl_magic_getnkeys
#undef magic_getnkeys
-#define magic_getnkeys pPerl->magic_getnkeys
+#define magic_getnkeys Perl_magic_getnkeys
+#undef Perl_magic_getpack
+#define Perl_magic_getpack pPerl->Perl_magic_getpack
#undef magic_getpack
-#define magic_getpack pPerl->magic_getpack
+#define magic_getpack Perl_magic_getpack
+#undef Perl_magic_getpos
+#define Perl_magic_getpos pPerl->Perl_magic_getpos
#undef magic_getpos
-#define magic_getpos pPerl->magic_getpos
+#define magic_getpos Perl_magic_getpos
+#undef Perl_magic_getsig
+#define Perl_magic_getsig pPerl->Perl_magic_getsig
#undef magic_getsig
-#define magic_getsig pPerl->magic_getsig
+#define magic_getsig Perl_magic_getsig
+#undef Perl_magic_getsubstr
+#define Perl_magic_getsubstr pPerl->Perl_magic_getsubstr
#undef magic_getsubstr
-#define magic_getsubstr pPerl->magic_getsubstr
+#define magic_getsubstr Perl_magic_getsubstr
+#undef Perl_magic_gettaint
+#define Perl_magic_gettaint pPerl->Perl_magic_gettaint
#undef magic_gettaint
-#define magic_gettaint pPerl->magic_gettaint
+#define magic_gettaint Perl_magic_gettaint
+#undef Perl_magic_getuvar
+#define Perl_magic_getuvar pPerl->Perl_magic_getuvar
#undef magic_getuvar
-#define magic_getuvar pPerl->magic_getuvar
+#define magic_getuvar Perl_magic_getuvar
+#undef Perl_magic_getvec
+#define Perl_magic_getvec pPerl->Perl_magic_getvec
#undef magic_getvec
-#define magic_getvec pPerl->magic_getvec
+#define magic_getvec Perl_magic_getvec
+#undef Perl_magic_len
+#define Perl_magic_len pPerl->Perl_magic_len
#undef magic_len
-#define magic_len pPerl->magic_len
+#define magic_len Perl_magic_len
#if defined(USE_THREADS)
+#undef Perl_magic_mutexfree
+#define Perl_magic_mutexfree pPerl->Perl_magic_mutexfree
#undef magic_mutexfree
-#define magic_mutexfree pPerl->magic_mutexfree
+#define magic_mutexfree Perl_magic_mutexfree
#endif
+#undef Perl_magic_nextpack
+#define Perl_magic_nextpack pPerl->Perl_magic_nextpack
#undef magic_nextpack
-#define magic_nextpack pPerl->magic_nextpack
+#define magic_nextpack Perl_magic_nextpack
+#undef Perl_magic_regdata_cnt
+#define Perl_magic_regdata_cnt pPerl->Perl_magic_regdata_cnt
#undef magic_regdata_cnt
-#define magic_regdata_cnt pPerl->magic_regdata_cnt
+#define magic_regdata_cnt Perl_magic_regdata_cnt
+#undef Perl_magic_regdatum_get
+#define Perl_magic_regdatum_get pPerl->Perl_magic_regdatum_get
#undef magic_regdatum_get
-#define magic_regdatum_get pPerl->magic_regdatum_get
+#define magic_regdatum_get Perl_magic_regdatum_get
+#undef Perl_magic_set
+#define Perl_magic_set pPerl->Perl_magic_set
#undef magic_set
-#define magic_set pPerl->magic_set
+#define magic_set Perl_magic_set
+#undef Perl_magic_setamagic
+#define Perl_magic_setamagic pPerl->Perl_magic_setamagic
#undef magic_setamagic
-#define magic_setamagic pPerl->magic_setamagic
+#define magic_setamagic Perl_magic_setamagic
+#undef Perl_magic_setarylen
+#define Perl_magic_setarylen pPerl->Perl_magic_setarylen
#undef magic_setarylen
-#define magic_setarylen pPerl->magic_setarylen
+#define magic_setarylen Perl_magic_setarylen
+#undef Perl_magic_setbm
+#define Perl_magic_setbm pPerl->Perl_magic_setbm
#undef magic_setbm
-#define magic_setbm pPerl->magic_setbm
+#define magic_setbm Perl_magic_setbm
+#undef Perl_magic_setdbline
+#define Perl_magic_setdbline pPerl->Perl_magic_setdbline
#undef magic_setdbline
-#define magic_setdbline pPerl->magic_setdbline
+#define magic_setdbline Perl_magic_setdbline
#if defined(USE_LOCALE_COLLATE)
+#undef Perl_magic_setcollxfrm
+#define Perl_magic_setcollxfrm pPerl->Perl_magic_setcollxfrm
#undef magic_setcollxfrm
-#define magic_setcollxfrm pPerl->magic_setcollxfrm
+#define magic_setcollxfrm Perl_magic_setcollxfrm
#endif
+#undef Perl_magic_setdefelem
+#define Perl_magic_setdefelem pPerl->Perl_magic_setdefelem
#undef magic_setdefelem
-#define magic_setdefelem pPerl->magic_setdefelem
+#define magic_setdefelem Perl_magic_setdefelem
+#undef Perl_magic_setenv
+#define Perl_magic_setenv pPerl->Perl_magic_setenv
#undef magic_setenv
-#define magic_setenv pPerl->magic_setenv
+#define magic_setenv Perl_magic_setenv
+#undef Perl_magic_setfm
+#define Perl_magic_setfm pPerl->Perl_magic_setfm
#undef magic_setfm
-#define magic_setfm pPerl->magic_setfm
+#define magic_setfm Perl_magic_setfm
+#undef Perl_magic_setisa
+#define Perl_magic_setisa pPerl->Perl_magic_setisa
#undef magic_setisa
-#define magic_setisa pPerl->magic_setisa
+#define magic_setisa Perl_magic_setisa
+#undef Perl_magic_setglob
+#define Perl_magic_setglob pPerl->Perl_magic_setglob
#undef magic_setglob
-#define magic_setglob pPerl->magic_setglob
+#define magic_setglob Perl_magic_setglob
+#undef Perl_magic_setmglob
+#define Perl_magic_setmglob pPerl->Perl_magic_setmglob
#undef magic_setmglob
-#define magic_setmglob pPerl->magic_setmglob
+#define magic_setmglob Perl_magic_setmglob
+#undef Perl_magic_setnkeys
+#define Perl_magic_setnkeys pPerl->Perl_magic_setnkeys
#undef magic_setnkeys
-#define magic_setnkeys pPerl->magic_setnkeys
+#define magic_setnkeys Perl_magic_setnkeys
+#undef Perl_magic_setpack
+#define Perl_magic_setpack pPerl->Perl_magic_setpack
#undef magic_setpack
-#define magic_setpack pPerl->magic_setpack
+#define magic_setpack Perl_magic_setpack
+#undef Perl_magic_setpos
+#define Perl_magic_setpos pPerl->Perl_magic_setpos
#undef magic_setpos
-#define magic_setpos pPerl->magic_setpos
+#define magic_setpos Perl_magic_setpos
+#undef Perl_magic_setsig
+#define Perl_magic_setsig pPerl->Perl_magic_setsig
#undef magic_setsig
-#define magic_setsig pPerl->magic_setsig
+#define magic_setsig Perl_magic_setsig
+#undef Perl_magic_setsubstr
+#define Perl_magic_setsubstr pPerl->Perl_magic_setsubstr
#undef magic_setsubstr
-#define magic_setsubstr pPerl->magic_setsubstr
+#define magic_setsubstr Perl_magic_setsubstr
+#undef Perl_magic_settaint
+#define Perl_magic_settaint pPerl->Perl_magic_settaint
#undef magic_settaint
-#define magic_settaint pPerl->magic_settaint
+#define magic_settaint Perl_magic_settaint
+#undef Perl_magic_setuvar
+#define Perl_magic_setuvar pPerl->Perl_magic_setuvar
#undef magic_setuvar
-#define magic_setuvar pPerl->magic_setuvar
+#define magic_setuvar Perl_magic_setuvar
+#undef Perl_magic_setvec
+#define Perl_magic_setvec pPerl->Perl_magic_setvec
#undef magic_setvec
-#define magic_setvec pPerl->magic_setvec
+#define magic_setvec Perl_magic_setvec
+#undef Perl_magic_set_all_env
+#define Perl_magic_set_all_env pPerl->Perl_magic_set_all_env
#undef magic_set_all_env
-#define magic_set_all_env pPerl->magic_set_all_env
+#define magic_set_all_env Perl_magic_set_all_env
+#undef Perl_magic_sizepack
+#define Perl_magic_sizepack pPerl->Perl_magic_sizepack
#undef magic_sizepack
-#define magic_sizepack pPerl->magic_sizepack
+#define magic_sizepack Perl_magic_sizepack
+#undef Perl_magic_wipepack
+#define Perl_magic_wipepack pPerl->Perl_magic_wipepack
#undef magic_wipepack
-#define magic_wipepack pPerl->magic_wipepack
+#define magic_wipepack Perl_magic_wipepack
+#undef Perl_magicname
+#define Perl_magicname pPerl->Perl_magicname
#undef magicname
-#define magicname pPerl->magicname
+#define magicname Perl_magicname
#if defined(MYMALLOC)
+#undef Perl_malloced_size
+#define Perl_malloced_size pPerl->Perl_malloced_size
#undef malloced_size
-#define malloced_size pPerl->malloced_size
+#define malloced_size Perl_malloced_size
#endif
+#undef Perl_markstack_grow
+#define Perl_markstack_grow pPerl->Perl_markstack_grow
#undef markstack_grow
-#define markstack_grow pPerl->markstack_grow
+#define markstack_grow Perl_markstack_grow
#if defined(USE_LOCALE_COLLATE)
+#undef Perl_mem_collxfrm
+#define Perl_mem_collxfrm pPerl->Perl_mem_collxfrm
#undef mem_collxfrm
-#define mem_collxfrm pPerl->mem_collxfrm
+#define mem_collxfrm Perl_mem_collxfrm
#endif
+#undef Perl_mess
+#define Perl_mess pPerl->Perl_mess
#undef mess
-#define mess pPerl->mess
+#define mess Perl_mess
+#undef Perl_mg_clear
+#define Perl_mg_clear pPerl->Perl_mg_clear
#undef mg_clear
-#define mg_clear pPerl->mg_clear
+#define mg_clear Perl_mg_clear
+#undef Perl_mg_copy
+#define Perl_mg_copy pPerl->Perl_mg_copy
#undef mg_copy
-#define mg_copy pPerl->mg_copy
+#define mg_copy Perl_mg_copy
+#undef Perl_mg_find
+#define Perl_mg_find pPerl->Perl_mg_find
#undef mg_find
-#define mg_find pPerl->mg_find
+#define mg_find Perl_mg_find
+#undef Perl_mg_free
+#define Perl_mg_free pPerl->Perl_mg_free
#undef mg_free
-#define mg_free pPerl->mg_free
+#define mg_free Perl_mg_free
+#undef Perl_mg_get
+#define Perl_mg_get pPerl->Perl_mg_get
#undef mg_get
-#define mg_get pPerl->mg_get
+#define mg_get Perl_mg_get
+#undef Perl_mg_length
+#define Perl_mg_length pPerl->Perl_mg_length
#undef mg_length
-#define mg_length pPerl->mg_length
+#define mg_length Perl_mg_length
+#undef Perl_mg_magical
+#define Perl_mg_magical pPerl->Perl_mg_magical
#undef mg_magical
-#define mg_magical pPerl->mg_magical
+#define mg_magical Perl_mg_magical
+#undef Perl_mg_set
+#define Perl_mg_set pPerl->Perl_mg_set
#undef mg_set
-#define mg_set pPerl->mg_set
+#define mg_set Perl_mg_set
+#undef Perl_mg_size
+#define Perl_mg_size pPerl->Perl_mg_size
#undef mg_size
-#define mg_size pPerl->mg_size
+#define mg_size Perl_mg_size
+#undef Perl_mod
+#define Perl_mod pPerl->Perl_mod
#undef mod
-#define mod pPerl->mod
+#define mod Perl_mod
+#undef Perl_moreswitches
+#define Perl_moreswitches pPerl->Perl_moreswitches
#undef moreswitches
-#define moreswitches pPerl->moreswitches
+#define moreswitches Perl_moreswitches
+#undef Perl_my
+#define Perl_my pPerl->Perl_my
#undef my
-#define my pPerl->my
+#define my Perl_my
#ifdef USE_LOCALE_NUMERIC
+#undef Perl_my_atof
+#define Perl_my_atof pPerl->Perl_my_atof
#undef my_atof
-#define my_atof pPerl->my_atof
+#define my_atof Perl_my_atof
#endif
#if !defined(HAS_BCOPY) || !defined(HAS_SAFE_BCOPY)
+#undef Perl_my_bcopy
+#define Perl_my_bcopy pPerl->Perl_my_bcopy
#undef my_bcopy
-#define my_bcopy pPerl->my_bcopy
+#define my_bcopy Perl_my_bcopy
#endif
#if !defined(HAS_BZERO) && !defined(HAS_MEMSET)
+#undef Perl_my_bzero
+#define Perl_my_bzero pPerl->Perl_my_bzero
#undef my_bzero
-#define my_bzero pPerl->my_bzero
+#define my_bzero Perl_my_bzero
#endif
+#undef Perl_my_exit
+#define Perl_my_exit pPerl->Perl_my_exit
#undef my_exit
-#define my_exit pPerl->my_exit
+#define my_exit Perl_my_exit
+#undef Perl_my_failure_exit
+#define Perl_my_failure_exit pPerl->Perl_my_failure_exit
#undef my_failure_exit
-#define my_failure_exit pPerl->my_failure_exit
+#define my_failure_exit Perl_my_failure_exit
+#undef Perl_my_fflush_all
+#define Perl_my_fflush_all pPerl->Perl_my_fflush_all
#undef my_fflush_all
-#define my_fflush_all pPerl->my_fflush_all
+#define my_fflush_all Perl_my_fflush_all
+#undef Perl_my_lstat
+#define Perl_my_lstat pPerl->Perl_my_lstat
#undef my_lstat
-#define my_lstat pPerl->my_lstat
+#define my_lstat Perl_my_lstat
#if !defined(HAS_MEMCMP) || !defined(HAS_SANE_MEMCMP)
+#undef Perl_my_memcmp
+#define Perl_my_memcmp pPerl->Perl_my_memcmp
#undef my_memcmp
-#define my_memcmp pPerl->my_memcmp
+#define my_memcmp Perl_my_memcmp
#endif
#if !defined(HAS_MEMSET)
+#undef Perl_my_memset
+#define Perl_my_memset pPerl->Perl_my_memset
#undef my_memset
-#define my_memset pPerl->my_memset
+#define my_memset Perl_my_memset
#endif
#if !defined(PERL_OBJECT)
+#undef Perl_my_pclose
+#define Perl_my_pclose pPerl->Perl_my_pclose
#undef my_pclose
-#define my_pclose pPerl->my_pclose
+#define my_pclose Perl_my_pclose
+#undef Perl_my_popen
+#define Perl_my_popen pPerl->Perl_my_popen
#undef my_popen
-#define my_popen pPerl->my_popen
+#define my_popen Perl_my_popen
#endif
+#undef Perl_my_setenv
+#define Perl_my_setenv pPerl->Perl_my_setenv
#undef my_setenv
-#define my_setenv pPerl->my_setenv
+#define my_setenv Perl_my_setenv
+#undef Perl_my_stat
+#define Perl_my_stat pPerl->Perl_my_stat
#undef my_stat
-#define my_stat pPerl->my_stat
+#define my_stat Perl_my_stat
#if defined(MYSWAP)
+#undef Perl_my_swap
+#define Perl_my_swap pPerl->Perl_my_swap
#undef my_swap
-#define my_swap pPerl->my_swap
+#define my_swap Perl_my_swap
+#undef Perl_my_htonl
+#define Perl_my_htonl pPerl->Perl_my_htonl
#undef my_htonl
-#define my_htonl pPerl->my_htonl
+#define my_htonl Perl_my_htonl
+#undef Perl_my_ntohl
+#define Perl_my_ntohl pPerl->Perl_my_ntohl
#undef my_ntohl
-#define my_ntohl pPerl->my_ntohl
+#define my_ntohl Perl_my_ntohl
#endif
+#undef Perl_my_unexec
+#define Perl_my_unexec pPerl->Perl_my_unexec
#undef my_unexec
-#define my_unexec pPerl->my_unexec
+#define my_unexec Perl_my_unexec
+#undef Perl_newANONLIST
+#define Perl_newANONLIST pPerl->Perl_newANONLIST
#undef newANONLIST
-#define newANONLIST pPerl->newANONLIST
+#define newANONLIST Perl_newANONLIST
+#undef Perl_newANONHASH
+#define Perl_newANONHASH pPerl->Perl_newANONHASH
#undef newANONHASH
-#define newANONHASH pPerl->newANONHASH
+#define newANONHASH Perl_newANONHASH
+#undef Perl_newANONSUB
+#define Perl_newANONSUB pPerl->Perl_newANONSUB
#undef newANONSUB
-#define newANONSUB pPerl->newANONSUB
+#define newANONSUB Perl_newANONSUB
+#undef Perl_newASSIGNOP
+#define Perl_newASSIGNOP pPerl->Perl_newASSIGNOP
#undef newASSIGNOP
-#define newASSIGNOP pPerl->newASSIGNOP
+#define newASSIGNOP Perl_newASSIGNOP
+#undef Perl_newCONDOP
+#define Perl_newCONDOP pPerl->Perl_newCONDOP
#undef newCONDOP
-#define newCONDOP pPerl->newCONDOP
+#define newCONDOP Perl_newCONDOP
+#undef Perl_newCONSTSUB
+#define Perl_newCONSTSUB pPerl->Perl_newCONSTSUB
#undef newCONSTSUB
-#define newCONSTSUB pPerl->newCONSTSUB
+#define newCONSTSUB Perl_newCONSTSUB
+#undef Perl_newFORM
+#define Perl_newFORM pPerl->Perl_newFORM
#undef newFORM
-#define newFORM pPerl->newFORM
+#define newFORM Perl_newFORM
+#undef Perl_newFOROP
+#define Perl_newFOROP pPerl->Perl_newFOROP
#undef newFOROP
-#define newFOROP pPerl->newFOROP
+#define newFOROP Perl_newFOROP
+#undef Perl_newLOGOP
+#define Perl_newLOGOP pPerl->Perl_newLOGOP
#undef newLOGOP
-#define newLOGOP pPerl->newLOGOP
+#define newLOGOP Perl_newLOGOP
+#undef Perl_newLOOPEX
+#define Perl_newLOOPEX pPerl->Perl_newLOOPEX
#undef newLOOPEX
-#define newLOOPEX pPerl->newLOOPEX
+#define newLOOPEX Perl_newLOOPEX
+#undef Perl_newLOOPOP
+#define Perl_newLOOPOP pPerl->Perl_newLOOPOP
#undef newLOOPOP
-#define newLOOPOP pPerl->newLOOPOP
+#define newLOOPOP Perl_newLOOPOP
+#undef Perl_newNULLLIST
+#define Perl_newNULLLIST pPerl->Perl_newNULLLIST
#undef newNULLLIST
-#define newNULLLIST pPerl->newNULLLIST
+#define newNULLLIST Perl_newNULLLIST
+#undef Perl_newOP
+#define Perl_newOP pPerl->Perl_newOP
#undef newOP
-#define newOP pPerl->newOP
+#define newOP Perl_newOP
+#undef Perl_newPROG
+#define Perl_newPROG pPerl->Perl_newPROG
#undef newPROG
-#define newPROG pPerl->newPROG
+#define newPROG Perl_newPROG
+#undef Perl_newRANGE
+#define Perl_newRANGE pPerl->Perl_newRANGE
#undef newRANGE
-#define newRANGE pPerl->newRANGE
+#define newRANGE Perl_newRANGE
+#undef Perl_newSLICEOP
+#define Perl_newSLICEOP pPerl->Perl_newSLICEOP
#undef newSLICEOP
-#define newSLICEOP pPerl->newSLICEOP
+#define newSLICEOP Perl_newSLICEOP
+#undef Perl_newSTATEOP
+#define Perl_newSTATEOP pPerl->Perl_newSTATEOP
#undef newSTATEOP
-#define newSTATEOP pPerl->newSTATEOP
+#define newSTATEOP Perl_newSTATEOP
+#undef Perl_newSUB
+#define Perl_newSUB pPerl->Perl_newSUB
#undef newSUB
-#define newSUB pPerl->newSUB
+#define newSUB Perl_newSUB
+#undef Perl_newXS
+#define Perl_newXS pPerl->Perl_newXS
#undef newXS
-#define newXS pPerl->newXS
+#define newXS Perl_newXS
+#undef Perl_newAV
+#define Perl_newAV pPerl->Perl_newAV
#undef newAV
-#define newAV pPerl->newAV
+#define newAV Perl_newAV
+#undef Perl_newAVREF
+#define Perl_newAVREF pPerl->Perl_newAVREF
#undef newAVREF
-#define newAVREF pPerl->newAVREF
+#define newAVREF Perl_newAVREF
+#undef Perl_newBINOP
+#define Perl_newBINOP pPerl->Perl_newBINOP
#undef newBINOP
-#define newBINOP pPerl->newBINOP
+#define newBINOP Perl_newBINOP
+#undef Perl_newCVREF
+#define Perl_newCVREF pPerl->Perl_newCVREF
#undef newCVREF
-#define newCVREF pPerl->newCVREF
+#define newCVREF Perl_newCVREF
+#undef Perl_newGVOP
+#define Perl_newGVOP pPerl->Perl_newGVOP
#undef newGVOP
-#define newGVOP pPerl->newGVOP
+#define newGVOP Perl_newGVOP
+#undef Perl_newGVgen
+#define Perl_newGVgen pPerl->Perl_newGVgen
#undef newGVgen
-#define newGVgen pPerl->newGVgen
+#define newGVgen Perl_newGVgen
+#undef Perl_newGVREF
+#define Perl_newGVREF pPerl->Perl_newGVREF
#undef newGVREF
-#define newGVREF pPerl->newGVREF
+#define newGVREF Perl_newGVREF
+#undef Perl_newHVREF
+#define Perl_newHVREF pPerl->Perl_newHVREF
#undef newHVREF
-#define newHVREF pPerl->newHVREF
+#define newHVREF Perl_newHVREF
+#undef Perl_newHV
+#define Perl_newHV pPerl->Perl_newHV
#undef newHV
-#define newHV pPerl->newHV
+#define newHV Perl_newHV
+#undef Perl_newHVhv
+#define Perl_newHVhv pPerl->Perl_newHVhv
#undef newHVhv
-#define newHVhv pPerl->newHVhv
+#define newHVhv Perl_newHVhv
+#undef Perl_newIO
+#define Perl_newIO pPerl->Perl_newIO
#undef newIO
-#define newIO pPerl->newIO
+#define newIO Perl_newIO
+#undef Perl_newLISTOP
+#define Perl_newLISTOP pPerl->Perl_newLISTOP
#undef newLISTOP
-#define newLISTOP pPerl->newLISTOP
+#define newLISTOP Perl_newLISTOP
+#undef Perl_newPMOP
+#define Perl_newPMOP pPerl->Perl_newPMOP
#undef newPMOP
-#define newPMOP pPerl->newPMOP
+#define newPMOP Perl_newPMOP
+#undef Perl_newPVOP
+#define Perl_newPVOP pPerl->Perl_newPVOP
#undef newPVOP
-#define newPVOP pPerl->newPVOP
+#define newPVOP Perl_newPVOP
+#undef Perl_newRV
+#define Perl_newRV pPerl->Perl_newRV
#undef newRV
-#define newRV pPerl->newRV
+#define newRV Perl_newRV
+#undef Perl_newRV_noinc
+#define Perl_newRV_noinc pPerl->Perl_newRV_noinc
#undef newRV_noinc
-#define newRV_noinc pPerl->newRV_noinc
+#define newRV_noinc Perl_newRV_noinc
+#undef Perl_newSV
+#define Perl_newSV pPerl->Perl_newSV
#undef newSV
-#define newSV pPerl->newSV
+#define newSV Perl_newSV
+#undef Perl_newSVREF
+#define Perl_newSVREF pPerl->Perl_newSVREF
#undef newSVREF
-#define newSVREF pPerl->newSVREF
+#define newSVREF Perl_newSVREF
+#undef Perl_newSVOP
+#define Perl_newSVOP pPerl->Perl_newSVOP
#undef newSVOP
-#define newSVOP pPerl->newSVOP
+#define newSVOP Perl_newSVOP
+#undef Perl_newSViv
+#define Perl_newSViv pPerl->Perl_newSViv
#undef newSViv
-#define newSViv pPerl->newSViv
+#define newSViv Perl_newSViv
+#undef Perl_newSVnv
+#define Perl_newSVnv pPerl->Perl_newSVnv
#undef newSVnv
-#define newSVnv pPerl->newSVnv
+#define newSVnv Perl_newSVnv
+#undef Perl_newSVpv
+#define Perl_newSVpv pPerl->Perl_newSVpv
#undef newSVpv
-#define newSVpv pPerl->newSVpv
+#define newSVpv Perl_newSVpv
+#undef Perl_newSVpvn
+#define Perl_newSVpvn pPerl->Perl_newSVpvn
#undef newSVpvn
-#define newSVpvn pPerl->newSVpvn
+#define newSVpvn Perl_newSVpvn
+#undef Perl_newSVpvf
+#define Perl_newSVpvf pPerl->Perl_newSVpvf
#undef newSVpvf
-#define newSVpvf pPerl->newSVpvf
+#define newSVpvf Perl_newSVpvf
+#undef Perl_newSVrv
+#define Perl_newSVrv pPerl->Perl_newSVrv
#undef newSVrv
-#define newSVrv pPerl->newSVrv
+#define newSVrv Perl_newSVrv
+#undef Perl_newSVsv
+#define Perl_newSVsv pPerl->Perl_newSVsv
#undef newSVsv
-#define newSVsv pPerl->newSVsv
+#define newSVsv Perl_newSVsv
+#undef Perl_newUNOP
+#define Perl_newUNOP pPerl->Perl_newUNOP
#undef newUNOP
-#define newUNOP pPerl->newUNOP
+#define newUNOP Perl_newUNOP
+#undef Perl_newWHILEOP
+#define Perl_newWHILEOP pPerl->Perl_newWHILEOP
#undef newWHILEOP
-#define newWHILEOP pPerl->newWHILEOP
+#define newWHILEOP Perl_newWHILEOP
#if defined(USE_THREADS)
+#undef Perl_new_struct_thread
+#define Perl_new_struct_thread pPerl->Perl_new_struct_thread
#undef new_struct_thread
-#define new_struct_thread pPerl->new_struct_thread
+#define new_struct_thread Perl_new_struct_thread
#endif
+#undef Perl_new_stackinfo
+#define Perl_new_stackinfo pPerl->Perl_new_stackinfo
#undef new_stackinfo
-#define new_stackinfo pPerl->new_stackinfo
+#define new_stackinfo Perl_new_stackinfo
+#undef Perl_nextargv
+#define Perl_nextargv pPerl->Perl_nextargv
#undef nextargv
-#define nextargv pPerl->nextargv
+#define nextargv Perl_nextargv
+#undef Perl_ninstr
+#define Perl_ninstr pPerl->Perl_ninstr
#undef ninstr
-#define ninstr pPerl->ninstr
+#define ninstr Perl_ninstr
+#undef Perl_oopsCV
+#define Perl_oopsCV pPerl->Perl_oopsCV
#undef oopsCV
-#define oopsCV pPerl->oopsCV
+#define oopsCV Perl_oopsCV
+#undef Perl_op_free
+#define Perl_op_free pPerl->Perl_op_free
#undef op_free
-#define op_free pPerl->op_free
+#define op_free Perl_op_free
+#undef Perl_package
+#define Perl_package pPerl->Perl_package
#undef package
-#define package pPerl->package
+#define package Perl_package
+#undef Perl_pad_alloc
+#define Perl_pad_alloc pPerl->Perl_pad_alloc
#undef pad_alloc
-#define pad_alloc pPerl->pad_alloc
+#define pad_alloc Perl_pad_alloc
+#undef Perl_pad_allocmy
+#define Perl_pad_allocmy pPerl->Perl_pad_allocmy
#undef pad_allocmy
-#define pad_allocmy pPerl->pad_allocmy
+#define pad_allocmy Perl_pad_allocmy
+#undef Perl_pad_findmy
+#define Perl_pad_findmy pPerl->Perl_pad_findmy
#undef pad_findmy
-#define pad_findmy pPerl->pad_findmy
+#define pad_findmy Perl_pad_findmy
+#undef Perl_oopsAV
+#define Perl_oopsAV pPerl->Perl_oopsAV
#undef oopsAV
-#define oopsAV pPerl->oopsAV
+#define oopsAV Perl_oopsAV
+#undef Perl_oopsHV
+#define Perl_oopsHV pPerl->Perl_oopsHV
#undef oopsHV
-#define oopsHV pPerl->oopsHV
+#define oopsHV Perl_oopsHV
+#undef Perl_pad_leavemy
+#define Perl_pad_leavemy pPerl->Perl_pad_leavemy
#undef pad_leavemy
-#define pad_leavemy pPerl->pad_leavemy
+#define pad_leavemy Perl_pad_leavemy
+#undef Perl_pad_sv
+#define Perl_pad_sv pPerl->Perl_pad_sv
#undef pad_sv
-#define pad_sv pPerl->pad_sv
+#define pad_sv Perl_pad_sv
+#undef Perl_pad_free
+#define Perl_pad_free pPerl->Perl_pad_free
#undef pad_free
-#define pad_free pPerl->pad_free
+#define pad_free Perl_pad_free
+#undef Perl_pad_reset
+#define Perl_pad_reset pPerl->Perl_pad_reset
#undef pad_reset
-#define pad_reset pPerl->pad_reset
+#define pad_reset Perl_pad_reset
+#undef Perl_pad_swipe
+#define Perl_pad_swipe pPerl->Perl_pad_swipe
#undef pad_swipe
-#define pad_swipe pPerl->pad_swipe
+#define pad_swipe Perl_pad_swipe
+#undef Perl_peep
+#define Perl_peep pPerl->Perl_peep
#undef peep
-#define peep pPerl->peep
+#define peep Perl_peep
+#if defined(PERL_OBJECT)
+#undef perl_construct
+#define perl_construct pPerl->perl_construct
+#undef perl_destruct
+#define perl_destruct pPerl->perl_destruct
+#undef perl_free
+#define perl_free pPerl->perl_free
+#undef perl_run
+#define perl_run pPerl->perl_run
+#undef perl_parse
+#define perl_parse pPerl->perl_parse
+#else
+#undef perl_alloc
+#define perl_alloc pPerl->perl_alloc
+#undef perl_construct
+#define perl_construct pPerl->perl_construct
+#undef perl_destruct
+#define perl_destruct pPerl->perl_destruct
+#undef perl_free
+#define perl_free pPerl->perl_free
+#undef perl_run
+#define perl_run pPerl->perl_run
+#undef perl_parse
+#define perl_parse pPerl->perl_parse
+#endif
+#undef Perl_call_atexit
+#define Perl_call_atexit pPerl->Perl_call_atexit
#undef call_atexit
-#define call_atexit pPerl->call_atexit
+#define call_atexit Perl_call_atexit
+#undef Perl_call_argv
+#define Perl_call_argv pPerl->Perl_call_argv
#undef call_argv
-#define call_argv pPerl->call_argv
+#define call_argv Perl_call_argv
+#undef Perl_call_method
+#define Perl_call_method pPerl->Perl_call_method
#undef call_method
-#define call_method pPerl->call_method
+#define call_method Perl_call_method
+#undef Perl_call_pv
+#define Perl_call_pv pPerl->Perl_call_pv
#undef call_pv
-#define call_pv pPerl->call_pv
+#define call_pv Perl_call_pv
+#undef Perl_call_sv
+#define Perl_call_sv pPerl->Perl_call_sv
#undef call_sv
-#define call_sv pPerl->call_sv
+#define call_sv Perl_call_sv
+#undef Perl_eval_pv
+#define Perl_eval_pv pPerl->Perl_eval_pv
#undef eval_pv
-#define eval_pv pPerl->eval_pv
+#define eval_pv Perl_eval_pv
+#undef Perl_eval_sv
+#define Perl_eval_sv pPerl->Perl_eval_sv
#undef eval_sv
-#define eval_sv pPerl->eval_sv
+#define eval_sv Perl_eval_sv
+#undef Perl_get_sv
+#define Perl_get_sv pPerl->Perl_get_sv
#undef get_sv
-#define get_sv pPerl->get_sv
+#define get_sv Perl_get_sv
+#undef Perl_get_av
+#define Perl_get_av pPerl->Perl_get_av
#undef get_av
-#define get_av pPerl->get_av
+#define get_av Perl_get_av
+#undef Perl_get_hv
+#define Perl_get_hv pPerl->Perl_get_hv
#undef get_hv
-#define get_hv pPerl->get_hv
+#define get_hv Perl_get_hv
+#undef Perl_get_cv
+#define Perl_get_cv pPerl->Perl_get_cv
#undef get_cv
-#define get_cv pPerl->get_cv
+#define get_cv Perl_get_cv
+#undef Perl_init_i18nl10n
+#define Perl_init_i18nl10n pPerl->Perl_init_i18nl10n
#undef init_i18nl10n
-#define init_i18nl10n pPerl->init_i18nl10n
+#define init_i18nl10n Perl_init_i18nl10n
+#undef Perl_init_i18nl14n
+#define Perl_init_i18nl14n pPerl->Perl_init_i18nl14n
#undef init_i18nl14n
-#define init_i18nl14n pPerl->init_i18nl14n
+#define init_i18nl14n Perl_init_i18nl14n
+#undef Perl_new_collate
+#define Perl_new_collate pPerl->Perl_new_collate
#undef new_collate
-#define new_collate pPerl->new_collate
+#define new_collate Perl_new_collate
+#undef Perl_new_ctype
+#define Perl_new_ctype pPerl->Perl_new_ctype
#undef new_ctype
-#define new_ctype pPerl->new_ctype
+#define new_ctype Perl_new_ctype
+#undef Perl_new_numeric
+#define Perl_new_numeric pPerl->Perl_new_numeric
#undef new_numeric
-#define new_numeric pPerl->new_numeric
+#define new_numeric Perl_new_numeric
+#undef Perl_set_numeric_local
+#define Perl_set_numeric_local pPerl->Perl_set_numeric_local
#undef set_numeric_local
-#define set_numeric_local pPerl->set_numeric_local
+#define set_numeric_local Perl_set_numeric_local
+#undef Perl_set_numeric_radix
+#define Perl_set_numeric_radix pPerl->Perl_set_numeric_radix
#undef set_numeric_radix
-#define set_numeric_radix pPerl->set_numeric_radix
+#define set_numeric_radix Perl_set_numeric_radix
+#undef Perl_set_numeric_standard
+#define Perl_set_numeric_standard pPerl->Perl_set_numeric_standard
#undef set_numeric_standard
-#define set_numeric_standard pPerl->set_numeric_standard
+#define set_numeric_standard Perl_set_numeric_standard
+#undef Perl_require_pv
+#define Perl_require_pv pPerl->Perl_require_pv
#undef require_pv
-#define require_pv pPerl->require_pv
+#define require_pv Perl_require_pv
+#undef Perl_pidgone
+#define Perl_pidgone pPerl->Perl_pidgone
#undef pidgone
-#define pidgone pPerl->pidgone
+#define pidgone Perl_pidgone
+#undef Perl_pmflag
+#define Perl_pmflag pPerl->Perl_pmflag
#undef pmflag
-#define pmflag pPerl->pmflag
+#define pmflag Perl_pmflag
+#undef Perl_pmruntime
+#define Perl_pmruntime pPerl->Perl_pmruntime
#undef pmruntime
-#define pmruntime pPerl->pmruntime
+#define pmruntime Perl_pmruntime
+#undef Perl_pmtrans
+#define Perl_pmtrans pPerl->Perl_pmtrans
#undef pmtrans
-#define pmtrans pPerl->pmtrans
+#define pmtrans Perl_pmtrans
+#undef Perl_pop_return
+#define Perl_pop_return pPerl->Perl_pop_return
#undef pop_return
-#define pop_return pPerl->pop_return
+#define pop_return Perl_pop_return
+#undef Perl_pop_scope
+#define Perl_pop_scope pPerl->Perl_pop_scope
#undef pop_scope
-#define pop_scope pPerl->pop_scope
+#define pop_scope Perl_pop_scope
+#undef Perl_prepend_elem
+#define Perl_prepend_elem pPerl->Perl_prepend_elem
#undef prepend_elem
-#define prepend_elem pPerl->prepend_elem
+#define prepend_elem Perl_prepend_elem
+#undef Perl_push_return
+#define Perl_push_return pPerl->Perl_push_return
#undef push_return
-#define push_return pPerl->push_return
+#define push_return Perl_push_return
+#undef Perl_push_scope
+#define Perl_push_scope pPerl->Perl_push_scope
#undef push_scope
-#define push_scope pPerl->push_scope
+#define push_scope Perl_push_scope
+#undef Perl_ref
+#define Perl_ref pPerl->Perl_ref
#undef ref
-#define ref pPerl->ref
+#define ref Perl_ref
+#undef Perl_refkids
+#define Perl_refkids pPerl->Perl_refkids
#undef refkids
-#define refkids pPerl->refkids
+#define refkids Perl_refkids
+#undef Perl_regdump
+#define Perl_regdump pPerl->Perl_regdump
#undef regdump
-#define regdump pPerl->regdump
+#define regdump Perl_regdump
+#undef Perl_pregexec
+#define Perl_pregexec pPerl->Perl_pregexec
#undef pregexec
-#define pregexec pPerl->pregexec
+#define pregexec Perl_pregexec
+#undef Perl_pregfree
+#define Perl_pregfree pPerl->Perl_pregfree
#undef pregfree
-#define pregfree pPerl->pregfree
+#define pregfree Perl_pregfree
+#undef Perl_pregcomp
+#define Perl_pregcomp pPerl->Perl_pregcomp
#undef pregcomp
-#define pregcomp pPerl->pregcomp
+#define pregcomp Perl_pregcomp
+#undef Perl_regexec_flags
+#define Perl_regexec_flags pPerl->Perl_regexec_flags
#undef regexec_flags
-#define regexec_flags pPerl->regexec_flags
+#define regexec_flags Perl_regexec_flags
+#undef Perl_regnext
+#define Perl_regnext pPerl->Perl_regnext
#undef regnext
-#define regnext pPerl->regnext
+#define regnext Perl_regnext
+#undef Perl_regprop
+#define Perl_regprop pPerl->Perl_regprop
#undef regprop
-#define regprop pPerl->regprop
+#define regprop Perl_regprop
+#undef Perl_repeatcpy
+#define Perl_repeatcpy pPerl->Perl_repeatcpy
#undef repeatcpy
-#define repeatcpy pPerl->repeatcpy
+#define repeatcpy Perl_repeatcpy
+#undef Perl_rninstr
+#define Perl_rninstr pPerl->Perl_rninstr
#undef rninstr
-#define rninstr pPerl->rninstr
+#define rninstr Perl_rninstr
+#undef Perl_rsignal
+#define Perl_rsignal pPerl->Perl_rsignal
#undef rsignal
-#define rsignal pPerl->rsignal
+#define rsignal Perl_rsignal
+#undef Perl_rsignal_restore
+#define Perl_rsignal_restore pPerl->Perl_rsignal_restore
#undef rsignal_restore
-#define rsignal_restore pPerl->rsignal_restore
+#define rsignal_restore Perl_rsignal_restore
+#undef Perl_rsignal_save
+#define Perl_rsignal_save pPerl->Perl_rsignal_save
#undef rsignal_save
-#define rsignal_save pPerl->rsignal_save
+#define rsignal_save Perl_rsignal_save
+#undef Perl_rsignal_state
+#define Perl_rsignal_state pPerl->Perl_rsignal_state
#undef rsignal_state
-#define rsignal_state pPerl->rsignal_state
+#define rsignal_state Perl_rsignal_state
+#undef Perl_rxres_free
+#define Perl_rxres_free pPerl->Perl_rxres_free
#undef rxres_free
-#define rxres_free pPerl->rxres_free
+#define rxres_free Perl_rxres_free
+#undef Perl_rxres_restore
+#define Perl_rxres_restore pPerl->Perl_rxres_restore
#undef rxres_restore
-#define rxres_restore pPerl->rxres_restore
+#define rxres_restore Perl_rxres_restore
+#undef Perl_rxres_save
+#define Perl_rxres_save pPerl->Perl_rxres_save
#undef rxres_save
-#define rxres_save pPerl->rxres_save
+#define rxres_save Perl_rxres_save
#if !defined(HAS_RENAME)
+#undef Perl_same_dirent
+#define Perl_same_dirent pPerl->Perl_same_dirent
#undef same_dirent
-#define same_dirent pPerl->same_dirent
+#define same_dirent Perl_same_dirent
#endif
+#undef Perl_savepv
+#define Perl_savepv pPerl->Perl_savepv
#undef savepv
-#define savepv pPerl->savepv
+#define savepv Perl_savepv
+#undef Perl_savepvn
+#define Perl_savepvn pPerl->Perl_savepvn
#undef savepvn
-#define savepvn pPerl->savepvn
+#define savepvn Perl_savepvn
+#undef Perl_savestack_grow
+#define Perl_savestack_grow pPerl->Perl_savestack_grow
#undef savestack_grow
-#define savestack_grow pPerl->savestack_grow
+#define savestack_grow Perl_savestack_grow
+#undef Perl_save_aelem
+#define Perl_save_aelem pPerl->Perl_save_aelem
#undef save_aelem
-#define save_aelem pPerl->save_aelem
+#define save_aelem Perl_save_aelem
+#undef Perl_save_alloc
+#define Perl_save_alloc pPerl->Perl_save_alloc
#undef save_alloc
-#define save_alloc pPerl->save_alloc
+#define save_alloc Perl_save_alloc
+#undef Perl_save_aptr
+#define Perl_save_aptr pPerl->Perl_save_aptr
#undef save_aptr
-#define save_aptr pPerl->save_aptr
+#define save_aptr Perl_save_aptr
+#undef Perl_save_ary
+#define Perl_save_ary pPerl->Perl_save_ary
#undef save_ary
-#define save_ary pPerl->save_ary
+#define save_ary Perl_save_ary
+#undef Perl_save_clearsv
+#define Perl_save_clearsv pPerl->Perl_save_clearsv
#undef save_clearsv
-#define save_clearsv pPerl->save_clearsv
+#define save_clearsv Perl_save_clearsv
+#undef Perl_save_delete
+#define Perl_save_delete pPerl->Perl_save_delete
#undef save_delete
-#define save_delete pPerl->save_delete
+#define save_delete Perl_save_delete
+#undef Perl_save_destructor
+#define Perl_save_destructor pPerl->Perl_save_destructor
#undef save_destructor
-#define save_destructor pPerl->save_destructor
+#define save_destructor Perl_save_destructor
+#undef Perl_save_freesv
+#define Perl_save_freesv pPerl->Perl_save_freesv
#undef save_freesv
-#define save_freesv pPerl->save_freesv
+#define save_freesv Perl_save_freesv
+#undef Perl_save_freeop
+#define Perl_save_freeop pPerl->Perl_save_freeop
#undef save_freeop
-#define save_freeop pPerl->save_freeop
+#define save_freeop Perl_save_freeop
+#undef Perl_save_freepv
+#define Perl_save_freepv pPerl->Perl_save_freepv
#undef save_freepv
-#define save_freepv pPerl->save_freepv
+#define save_freepv Perl_save_freepv
+#undef Perl_save_generic_svref
+#define Perl_save_generic_svref pPerl->Perl_save_generic_svref
#undef save_generic_svref
-#define save_generic_svref pPerl->save_generic_svref
+#define save_generic_svref Perl_save_generic_svref
+#undef Perl_save_gp
+#define Perl_save_gp pPerl->Perl_save_gp
#undef save_gp
-#define save_gp pPerl->save_gp
+#define save_gp Perl_save_gp
+#undef Perl_save_hash
+#define Perl_save_hash pPerl->Perl_save_hash
#undef save_hash
-#define save_hash pPerl->save_hash
+#define save_hash Perl_save_hash
+#undef Perl_save_helem
+#define Perl_save_helem pPerl->Perl_save_helem
#undef save_helem
-#define save_helem pPerl->save_helem
+#define save_helem Perl_save_helem
+#undef Perl_save_hints
+#define Perl_save_hints pPerl->Perl_save_hints
#undef save_hints
-#define save_hints pPerl->save_hints
+#define save_hints Perl_save_hints
+#undef Perl_save_hptr
+#define Perl_save_hptr pPerl->Perl_save_hptr
#undef save_hptr
-#define save_hptr pPerl->save_hptr
+#define save_hptr Perl_save_hptr
+#undef Perl_save_I16
+#define Perl_save_I16 pPerl->Perl_save_I16
#undef save_I16
-#define save_I16 pPerl->save_I16
+#define save_I16 Perl_save_I16
+#undef Perl_save_I32
+#define Perl_save_I32 pPerl->Perl_save_I32
#undef save_I32
-#define save_I32 pPerl->save_I32
+#define save_I32 Perl_save_I32
+#undef Perl_save_int
+#define Perl_save_int pPerl->Perl_save_int
#undef save_int
-#define save_int pPerl->save_int
+#define save_int Perl_save_int
+#undef Perl_save_item
+#define Perl_save_item pPerl->Perl_save_item
#undef save_item
-#define save_item pPerl->save_item
+#define save_item Perl_save_item
+#undef Perl_save_iv
+#define Perl_save_iv pPerl->Perl_save_iv
#undef save_iv
-#define save_iv pPerl->save_iv
+#define save_iv Perl_save_iv
+#undef Perl_save_list
+#define Perl_save_list pPerl->Perl_save_list
#undef save_list
-#define save_list pPerl->save_list
+#define save_list Perl_save_list
+#undef Perl_save_long
+#define Perl_save_long pPerl->Perl_save_long
#undef save_long
-#define save_long pPerl->save_long
+#define save_long Perl_save_long
+#undef Perl_save_nogv
+#define Perl_save_nogv pPerl->Perl_save_nogv
#undef save_nogv
-#define save_nogv pPerl->save_nogv
+#define save_nogv Perl_save_nogv
+#undef Perl_save_op
+#define Perl_save_op pPerl->Perl_save_op
#undef save_op
-#define save_op pPerl->save_op
+#define save_op Perl_save_op
+#undef Perl_save_scalar
+#define Perl_save_scalar pPerl->Perl_save_scalar
#undef save_scalar
-#define save_scalar pPerl->save_scalar
+#define save_scalar Perl_save_scalar
+#undef Perl_save_pptr
+#define Perl_save_pptr pPerl->Perl_save_pptr
#undef save_pptr
-#define save_pptr pPerl->save_pptr
+#define save_pptr Perl_save_pptr
+#undef Perl_save_re_context
+#define Perl_save_re_context pPerl->Perl_save_re_context
#undef save_re_context
-#define save_re_context pPerl->save_re_context
+#define save_re_context Perl_save_re_context
+#undef Perl_save_sptr
+#define Perl_save_sptr pPerl->Perl_save_sptr
#undef save_sptr
-#define save_sptr pPerl->save_sptr
+#define save_sptr Perl_save_sptr
+#undef Perl_save_svref
+#define Perl_save_svref pPerl->Perl_save_svref
#undef save_svref
-#define save_svref pPerl->save_svref
+#define save_svref Perl_save_svref
+#undef Perl_save_threadsv
+#define Perl_save_threadsv pPerl->Perl_save_threadsv
#undef save_threadsv
-#define save_threadsv pPerl->save_threadsv
+#define save_threadsv Perl_save_threadsv
+#undef Perl_sawparens
+#define Perl_sawparens pPerl->Perl_sawparens
#undef sawparens
-#define sawparens pPerl->sawparens
+#define sawparens Perl_sawparens
+#undef Perl_scalar
+#define Perl_scalar pPerl->Perl_scalar
#undef scalar
-#define scalar pPerl->scalar
+#define scalar Perl_scalar
+#undef Perl_scalarkids
+#define Perl_scalarkids pPerl->Perl_scalarkids
#undef scalarkids
-#define scalarkids pPerl->scalarkids
+#define scalarkids Perl_scalarkids
+#undef Perl_scalarseq
+#define Perl_scalarseq pPerl->Perl_scalarseq
#undef scalarseq
-#define scalarseq pPerl->scalarseq
+#define scalarseq Perl_scalarseq
+#undef Perl_scalarvoid
+#define Perl_scalarvoid pPerl->Perl_scalarvoid
#undef scalarvoid
-#define scalarvoid pPerl->scalarvoid
+#define scalarvoid Perl_scalarvoid
+#undef Perl_scan_bin
+#define Perl_scan_bin pPerl->Perl_scan_bin
#undef scan_bin
-#define scan_bin pPerl->scan_bin
+#define scan_bin Perl_scan_bin
+#undef Perl_scan_hex
+#define Perl_scan_hex pPerl->Perl_scan_hex
#undef scan_hex
-#define scan_hex pPerl->scan_hex
+#define scan_hex Perl_scan_hex
+#undef Perl_scan_num
+#define Perl_scan_num pPerl->Perl_scan_num
#undef scan_num
-#define scan_num pPerl->scan_num
+#define scan_num Perl_scan_num
+#undef Perl_scan_oct
+#define Perl_scan_oct pPerl->Perl_scan_oct
#undef scan_oct
-#define scan_oct pPerl->scan_oct
+#define scan_oct Perl_scan_oct
+#undef Perl_scope
+#define Perl_scope pPerl->Perl_scope
#undef scope
-#define scope pPerl->scope
+#define scope Perl_scope
+#undef Perl_screaminstr
+#define Perl_screaminstr pPerl->Perl_screaminstr
#undef screaminstr
-#define screaminstr pPerl->screaminstr
+#define screaminstr Perl_screaminstr
#if !defined(VMS)
+#undef Perl_setenv_getix
+#define Perl_setenv_getix pPerl->Perl_setenv_getix
#undef setenv_getix
-#define setenv_getix pPerl->setenv_getix
+#define setenv_getix Perl_setenv_getix
#endif
+#undef Perl_setdefout
+#define Perl_setdefout pPerl->Perl_setdefout
#undef setdefout
-#define setdefout pPerl->setdefout
+#define setdefout Perl_setdefout
+#undef Perl_sharepvn
+#define Perl_sharepvn pPerl->Perl_sharepvn
#undef sharepvn
-#define sharepvn pPerl->sharepvn
+#define sharepvn Perl_sharepvn
+#undef Perl_share_hek
+#define Perl_share_hek pPerl->Perl_share_hek
#undef share_hek
-#define share_hek pPerl->share_hek
+#define share_hek Perl_share_hek
+#undef Perl_sighandler
+#define Perl_sighandler pPerl->Perl_sighandler
#undef sighandler
-#define sighandler pPerl->sighandler
+#define sighandler Perl_sighandler
+#undef Perl_stack_grow
+#define Perl_stack_grow pPerl->Perl_stack_grow
#undef stack_grow
-#define stack_grow pPerl->stack_grow
+#define stack_grow Perl_stack_grow
+#undef Perl_start_subparse
+#define Perl_start_subparse pPerl->Perl_start_subparse
#undef start_subparse
-#define start_subparse pPerl->start_subparse
+#define start_subparse Perl_start_subparse
+#undef Perl_sub_crush_depth
+#define Perl_sub_crush_depth pPerl->Perl_sub_crush_depth
#undef sub_crush_depth
-#define sub_crush_depth pPerl->sub_crush_depth
+#define sub_crush_depth Perl_sub_crush_depth
+#undef Perl_sv_2bool
+#define Perl_sv_2bool pPerl->Perl_sv_2bool
#undef sv_2bool
-#define sv_2bool pPerl->sv_2bool
+#define sv_2bool Perl_sv_2bool
+#undef Perl_sv_2cv
+#define Perl_sv_2cv pPerl->Perl_sv_2cv
#undef sv_2cv
-#define sv_2cv pPerl->sv_2cv
+#define sv_2cv Perl_sv_2cv
+#undef Perl_sv_2io
+#define Perl_sv_2io pPerl->Perl_sv_2io
#undef sv_2io
-#define sv_2io pPerl->sv_2io
+#define sv_2io Perl_sv_2io
+#undef Perl_sv_2iv
+#define Perl_sv_2iv pPerl->Perl_sv_2iv
#undef sv_2iv
-#define sv_2iv pPerl->sv_2iv
+#define sv_2iv Perl_sv_2iv
+#undef Perl_sv_2mortal
+#define Perl_sv_2mortal pPerl->Perl_sv_2mortal
#undef sv_2mortal
-#define sv_2mortal pPerl->sv_2mortal
+#define sv_2mortal Perl_sv_2mortal
+#undef Perl_sv_2nv
+#define Perl_sv_2nv pPerl->Perl_sv_2nv
#undef sv_2nv
-#define sv_2nv pPerl->sv_2nv
+#define sv_2nv Perl_sv_2nv
+#undef Perl_sv_2pv
+#define Perl_sv_2pv pPerl->Perl_sv_2pv
#undef sv_2pv
-#define sv_2pv pPerl->sv_2pv
+#define sv_2pv Perl_sv_2pv
+#undef Perl_sv_2uv
+#define Perl_sv_2uv pPerl->Perl_sv_2uv
#undef sv_2uv
-#define sv_2uv pPerl->sv_2uv
+#define sv_2uv Perl_sv_2uv
+#undef Perl_sv_iv
+#define Perl_sv_iv pPerl->Perl_sv_iv
#undef sv_iv
-#define sv_iv pPerl->sv_iv
+#define sv_iv Perl_sv_iv
+#undef Perl_sv_uv
+#define Perl_sv_uv pPerl->Perl_sv_uv
#undef sv_uv
-#define sv_uv pPerl->sv_uv
+#define sv_uv Perl_sv_uv
+#undef Perl_sv_nv
+#define Perl_sv_nv pPerl->Perl_sv_nv
#undef sv_nv
-#define sv_nv pPerl->sv_nv
+#define sv_nv Perl_sv_nv
+#undef Perl_sv_pvn
+#define Perl_sv_pvn pPerl->Perl_sv_pvn
#undef sv_pvn
-#define sv_pvn pPerl->sv_pvn
+#define sv_pvn Perl_sv_pvn
+#undef Perl_sv_true
+#define Perl_sv_true pPerl->Perl_sv_true
#undef sv_true
-#define sv_true pPerl->sv_true
+#define sv_true Perl_sv_true
+#undef Perl_sv_add_arena
+#define Perl_sv_add_arena pPerl->Perl_sv_add_arena
#undef sv_add_arena
-#define sv_add_arena pPerl->sv_add_arena
+#define sv_add_arena Perl_sv_add_arena
+#undef Perl_sv_backoff
+#define Perl_sv_backoff pPerl->Perl_sv_backoff
#undef sv_backoff
-#define sv_backoff pPerl->sv_backoff
+#define sv_backoff Perl_sv_backoff
+#undef Perl_sv_bless
+#define Perl_sv_bless pPerl->Perl_sv_bless
#undef sv_bless
-#define sv_bless pPerl->sv_bless
+#define sv_bless Perl_sv_bless
+#undef Perl_sv_catpvf
+#define Perl_sv_catpvf pPerl->Perl_sv_catpvf
#undef sv_catpvf
-#define sv_catpvf pPerl->sv_catpvf
+#define sv_catpvf Perl_sv_catpvf
+#undef Perl_sv_catpv
+#define Perl_sv_catpv pPerl->Perl_sv_catpv
#undef sv_catpv
-#define sv_catpv pPerl->sv_catpv
+#define sv_catpv Perl_sv_catpv
+#undef Perl_sv_catpvn
+#define Perl_sv_catpvn pPerl->Perl_sv_catpvn
#undef sv_catpvn
-#define sv_catpvn pPerl->sv_catpvn
+#define sv_catpvn Perl_sv_catpvn
+#undef Perl_sv_catsv
+#define Perl_sv_catsv pPerl->Perl_sv_catsv
#undef sv_catsv
-#define sv_catsv pPerl->sv_catsv
+#define sv_catsv Perl_sv_catsv
+#undef Perl_sv_chop
+#define Perl_sv_chop pPerl->Perl_sv_chop
#undef sv_chop
-#define sv_chop pPerl->sv_chop
+#define sv_chop Perl_sv_chop
+#undef Perl_sv_clean_all
+#define Perl_sv_clean_all pPerl->Perl_sv_clean_all
#undef sv_clean_all
-#define sv_clean_all pPerl->sv_clean_all
+#define sv_clean_all Perl_sv_clean_all
+#undef Perl_sv_clean_objs
+#define Perl_sv_clean_objs pPerl->Perl_sv_clean_objs
#undef sv_clean_objs
-#define sv_clean_objs pPerl->sv_clean_objs
+#define sv_clean_objs Perl_sv_clean_objs
+#undef Perl_sv_clear
+#define Perl_sv_clear pPerl->Perl_sv_clear
#undef sv_clear
-#define sv_clear pPerl->sv_clear
+#define sv_clear Perl_sv_clear
+#undef Perl_sv_cmp
+#define Perl_sv_cmp pPerl->Perl_sv_cmp
#undef sv_cmp
-#define sv_cmp pPerl->sv_cmp
+#define sv_cmp Perl_sv_cmp
+#undef Perl_sv_cmp_locale
+#define Perl_sv_cmp_locale pPerl->Perl_sv_cmp_locale
#undef sv_cmp_locale
-#define sv_cmp_locale pPerl->sv_cmp_locale
+#define sv_cmp_locale Perl_sv_cmp_locale
#if defined(USE_LOCALE_COLLATE)
+#undef Perl_sv_collxfrm
+#define Perl_sv_collxfrm pPerl->Perl_sv_collxfrm
#undef sv_collxfrm
-#define sv_collxfrm pPerl->sv_collxfrm
+#define sv_collxfrm Perl_sv_collxfrm
#endif
+#undef Perl_sv_compile_2op
+#define Perl_sv_compile_2op pPerl->Perl_sv_compile_2op
#undef sv_compile_2op
-#define sv_compile_2op pPerl->sv_compile_2op
+#define sv_compile_2op Perl_sv_compile_2op
+#undef Perl_sv_dec
+#define Perl_sv_dec pPerl->Perl_sv_dec
#undef sv_dec
-#define sv_dec pPerl->sv_dec
+#define sv_dec Perl_sv_dec
+#undef Perl_sv_dump
+#define Perl_sv_dump pPerl->Perl_sv_dump
#undef sv_dump
-#define sv_dump pPerl->sv_dump
+#define sv_dump Perl_sv_dump
+#undef Perl_sv_derived_from
+#define Perl_sv_derived_from pPerl->Perl_sv_derived_from
#undef sv_derived_from
-#define sv_derived_from pPerl->sv_derived_from
+#define sv_derived_from Perl_sv_derived_from
+#undef Perl_sv_eq
+#define Perl_sv_eq pPerl->Perl_sv_eq
#undef sv_eq
-#define sv_eq pPerl->sv_eq
+#define sv_eq Perl_sv_eq
+#undef Perl_sv_free
+#define Perl_sv_free pPerl->Perl_sv_free
#undef sv_free
-#define sv_free pPerl->sv_free
+#define sv_free Perl_sv_free
+#undef Perl_sv_free_arenas
+#define Perl_sv_free_arenas pPerl->Perl_sv_free_arenas
#undef sv_free_arenas
-#define sv_free_arenas pPerl->sv_free_arenas
+#define sv_free_arenas Perl_sv_free_arenas
+#undef Perl_sv_gets
+#define Perl_sv_gets pPerl->Perl_sv_gets
#undef sv_gets
-#define sv_gets pPerl->sv_gets
+#define sv_gets Perl_sv_gets
+#undef Perl_sv_grow
+#define Perl_sv_grow pPerl->Perl_sv_grow
#undef sv_grow
-#define sv_grow pPerl->sv_grow
+#define sv_grow Perl_sv_grow
+#undef Perl_sv_inc
+#define Perl_sv_inc pPerl->Perl_sv_inc
#undef sv_inc
-#define sv_inc pPerl->sv_inc
+#define sv_inc Perl_sv_inc
+#undef Perl_sv_insert
+#define Perl_sv_insert pPerl->Perl_sv_insert
#undef sv_insert
-#define sv_insert pPerl->sv_insert
+#define sv_insert Perl_sv_insert
+#undef Perl_sv_isa
+#define Perl_sv_isa pPerl->Perl_sv_isa
#undef sv_isa
-#define sv_isa pPerl->sv_isa
+#define sv_isa Perl_sv_isa
+#undef Perl_sv_isobject
+#define Perl_sv_isobject pPerl->Perl_sv_isobject
#undef sv_isobject
-#define sv_isobject pPerl->sv_isobject
+#define sv_isobject Perl_sv_isobject
+#undef Perl_sv_len
+#define Perl_sv_len pPerl->Perl_sv_len
#undef sv_len
-#define sv_len pPerl->sv_len
+#define sv_len Perl_sv_len
+#undef Perl_sv_len_utf8
+#define Perl_sv_len_utf8 pPerl->Perl_sv_len_utf8
#undef sv_len_utf8
-#define sv_len_utf8 pPerl->sv_len_utf8
+#define sv_len_utf8 Perl_sv_len_utf8
+#undef Perl_sv_magic
+#define Perl_sv_magic pPerl->Perl_sv_magic
#undef sv_magic
-#define sv_magic pPerl->sv_magic
+#define sv_magic Perl_sv_magic
+#undef Perl_sv_mortalcopy
+#define Perl_sv_mortalcopy pPerl->Perl_sv_mortalcopy
#undef sv_mortalcopy
-#define sv_mortalcopy pPerl->sv_mortalcopy
+#define sv_mortalcopy Perl_sv_mortalcopy
+#undef Perl_sv_newmortal
+#define Perl_sv_newmortal pPerl->Perl_sv_newmortal
#undef sv_newmortal
-#define sv_newmortal pPerl->sv_newmortal
+#define sv_newmortal Perl_sv_newmortal
+#undef Perl_sv_newref
+#define Perl_sv_newref pPerl->Perl_sv_newref
#undef sv_newref
-#define sv_newref pPerl->sv_newref
+#define sv_newref Perl_sv_newref
+#undef Perl_sv_peek
+#define Perl_sv_peek pPerl->Perl_sv_peek
#undef sv_peek
-#define sv_peek pPerl->sv_peek
+#define sv_peek Perl_sv_peek
+#undef Perl_sv_pos_u2b
+#define Perl_sv_pos_u2b pPerl->Perl_sv_pos_u2b
#undef sv_pos_u2b
-#define sv_pos_u2b pPerl->sv_pos_u2b
+#define sv_pos_u2b Perl_sv_pos_u2b
+#undef Perl_sv_pos_b2u
+#define Perl_sv_pos_b2u pPerl->Perl_sv_pos_b2u
#undef sv_pos_b2u
-#define sv_pos_b2u pPerl->sv_pos_b2u
+#define sv_pos_b2u Perl_sv_pos_b2u
+#undef Perl_sv_pvn_force
+#define Perl_sv_pvn_force pPerl->Perl_sv_pvn_force
#undef sv_pvn_force
-#define sv_pvn_force pPerl->sv_pvn_force
+#define sv_pvn_force Perl_sv_pvn_force
+#undef Perl_sv_reftype
+#define Perl_sv_reftype pPerl->Perl_sv_reftype
#undef sv_reftype
-#define sv_reftype pPerl->sv_reftype
+#define sv_reftype Perl_sv_reftype
+#undef Perl_sv_replace
+#define Perl_sv_replace pPerl->Perl_sv_replace
#undef sv_replace
-#define sv_replace pPerl->sv_replace
+#define sv_replace Perl_sv_replace
+#undef Perl_sv_report_used
+#define Perl_sv_report_used pPerl->Perl_sv_report_used
#undef sv_report_used
-#define sv_report_used pPerl->sv_report_used
+#define sv_report_used Perl_sv_report_used
+#undef Perl_sv_reset
+#define Perl_sv_reset pPerl->Perl_sv_reset
#undef sv_reset
-#define sv_reset pPerl->sv_reset
+#define sv_reset Perl_sv_reset
+#undef Perl_sv_setpvf
+#define Perl_sv_setpvf pPerl->Perl_sv_setpvf
#undef sv_setpvf
-#define sv_setpvf pPerl->sv_setpvf
+#define sv_setpvf Perl_sv_setpvf
+#undef Perl_sv_setiv
+#define Perl_sv_setiv pPerl->Perl_sv_setiv
#undef sv_setiv
-#define sv_setiv pPerl->sv_setiv
+#define sv_setiv Perl_sv_setiv
+#undef Perl_sv_setpviv
+#define Perl_sv_setpviv pPerl->Perl_sv_setpviv
#undef sv_setpviv
-#define sv_setpviv pPerl->sv_setpviv
+#define sv_setpviv Perl_sv_setpviv
+#undef Perl_sv_setuv
+#define Perl_sv_setuv pPerl->Perl_sv_setuv
#undef sv_setuv
-#define sv_setuv pPerl->sv_setuv
+#define sv_setuv Perl_sv_setuv
+#undef Perl_sv_setnv
+#define Perl_sv_setnv pPerl->Perl_sv_setnv
#undef sv_setnv
-#define sv_setnv pPerl->sv_setnv
+#define sv_setnv Perl_sv_setnv
+#undef Perl_sv_setref_iv
+#define Perl_sv_setref_iv pPerl->Perl_sv_setref_iv
#undef sv_setref_iv
-#define sv_setref_iv pPerl->sv_setref_iv
+#define sv_setref_iv Perl_sv_setref_iv
+#undef Perl_sv_setref_nv
+#define Perl_sv_setref_nv pPerl->Perl_sv_setref_nv
#undef sv_setref_nv
-#define sv_setref_nv pPerl->sv_setref_nv
+#define sv_setref_nv Perl_sv_setref_nv
+#undef Perl_sv_setref_pv
+#define Perl_sv_setref_pv pPerl->Perl_sv_setref_pv
#undef sv_setref_pv
-#define sv_setref_pv pPerl->sv_setref_pv
+#define sv_setref_pv Perl_sv_setref_pv
+#undef Perl_sv_setref_pvn
+#define Perl_sv_setref_pvn pPerl->Perl_sv_setref_pvn
#undef sv_setref_pvn
-#define sv_setref_pvn pPerl->sv_setref_pvn
+#define sv_setref_pvn Perl_sv_setref_pvn
+#undef Perl_sv_setpv
+#define Perl_sv_setpv pPerl->Perl_sv_setpv
#undef sv_setpv
-#define sv_setpv pPerl->sv_setpv
+#define sv_setpv Perl_sv_setpv
+#undef Perl_sv_setpvn
+#define Perl_sv_setpvn pPerl->Perl_sv_setpvn
#undef sv_setpvn
-#define sv_setpvn pPerl->sv_setpvn
+#define sv_setpvn Perl_sv_setpvn
+#undef Perl_sv_setsv
+#define Perl_sv_setsv pPerl->Perl_sv_setsv
#undef sv_setsv
-#define sv_setsv pPerl->sv_setsv
+#define sv_setsv Perl_sv_setsv
+#undef Perl_sv_taint
+#define Perl_sv_taint pPerl->Perl_sv_taint
#undef sv_taint
-#define sv_taint pPerl->sv_taint
+#define sv_taint Perl_sv_taint
+#undef Perl_sv_tainted
+#define Perl_sv_tainted pPerl->Perl_sv_tainted
#undef sv_tainted
-#define sv_tainted pPerl->sv_tainted
+#define sv_tainted Perl_sv_tainted
+#undef Perl_sv_unmagic
+#define Perl_sv_unmagic pPerl->Perl_sv_unmagic
#undef sv_unmagic
-#define sv_unmagic pPerl->sv_unmagic
+#define sv_unmagic Perl_sv_unmagic
+#undef Perl_sv_unref
+#define Perl_sv_unref pPerl->Perl_sv_unref
#undef sv_unref
-#define sv_unref pPerl->sv_unref
+#define sv_unref Perl_sv_unref
+#undef Perl_sv_untaint
+#define Perl_sv_untaint pPerl->Perl_sv_untaint
#undef sv_untaint
-#define sv_untaint pPerl->sv_untaint
+#define sv_untaint Perl_sv_untaint
+#undef Perl_sv_upgrade
+#define Perl_sv_upgrade pPerl->Perl_sv_upgrade
#undef sv_upgrade
-#define sv_upgrade pPerl->sv_upgrade
+#define sv_upgrade Perl_sv_upgrade
+#undef Perl_sv_usepvn
+#define Perl_sv_usepvn pPerl->Perl_sv_usepvn
#undef sv_usepvn
-#define sv_usepvn pPerl->sv_usepvn
+#define sv_usepvn Perl_sv_usepvn
+#undef Perl_sv_vcatpvfn
+#define Perl_sv_vcatpvfn pPerl->Perl_sv_vcatpvfn
#undef sv_vcatpvfn
-#define sv_vcatpvfn pPerl->sv_vcatpvfn
+#define sv_vcatpvfn Perl_sv_vcatpvfn
+#undef Perl_sv_vsetpvfn
+#define Perl_sv_vsetpvfn pPerl->Perl_sv_vsetpvfn
#undef sv_vsetpvfn
-#define sv_vsetpvfn pPerl->sv_vsetpvfn
+#define sv_vsetpvfn Perl_sv_vsetpvfn
+#undef Perl_swash_init
+#define Perl_swash_init pPerl->Perl_swash_init
#undef swash_init
-#define swash_init pPerl->swash_init
+#define swash_init Perl_swash_init
+#undef Perl_swash_fetch
+#define Perl_swash_fetch pPerl->Perl_swash_fetch
#undef swash_fetch
-#define swash_fetch pPerl->swash_fetch
+#define swash_fetch Perl_swash_fetch
+#undef Perl_taint_env
+#define Perl_taint_env pPerl->Perl_taint_env
#undef taint_env
-#define taint_env pPerl->taint_env
+#define taint_env Perl_taint_env
+#undef Perl_taint_proper
+#define Perl_taint_proper pPerl->Perl_taint_proper
#undef taint_proper
-#define taint_proper pPerl->taint_proper
+#define taint_proper Perl_taint_proper
+#undef Perl_to_utf8_lower
+#define Perl_to_utf8_lower pPerl->Perl_to_utf8_lower
#undef to_utf8_lower
-#define to_utf8_lower pPerl->to_utf8_lower
+#define to_utf8_lower Perl_to_utf8_lower
+#undef Perl_to_utf8_upper
+#define Perl_to_utf8_upper pPerl->Perl_to_utf8_upper
#undef to_utf8_upper
-#define to_utf8_upper pPerl->to_utf8_upper
+#define to_utf8_upper Perl_to_utf8_upper
+#undef Perl_to_utf8_title
+#define Perl_to_utf8_title pPerl->Perl_to_utf8_title
#undef to_utf8_title
-#define to_utf8_title pPerl->to_utf8_title
+#define to_utf8_title Perl_to_utf8_title
#if defined(UNLINK_ALL_VERSIONS)
+#undef Perl_unlnk
+#define Perl_unlnk pPerl->Perl_unlnk
#undef unlnk
-#define unlnk pPerl->unlnk
+#define unlnk Perl_unlnk
#endif
#if defined(USE_THREADS)
+#undef Perl_unlock_condpair
+#define Perl_unlock_condpair pPerl->Perl_unlock_condpair
#undef unlock_condpair
-#define unlock_condpair pPerl->unlock_condpair
+#define unlock_condpair Perl_unlock_condpair
#endif
+#undef Perl_unsharepvn
+#define Perl_unsharepvn pPerl->Perl_unsharepvn
#undef unsharepvn
-#define unsharepvn pPerl->unsharepvn
+#define unsharepvn Perl_unsharepvn
+#undef Perl_unshare_hek
+#define Perl_unshare_hek pPerl->Perl_unshare_hek
#undef unshare_hek
-#define unshare_hek pPerl->unshare_hek
+#define unshare_hek Perl_unshare_hek
+#undef Perl_utilize
+#define Perl_utilize pPerl->Perl_utilize
#undef utilize
-#define utilize pPerl->utilize
+#define utilize Perl_utilize
+#undef Perl_utf16_to_utf8
+#define Perl_utf16_to_utf8 pPerl->Perl_utf16_to_utf8
#undef utf16_to_utf8
-#define utf16_to_utf8 pPerl->utf16_to_utf8
+#define utf16_to_utf8 Perl_utf16_to_utf8
+#undef Perl_utf16_to_utf8_reversed
+#define Perl_utf16_to_utf8_reversed pPerl->Perl_utf16_to_utf8_reversed
#undef utf16_to_utf8_reversed
-#define utf16_to_utf8_reversed pPerl->utf16_to_utf8_reversed
+#define utf16_to_utf8_reversed Perl_utf16_to_utf8_reversed
+#undef Perl_utf8_distance
+#define Perl_utf8_distance pPerl->Perl_utf8_distance
#undef utf8_distance
-#define utf8_distance pPerl->utf8_distance
+#define utf8_distance Perl_utf8_distance
+#undef Perl_utf8_hop
+#define Perl_utf8_hop pPerl->Perl_utf8_hop
#undef utf8_hop
-#define utf8_hop pPerl->utf8_hop
+#define utf8_hop Perl_utf8_hop
+#undef Perl_utf8_to_uv
+#define Perl_utf8_to_uv pPerl->Perl_utf8_to_uv
#undef utf8_to_uv
-#define utf8_to_uv pPerl->utf8_to_uv
+#define utf8_to_uv Perl_utf8_to_uv
+#undef Perl_uv_to_utf8
+#define Perl_uv_to_utf8 pPerl->Perl_uv_to_utf8
#undef uv_to_utf8
-#define uv_to_utf8 pPerl->uv_to_utf8
+#define uv_to_utf8 Perl_uv_to_utf8
+#undef Perl_vivify_defelem
+#define Perl_vivify_defelem pPerl->Perl_vivify_defelem
#undef vivify_defelem
-#define vivify_defelem pPerl->vivify_defelem
+#define vivify_defelem Perl_vivify_defelem
+#undef Perl_vivify_ref
+#define Perl_vivify_ref pPerl->Perl_vivify_ref
#undef vivify_ref
-#define vivify_ref pPerl->vivify_ref
+#define vivify_ref Perl_vivify_ref
+#undef Perl_wait4pid
+#define Perl_wait4pid pPerl->Perl_wait4pid
#undef wait4pid
-#define wait4pid pPerl->wait4pid
+#define wait4pid Perl_wait4pid
+#undef Perl_warn
+#define Perl_warn pPerl->Perl_warn
#undef warn
-#define warn pPerl->warn
+#define warn Perl_warn
+#undef Perl_warner
+#define Perl_warner pPerl->Perl_warner
#undef warner
-#define warner pPerl->warner
+#define warner Perl_warner
+#undef Perl_watch
+#define Perl_watch pPerl->Perl_watch
#undef watch
-#define watch pPerl->watch
+#define watch Perl_watch
+#undef Perl_whichsig
+#define Perl_whichsig pPerl->Perl_whichsig
#undef whichsig
-#define whichsig pPerl->whichsig
+#define whichsig Perl_whichsig
+#undef Perl_yyerror
+#define Perl_yyerror pPerl->Perl_yyerror
#undef yyerror
-#define yyerror pPerl->yyerror
+#define yyerror Perl_yyerror
#if defined(USE_PURE_BISON)
+#undef Perl_yylex
+#define Perl_yylex pPerl->Perl_yylex
#undef yylex
-#define yylex pPerl->yylex
+#define yylex Perl_yylex
#else
+#undef Perl_yylex
+#define Perl_yylex pPerl->Perl_yylex
#undef yylex
-#define yylex pPerl->yylex
+#define yylex Perl_yylex
#endif
+#undef Perl_yyparse
+#define Perl_yyparse pPerl->Perl_yyparse
#undef yyparse
-#define yyparse pPerl->yyparse
+#define yyparse Perl_yyparse
+#undef Perl_yywarn
+#define Perl_yywarn pPerl->Perl_yywarn
#undef yywarn
-#define yywarn pPerl->yywarn
+#define yywarn Perl_yywarn
#if defined(MYMALLOC)
+#undef Perl_dump_mstats
+#define Perl_dump_mstats pPerl->Perl_dump_mstats
#undef dump_mstats
-#define dump_mstats pPerl->dump_mstats
+#define dump_mstats Perl_dump_mstats
+#undef Perl_malloc
+#define Perl_malloc pPerl->Perl_malloc
+#undef malloc
+#define malloc Perl_malloc
+#undef Perl_calloc
+#define Perl_calloc pPerl->Perl_calloc
+#undef calloc
+#define calloc Perl_calloc
+#undef Perl_realloc
+#define Perl_realloc pPerl->Perl_realloc
+#undef realloc
+#define realloc Perl_realloc
+#undef Perl_mfree
+#define Perl_mfree pPerl->Perl_mfree
+#undef mfree
+#define mfree Perl_mfree
#endif
+#undef Perl_safesysmalloc
+#define Perl_safesysmalloc pPerl->Perl_safesysmalloc
#undef safesysmalloc
-#define safesysmalloc pPerl->safesysmalloc
+#define safesysmalloc Perl_safesysmalloc
+#undef Perl_safesyscalloc
+#define Perl_safesyscalloc pPerl->Perl_safesyscalloc
#undef safesyscalloc
-#define safesyscalloc pPerl->safesyscalloc
+#define safesyscalloc Perl_safesyscalloc
+#undef Perl_safesysrealloc
+#define Perl_safesysrealloc pPerl->Perl_safesysrealloc
#undef safesysrealloc
-#define safesysrealloc pPerl->safesysrealloc
+#define safesysrealloc Perl_safesysrealloc
+#undef Perl_safesysfree
+#define Perl_safesysfree pPerl->Perl_safesysfree
#undef safesysfree
-#define safesysfree pPerl->safesysfree
+#define safesysfree Perl_safesysfree
#if defined(LEAKTEST)
+#undef Perl_safexmalloc
+#define Perl_safexmalloc pPerl->Perl_safexmalloc
#undef safexmalloc
-#define safexmalloc pPerl->safexmalloc
+#define safexmalloc Perl_safexmalloc
+#undef Perl_safexcalloc
+#define Perl_safexcalloc pPerl->Perl_safexcalloc
#undef safexcalloc
-#define safexcalloc pPerl->safexcalloc
+#define safexcalloc Perl_safexcalloc
+#undef Perl_safexrealloc
+#define Perl_safexrealloc pPerl->Perl_safexrealloc
#undef safexrealloc
-#define safexrealloc pPerl->safexrealloc
+#define safexrealloc Perl_safexrealloc
+#undef Perl_safexfree
+#define Perl_safexfree pPerl->Perl_safexfree
#undef safexfree
-#define safexfree pPerl->safexfree
+#define safexfree Perl_safexfree
#endif
#if defined(PERL_GLOBAL_STRUCT)
+#undef Perl_GetVars
+#define Perl_GetVars pPerl->Perl_GetVars
#undef GetVars
-#define GetVars pPerl->GetVars
+#define GetVars Perl_GetVars
#endif
+#undef Perl_yydestruct
+#define Perl_yydestruct pPerl->Perl_yydestruct
#undef yydestruct
-#define yydestruct pPerl->yydestruct
+#define yydestruct Perl_yydestruct
+#undef Perl_runops_standard
+#define Perl_runops_standard pPerl->Perl_runops_standard
#undef runops_standard
-#define runops_standard pPerl->runops_standard
+#define runops_standard Perl_runops_standard
+#undef Perl_runops_debug
+#define Perl_runops_debug pPerl->Perl_runops_debug
#undef runops_debug
-#define runops_debug pPerl->runops_debug
+#define runops_debug Perl_runops_debug
#if defined(WIN32)
+#if defined(PERL_OBJECT)
+#undef Perl_ErrorNo
+#define Perl_ErrorNo pPerl->Perl_ErrorNo
#undef ErrorNo
-#define ErrorNo pPerl->ErrorNo
+#define ErrorNo Perl_ErrorNo
+#else
+#undef Perl_ErrorNo
+#define Perl_ErrorNo pPerl->Perl_ErrorNo
+#undef ErrorNo
+#define ErrorNo Perl_ErrorNo
+#endif
#endif
+#undef Perl_sv_catpvf_mg
+#define Perl_sv_catpvf_mg pPerl->Perl_sv_catpvf_mg
#undef sv_catpvf_mg
-#define sv_catpvf_mg pPerl->sv_catpvf_mg
+#define sv_catpvf_mg Perl_sv_catpvf_mg
+#undef Perl_sv_catpv_mg
+#define Perl_sv_catpv_mg pPerl->Perl_sv_catpv_mg
#undef sv_catpv_mg
-#define sv_catpv_mg pPerl->sv_catpv_mg
+#define sv_catpv_mg Perl_sv_catpv_mg
+#undef Perl_sv_catpvn_mg
+#define Perl_sv_catpvn_mg pPerl->Perl_sv_catpvn_mg
#undef sv_catpvn_mg
-#define sv_catpvn_mg pPerl->sv_catpvn_mg
+#define sv_catpvn_mg Perl_sv_catpvn_mg
+#undef Perl_sv_catsv_mg
+#define Perl_sv_catsv_mg pPerl->Perl_sv_catsv_mg
#undef sv_catsv_mg
-#define sv_catsv_mg pPerl->sv_catsv_mg
+#define sv_catsv_mg Perl_sv_catsv_mg
+#undef Perl_sv_setpvf_mg
+#define Perl_sv_setpvf_mg pPerl->Perl_sv_setpvf_mg
#undef sv_setpvf_mg
-#define sv_setpvf_mg pPerl->sv_setpvf_mg
+#define sv_setpvf_mg Perl_sv_setpvf_mg
+#undef Perl_sv_setiv_mg
+#define Perl_sv_setiv_mg pPerl->Perl_sv_setiv_mg
#undef sv_setiv_mg
-#define sv_setiv_mg pPerl->sv_setiv_mg
+#define sv_setiv_mg Perl_sv_setiv_mg
+#undef Perl_sv_setpviv_mg
+#define Perl_sv_setpviv_mg pPerl->Perl_sv_setpviv_mg
#undef sv_setpviv_mg
-#define sv_setpviv_mg pPerl->sv_setpviv_mg
+#define sv_setpviv_mg Perl_sv_setpviv_mg
+#undef Perl_sv_setuv_mg
+#define Perl_sv_setuv_mg pPerl->Perl_sv_setuv_mg
#undef sv_setuv_mg
-#define sv_setuv_mg pPerl->sv_setuv_mg
+#define sv_setuv_mg Perl_sv_setuv_mg
+#undef Perl_sv_setnv_mg
+#define Perl_sv_setnv_mg pPerl->Perl_sv_setnv_mg
#undef sv_setnv_mg
-#define sv_setnv_mg pPerl->sv_setnv_mg
+#define sv_setnv_mg Perl_sv_setnv_mg
+#undef Perl_sv_setpv_mg
+#define Perl_sv_setpv_mg pPerl->Perl_sv_setpv_mg
#undef sv_setpv_mg
-#define sv_setpv_mg pPerl->sv_setpv_mg
+#define sv_setpv_mg Perl_sv_setpv_mg
+#undef Perl_sv_setpvn_mg
+#define Perl_sv_setpvn_mg pPerl->Perl_sv_setpvn_mg
#undef sv_setpvn_mg
-#define sv_setpvn_mg pPerl->sv_setpvn_mg
+#define sv_setpvn_mg Perl_sv_setpvn_mg
+#undef Perl_sv_setsv_mg
+#define Perl_sv_setsv_mg pPerl->Perl_sv_setsv_mg
#undef sv_setsv_mg
-#define sv_setsv_mg pPerl->sv_setsv_mg
+#define sv_setsv_mg Perl_sv_setsv_mg
+#undef Perl_sv_usepvn_mg
+#define Perl_sv_usepvn_mg pPerl->Perl_sv_usepvn_mg
#undef sv_usepvn_mg
-#define sv_usepvn_mg pPerl->sv_usepvn_mg
+#define sv_usepvn_mg Perl_sv_usepvn_mg
+#undef Perl_get_vtbl
+#define Perl_get_vtbl pPerl->Perl_get_vtbl
#undef get_vtbl
-#define get_vtbl pPerl->get_vtbl
+#define get_vtbl Perl_get_vtbl
+#undef Perl_pv_display
+#define Perl_pv_display pPerl->Perl_pv_display
#undef pv_display
-#define pv_display pPerl->pv_display
+#define pv_display Perl_pv_display
+#undef Perl_dump_indent
+#define Perl_dump_indent pPerl->Perl_dump_indent
#undef dump_indent
-#define dump_indent pPerl->dump_indent
+#define dump_indent Perl_dump_indent
+#undef Perl_do_gv_dump
+#define Perl_do_gv_dump pPerl->Perl_do_gv_dump
#undef do_gv_dump
-#define do_gv_dump pPerl->do_gv_dump
+#define do_gv_dump Perl_do_gv_dump
+#undef Perl_do_gvgv_dump
+#define Perl_do_gvgv_dump pPerl->Perl_do_gvgv_dump
#undef do_gvgv_dump
-#define do_gvgv_dump pPerl->do_gvgv_dump
+#define do_gvgv_dump Perl_do_gvgv_dump
+#undef Perl_do_hv_dump
+#define Perl_do_hv_dump pPerl->Perl_do_hv_dump
#undef do_hv_dump
-#define do_hv_dump pPerl->do_hv_dump
+#define do_hv_dump Perl_do_hv_dump
+#undef Perl_do_magic_dump
+#define Perl_do_magic_dump pPerl->Perl_do_magic_dump
#undef do_magic_dump
-#define do_magic_dump pPerl->do_magic_dump
+#define do_magic_dump Perl_do_magic_dump
+#undef Perl_do_op_dump
+#define Perl_do_op_dump pPerl->Perl_do_op_dump
#undef do_op_dump
-#define do_op_dump pPerl->do_op_dump
+#define do_op_dump Perl_do_op_dump
+#undef Perl_do_pmop_dump
+#define Perl_do_pmop_dump pPerl->Perl_do_pmop_dump
#undef do_pmop_dump
-#define do_pmop_dump pPerl->do_pmop_dump
+#define do_pmop_dump Perl_do_pmop_dump
+#undef Perl_do_sv_dump
+#define Perl_do_sv_dump pPerl->Perl_do_sv_dump
#undef do_sv_dump
-#define do_sv_dump pPerl->do_sv_dump
+#define do_sv_dump Perl_do_sv_dump
+#undef Perl_magic_dump
+#define Perl_magic_dump pPerl->Perl_magic_dump
#undef magic_dump
-#define magic_dump pPerl->magic_dump
+#define magic_dump Perl_magic_dump
+#undef Perl_default_protect
+#define Perl_default_protect pPerl->Perl_default_protect
#undef default_protect
-#define default_protect pPerl->default_protect
+#define default_protect Perl_default_protect
+#undef Perl_reginitcolors
+#define Perl_reginitcolors pPerl->Perl_reginitcolors
#undef reginitcolors
-#define reginitcolors pPerl->reginitcolors
+#define reginitcolors Perl_reginitcolors
+#undef Perl_sv_2pv_nolen
+#define Perl_sv_2pv_nolen pPerl->Perl_sv_2pv_nolen
#undef sv_2pv_nolen
-#define sv_2pv_nolen pPerl->sv_2pv_nolen
+#define sv_2pv_nolen Perl_sv_2pv_nolen
+#undef Perl_sv_pv
+#define Perl_sv_pv pPerl->Perl_sv_pv
#undef sv_pv
-#define sv_pv pPerl->sv_pv
+#define sv_pv Perl_sv_pv
+#undef Perl_sv_force_normal
+#define Perl_sv_force_normal pPerl->Perl_sv_force_normal
#undef sv_force_normal
-#define sv_force_normal pPerl->sv_force_normal
+#define sv_force_normal Perl_sv_force_normal
+#undef Perl_tmps_grow
+#define Perl_tmps_grow pPerl->Perl_tmps_grow
#undef tmps_grow
-#define tmps_grow pPerl->tmps_grow
+#define tmps_grow Perl_tmps_grow
+#undef Perl_sv_rvweaken
+#define Perl_sv_rvweaken pPerl->Perl_sv_rvweaken
#undef sv_rvweaken
-#define sv_rvweaken pPerl->sv_rvweaken
+#define sv_rvweaken Perl_sv_rvweaken
+#undef Perl_magic_killbackrefs
+#define Perl_magic_killbackrefs pPerl->Perl_magic_killbackrefs
#undef magic_killbackrefs
-#define magic_killbackrefs pPerl->magic_killbackrefs
-#if defined(PERL_IN_AV_C)
+#define magic_killbackrefs Perl_magic_killbackrefs
+#if defined(PERL_OBJECT)
+#endif
+#if defined(PERL_IN_AV_C) || defined(PERL_DECL_PROT)
#endif
-#if defined(PERL_IN_DOOP_C)
+#if defined(PERL_IN_DOOP_C) || defined(PERL_DECL_PROT)
#endif
-#if defined(PERL_IN_GV_C)
+#if defined(PERL_IN_GV_C) || defined(PERL_DECL_PROT)
#endif
-#if defined(PERL_IN_HV_C)
+#if defined(PERL_IN_HV_C) || defined(PERL_DECL_PROT)
#endif
-#if defined(PERL_IN_MG_C)
+#if defined(PERL_IN_MG_C) || defined(PERL_DECL_PROT)
#endif
-#if defined(PERL_IN_OP_C)
+#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT)
# if defined(PL_OP_SLAB_ALLOC)
# endif
#endif
-#if defined(PERL_IN_PERL_C)
+#if defined(PERL_IN_PERL_C) || defined(PERL_DECL_PROT)
# if defined(IAMSUID)
# endif
# if defined(USE_THREADS)
# endif
#endif
-#if defined(PERL_IN_PP_C)
+#if defined(PERL_IN_PP_C) || defined(PERL_DECL_PROT)
#endif
-#if defined(PERL_IN_PP_CTL_C)
+#if defined(PERL_IN_PP_CTL_C) || defined(PERL_DECL_PROT)
#endif
-#if defined(PERL_IN_PP_HOT_C)
+#if defined(PERL_IN_PP_HOT_C) || defined(PERL_DECL_PROT)
# if defined(USE_THREADS)
# endif
#endif
-#if defined(PERL_IN_PP_SYS_C)
+#if defined(PERL_IN_PP_SYS_C) || defined(PERL_DECL_PROT)
# if !defined(HAS_MKDIR) || !defined(HAS_RMDIR)
# endif
#endif
-#if defined(PERL_IN_REGCOMP_C)
+#if defined(PERL_IN_REGCOMP_C) || defined(PERL_DECL_PROT)
#endif
-#if defined(PERL_IN_REGEXEC_C)
+#if defined(PERL_IN_REGEXEC_C) || defined(PERL_DECL_PROT)
#endif
-#if defined(PERL_IN_RUN_C)
+#if defined(PERL_IN_RUN_C) || defined(PERL_DECL_PROT)
#endif
-#if defined(PERL_IN_SCOPE_C)
+#if defined(PERL_IN_SCOPE_C) || defined(PERL_DECL_PROT)
#endif
-#if defined(PERL_IN_SV_C)
+#if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
# if defined(PURIFY)
# else
# endif
# if defined(DEBUGGING)
# endif
#endif
-#if defined(PERL_IN_TOKE_C)
+#if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT)
# if defined(CRIPPLED_CC)
# endif
# if defined(WIN32)
# endif
#endif
-#if defined(PERL_IN_UNIVERSAL_C)
+#if defined(PERL_IN_UNIVERSAL_C) || defined(PERL_DECL_PROT)
#endif
-#if defined(PERL_IN_UTIL_C)
+#if defined(PERL_IN_UTIL_C) || defined(PERL_DECL_PROT)
# if defined(LEAKTEST)
# endif
#endif
+#undef Perl_ck_anoncode
+#define Perl_ck_anoncode pPerl->Perl_ck_anoncode
#undef ck_anoncode
-#define ck_anoncode pPerl->ck_anoncode
+#define ck_anoncode Perl_ck_anoncode
+#undef Perl_ck_bitop
+#define Perl_ck_bitop pPerl->Perl_ck_bitop
#undef ck_bitop
-#define ck_bitop pPerl->ck_bitop
+#define ck_bitop Perl_ck_bitop
+#undef Perl_ck_concat
+#define Perl_ck_concat pPerl->Perl_ck_concat
#undef ck_concat
-#define ck_concat pPerl->ck_concat
+#define ck_concat Perl_ck_concat
+#undef Perl_ck_defined
+#define Perl_ck_defined pPerl->Perl_ck_defined
#undef ck_defined
-#define ck_defined pPerl->ck_defined
+#define ck_defined Perl_ck_defined
+#undef Perl_ck_delete
+#define Perl_ck_delete pPerl->Perl_ck_delete
#undef ck_delete
-#define ck_delete pPerl->ck_delete
+#define ck_delete Perl_ck_delete
+#undef Perl_ck_eof
+#define Perl_ck_eof pPerl->Perl_ck_eof
#undef ck_eof
-#define ck_eof pPerl->ck_eof
+#define ck_eof Perl_ck_eof
+#undef Perl_ck_eval
+#define Perl_ck_eval pPerl->Perl_ck_eval
#undef ck_eval
-#define ck_eval pPerl->ck_eval
+#define ck_eval Perl_ck_eval
+#undef Perl_ck_exec
+#define Perl_ck_exec pPerl->Perl_ck_exec
#undef ck_exec
-#define ck_exec pPerl->ck_exec
+#define ck_exec Perl_ck_exec
+#undef Perl_ck_exists
+#define Perl_ck_exists pPerl->Perl_ck_exists
#undef ck_exists
-#define ck_exists pPerl->ck_exists
+#define ck_exists Perl_ck_exists
+#undef Perl_ck_ftst
+#define Perl_ck_ftst pPerl->Perl_ck_ftst
#undef ck_ftst
-#define ck_ftst pPerl->ck_ftst
+#define ck_ftst Perl_ck_ftst
+#undef Perl_ck_fun
+#define Perl_ck_fun pPerl->Perl_ck_fun
#undef ck_fun
-#define ck_fun pPerl->ck_fun
+#define ck_fun Perl_ck_fun
+#undef Perl_ck_fun_locale
+#define Perl_ck_fun_locale pPerl->Perl_ck_fun_locale
#undef ck_fun_locale
-#define ck_fun_locale pPerl->ck_fun_locale
+#define ck_fun_locale Perl_ck_fun_locale
+#undef Perl_ck_glob
+#define Perl_ck_glob pPerl->Perl_ck_glob
#undef ck_glob
-#define ck_glob pPerl->ck_glob
+#define ck_glob Perl_ck_glob
+#undef Perl_ck_grep
+#define Perl_ck_grep pPerl->Perl_ck_grep
#undef ck_grep
-#define ck_grep pPerl->ck_grep
+#define ck_grep Perl_ck_grep
+#undef Perl_ck_index
+#define Perl_ck_index pPerl->Perl_ck_index
#undef ck_index
-#define ck_index pPerl->ck_index
+#define ck_index Perl_ck_index
+#undef Perl_ck_lengthconst
+#define Perl_ck_lengthconst pPerl->Perl_ck_lengthconst
#undef ck_lengthconst
-#define ck_lengthconst pPerl->ck_lengthconst
+#define ck_lengthconst Perl_ck_lengthconst
+#undef Perl_ck_lfun
+#define Perl_ck_lfun pPerl->Perl_ck_lfun
#undef ck_lfun
-#define ck_lfun pPerl->ck_lfun
+#define ck_lfun Perl_ck_lfun
+#undef Perl_ck_listiob
+#define Perl_ck_listiob pPerl->Perl_ck_listiob
#undef ck_listiob
-#define ck_listiob pPerl->ck_listiob
+#define ck_listiob Perl_ck_listiob
+#undef Perl_ck_match
+#define Perl_ck_match pPerl->Perl_ck_match
#undef ck_match
-#define ck_match pPerl->ck_match
+#define ck_match Perl_ck_match
+#undef Perl_ck_null
+#define Perl_ck_null pPerl->Perl_ck_null
#undef ck_null
-#define ck_null pPerl->ck_null
+#define ck_null Perl_ck_null
+#undef Perl_ck_repeat
+#define Perl_ck_repeat pPerl->Perl_ck_repeat
#undef ck_repeat
-#define ck_repeat pPerl->ck_repeat
+#define ck_repeat Perl_ck_repeat
+#undef Perl_ck_require
+#define Perl_ck_require pPerl->Perl_ck_require
#undef ck_require
-#define ck_require pPerl->ck_require
+#define ck_require Perl_ck_require
+#undef Perl_ck_rfun
+#define Perl_ck_rfun pPerl->Perl_ck_rfun
#undef ck_rfun
-#define ck_rfun pPerl->ck_rfun
+#define ck_rfun Perl_ck_rfun
+#undef Perl_ck_rvconst
+#define Perl_ck_rvconst pPerl->Perl_ck_rvconst
#undef ck_rvconst
-#define ck_rvconst pPerl->ck_rvconst
+#define ck_rvconst Perl_ck_rvconst
+#undef Perl_ck_scmp
+#define Perl_ck_scmp pPerl->Perl_ck_scmp
#undef ck_scmp
-#define ck_scmp pPerl->ck_scmp
+#define ck_scmp Perl_ck_scmp
+#undef Perl_ck_select
+#define Perl_ck_select pPerl->Perl_ck_select
#undef ck_select
-#define ck_select pPerl->ck_select
+#define ck_select Perl_ck_select
+#undef Perl_ck_shift
+#define Perl_ck_shift pPerl->Perl_ck_shift
#undef ck_shift
-#define ck_shift pPerl->ck_shift
+#define ck_shift Perl_ck_shift
+#undef Perl_ck_sort
+#define Perl_ck_sort pPerl->Perl_ck_sort
#undef ck_sort
-#define ck_sort pPerl->ck_sort
+#define ck_sort Perl_ck_sort
+#undef Perl_ck_spair
+#define Perl_ck_spair pPerl->Perl_ck_spair
#undef ck_spair
-#define ck_spair pPerl->ck_spair
+#define ck_spair Perl_ck_spair
+#undef Perl_ck_split
+#define Perl_ck_split pPerl->Perl_ck_split
#undef ck_split
-#define ck_split pPerl->ck_split
+#define ck_split Perl_ck_split
+#undef Perl_ck_subr
+#define Perl_ck_subr pPerl->Perl_ck_subr
#undef ck_subr
-#define ck_subr pPerl->ck_subr
+#define ck_subr Perl_ck_subr
+#undef Perl_ck_svconst
+#define Perl_ck_svconst pPerl->Perl_ck_svconst
#undef ck_svconst
-#define ck_svconst pPerl->ck_svconst
+#define ck_svconst Perl_ck_svconst
+#undef Perl_ck_trunc
+#define Perl_ck_trunc pPerl->Perl_ck_trunc
#undef ck_trunc
-#define ck_trunc pPerl->ck_trunc
+#define ck_trunc Perl_ck_trunc
+#undef Perl_pp_aassign
+#define Perl_pp_aassign pPerl->Perl_pp_aassign
#undef pp_aassign
-#define pp_aassign pPerl->pp_aassign
+#define pp_aassign Perl_pp_aassign
+#undef Perl_pp_abs
+#define Perl_pp_abs pPerl->Perl_pp_abs
#undef pp_abs
-#define pp_abs pPerl->pp_abs
+#define pp_abs Perl_pp_abs
+#undef Perl_pp_accept
+#define Perl_pp_accept pPerl->Perl_pp_accept
#undef pp_accept
-#define pp_accept pPerl->pp_accept
+#define pp_accept Perl_pp_accept
+#undef Perl_pp_add
+#define Perl_pp_add pPerl->Perl_pp_add
#undef pp_add
-#define pp_add pPerl->pp_add
+#define pp_add Perl_pp_add
+#undef Perl_pp_aelem
+#define Perl_pp_aelem pPerl->Perl_pp_aelem
#undef pp_aelem
-#define pp_aelem pPerl->pp_aelem
+#define pp_aelem Perl_pp_aelem
+#undef Perl_pp_aelemfast
+#define Perl_pp_aelemfast pPerl->Perl_pp_aelemfast
#undef pp_aelemfast
-#define pp_aelemfast pPerl->pp_aelemfast
+#define pp_aelemfast Perl_pp_aelemfast
+#undef Perl_pp_alarm
+#define Perl_pp_alarm pPerl->Perl_pp_alarm
#undef pp_alarm
-#define pp_alarm pPerl->pp_alarm
+#define pp_alarm Perl_pp_alarm
+#undef Perl_pp_and
+#define Perl_pp_and pPerl->Perl_pp_and
#undef pp_and
-#define pp_and pPerl->pp_and
+#define pp_and Perl_pp_and
+#undef Perl_pp_andassign
+#define Perl_pp_andassign pPerl->Perl_pp_andassign
#undef pp_andassign
-#define pp_andassign pPerl->pp_andassign
+#define pp_andassign Perl_pp_andassign
+#undef Perl_pp_anoncode
+#define Perl_pp_anoncode pPerl->Perl_pp_anoncode
#undef pp_anoncode
-#define pp_anoncode pPerl->pp_anoncode
+#define pp_anoncode Perl_pp_anoncode
+#undef Perl_pp_anonhash
+#define Perl_pp_anonhash pPerl->Perl_pp_anonhash
#undef pp_anonhash
-#define pp_anonhash pPerl->pp_anonhash
+#define pp_anonhash Perl_pp_anonhash
+#undef Perl_pp_anonlist
+#define Perl_pp_anonlist pPerl->Perl_pp_anonlist
#undef pp_anonlist
-#define pp_anonlist pPerl->pp_anonlist
+#define pp_anonlist Perl_pp_anonlist
+#undef Perl_pp_aslice
+#define Perl_pp_aslice pPerl->Perl_pp_aslice
#undef pp_aslice
-#define pp_aslice pPerl->pp_aslice
+#define pp_aslice Perl_pp_aslice
+#undef Perl_pp_atan2
+#define Perl_pp_atan2 pPerl->Perl_pp_atan2
#undef pp_atan2
-#define pp_atan2 pPerl->pp_atan2
+#define pp_atan2 Perl_pp_atan2
+#undef Perl_pp_av2arylen
+#define Perl_pp_av2arylen pPerl->Perl_pp_av2arylen
#undef pp_av2arylen
-#define pp_av2arylen pPerl->pp_av2arylen
+#define pp_av2arylen Perl_pp_av2arylen
+#undef Perl_pp_backtick
+#define Perl_pp_backtick pPerl->Perl_pp_backtick
#undef pp_backtick
-#define pp_backtick pPerl->pp_backtick
+#define pp_backtick Perl_pp_backtick
+#undef Perl_pp_bind
+#define Perl_pp_bind pPerl->Perl_pp_bind
#undef pp_bind
-#define pp_bind pPerl->pp_bind
+#define pp_bind Perl_pp_bind
+#undef Perl_pp_binmode
+#define Perl_pp_binmode pPerl->Perl_pp_binmode
#undef pp_binmode
-#define pp_binmode pPerl->pp_binmode
+#define pp_binmode Perl_pp_binmode
+#undef Perl_pp_bit_and
+#define Perl_pp_bit_and pPerl->Perl_pp_bit_and
#undef pp_bit_and
-#define pp_bit_and pPerl->pp_bit_and
+#define pp_bit_and Perl_pp_bit_and
+#undef Perl_pp_bit_or
+#define Perl_pp_bit_or pPerl->Perl_pp_bit_or
#undef pp_bit_or
-#define pp_bit_or pPerl->pp_bit_or
+#define pp_bit_or Perl_pp_bit_or
+#undef Perl_pp_bit_xor
+#define Perl_pp_bit_xor pPerl->Perl_pp_bit_xor
#undef pp_bit_xor
-#define pp_bit_xor pPerl->pp_bit_xor
+#define pp_bit_xor Perl_pp_bit_xor
+#undef Perl_pp_bless
+#define Perl_pp_bless pPerl->Perl_pp_bless
#undef pp_bless
-#define pp_bless pPerl->pp_bless
+#define pp_bless Perl_pp_bless
+#undef Perl_pp_caller
+#define Perl_pp_caller pPerl->Perl_pp_caller
#undef pp_caller
-#define pp_caller pPerl->pp_caller
+#define pp_caller Perl_pp_caller
+#undef Perl_pp_chdir
+#define Perl_pp_chdir pPerl->Perl_pp_chdir
#undef pp_chdir
-#define pp_chdir pPerl->pp_chdir
+#define pp_chdir Perl_pp_chdir
+#undef Perl_pp_chmod
+#define Perl_pp_chmod pPerl->Perl_pp_chmod
#undef pp_chmod
-#define pp_chmod pPerl->pp_chmod
+#define pp_chmod Perl_pp_chmod
+#undef Perl_pp_chomp
+#define Perl_pp_chomp pPerl->Perl_pp_chomp
#undef pp_chomp
-#define pp_chomp pPerl->pp_chomp
+#define pp_chomp Perl_pp_chomp
+#undef Perl_pp_chop
+#define Perl_pp_chop pPerl->Perl_pp_chop
#undef pp_chop
-#define pp_chop pPerl->pp_chop
+#define pp_chop Perl_pp_chop
+#undef Perl_pp_chown
+#define Perl_pp_chown pPerl->Perl_pp_chown
#undef pp_chown
-#define pp_chown pPerl->pp_chown
+#define pp_chown Perl_pp_chown
+#undef Perl_pp_chr
+#define Perl_pp_chr pPerl->Perl_pp_chr
#undef pp_chr
-#define pp_chr pPerl->pp_chr
+#define pp_chr Perl_pp_chr
+#undef Perl_pp_chroot
+#define Perl_pp_chroot pPerl->Perl_pp_chroot
#undef pp_chroot
-#define pp_chroot pPerl->pp_chroot
+#define pp_chroot Perl_pp_chroot
+#undef Perl_pp_close
+#define Perl_pp_close pPerl->Perl_pp_close
#undef pp_close
-#define pp_close pPerl->pp_close
+#define pp_close Perl_pp_close
+#undef Perl_pp_closedir
+#define Perl_pp_closedir pPerl->Perl_pp_closedir
#undef pp_closedir
-#define pp_closedir pPerl->pp_closedir
+#define pp_closedir Perl_pp_closedir
+#undef Perl_pp_complement
+#define Perl_pp_complement pPerl->Perl_pp_complement
#undef pp_complement
-#define pp_complement pPerl->pp_complement
+#define pp_complement Perl_pp_complement
+#undef Perl_pp_concat
+#define Perl_pp_concat pPerl->Perl_pp_concat
#undef pp_concat
-#define pp_concat pPerl->pp_concat
+#define pp_concat Perl_pp_concat
+#undef Perl_pp_cond_expr
+#define Perl_pp_cond_expr pPerl->Perl_pp_cond_expr
#undef pp_cond_expr
-#define pp_cond_expr pPerl->pp_cond_expr
+#define pp_cond_expr Perl_pp_cond_expr
+#undef Perl_pp_connect
+#define Perl_pp_connect pPerl->Perl_pp_connect
#undef pp_connect
-#define pp_connect pPerl->pp_connect
+#define pp_connect Perl_pp_connect
+#undef Perl_pp_const
+#define Perl_pp_const pPerl->Perl_pp_const
#undef pp_const
-#define pp_const pPerl->pp_const
+#define pp_const Perl_pp_const
+#undef Perl_pp_cos
+#define Perl_pp_cos pPerl->Perl_pp_cos
#undef pp_cos
-#define pp_cos pPerl->pp_cos
+#define pp_cos Perl_pp_cos
+#undef Perl_pp_crypt
+#define Perl_pp_crypt pPerl->Perl_pp_crypt
#undef pp_crypt
-#define pp_crypt pPerl->pp_crypt
+#define pp_crypt Perl_pp_crypt
+#undef Perl_pp_dbmclose
+#define Perl_pp_dbmclose pPerl->Perl_pp_dbmclose
#undef pp_dbmclose
-#define pp_dbmclose pPerl->pp_dbmclose
+#define pp_dbmclose Perl_pp_dbmclose
+#undef Perl_pp_dbmopen
+#define Perl_pp_dbmopen pPerl->Perl_pp_dbmopen
#undef pp_dbmopen
-#define pp_dbmopen pPerl->pp_dbmopen
+#define pp_dbmopen Perl_pp_dbmopen
+#undef Perl_pp_dbstate
+#define Perl_pp_dbstate pPerl->Perl_pp_dbstate
#undef pp_dbstate
-#define pp_dbstate pPerl->pp_dbstate
+#define pp_dbstate Perl_pp_dbstate
+#undef Perl_pp_defined
+#define Perl_pp_defined pPerl->Perl_pp_defined
#undef pp_defined
-#define pp_defined pPerl->pp_defined
+#define pp_defined Perl_pp_defined
+#undef Perl_pp_delete
+#define Perl_pp_delete pPerl->Perl_pp_delete
#undef pp_delete
-#define pp_delete pPerl->pp_delete
+#define pp_delete Perl_pp_delete
+#undef Perl_pp_die
+#define Perl_pp_die pPerl->Perl_pp_die
#undef pp_die
-#define pp_die pPerl->pp_die
+#define pp_die Perl_pp_die
+#undef Perl_pp_divide
+#define Perl_pp_divide pPerl->Perl_pp_divide
#undef pp_divide
-#define pp_divide pPerl->pp_divide
+#define pp_divide Perl_pp_divide
+#undef Perl_pp_dofile
+#define Perl_pp_dofile pPerl->Perl_pp_dofile
#undef pp_dofile
-#define pp_dofile pPerl->pp_dofile
+#define pp_dofile Perl_pp_dofile
+#undef Perl_pp_dump
+#define Perl_pp_dump pPerl->Perl_pp_dump
#undef pp_dump
-#define pp_dump pPerl->pp_dump
+#define pp_dump Perl_pp_dump
+#undef Perl_pp_each
+#define Perl_pp_each pPerl->Perl_pp_each
#undef pp_each
-#define pp_each pPerl->pp_each
+#define pp_each Perl_pp_each
+#undef Perl_pp_egrent
+#define Perl_pp_egrent pPerl->Perl_pp_egrent
#undef pp_egrent
-#define pp_egrent pPerl->pp_egrent
+#define pp_egrent Perl_pp_egrent
+#undef Perl_pp_ehostent
+#define Perl_pp_ehostent pPerl->Perl_pp_ehostent
#undef pp_ehostent
-#define pp_ehostent pPerl->pp_ehostent
+#define pp_ehostent Perl_pp_ehostent
+#undef Perl_pp_enetent
+#define Perl_pp_enetent pPerl->Perl_pp_enetent
#undef pp_enetent
-#define pp_enetent pPerl->pp_enetent
+#define pp_enetent Perl_pp_enetent
+#undef Perl_pp_enter
+#define Perl_pp_enter pPerl->Perl_pp_enter
#undef pp_enter
-#define pp_enter pPerl->pp_enter
+#define pp_enter Perl_pp_enter
+#undef Perl_pp_entereval
+#define Perl_pp_entereval pPerl->Perl_pp_entereval
#undef pp_entereval
-#define pp_entereval pPerl->pp_entereval
+#define pp_entereval Perl_pp_entereval
+#undef Perl_pp_enteriter
+#define Perl_pp_enteriter pPerl->Perl_pp_enteriter
#undef pp_enteriter
-#define pp_enteriter pPerl->pp_enteriter
+#define pp_enteriter Perl_pp_enteriter
+#undef Perl_pp_enterloop
+#define Perl_pp_enterloop pPerl->Perl_pp_enterloop
#undef pp_enterloop
-#define pp_enterloop pPerl->pp_enterloop
+#define pp_enterloop Perl_pp_enterloop
+#undef Perl_pp_entersub
+#define Perl_pp_entersub pPerl->Perl_pp_entersub
#undef pp_entersub
-#define pp_entersub pPerl->pp_entersub
+#define pp_entersub Perl_pp_entersub
+#undef Perl_pp_entertry
+#define Perl_pp_entertry pPerl->Perl_pp_entertry
#undef pp_entertry
-#define pp_entertry pPerl->pp_entertry
+#define pp_entertry Perl_pp_entertry
+#undef Perl_pp_enterwrite
+#define Perl_pp_enterwrite pPerl->Perl_pp_enterwrite
#undef pp_enterwrite
-#define pp_enterwrite pPerl->pp_enterwrite
+#define pp_enterwrite Perl_pp_enterwrite
+#undef Perl_pp_eof
+#define Perl_pp_eof pPerl->Perl_pp_eof
#undef pp_eof
-#define pp_eof pPerl->pp_eof
+#define pp_eof Perl_pp_eof
+#undef Perl_pp_eprotoent
+#define Perl_pp_eprotoent pPerl->Perl_pp_eprotoent
#undef pp_eprotoent
-#define pp_eprotoent pPerl->pp_eprotoent
+#define pp_eprotoent Perl_pp_eprotoent
+#undef Perl_pp_epwent
+#define Perl_pp_epwent pPerl->Perl_pp_epwent
#undef pp_epwent
-#define pp_epwent pPerl->pp_epwent
+#define pp_epwent Perl_pp_epwent
+#undef Perl_pp_eq
+#define Perl_pp_eq pPerl->Perl_pp_eq
#undef pp_eq
-#define pp_eq pPerl->pp_eq
+#define pp_eq Perl_pp_eq
+#undef Perl_pp_eservent
+#define Perl_pp_eservent pPerl->Perl_pp_eservent
#undef pp_eservent
-#define pp_eservent pPerl->pp_eservent
+#define pp_eservent Perl_pp_eservent
+#undef Perl_pp_exec
+#define Perl_pp_exec pPerl->Perl_pp_exec
#undef pp_exec
-#define pp_exec pPerl->pp_exec
+#define pp_exec Perl_pp_exec
+#undef Perl_pp_exists
+#define Perl_pp_exists pPerl->Perl_pp_exists
#undef pp_exists
-#define pp_exists pPerl->pp_exists
+#define pp_exists Perl_pp_exists
+#undef Perl_pp_exit
+#define Perl_pp_exit pPerl->Perl_pp_exit
#undef pp_exit
-#define pp_exit pPerl->pp_exit
+#define pp_exit Perl_pp_exit
+#undef Perl_pp_exp
+#define Perl_pp_exp pPerl->Perl_pp_exp
#undef pp_exp
-#define pp_exp pPerl->pp_exp
+#define pp_exp Perl_pp_exp
+#undef Perl_pp_fcntl
+#define Perl_pp_fcntl pPerl->Perl_pp_fcntl
#undef pp_fcntl
-#define pp_fcntl pPerl->pp_fcntl
+#define pp_fcntl Perl_pp_fcntl
+#undef Perl_pp_fileno
+#define Perl_pp_fileno pPerl->Perl_pp_fileno
#undef pp_fileno
-#define pp_fileno pPerl->pp_fileno
+#define pp_fileno Perl_pp_fileno
+#undef Perl_pp_flip
+#define Perl_pp_flip pPerl->Perl_pp_flip
#undef pp_flip
-#define pp_flip pPerl->pp_flip
+#define pp_flip Perl_pp_flip
+#undef Perl_pp_flock
+#define Perl_pp_flock pPerl->Perl_pp_flock
#undef pp_flock
-#define pp_flock pPerl->pp_flock
+#define pp_flock Perl_pp_flock
+#undef Perl_pp_flop
+#define Perl_pp_flop pPerl->Perl_pp_flop
#undef pp_flop
-#define pp_flop pPerl->pp_flop
+#define pp_flop Perl_pp_flop
+#undef Perl_pp_fork
+#define Perl_pp_fork pPerl->Perl_pp_fork
#undef pp_fork
-#define pp_fork pPerl->pp_fork
+#define pp_fork Perl_pp_fork
+#undef Perl_pp_formline
+#define Perl_pp_formline pPerl->Perl_pp_formline
#undef pp_formline
-#define pp_formline pPerl->pp_formline
+#define pp_formline Perl_pp_formline
+#undef Perl_pp_ftatime
+#define Perl_pp_ftatime pPerl->Perl_pp_ftatime
#undef pp_ftatime
-#define pp_ftatime pPerl->pp_ftatime
+#define pp_ftatime Perl_pp_ftatime
+#undef Perl_pp_ftbinary
+#define Perl_pp_ftbinary pPerl->Perl_pp_ftbinary
#undef pp_ftbinary
-#define pp_ftbinary pPerl->pp_ftbinary
+#define pp_ftbinary Perl_pp_ftbinary
+#undef Perl_pp_ftblk
+#define Perl_pp_ftblk pPerl->Perl_pp_ftblk
#undef pp_ftblk
-#define pp_ftblk pPerl->pp_ftblk
+#define pp_ftblk Perl_pp_ftblk
+#undef Perl_pp_ftchr
+#define Perl_pp_ftchr pPerl->Perl_pp_ftchr
#undef pp_ftchr
-#define pp_ftchr pPerl->pp_ftchr
+#define pp_ftchr Perl_pp_ftchr
+#undef Perl_pp_ftctime
+#define Perl_pp_ftctime pPerl->Perl_pp_ftctime
#undef pp_ftctime
-#define pp_ftctime pPerl->pp_ftctime
+#define pp_ftctime Perl_pp_ftctime
+#undef Perl_pp_ftdir
+#define Perl_pp_ftdir pPerl->Perl_pp_ftdir
#undef pp_ftdir
-#define pp_ftdir pPerl->pp_ftdir
+#define pp_ftdir Perl_pp_ftdir
+#undef Perl_pp_fteexec
+#define Perl_pp_fteexec pPerl->Perl_pp_fteexec
#undef pp_fteexec
-#define pp_fteexec pPerl->pp_fteexec
+#define pp_fteexec Perl_pp_fteexec
+#undef Perl_pp_fteowned
+#define Perl_pp_fteowned pPerl->Perl_pp_fteowned
#undef pp_fteowned
-#define pp_fteowned pPerl->pp_fteowned
+#define pp_fteowned Perl_pp_fteowned
+#undef Perl_pp_fteread
+#define Perl_pp_fteread pPerl->Perl_pp_fteread
#undef pp_fteread
-#define pp_fteread pPerl->pp_fteread
+#define pp_fteread Perl_pp_fteread
+#undef Perl_pp_ftewrite
+#define Perl_pp_ftewrite pPerl->Perl_pp_ftewrite
#undef pp_ftewrite
-#define pp_ftewrite pPerl->pp_ftewrite
+#define pp_ftewrite Perl_pp_ftewrite
+#undef Perl_pp_ftfile
+#define Perl_pp_ftfile pPerl->Perl_pp_ftfile
#undef pp_ftfile
-#define pp_ftfile pPerl->pp_ftfile
+#define pp_ftfile Perl_pp_ftfile
+#undef Perl_pp_ftis
+#define Perl_pp_ftis pPerl->Perl_pp_ftis
#undef pp_ftis
-#define pp_ftis pPerl->pp_ftis
+#define pp_ftis Perl_pp_ftis
+#undef Perl_pp_ftlink
+#define Perl_pp_ftlink pPerl->Perl_pp_ftlink
#undef pp_ftlink
-#define pp_ftlink pPerl->pp_ftlink
+#define pp_ftlink Perl_pp_ftlink
+#undef Perl_pp_ftmtime
+#define Perl_pp_ftmtime pPerl->Perl_pp_ftmtime
#undef pp_ftmtime
-#define pp_ftmtime pPerl->pp_ftmtime
+#define pp_ftmtime Perl_pp_ftmtime
+#undef Perl_pp_ftpipe
+#define Perl_pp_ftpipe pPerl->Perl_pp_ftpipe
#undef pp_ftpipe
-#define pp_ftpipe pPerl->pp_ftpipe
+#define pp_ftpipe Perl_pp_ftpipe
+#undef Perl_pp_ftrexec
+#define Perl_pp_ftrexec pPerl->Perl_pp_ftrexec
#undef pp_ftrexec
-#define pp_ftrexec pPerl->pp_ftrexec
+#define pp_ftrexec Perl_pp_ftrexec
+#undef Perl_pp_ftrowned
+#define Perl_pp_ftrowned pPerl->Perl_pp_ftrowned
#undef pp_ftrowned
-#define pp_ftrowned pPerl->pp_ftrowned
+#define pp_ftrowned Perl_pp_ftrowned
+#undef Perl_pp_ftrread
+#define Perl_pp_ftrread pPerl->Perl_pp_ftrread
#undef pp_ftrread
-#define pp_ftrread pPerl->pp_ftrread
+#define pp_ftrread Perl_pp_ftrread
+#undef Perl_pp_ftrwrite
+#define Perl_pp_ftrwrite pPerl->Perl_pp_ftrwrite
#undef pp_ftrwrite
-#define pp_ftrwrite pPerl->pp_ftrwrite
+#define pp_ftrwrite Perl_pp_ftrwrite
+#undef Perl_pp_ftsgid
+#define Perl_pp_ftsgid pPerl->Perl_pp_ftsgid
#undef pp_ftsgid
-#define pp_ftsgid pPerl->pp_ftsgid
+#define pp_ftsgid Perl_pp_ftsgid
+#undef Perl_pp_ftsize
+#define Perl_pp_ftsize pPerl->Perl_pp_ftsize
#undef pp_ftsize
-#define pp_ftsize pPerl->pp_ftsize
+#define pp_ftsize Perl_pp_ftsize
+#undef Perl_pp_ftsock
+#define Perl_pp_ftsock pPerl->Perl_pp_ftsock
#undef pp_ftsock
-#define pp_ftsock pPerl->pp_ftsock
+#define pp_ftsock Perl_pp_ftsock
+#undef Perl_pp_ftsuid
+#define Perl_pp_ftsuid pPerl->Perl_pp_ftsuid
#undef pp_ftsuid
-#define pp_ftsuid pPerl->pp_ftsuid
+#define pp_ftsuid Perl_pp_ftsuid
+#undef Perl_pp_ftsvtx
+#define Perl_pp_ftsvtx pPerl->Perl_pp_ftsvtx
#undef pp_ftsvtx
-#define pp_ftsvtx pPerl->pp_ftsvtx
+#define pp_ftsvtx Perl_pp_ftsvtx
+#undef Perl_pp_fttext
+#define Perl_pp_fttext pPerl->Perl_pp_fttext
#undef pp_fttext
-#define pp_fttext pPerl->pp_fttext
+#define pp_fttext Perl_pp_fttext
+#undef Perl_pp_fttty
+#define Perl_pp_fttty pPerl->Perl_pp_fttty
#undef pp_fttty
-#define pp_fttty pPerl->pp_fttty
+#define pp_fttty Perl_pp_fttty
+#undef Perl_pp_ftzero
+#define Perl_pp_ftzero pPerl->Perl_pp_ftzero
#undef pp_ftzero
-#define pp_ftzero pPerl->pp_ftzero
+#define pp_ftzero Perl_pp_ftzero
+#undef Perl_pp_ge
+#define Perl_pp_ge pPerl->Perl_pp_ge
#undef pp_ge
-#define pp_ge pPerl->pp_ge
+#define pp_ge Perl_pp_ge
+#undef Perl_pp_gelem
+#define Perl_pp_gelem pPerl->Perl_pp_gelem
#undef pp_gelem
-#define pp_gelem pPerl->pp_gelem
+#define pp_gelem Perl_pp_gelem
+#undef Perl_pp_getc
+#define Perl_pp_getc pPerl->Perl_pp_getc
#undef pp_getc
-#define pp_getc pPerl->pp_getc
+#define pp_getc Perl_pp_getc
+#undef Perl_pp_getlogin
+#define Perl_pp_getlogin pPerl->Perl_pp_getlogin
#undef pp_getlogin
-#define pp_getlogin pPerl->pp_getlogin
+#define pp_getlogin Perl_pp_getlogin
+#undef Perl_pp_getpeername
+#define Perl_pp_getpeername pPerl->Perl_pp_getpeername
#undef pp_getpeername
-#define pp_getpeername pPerl->pp_getpeername
+#define pp_getpeername Perl_pp_getpeername
+#undef Perl_pp_getpgrp
+#define Perl_pp_getpgrp pPerl->Perl_pp_getpgrp
#undef pp_getpgrp
-#define pp_getpgrp pPerl->pp_getpgrp
+#define pp_getpgrp Perl_pp_getpgrp
+#undef Perl_pp_getppid
+#define Perl_pp_getppid pPerl->Perl_pp_getppid
#undef pp_getppid
-#define pp_getppid pPerl->pp_getppid
+#define pp_getppid Perl_pp_getppid
+#undef Perl_pp_getpriority
+#define Perl_pp_getpriority pPerl->Perl_pp_getpriority
#undef pp_getpriority
-#define pp_getpriority pPerl->pp_getpriority
+#define pp_getpriority Perl_pp_getpriority
+#undef Perl_pp_getsockname
+#define Perl_pp_getsockname pPerl->Perl_pp_getsockname
#undef pp_getsockname
-#define pp_getsockname pPerl->pp_getsockname
+#define pp_getsockname Perl_pp_getsockname
+#undef Perl_pp_ggrent
+#define Perl_pp_ggrent pPerl->Perl_pp_ggrent
#undef pp_ggrent
-#define pp_ggrent pPerl->pp_ggrent
+#define pp_ggrent Perl_pp_ggrent
+#undef Perl_pp_ggrgid
+#define Perl_pp_ggrgid pPerl->Perl_pp_ggrgid
#undef pp_ggrgid
-#define pp_ggrgid pPerl->pp_ggrgid
+#define pp_ggrgid Perl_pp_ggrgid
+#undef Perl_pp_ggrnam
+#define Perl_pp_ggrnam pPerl->Perl_pp_ggrnam
#undef pp_ggrnam
-#define pp_ggrnam pPerl->pp_ggrnam
+#define pp_ggrnam Perl_pp_ggrnam
+#undef Perl_pp_ghbyaddr
+#define Perl_pp_ghbyaddr pPerl->Perl_pp_ghbyaddr
#undef pp_ghbyaddr
-#define pp_ghbyaddr pPerl->pp_ghbyaddr
+#define pp_ghbyaddr Perl_pp_ghbyaddr
+#undef Perl_pp_ghbyname
+#define Perl_pp_ghbyname pPerl->Perl_pp_ghbyname
#undef pp_ghbyname
-#define pp_ghbyname pPerl->pp_ghbyname
+#define pp_ghbyname Perl_pp_ghbyname
+#undef Perl_pp_ghostent
+#define Perl_pp_ghostent pPerl->Perl_pp_ghostent
#undef pp_ghostent
-#define pp_ghostent pPerl->pp_ghostent
+#define pp_ghostent Perl_pp_ghostent
+#undef Perl_pp_glob
+#define Perl_pp_glob pPerl->Perl_pp_glob
#undef pp_glob
-#define pp_glob pPerl->pp_glob
+#define pp_glob Perl_pp_glob
+#undef Perl_pp_gmtime
+#define Perl_pp_gmtime pPerl->Perl_pp_gmtime
#undef pp_gmtime
-#define pp_gmtime pPerl->pp_gmtime
+#define pp_gmtime Perl_pp_gmtime
+#undef Perl_pp_gnbyaddr
+#define Perl_pp_gnbyaddr pPerl->Perl_pp_gnbyaddr
#undef pp_gnbyaddr
-#define pp_gnbyaddr pPerl->pp_gnbyaddr
+#define pp_gnbyaddr Perl_pp_gnbyaddr
+#undef Perl_pp_gnbyname
+#define Perl_pp_gnbyname pPerl->Perl_pp_gnbyname
#undef pp_gnbyname
-#define pp_gnbyname pPerl->pp_gnbyname
+#define pp_gnbyname Perl_pp_gnbyname
+#undef Perl_pp_gnetent
+#define Perl_pp_gnetent pPerl->Perl_pp_gnetent
#undef pp_gnetent
-#define pp_gnetent pPerl->pp_gnetent
+#define pp_gnetent Perl_pp_gnetent
+#undef Perl_pp_goto
+#define Perl_pp_goto pPerl->Perl_pp_goto
#undef pp_goto
-#define pp_goto pPerl->pp_goto
+#define pp_goto Perl_pp_goto
+#undef Perl_pp_gpbyname
+#define Perl_pp_gpbyname pPerl->Perl_pp_gpbyname
#undef pp_gpbyname
-#define pp_gpbyname pPerl->pp_gpbyname
+#define pp_gpbyname Perl_pp_gpbyname
+#undef Perl_pp_gpbynumber
+#define Perl_pp_gpbynumber pPerl->Perl_pp_gpbynumber
#undef pp_gpbynumber
-#define pp_gpbynumber pPerl->pp_gpbynumber
+#define pp_gpbynumber Perl_pp_gpbynumber
+#undef Perl_pp_gprotoent
+#define Perl_pp_gprotoent pPerl->Perl_pp_gprotoent
#undef pp_gprotoent
-#define pp_gprotoent pPerl->pp_gprotoent
+#define pp_gprotoent Perl_pp_gprotoent
+#undef Perl_pp_gpwent
+#define Perl_pp_gpwent pPerl->Perl_pp_gpwent
#undef pp_gpwent
-#define pp_gpwent pPerl->pp_gpwent
+#define pp_gpwent Perl_pp_gpwent
+#undef Perl_pp_gpwnam
+#define Perl_pp_gpwnam pPerl->Perl_pp_gpwnam
#undef pp_gpwnam
-#define pp_gpwnam pPerl->pp_gpwnam
+#define pp_gpwnam Perl_pp_gpwnam
+#undef Perl_pp_gpwuid
+#define Perl_pp_gpwuid pPerl->Perl_pp_gpwuid
#undef pp_gpwuid
-#define pp_gpwuid pPerl->pp_gpwuid
+#define pp_gpwuid Perl_pp_gpwuid
+#undef Perl_pp_grepstart
+#define Perl_pp_grepstart pPerl->Perl_pp_grepstart
#undef pp_grepstart
-#define pp_grepstart pPerl->pp_grepstart
+#define pp_grepstart Perl_pp_grepstart
+#undef Perl_pp_grepwhile
+#define Perl_pp_grepwhile pPerl->Perl_pp_grepwhile
#undef pp_grepwhile
-#define pp_grepwhile pPerl->pp_grepwhile
+#define pp_grepwhile Perl_pp_grepwhile
+#undef Perl_pp_gsbyname
+#define Perl_pp_gsbyname pPerl->Perl_pp_gsbyname
#undef pp_gsbyname
-#define pp_gsbyname pPerl->pp_gsbyname
+#define pp_gsbyname Perl_pp_gsbyname
+#undef Perl_pp_gsbyport
+#define Perl_pp_gsbyport pPerl->Perl_pp_gsbyport
#undef pp_gsbyport
-#define pp_gsbyport pPerl->pp_gsbyport
+#define pp_gsbyport Perl_pp_gsbyport
+#undef Perl_pp_gservent
+#define Perl_pp_gservent pPerl->Perl_pp_gservent
#undef pp_gservent
-#define pp_gservent pPerl->pp_gservent
+#define pp_gservent Perl_pp_gservent
+#undef Perl_pp_gsockopt
+#define Perl_pp_gsockopt pPerl->Perl_pp_gsockopt
#undef pp_gsockopt
-#define pp_gsockopt pPerl->pp_gsockopt
+#define pp_gsockopt Perl_pp_gsockopt
+#undef Perl_pp_gt
+#define Perl_pp_gt pPerl->Perl_pp_gt
#undef pp_gt
-#define pp_gt pPerl->pp_gt
+#define pp_gt Perl_pp_gt
+#undef Perl_pp_gv
+#define Perl_pp_gv pPerl->Perl_pp_gv
#undef pp_gv
-#define pp_gv pPerl->pp_gv
+#define pp_gv Perl_pp_gv
+#undef Perl_pp_gvsv
+#define Perl_pp_gvsv pPerl->Perl_pp_gvsv
#undef pp_gvsv
-#define pp_gvsv pPerl->pp_gvsv
+#define pp_gvsv Perl_pp_gvsv
+#undef Perl_pp_helem
+#define Perl_pp_helem pPerl->Perl_pp_helem
#undef pp_helem
-#define pp_helem pPerl->pp_helem
+#define pp_helem Perl_pp_helem
+#undef Perl_pp_hex
+#define Perl_pp_hex pPerl->Perl_pp_hex
#undef pp_hex
-#define pp_hex pPerl->pp_hex
+#define pp_hex Perl_pp_hex
+#undef Perl_pp_hslice
+#define Perl_pp_hslice pPerl->Perl_pp_hslice
#undef pp_hslice
-#define pp_hslice pPerl->pp_hslice
+#define pp_hslice Perl_pp_hslice
+#undef Perl_pp_i_add
+#define Perl_pp_i_add pPerl->Perl_pp_i_add
#undef pp_i_add
-#define pp_i_add pPerl->pp_i_add
+#define pp_i_add Perl_pp_i_add
+#undef Perl_pp_i_divide
+#define Perl_pp_i_divide pPerl->Perl_pp_i_divide
#undef pp_i_divide
-#define pp_i_divide pPerl->pp_i_divide
+#define pp_i_divide Perl_pp_i_divide
+#undef Perl_pp_i_eq
+#define Perl_pp_i_eq pPerl->Perl_pp_i_eq
#undef pp_i_eq
-#define pp_i_eq pPerl->pp_i_eq
+#define pp_i_eq Perl_pp_i_eq
+#undef Perl_pp_i_ge
+#define Perl_pp_i_ge pPerl->Perl_pp_i_ge
#undef pp_i_ge
-#define pp_i_ge pPerl->pp_i_ge
+#define pp_i_ge Perl_pp_i_ge
+#undef Perl_pp_i_gt
+#define Perl_pp_i_gt pPerl->Perl_pp_i_gt
#undef pp_i_gt
-#define pp_i_gt pPerl->pp_i_gt
+#define pp_i_gt Perl_pp_i_gt
+#undef Perl_pp_i_le
+#define Perl_pp_i_le pPerl->Perl_pp_i_le
#undef pp_i_le
-#define pp_i_le pPerl->pp_i_le
+#define pp_i_le Perl_pp_i_le
+#undef Perl_pp_i_lt
+#define Perl_pp_i_lt pPerl->Perl_pp_i_lt
#undef pp_i_lt
-#define pp_i_lt pPerl->pp_i_lt
+#define pp_i_lt Perl_pp_i_lt
+#undef Perl_pp_i_modulo
+#define Perl_pp_i_modulo pPerl->Perl_pp_i_modulo
#undef pp_i_modulo
-#define pp_i_modulo pPerl->pp_i_modulo
+#define pp_i_modulo Perl_pp_i_modulo
+#undef Perl_pp_i_multiply
+#define Perl_pp_i_multiply pPerl->Perl_pp_i_multiply
#undef pp_i_multiply
-#define pp_i_multiply pPerl->pp_i_multiply
+#define pp_i_multiply Perl_pp_i_multiply
+#undef Perl_pp_i_ncmp
+#define Perl_pp_i_ncmp pPerl->Perl_pp_i_ncmp
#undef pp_i_ncmp
-#define pp_i_ncmp pPerl->pp_i_ncmp
+#define pp_i_ncmp Perl_pp_i_ncmp
+#undef Perl_pp_i_ne
+#define Perl_pp_i_ne pPerl->Perl_pp_i_ne
#undef pp_i_ne
-#define pp_i_ne pPerl->pp_i_ne
+#define pp_i_ne Perl_pp_i_ne
+#undef Perl_pp_i_negate
+#define Perl_pp_i_negate pPerl->Perl_pp_i_negate
#undef pp_i_negate
-#define pp_i_negate pPerl->pp_i_negate
+#define pp_i_negate Perl_pp_i_negate
+#undef Perl_pp_i_subtract
+#define Perl_pp_i_subtract pPerl->Perl_pp_i_subtract
#undef pp_i_subtract
-#define pp_i_subtract pPerl->pp_i_subtract
+#define pp_i_subtract Perl_pp_i_subtract
+#undef Perl_pp_index
+#define Perl_pp_index pPerl->Perl_pp_index
#undef pp_index
-#define pp_index pPerl->pp_index
+#define pp_index Perl_pp_index
+#undef Perl_pp_int
+#define Perl_pp_int pPerl->Perl_pp_int
#undef pp_int
-#define pp_int pPerl->pp_int
+#define pp_int Perl_pp_int
+#undef Perl_pp_ioctl
+#define Perl_pp_ioctl pPerl->Perl_pp_ioctl
#undef pp_ioctl
-#define pp_ioctl pPerl->pp_ioctl
+#define pp_ioctl Perl_pp_ioctl
+#undef Perl_pp_iter
+#define Perl_pp_iter pPerl->Perl_pp_iter
#undef pp_iter
-#define pp_iter pPerl->pp_iter
+#define pp_iter Perl_pp_iter
+#undef Perl_pp_join
+#define Perl_pp_join pPerl->Perl_pp_join
#undef pp_join
-#define pp_join pPerl->pp_join
+#define pp_join Perl_pp_join
+#undef Perl_pp_keys
+#define Perl_pp_keys pPerl->Perl_pp_keys
#undef pp_keys
-#define pp_keys pPerl->pp_keys
+#define pp_keys Perl_pp_keys
+#undef Perl_pp_kill
+#define Perl_pp_kill pPerl->Perl_pp_kill
#undef pp_kill
-#define pp_kill pPerl->pp_kill
+#define pp_kill Perl_pp_kill
+#undef Perl_pp_last
+#define Perl_pp_last pPerl->Perl_pp_last
#undef pp_last
-#define pp_last pPerl->pp_last
+#define pp_last Perl_pp_last
+#undef Perl_pp_lc
+#define Perl_pp_lc pPerl->Perl_pp_lc
#undef pp_lc
-#define pp_lc pPerl->pp_lc
+#define pp_lc Perl_pp_lc
+#undef Perl_pp_lcfirst
+#define Perl_pp_lcfirst pPerl->Perl_pp_lcfirst
#undef pp_lcfirst
-#define pp_lcfirst pPerl->pp_lcfirst
+#define pp_lcfirst Perl_pp_lcfirst
+#undef Perl_pp_le
+#define Perl_pp_le pPerl->Perl_pp_le
#undef pp_le
-#define pp_le pPerl->pp_le
+#define pp_le Perl_pp_le
+#undef Perl_pp_leave
+#define Perl_pp_leave pPerl->Perl_pp_leave
#undef pp_leave
-#define pp_leave pPerl->pp_leave
+#define pp_leave Perl_pp_leave
+#undef Perl_pp_leaveeval
+#define Perl_pp_leaveeval pPerl->Perl_pp_leaveeval
#undef pp_leaveeval
-#define pp_leaveeval pPerl->pp_leaveeval
+#define pp_leaveeval Perl_pp_leaveeval
+#undef Perl_pp_leaveloop
+#define Perl_pp_leaveloop pPerl->Perl_pp_leaveloop
#undef pp_leaveloop
-#define pp_leaveloop pPerl->pp_leaveloop
+#define pp_leaveloop Perl_pp_leaveloop
+#undef Perl_pp_leavesub
+#define Perl_pp_leavesub pPerl->Perl_pp_leavesub
#undef pp_leavesub
-#define pp_leavesub pPerl->pp_leavesub
+#define pp_leavesub Perl_pp_leavesub
+#undef Perl_pp_leavetry
+#define Perl_pp_leavetry pPerl->Perl_pp_leavetry
#undef pp_leavetry
-#define pp_leavetry pPerl->pp_leavetry
+#define pp_leavetry Perl_pp_leavetry
+#undef Perl_pp_leavewrite
+#define Perl_pp_leavewrite pPerl->Perl_pp_leavewrite
#undef pp_leavewrite
-#define pp_leavewrite pPerl->pp_leavewrite
+#define pp_leavewrite Perl_pp_leavewrite
+#undef Perl_pp_left_shift
+#define Perl_pp_left_shift pPerl->Perl_pp_left_shift
#undef pp_left_shift
-#define pp_left_shift pPerl->pp_left_shift
+#define pp_left_shift Perl_pp_left_shift
+#undef Perl_pp_length
+#define Perl_pp_length pPerl->Perl_pp_length
#undef pp_length
-#define pp_length pPerl->pp_length
+#define pp_length Perl_pp_length
+#undef Perl_pp_lineseq
+#define Perl_pp_lineseq pPerl->Perl_pp_lineseq
#undef pp_lineseq
-#define pp_lineseq pPerl->pp_lineseq
+#define pp_lineseq Perl_pp_lineseq
+#undef Perl_pp_link
+#define Perl_pp_link pPerl->Perl_pp_link
#undef pp_link
-#define pp_link pPerl->pp_link
+#define pp_link Perl_pp_link
+#undef Perl_pp_list
+#define Perl_pp_list pPerl->Perl_pp_list
#undef pp_list
-#define pp_list pPerl->pp_list
+#define pp_list Perl_pp_list
+#undef Perl_pp_listen
+#define Perl_pp_listen pPerl->Perl_pp_listen
#undef pp_listen
-#define pp_listen pPerl->pp_listen
+#define pp_listen Perl_pp_listen
+#undef Perl_pp_localtime
+#define Perl_pp_localtime pPerl->Perl_pp_localtime
#undef pp_localtime
-#define pp_localtime pPerl->pp_localtime
+#define pp_localtime Perl_pp_localtime
+#undef Perl_pp_lock
+#define Perl_pp_lock pPerl->Perl_pp_lock
#undef pp_lock
-#define pp_lock pPerl->pp_lock
+#define pp_lock Perl_pp_lock
+#undef Perl_pp_log
+#define Perl_pp_log pPerl->Perl_pp_log
#undef pp_log
-#define pp_log pPerl->pp_log
+#define pp_log Perl_pp_log
+#undef Perl_pp_lslice
+#define Perl_pp_lslice pPerl->Perl_pp_lslice
#undef pp_lslice
-#define pp_lslice pPerl->pp_lslice
+#define pp_lslice Perl_pp_lslice
+#undef Perl_pp_lstat
+#define Perl_pp_lstat pPerl->Perl_pp_lstat
#undef pp_lstat
-#define pp_lstat pPerl->pp_lstat
+#define pp_lstat Perl_pp_lstat
+#undef Perl_pp_lt
+#define Perl_pp_lt pPerl->Perl_pp_lt
#undef pp_lt
-#define pp_lt pPerl->pp_lt
+#define pp_lt Perl_pp_lt
+#undef Perl_pp_mapstart
+#define Perl_pp_mapstart pPerl->Perl_pp_mapstart
#undef pp_mapstart
-#define pp_mapstart pPerl->pp_mapstart
+#define pp_mapstart Perl_pp_mapstart
+#undef Perl_pp_mapwhile
+#define Perl_pp_mapwhile pPerl->Perl_pp_mapwhile
#undef pp_mapwhile
-#define pp_mapwhile pPerl->pp_mapwhile
+#define pp_mapwhile Perl_pp_mapwhile
+#undef Perl_pp_match
+#define Perl_pp_match pPerl->Perl_pp_match
#undef pp_match
-#define pp_match pPerl->pp_match
+#define pp_match Perl_pp_match
+#undef Perl_pp_method
+#define Perl_pp_method pPerl->Perl_pp_method
#undef pp_method
-#define pp_method pPerl->pp_method
+#define pp_method Perl_pp_method
+#undef Perl_pp_mkdir
+#define Perl_pp_mkdir pPerl->Perl_pp_mkdir
#undef pp_mkdir
-#define pp_mkdir pPerl->pp_mkdir
+#define pp_mkdir Perl_pp_mkdir
+#undef Perl_pp_modulo
+#define Perl_pp_modulo pPerl->Perl_pp_modulo
#undef pp_modulo
-#define pp_modulo pPerl->pp_modulo
+#define pp_modulo Perl_pp_modulo
+#undef Perl_pp_msgctl
+#define Perl_pp_msgctl pPerl->Perl_pp_msgctl
#undef pp_msgctl
-#define pp_msgctl pPerl->pp_msgctl
+#define pp_msgctl Perl_pp_msgctl
+#undef Perl_pp_msgget
+#define Perl_pp_msgget pPerl->Perl_pp_msgget
#undef pp_msgget
-#define pp_msgget pPerl->pp_msgget
+#define pp_msgget Perl_pp_msgget
+#undef Perl_pp_msgrcv
+#define Perl_pp_msgrcv pPerl->Perl_pp_msgrcv
#undef pp_msgrcv
-#define pp_msgrcv pPerl->pp_msgrcv
+#define pp_msgrcv Perl_pp_msgrcv
+#undef Perl_pp_msgsnd
+#define Perl_pp_msgsnd pPerl->Perl_pp_msgsnd
#undef pp_msgsnd
-#define pp_msgsnd pPerl->pp_msgsnd
+#define pp_msgsnd Perl_pp_msgsnd
+#undef Perl_pp_multiply
+#define Perl_pp_multiply pPerl->Perl_pp_multiply
#undef pp_multiply
-#define pp_multiply pPerl->pp_multiply
+#define pp_multiply Perl_pp_multiply
+#undef Perl_pp_ncmp
+#define Perl_pp_ncmp pPerl->Perl_pp_ncmp
#undef pp_ncmp
-#define pp_ncmp pPerl->pp_ncmp
+#define pp_ncmp Perl_pp_ncmp
+#undef Perl_pp_ne
+#define Perl_pp_ne pPerl->Perl_pp_ne
#undef pp_ne
-#define pp_ne pPerl->pp_ne
+#define pp_ne Perl_pp_ne
+#undef Perl_pp_negate
+#define Perl_pp_negate pPerl->Perl_pp_negate
#undef pp_negate
-#define pp_negate pPerl->pp_negate
+#define pp_negate Perl_pp_negate
+#undef Perl_pp_next
+#define Perl_pp_next pPerl->Perl_pp_next
#undef pp_next
-#define pp_next pPerl->pp_next
+#define pp_next Perl_pp_next
+#undef Perl_pp_nextstate
+#define Perl_pp_nextstate pPerl->Perl_pp_nextstate
#undef pp_nextstate
-#define pp_nextstate pPerl->pp_nextstate
+#define pp_nextstate Perl_pp_nextstate
+#undef Perl_pp_not
+#define Perl_pp_not pPerl->Perl_pp_not
#undef pp_not
-#define pp_not pPerl->pp_not
+#define pp_not Perl_pp_not
+#undef Perl_pp_null
+#define Perl_pp_null pPerl->Perl_pp_null
#undef pp_null
-#define pp_null pPerl->pp_null
+#define pp_null Perl_pp_null
+#undef Perl_pp_oct
+#define Perl_pp_oct pPerl->Perl_pp_oct
#undef pp_oct
-#define pp_oct pPerl->pp_oct
+#define pp_oct Perl_pp_oct
+#undef Perl_pp_open
+#define Perl_pp_open pPerl->Perl_pp_open
#undef pp_open
-#define pp_open pPerl->pp_open
+#define pp_open Perl_pp_open
+#undef Perl_pp_open_dir
+#define Perl_pp_open_dir pPerl->Perl_pp_open_dir
#undef pp_open_dir
-#define pp_open_dir pPerl->pp_open_dir
+#define pp_open_dir Perl_pp_open_dir
+#undef Perl_pp_or
+#define Perl_pp_or pPerl->Perl_pp_or
#undef pp_or
-#define pp_or pPerl->pp_or
+#define pp_or Perl_pp_or
+#undef Perl_pp_orassign
+#define Perl_pp_orassign pPerl->Perl_pp_orassign
#undef pp_orassign
-#define pp_orassign pPerl->pp_orassign
+#define pp_orassign Perl_pp_orassign
+#undef Perl_pp_ord
+#define Perl_pp_ord pPerl->Perl_pp_ord
#undef pp_ord
-#define pp_ord pPerl->pp_ord
+#define pp_ord Perl_pp_ord
+#undef Perl_pp_pack
+#define Perl_pp_pack pPerl->Perl_pp_pack
#undef pp_pack
-#define pp_pack pPerl->pp_pack
+#define pp_pack Perl_pp_pack
+#undef Perl_pp_padany
+#define Perl_pp_padany pPerl->Perl_pp_padany
#undef pp_padany
-#define pp_padany pPerl->pp_padany
+#define pp_padany Perl_pp_padany
+#undef Perl_pp_padav
+#define Perl_pp_padav pPerl->Perl_pp_padav
#undef pp_padav
-#define pp_padav pPerl->pp_padav
+#define pp_padav Perl_pp_padav
+#undef Perl_pp_padhv
+#define Perl_pp_padhv pPerl->Perl_pp_padhv
#undef pp_padhv
-#define pp_padhv pPerl->pp_padhv
+#define pp_padhv Perl_pp_padhv
+#undef Perl_pp_padsv
+#define Perl_pp_padsv pPerl->Perl_pp_padsv
#undef pp_padsv
-#define pp_padsv pPerl->pp_padsv
+#define pp_padsv Perl_pp_padsv
+#undef Perl_pp_pipe_op
+#define Perl_pp_pipe_op pPerl->Perl_pp_pipe_op
#undef pp_pipe_op
-#define pp_pipe_op pPerl->pp_pipe_op
+#define pp_pipe_op Perl_pp_pipe_op
+#undef Perl_pp_pop
+#define Perl_pp_pop pPerl->Perl_pp_pop
#undef pp_pop
-#define pp_pop pPerl->pp_pop
+#define pp_pop Perl_pp_pop
+#undef Perl_pp_pos
+#define Perl_pp_pos pPerl->Perl_pp_pos
#undef pp_pos
-#define pp_pos pPerl->pp_pos
+#define pp_pos Perl_pp_pos
+#undef Perl_pp_postdec
+#define Perl_pp_postdec pPerl->Perl_pp_postdec
#undef pp_postdec
-#define pp_postdec pPerl->pp_postdec
+#define pp_postdec Perl_pp_postdec
+#undef Perl_pp_postinc
+#define Perl_pp_postinc pPerl->Perl_pp_postinc
#undef pp_postinc
-#define pp_postinc pPerl->pp_postinc
+#define pp_postinc Perl_pp_postinc
+#undef Perl_pp_pow
+#define Perl_pp_pow pPerl->Perl_pp_pow
#undef pp_pow
-#define pp_pow pPerl->pp_pow
+#define pp_pow Perl_pp_pow
+#undef Perl_pp_predec
+#define Perl_pp_predec pPerl->Perl_pp_predec
#undef pp_predec
-#define pp_predec pPerl->pp_predec
+#define pp_predec Perl_pp_predec
+#undef Perl_pp_preinc
+#define Perl_pp_preinc pPerl->Perl_pp_preinc
#undef pp_preinc
-#define pp_preinc pPerl->pp_preinc
+#define pp_preinc Perl_pp_preinc
+#undef Perl_pp_print
+#define Perl_pp_print pPerl->Perl_pp_print
#undef pp_print
-#define pp_print pPerl->pp_print
+#define pp_print Perl_pp_print
+#undef Perl_pp_prototype
+#define Perl_pp_prototype pPerl->Perl_pp_prototype
#undef pp_prototype
-#define pp_prototype pPerl->pp_prototype
+#define pp_prototype Perl_pp_prototype
+#undef Perl_pp_prtf
+#define Perl_pp_prtf pPerl->Perl_pp_prtf
#undef pp_prtf
-#define pp_prtf pPerl->pp_prtf
+#define pp_prtf Perl_pp_prtf
+#undef Perl_pp_push
+#define Perl_pp_push pPerl->Perl_pp_push
#undef pp_push
-#define pp_push pPerl->pp_push
+#define pp_push Perl_pp_push
+#undef Perl_pp_pushmark
+#define Perl_pp_pushmark pPerl->Perl_pp_pushmark
#undef pp_pushmark
-#define pp_pushmark pPerl->pp_pushmark
+#define pp_pushmark Perl_pp_pushmark
+#undef Perl_pp_pushre
+#define Perl_pp_pushre pPerl->Perl_pp_pushre
#undef pp_pushre
-#define pp_pushre pPerl->pp_pushre
+#define pp_pushre Perl_pp_pushre
+#undef Perl_pp_qr
+#define Perl_pp_qr pPerl->Perl_pp_qr
#undef pp_qr
-#define pp_qr pPerl->pp_qr
+#define pp_qr Perl_pp_qr
+#undef Perl_pp_quotemeta
+#define Perl_pp_quotemeta pPerl->Perl_pp_quotemeta
#undef pp_quotemeta
-#define pp_quotemeta pPerl->pp_quotemeta
+#define pp_quotemeta Perl_pp_quotemeta
+#undef Perl_pp_rand
+#define Perl_pp_rand pPerl->Perl_pp_rand
#undef pp_rand
-#define pp_rand pPerl->pp_rand
+#define pp_rand Perl_pp_rand
+#undef Perl_pp_range
+#define Perl_pp_range pPerl->Perl_pp_range
#undef pp_range
-#define pp_range pPerl->pp_range
+#define pp_range Perl_pp_range
+#undef Perl_pp_rcatline
+#define Perl_pp_rcatline pPerl->Perl_pp_rcatline
#undef pp_rcatline
-#define pp_rcatline pPerl->pp_rcatline
+#define pp_rcatline Perl_pp_rcatline
+#undef Perl_pp_read
+#define Perl_pp_read pPerl->Perl_pp_read
#undef pp_read
-#define pp_read pPerl->pp_read
+#define pp_read Perl_pp_read
+#undef Perl_pp_readdir
+#define Perl_pp_readdir pPerl->Perl_pp_readdir
#undef pp_readdir
-#define pp_readdir pPerl->pp_readdir
+#define pp_readdir Perl_pp_readdir
+#undef Perl_pp_readline
+#define Perl_pp_readline pPerl->Perl_pp_readline
#undef pp_readline
-#define pp_readline pPerl->pp_readline
+#define pp_readline Perl_pp_readline
+#undef Perl_pp_readlink
+#define Perl_pp_readlink pPerl->Perl_pp_readlink
#undef pp_readlink
-#define pp_readlink pPerl->pp_readlink
+#define pp_readlink Perl_pp_readlink
+#undef Perl_pp_recv
+#define Perl_pp_recv pPerl->Perl_pp_recv
#undef pp_recv
-#define pp_recv pPerl->pp_recv
+#define pp_recv Perl_pp_recv
+#undef Perl_pp_redo
+#define Perl_pp_redo pPerl->Perl_pp_redo
#undef pp_redo
-#define pp_redo pPerl->pp_redo
+#define pp_redo Perl_pp_redo
+#undef Perl_pp_ref
+#define Perl_pp_ref pPerl->Perl_pp_ref
#undef pp_ref
-#define pp_ref pPerl->pp_ref
+#define pp_ref Perl_pp_ref
+#undef Perl_pp_refgen
+#define Perl_pp_refgen pPerl->Perl_pp_refgen
#undef pp_refgen
-#define pp_refgen pPerl->pp_refgen
+#define pp_refgen Perl_pp_refgen
+#undef Perl_pp_regcmaybe
+#define Perl_pp_regcmaybe pPerl->Perl_pp_regcmaybe
#undef pp_regcmaybe
-#define pp_regcmaybe pPerl->pp_regcmaybe
+#define pp_regcmaybe Perl_pp_regcmaybe
+#undef Perl_pp_regcomp
+#define Perl_pp_regcomp pPerl->Perl_pp_regcomp
#undef pp_regcomp
-#define pp_regcomp pPerl->pp_regcomp
+#define pp_regcomp Perl_pp_regcomp
+#undef Perl_pp_regcreset
+#define Perl_pp_regcreset pPerl->Perl_pp_regcreset
#undef pp_regcreset
-#define pp_regcreset pPerl->pp_regcreset
+#define pp_regcreset Perl_pp_regcreset
+#undef Perl_pp_rename
+#define Perl_pp_rename pPerl->Perl_pp_rename
#undef pp_rename
-#define pp_rename pPerl->pp_rename
+#define pp_rename Perl_pp_rename
+#undef Perl_pp_repeat
+#define Perl_pp_repeat pPerl->Perl_pp_repeat
#undef pp_repeat
-#define pp_repeat pPerl->pp_repeat
+#define pp_repeat Perl_pp_repeat
+#undef Perl_pp_require
+#define Perl_pp_require pPerl->Perl_pp_require
#undef pp_require
-#define pp_require pPerl->pp_require
+#define pp_require Perl_pp_require
+#undef Perl_pp_reset
+#define Perl_pp_reset pPerl->Perl_pp_reset
#undef pp_reset
-#define pp_reset pPerl->pp_reset
+#define pp_reset Perl_pp_reset
+#undef Perl_pp_return
+#define Perl_pp_return pPerl->Perl_pp_return
#undef pp_return
-#define pp_return pPerl->pp_return
+#define pp_return Perl_pp_return
+#undef Perl_pp_reverse
+#define Perl_pp_reverse pPerl->Perl_pp_reverse
#undef pp_reverse
-#define pp_reverse pPerl->pp_reverse
+#define pp_reverse Perl_pp_reverse
+#undef Perl_pp_rewinddir
+#define Perl_pp_rewinddir pPerl->Perl_pp_rewinddir
#undef pp_rewinddir
-#define pp_rewinddir pPerl->pp_rewinddir
+#define pp_rewinddir Perl_pp_rewinddir
+#undef Perl_pp_right_shift
+#define Perl_pp_right_shift pPerl->Perl_pp_right_shift
#undef pp_right_shift
-#define pp_right_shift pPerl->pp_right_shift
+#define pp_right_shift Perl_pp_right_shift
+#undef Perl_pp_rindex
+#define Perl_pp_rindex pPerl->Perl_pp_rindex
#undef pp_rindex
-#define pp_rindex pPerl->pp_rindex
+#define pp_rindex Perl_pp_rindex
+#undef Perl_pp_rmdir
+#define Perl_pp_rmdir pPerl->Perl_pp_rmdir
#undef pp_rmdir
-#define pp_rmdir pPerl->pp_rmdir
+#define pp_rmdir Perl_pp_rmdir
+#undef Perl_pp_rv2av
+#define Perl_pp_rv2av pPerl->Perl_pp_rv2av
#undef pp_rv2av
-#define pp_rv2av pPerl->pp_rv2av
+#define pp_rv2av Perl_pp_rv2av
+#undef Perl_pp_rv2cv
+#define Perl_pp_rv2cv pPerl->Perl_pp_rv2cv
#undef pp_rv2cv
-#define pp_rv2cv pPerl->pp_rv2cv
+#define pp_rv2cv Perl_pp_rv2cv
+#undef Perl_pp_rv2gv
+#define Perl_pp_rv2gv pPerl->Perl_pp_rv2gv
#undef pp_rv2gv
-#define pp_rv2gv pPerl->pp_rv2gv
+#define pp_rv2gv Perl_pp_rv2gv
+#undef Perl_pp_rv2hv
+#define Perl_pp_rv2hv pPerl->Perl_pp_rv2hv
#undef pp_rv2hv
-#define pp_rv2hv pPerl->pp_rv2hv
+#define pp_rv2hv Perl_pp_rv2hv
+#undef Perl_pp_rv2sv
+#define Perl_pp_rv2sv pPerl->Perl_pp_rv2sv
#undef pp_rv2sv
-#define pp_rv2sv pPerl->pp_rv2sv
+#define pp_rv2sv Perl_pp_rv2sv
+#undef Perl_pp_sassign
+#define Perl_pp_sassign pPerl->Perl_pp_sassign
#undef pp_sassign
-#define pp_sassign pPerl->pp_sassign
+#define pp_sassign Perl_pp_sassign
+#undef Perl_pp_scalar
+#define Perl_pp_scalar pPerl->Perl_pp_scalar
#undef pp_scalar
-#define pp_scalar pPerl->pp_scalar
+#define pp_scalar Perl_pp_scalar
+#undef Perl_pp_schomp
+#define Perl_pp_schomp pPerl->Perl_pp_schomp
#undef pp_schomp
-#define pp_schomp pPerl->pp_schomp
+#define pp_schomp Perl_pp_schomp
+#undef Perl_pp_schop
+#define Perl_pp_schop pPerl->Perl_pp_schop
#undef pp_schop
-#define pp_schop pPerl->pp_schop
+#define pp_schop Perl_pp_schop
+#undef Perl_pp_scmp
+#define Perl_pp_scmp pPerl->Perl_pp_scmp
#undef pp_scmp
-#define pp_scmp pPerl->pp_scmp
+#define pp_scmp Perl_pp_scmp
+#undef Perl_pp_scope
+#define Perl_pp_scope pPerl->Perl_pp_scope
#undef pp_scope
-#define pp_scope pPerl->pp_scope
+#define pp_scope Perl_pp_scope
+#undef Perl_pp_seek
+#define Perl_pp_seek pPerl->Perl_pp_seek
#undef pp_seek
-#define pp_seek pPerl->pp_seek
+#define pp_seek Perl_pp_seek
+#undef Perl_pp_seekdir
+#define Perl_pp_seekdir pPerl->Perl_pp_seekdir
#undef pp_seekdir
-#define pp_seekdir pPerl->pp_seekdir
+#define pp_seekdir Perl_pp_seekdir
+#undef Perl_pp_select
+#define Perl_pp_select pPerl->Perl_pp_select
#undef pp_select
-#define pp_select pPerl->pp_select
+#define pp_select Perl_pp_select
+#undef Perl_pp_semctl
+#define Perl_pp_semctl pPerl->Perl_pp_semctl
#undef pp_semctl
-#define pp_semctl pPerl->pp_semctl
+#define pp_semctl Perl_pp_semctl
+#undef Perl_pp_semget
+#define Perl_pp_semget pPerl->Perl_pp_semget
#undef pp_semget
-#define pp_semget pPerl->pp_semget
+#define pp_semget Perl_pp_semget
+#undef Perl_pp_semop
+#define Perl_pp_semop pPerl->Perl_pp_semop
#undef pp_semop
-#define pp_semop pPerl->pp_semop
+#define pp_semop Perl_pp_semop
+#undef Perl_pp_send
+#define Perl_pp_send pPerl->Perl_pp_send
#undef pp_send
-#define pp_send pPerl->pp_send
+#define pp_send Perl_pp_send
+#undef Perl_pp_seq
+#define Perl_pp_seq pPerl->Perl_pp_seq
#undef pp_seq
-#define pp_seq pPerl->pp_seq
+#define pp_seq Perl_pp_seq
+#undef Perl_pp_setpgrp
+#define Perl_pp_setpgrp pPerl->Perl_pp_setpgrp
#undef pp_setpgrp
-#define pp_setpgrp pPerl->pp_setpgrp
+#define pp_setpgrp Perl_pp_setpgrp
+#undef Perl_pp_setpriority
+#define Perl_pp_setpriority pPerl->Perl_pp_setpriority
#undef pp_setpriority
-#define pp_setpriority pPerl->pp_setpriority
+#define pp_setpriority Perl_pp_setpriority
+#undef Perl_pp_sge
+#define Perl_pp_sge pPerl->Perl_pp_sge
#undef pp_sge
-#define pp_sge pPerl->pp_sge
+#define pp_sge Perl_pp_sge
+#undef Perl_pp_sgrent
+#define Perl_pp_sgrent pPerl->Perl_pp_sgrent
#undef pp_sgrent
-#define pp_sgrent pPerl->pp_sgrent
+#define pp_sgrent Perl_pp_sgrent
+#undef Perl_pp_sgt
+#define Perl_pp_sgt pPerl->Perl_pp_sgt
#undef pp_sgt
-#define pp_sgt pPerl->pp_sgt
+#define pp_sgt Perl_pp_sgt
+#undef Perl_pp_shift
+#define Perl_pp_shift pPerl->Perl_pp_shift
#undef pp_shift
-#define pp_shift pPerl->pp_shift
+#define pp_shift Perl_pp_shift
+#undef Perl_pp_shmctl
+#define Perl_pp_shmctl pPerl->Perl_pp_shmctl
#undef pp_shmctl
-#define pp_shmctl pPerl->pp_shmctl
+#define pp_shmctl Perl_pp_shmctl
+#undef Perl_pp_shmget
+#define Perl_pp_shmget pPerl->Perl_pp_shmget
#undef pp_shmget
-#define pp_shmget pPerl->pp_shmget
+#define pp_shmget Perl_pp_shmget
+#undef Perl_pp_shmread
+#define Perl_pp_shmread pPerl->Perl_pp_shmread
#undef pp_shmread
-#define pp_shmread pPerl->pp_shmread
+#define pp_shmread Perl_pp_shmread
+#undef Perl_pp_shmwrite
+#define Perl_pp_shmwrite pPerl->Perl_pp_shmwrite
#undef pp_shmwrite
-#define pp_shmwrite pPerl->pp_shmwrite
+#define pp_shmwrite Perl_pp_shmwrite
+#undef Perl_pp_shostent
+#define Perl_pp_shostent pPerl->Perl_pp_shostent
#undef pp_shostent
-#define pp_shostent pPerl->pp_shostent
+#define pp_shostent Perl_pp_shostent
+#undef Perl_pp_shutdown
+#define Perl_pp_shutdown pPerl->Perl_pp_shutdown
#undef pp_shutdown
-#define pp_shutdown pPerl->pp_shutdown
+#define pp_shutdown Perl_pp_shutdown
+#undef Perl_pp_sin
+#define Perl_pp_sin pPerl->Perl_pp_sin
#undef pp_sin
-#define pp_sin pPerl->pp_sin
+#define pp_sin Perl_pp_sin
+#undef Perl_pp_sle
+#define Perl_pp_sle pPerl->Perl_pp_sle
#undef pp_sle
-#define pp_sle pPerl->pp_sle
+#define pp_sle Perl_pp_sle
+#undef Perl_pp_sleep
+#define Perl_pp_sleep pPerl->Perl_pp_sleep
#undef pp_sleep
-#define pp_sleep pPerl->pp_sleep
+#define pp_sleep Perl_pp_sleep
+#undef Perl_pp_slt
+#define Perl_pp_slt pPerl->Perl_pp_slt
#undef pp_slt
-#define pp_slt pPerl->pp_slt
+#define pp_slt Perl_pp_slt
+#undef Perl_pp_sne
+#define Perl_pp_sne pPerl->Perl_pp_sne
#undef pp_sne
-#define pp_sne pPerl->pp_sne
+#define pp_sne Perl_pp_sne
+#undef Perl_pp_snetent
+#define Perl_pp_snetent pPerl->Perl_pp_snetent
#undef pp_snetent
-#define pp_snetent pPerl->pp_snetent
+#define pp_snetent Perl_pp_snetent
+#undef Perl_pp_socket
+#define Perl_pp_socket pPerl->Perl_pp_socket
#undef pp_socket
-#define pp_socket pPerl->pp_socket
+#define pp_socket Perl_pp_socket
+#undef Perl_pp_sockpair
+#define Perl_pp_sockpair pPerl->Perl_pp_sockpair
#undef pp_sockpair
-#define pp_sockpair pPerl->pp_sockpair
+#define pp_sockpair Perl_pp_sockpair
+#undef Perl_pp_sort
+#define Perl_pp_sort pPerl->Perl_pp_sort
#undef pp_sort
-#define pp_sort pPerl->pp_sort
+#define pp_sort Perl_pp_sort
+#undef Perl_pp_splice
+#define Perl_pp_splice pPerl->Perl_pp_splice
#undef pp_splice
-#define pp_splice pPerl->pp_splice
+#define pp_splice Perl_pp_splice
+#undef Perl_pp_split
+#define Perl_pp_split pPerl->Perl_pp_split
#undef pp_split
-#define pp_split pPerl->pp_split
+#define pp_split Perl_pp_split
+#undef Perl_pp_sprintf
+#define Perl_pp_sprintf pPerl->Perl_pp_sprintf
#undef pp_sprintf
-#define pp_sprintf pPerl->pp_sprintf
+#define pp_sprintf Perl_pp_sprintf
+#undef Perl_pp_sprotoent
+#define Perl_pp_sprotoent pPerl->Perl_pp_sprotoent
#undef pp_sprotoent
-#define pp_sprotoent pPerl->pp_sprotoent
+#define pp_sprotoent Perl_pp_sprotoent
+#undef Perl_pp_spwent
+#define Perl_pp_spwent pPerl->Perl_pp_spwent
#undef pp_spwent
-#define pp_spwent pPerl->pp_spwent
+#define pp_spwent Perl_pp_spwent
+#undef Perl_pp_sqrt
+#define Perl_pp_sqrt pPerl->Perl_pp_sqrt
#undef pp_sqrt
-#define pp_sqrt pPerl->pp_sqrt
+#define pp_sqrt Perl_pp_sqrt
+#undef Perl_pp_srand
+#define Perl_pp_srand pPerl->Perl_pp_srand
#undef pp_srand
-#define pp_srand pPerl->pp_srand
+#define pp_srand Perl_pp_srand
+#undef Perl_pp_srefgen
+#define Perl_pp_srefgen pPerl->Perl_pp_srefgen
#undef pp_srefgen
-#define pp_srefgen pPerl->pp_srefgen
+#define pp_srefgen Perl_pp_srefgen
+#undef Perl_pp_sselect
+#define Perl_pp_sselect pPerl->Perl_pp_sselect
#undef pp_sselect
-#define pp_sselect pPerl->pp_sselect
+#define pp_sselect Perl_pp_sselect
+#undef Perl_pp_sservent
+#define Perl_pp_sservent pPerl->Perl_pp_sservent
#undef pp_sservent
-#define pp_sservent pPerl->pp_sservent
+#define pp_sservent Perl_pp_sservent
+#undef Perl_pp_ssockopt
+#define Perl_pp_ssockopt pPerl->Perl_pp_ssockopt
#undef pp_ssockopt
-#define pp_ssockopt pPerl->pp_ssockopt
+#define pp_ssockopt Perl_pp_ssockopt
+#undef Perl_pp_stat
+#define Perl_pp_stat pPerl->Perl_pp_stat
#undef pp_stat
-#define pp_stat pPerl->pp_stat
+#define pp_stat Perl_pp_stat
+#undef Perl_pp_stringify
+#define Perl_pp_stringify pPerl->Perl_pp_stringify
#undef pp_stringify
-#define pp_stringify pPerl->pp_stringify
+#define pp_stringify Perl_pp_stringify
+#undef Perl_pp_stub
+#define Perl_pp_stub pPerl->Perl_pp_stub
#undef pp_stub
-#define pp_stub pPerl->pp_stub
+#define pp_stub Perl_pp_stub
+#undef Perl_pp_study
+#define Perl_pp_study pPerl->Perl_pp_study
#undef pp_study
-#define pp_study pPerl->pp_study
+#define pp_study Perl_pp_study
+#undef Perl_pp_subst
+#define Perl_pp_subst pPerl->Perl_pp_subst
#undef pp_subst
-#define pp_subst pPerl->pp_subst
+#define pp_subst Perl_pp_subst
+#undef Perl_pp_substcont
+#define Perl_pp_substcont pPerl->Perl_pp_substcont
#undef pp_substcont
-#define pp_substcont pPerl->pp_substcont
+#define pp_substcont Perl_pp_substcont
+#undef Perl_pp_substr
+#define Perl_pp_substr pPerl->Perl_pp_substr
#undef pp_substr
-#define pp_substr pPerl->pp_substr
+#define pp_substr Perl_pp_substr
+#undef Perl_pp_subtract
+#define Perl_pp_subtract pPerl->Perl_pp_subtract
#undef pp_subtract
-#define pp_subtract pPerl->pp_subtract
+#define pp_subtract Perl_pp_subtract
+#undef Perl_pp_symlink
+#define Perl_pp_symlink pPerl->Perl_pp_symlink
#undef pp_symlink
-#define pp_symlink pPerl->pp_symlink
+#define pp_symlink Perl_pp_symlink
+#undef Perl_pp_syscall
+#define Perl_pp_syscall pPerl->Perl_pp_syscall
#undef pp_syscall
-#define pp_syscall pPerl->pp_syscall
+#define pp_syscall Perl_pp_syscall
+#undef Perl_pp_sysopen
+#define Perl_pp_sysopen pPerl->Perl_pp_sysopen
#undef pp_sysopen
-#define pp_sysopen pPerl->pp_sysopen
+#define pp_sysopen Perl_pp_sysopen
+#undef Perl_pp_sysread
+#define Perl_pp_sysread pPerl->Perl_pp_sysread
#undef pp_sysread
-#define pp_sysread pPerl->pp_sysread
+#define pp_sysread Perl_pp_sysread
+#undef Perl_pp_sysseek
+#define Perl_pp_sysseek pPerl->Perl_pp_sysseek
#undef pp_sysseek
-#define pp_sysseek pPerl->pp_sysseek
+#define pp_sysseek Perl_pp_sysseek
+#undef Perl_pp_system
+#define Perl_pp_system pPerl->Perl_pp_system
#undef pp_system
-#define pp_system pPerl->pp_system
+#define pp_system Perl_pp_system
+#undef Perl_pp_syswrite
+#define Perl_pp_syswrite pPerl->Perl_pp_syswrite
#undef pp_syswrite
-#define pp_syswrite pPerl->pp_syswrite
+#define pp_syswrite Perl_pp_syswrite
+#undef Perl_pp_tell
+#define Perl_pp_tell pPerl->Perl_pp_tell
#undef pp_tell
-#define pp_tell pPerl->pp_tell
+#define pp_tell Perl_pp_tell
+#undef Perl_pp_telldir
+#define Perl_pp_telldir pPerl->Perl_pp_telldir
#undef pp_telldir
-#define pp_telldir pPerl->pp_telldir
+#define pp_telldir Perl_pp_telldir
+#undef Perl_pp_threadsv
+#define Perl_pp_threadsv pPerl->Perl_pp_threadsv
#undef pp_threadsv
-#define pp_threadsv pPerl->pp_threadsv
+#define pp_threadsv Perl_pp_threadsv
+#undef Perl_pp_tie
+#define Perl_pp_tie pPerl->Perl_pp_tie
#undef pp_tie
-#define pp_tie pPerl->pp_tie
+#define pp_tie Perl_pp_tie
+#undef Perl_pp_tied
+#define Perl_pp_tied pPerl->Perl_pp_tied
#undef pp_tied
-#define pp_tied pPerl->pp_tied
+#define pp_tied Perl_pp_tied
+#undef Perl_pp_time
+#define Perl_pp_time pPerl->Perl_pp_time
#undef pp_time
-#define pp_time pPerl->pp_time
+#define pp_time Perl_pp_time
+#undef Perl_pp_tms
+#define Perl_pp_tms pPerl->Perl_pp_tms
#undef pp_tms
-#define pp_tms pPerl->pp_tms
+#define pp_tms Perl_pp_tms
+#undef Perl_pp_trans
+#define Perl_pp_trans pPerl->Perl_pp_trans
#undef pp_trans
-#define pp_trans pPerl->pp_trans
+#define pp_trans Perl_pp_trans
+#undef Perl_pp_truncate
+#define Perl_pp_truncate pPerl->Perl_pp_truncate
#undef pp_truncate
-#define pp_truncate pPerl->pp_truncate
+#define pp_truncate Perl_pp_truncate
+#undef Perl_pp_uc
+#define Perl_pp_uc pPerl->Perl_pp_uc
#undef pp_uc
-#define pp_uc pPerl->pp_uc
+#define pp_uc Perl_pp_uc
+#undef Perl_pp_ucfirst
+#define Perl_pp_ucfirst pPerl->Perl_pp_ucfirst
#undef pp_ucfirst
-#define pp_ucfirst pPerl->pp_ucfirst
+#define pp_ucfirst Perl_pp_ucfirst
+#undef Perl_pp_umask
+#define Perl_pp_umask pPerl->Perl_pp_umask
#undef pp_umask
-#define pp_umask pPerl->pp_umask
+#define pp_umask Perl_pp_umask
+#undef Perl_pp_undef
+#define Perl_pp_undef pPerl->Perl_pp_undef
#undef pp_undef
-#define pp_undef pPerl->pp_undef
+#define pp_undef Perl_pp_undef
+#undef Perl_pp_unlink
+#define Perl_pp_unlink pPerl->Perl_pp_unlink
#undef pp_unlink
-#define pp_unlink pPerl->pp_unlink
+#define pp_unlink Perl_pp_unlink
+#undef Perl_pp_unpack
+#define Perl_pp_unpack pPerl->Perl_pp_unpack
#undef pp_unpack
-#define pp_unpack pPerl->pp_unpack
+#define pp_unpack Perl_pp_unpack
+#undef Perl_pp_unshift
+#define Perl_pp_unshift pPerl->Perl_pp_unshift
#undef pp_unshift
-#define pp_unshift pPerl->pp_unshift
+#define pp_unshift Perl_pp_unshift
+#undef Perl_pp_unstack
+#define Perl_pp_unstack pPerl->Perl_pp_unstack
#undef pp_unstack
-#define pp_unstack pPerl->pp_unstack
+#define pp_unstack Perl_pp_unstack
+#undef Perl_pp_untie
+#define Perl_pp_untie pPerl->Perl_pp_untie
#undef pp_untie
-#define pp_untie pPerl->pp_untie
+#define pp_untie Perl_pp_untie
+#undef Perl_pp_utime
+#define Perl_pp_utime pPerl->Perl_pp_utime
#undef pp_utime
-#define pp_utime pPerl->pp_utime
+#define pp_utime Perl_pp_utime
+#undef Perl_pp_values
+#define Perl_pp_values pPerl->Perl_pp_values
#undef pp_values
-#define pp_values pPerl->pp_values
+#define pp_values Perl_pp_values
+#undef Perl_pp_vec
+#define Perl_pp_vec pPerl->Perl_pp_vec
#undef pp_vec
-#define pp_vec pPerl->pp_vec
+#define pp_vec Perl_pp_vec
+#undef Perl_pp_wait
+#define Perl_pp_wait pPerl->Perl_pp_wait
#undef pp_wait
-#define pp_wait pPerl->pp_wait
+#define pp_wait Perl_pp_wait
+#undef Perl_pp_waitpid
+#define Perl_pp_waitpid pPerl->Perl_pp_waitpid
#undef pp_waitpid
-#define pp_waitpid pPerl->pp_waitpid
+#define pp_waitpid Perl_pp_waitpid
+#undef Perl_pp_wantarray
+#define Perl_pp_wantarray pPerl->Perl_pp_wantarray
#undef pp_wantarray
-#define pp_wantarray pPerl->pp_wantarray
+#define pp_wantarray Perl_pp_wantarray
+#undef Perl_pp_warn
+#define Perl_pp_warn pPerl->Perl_pp_warn
#undef pp_warn
-#define pp_warn pPerl->pp_warn
+#define pp_warn Perl_pp_warn
+#undef Perl_pp_xor
+#define Perl_pp_xor pPerl->Perl_pp_xor
#undef pp_xor
-#define pp_xor pPerl->pp_xor
+#define pp_xor Perl_pp_xor
#endif /* __objXSUB_h__ */
diff --git a/opcode.h b/opcode.h
index 20ec044441..5cb5ae958d 100644
--- a/opcode.h
+++ b/opcode.h
@@ -1072,19 +1072,6 @@ EXT char *PL_op_desc[] = {
END_EXTERN_C
-#ifndef PERL_OBJECT
-START_EXTERN_C
-
-#undef PERL_CKDEF
-#undef PERL_PPDEF
-#define PERL_CKDEF(s) OP *s (pTHX_ OP *o);
-#define PERL_PPDEF(s) OP *s (pTHX);
-
-#include "pp_proto.h"
-
-
-END_EXTERN_C
-#endif /* PERL_OBJECT */
START_EXTERN_C
diff --git a/opcode.pl b/opcode.pl
index 1afc2f6cf3..bf6734c53f 100755
--- a/opcode.pl
+++ b/opcode.pl
@@ -82,16 +82,6 @@ print <<END;
END_EXTERN_C
-#ifndef PERL_OBJECT
-START_EXTERN_C
-
-#undef PERL_CKDEF
-#undef PERL_PPDEF
-#define PERL_CKDEF(s) OP *s (pTHX_ OP *o);
-#define PERL_PPDEF(s) OP *s (pTHX);
-
-#include "pp_proto.h"
-
END
# Emit function declarations.
@@ -110,9 +100,6 @@ END
print <<END;
-END_EXTERN_C
-#endif /* PERL_OBJECT */
-
START_EXTERN_C
#ifndef DOINIT
diff --git a/perl.c b/perl.c
index 92c2eaf619..4c1eecc1e5 100644
--- a/perl.c
+++ b/perl.c
@@ -24,6 +24,8 @@
char *getenv (char *); /* Usually in <stdlib.h> */
#endif
+static I32 read_e_script(pTHXo_ int idx, SV *buf_sv, int maxlen);
+
#ifdef I_FCNTL
#include <fcntl.h>
#endif
@@ -68,7 +70,7 @@ perl_alloc(void)
#endif /* PERL_OBJECT */
void
-perl_construct(register PerlInterpreter *my_perl)
+perl_construct(pTHXx)
{
#ifdef USE_THREADS
int i;
@@ -206,7 +208,7 @@ perl_construct(register PerlInterpreter *my_perl)
}
void
-perl_destruct(register PerlInterpreter *my_perl)
+perl_destruct(pTHXx)
{
dTHR;
int destruct_level; /* 0=none, 1=full, 2=full with checks */
@@ -340,7 +342,7 @@ perl_destruct(register PerlInterpreter *my_perl)
/* call exit list functions */
while (PL_exitlistlen-- > 0)
- PL_exitlist[PL_exitlistlen].fn(aTHX_ PL_exitlist[PL_exitlistlen].ptr);
+ PL_exitlist[PL_exitlistlen].fn(aTHXo_ PL_exitlist[PL_exitlistlen].ptr);
Safefree(PL_exitlist);
@@ -561,7 +563,7 @@ perl_destruct(register PerlInterpreter *my_perl)
}
void
-perl_free(PerlInterpreter *my_perl)
+perl_free(pTHXx)
{
#ifdef PERL_OBJECT
Safefree(this);
@@ -584,7 +586,7 @@ Perl_call_atexit(pTHX_ ATEXIT_t fn, void *ptr)
}
int
-perl_parse(PerlInterpreter *my_perl, XSINIT_t xsinit, int argc, char **argv, char **env)
+perl_parse(pTHXx_ XSINIT_t xsinit, int argc, char **argv, char **env)
{
dTHR;
I32 oldscope;
@@ -737,7 +739,7 @@ S_parse_body(pTHX_ va_list args)
Perl_croak(aTHX_ "No -e allowed in setuid scripts");
if (!PL_e_script) {
PL_e_script = newSVpvn("",0);
- filter_add(S_read_e_script, NULL);
+ filter_add(read_e_script, NULL);
}
if (*++s)
sv_catpv(PL_e_script, s);
@@ -941,7 +943,7 @@ print \" \\@INC:\\n @INC\\n\";");
boot_core_UNIVERSAL();
if (xsinit)
- (*xsinit)(aTHX); /* in case linked C routines want magical variables */
+ (*xsinit)(aTHXo); /* in case linked C routines want magical variables */
#if defined(VMS) || defined(WIN32) || defined(DJGPP)
init_os_extras(aTHX);
#endif
@@ -999,7 +1001,7 @@ print \" \\@INC:\\n @INC\\n\";");
}
int
-perl_run(PerlInterpreter *my_perl)
+perl_run(pTHXx)
{
dTHR;
I32 oldscope;
@@ -3100,15 +3102,15 @@ S_my_exit_jump(pTHX)
#include "XSUB.h"
-STATIC I32
-S_read_e_script(pTHX_ int idx, SV *buf_sv, int maxlen)
+static I32
+read_e_script(pTHXo_ int idx, SV *buf_sv, int maxlen)
{
char *p, *nl;
p = SvPVX(PL_e_script);
nl = strchr(p, '\n');
nl = (nl) ? nl+1 : SvEND(PL_e_script);
if (nl-p == 0) {
- filter_del(S_read_e_script);
+ filter_del(read_e_script);
return 0;
}
sv_catpvn(buf_sv, p, nl-p);
diff --git a/perl.h b/perl.h
index 7ef943212c..f61ff9bda0 100644
--- a/perl.h
+++ b/perl.h
@@ -22,6 +22,14 @@
#define USE_STDIO
#endif /* PERL_FOR_X2P */
+#define VOIDUSED 1
+#include "config.h"
+
+/* XXXXXX testing threads via implicit pointer */
+#ifdef USE_THREADS
+#define PERL_IMPLICIT_CONTEXT
+#endif
+
#ifdef PERL_OBJECT
/* PERL_OBJECT explained - DickH and DougL @ ActiveState.com
@@ -101,22 +109,29 @@ class CPerlObj;
#define STATIC
#define CPERLscope(x) CPerlObj::x
-#define CPERLproto CPerlObj *
-#define _CPERLproto ,CPERLproto
-#define CPERLarg CPerlObj *pPerl
-#define CPERLarg_ CPERLarg,
-#define _CPERLarg ,CPERLarg
-#define PERL_OBJECT_THIS this
-#define _PERL_OBJECT_THIS ,this
-#define PERL_OBJECT_THIS_ this,
#define CALL_FPTR(fptr) (this->*fptr)
+#define pTHXo CPerlObj *pPerl
+#define pTHXo_ pTHXo,
+#define _pTHXo ,pTHXo
+#define aTHXo this
+#define aTHXo_ this,
+#define _aTHXo ,this
+#define PERL_OBJECT_THIS aTHXo
+#define PERL_OBJECT_THIS_ aTHXo_
+#define _PERL_OBJECT_THIS _aTHXo
+
+#define pTHXx void
+#define pTHXx_
+#define _pTHXx
+#define aTHXx
+#define aTHXx_
+#define _aTHXx
+
#else /* !PERL_OBJECT */
#define STATIC static
#define CPERLscope(x) x
-#define CPERLproto
-#define _CPERLproto
#define CPERLarg void
#define CPERLarg_
#define _CPERLarg
@@ -132,12 +147,57 @@ class CPerlObj;
#define CALLREGEXEC CALL_FPTR(PL_regexecp)
#define CALLPROTECT CALL_FPTR(PL_protect)
-#define VOIDUSED 1
-#include "config.h"
+#define NOOP (void)0
+#define dNOOP extern int Perl___notused
-/* XXXXXX testing threads via implicit pointer */
-#ifdef USE_THREADS
-#define PERL_IMPLICIT_CONTEXT
+#ifdef PERL_IMPLICIT_CONTEXT
+# ifdef USE_THREADS
+struct perl_thread;
+# define pTHX register struct perl_thread *thr
+# define aTHX thr
+# define dTHXa(a) pTHX = (struct perl_thread *)a
+# define dTHX dTHXa(SvPVX(PL_thrsv))
+# define dTHR dNOOP
+# else
+# define MULTIPLICITY
+# define pTHX register PerlInterpreter *my_perl
+# define aTHX my_perl
+# define dTHXa(a) pTHX = (PerlInterpreter *)a
+# define dTHX dTHXa(PL_curinterp)
+# endif
+# define pTHX_ pTHX,
+# define _pTHX ,pTHX
+# define aTHX_ aTHX,
+# define _aTHX ,aTHX
+#endif
+
+#ifndef pTHX
+# define pTHX void
+# define pTHX_
+# define _pTHX
+# define aTHX
+# define aTHX_
+# define _aTHX
+# define dTHXa(a) dNOOP
+# define dTHX dNOOP
+#endif
+
+#ifndef pTHXo
+# define pTHXo pTHX
+# define pTHXo_ pTHX_
+# define _pTHXo _pTHX
+# define aTHXo aTHX
+# define aTHXo_ aTHX_
+# define _aTHXo _aTHX
+#endif
+
+#ifndef pTHXx
+# define pTHXx register PerlInterpreter *my_perl
+# define pTHXx_ pTHXx,
+# define _pTHXx ,pTHXx
+# define aTHXx my_perl
+# define aTHXx_ aTHXx,
+# define _aTHXx ,aTHXx
#endif
#undef START_EXTERN_C
@@ -184,8 +244,7 @@ register struct op *Perl_op asm(stringify(OP_IN_REGISTER));
# endif
#endif
-#define NOOP (void)0
-#define dNOOP extern int Perl___notused
+#define WITH_THX(s) STMT_START { dTHX; s; } STMT_END
#define WITH_THR(s) STMT_START { dTHR; s; } STMT_END
/*
@@ -380,7 +439,7 @@ register struct op *Perl_op asm(stringify(OP_IN_REGISTER));
# include <stdlib.h>
#endif
-#if !defined(PERL_FOR_X2P)
+#if !defined(PERL_FOR_X2P) && !defined(PERL_OBJECT)
# include "embed.h"
#endif
@@ -1499,44 +1558,6 @@ typedef pthread_key_t perl_key;
(PerlLIO_setmode(PerlIO_fileno(fp), O_BINARY) != -1 ? TRUE : NULL)
#endif
-#ifdef PERL_IMPLICIT_CONTEXT
-# ifdef USE_THREADS
-struct perl_thread;
-# define pTHX register struct perl_thread *thr
-# define aTHX thr
-# define dTHXa(a) pTHX = (struct perl_thread *)a
-# define dTHX dTHXa(SvPVX(PL_thrsv))
-# define dTHR dNOOP
-# else
-# define MULTIPLICITY
-# define pTHX register PerlInterpreter *my_perl
-# define aTHX my_perl
-# define dTHXa(a) pTHX = (PerlInterpreter *)a
-# define dTHX dTHXa(PL_curinterp)
-# endif
-# define pTHX_ pTHX,
-# define _pTHX ,pTHX
-# define aTHX_ aTHX,
-# define _aTHX ,aTHX
-#endif
-
-#ifndef pTHX
-# define pTHX void
-# define pTHX_
-# define _pTHX
-# define aTHX
-# define aTHX_
-# define _aTHX
-# define dTHXa(a) dNOOP
-# define dTHX dNOOP
-#endif
-
-#define WITH_THX(s) STMT_START { dTHX; s; } STMT_END
-
-#ifndef STATIC
-# define STATIC static
-#endif
-
#ifdef UNION_ANY_DEFINITION
UNION_ANY_DEFINITION;
#else
@@ -1555,11 +1576,7 @@ union any {
#define ARGSproto
#endif /* USE_THREADS */
-#ifdef PERL_OBJECT
-typedef I32 (*filter_t) (CPerlObj*, int, SV *, int);
-#else
-typedef I32 (*filter_t) (pTHX_ int, SV *, int);
-#endif
+typedef I32 (*filter_t) (pTHXo_ int, SV *, int);
#define FILTER_READ(idx, sv, len) filter_read(idx, sv, len)
#define FILTER_DATA(idx) (AvARRAY(PL_rsfp_filters)[idx])
@@ -1576,9 +1593,6 @@ typedef I32 (*filter_t) (pTHX_ int, SV *, int);
#include "form.h"
#include "gv.h"
#include "cv.h"
-#ifndef PERL_OBJECT
-#include "opcode.h"
-#endif
#include "op.h"
#include "cop.h"
#include "av.h"
@@ -1932,11 +1946,8 @@ typedef Sighandler_t Sigsave_t;
#endif
-#ifdef PERL_OBJECT
-typedef int (CPerlObj::*runops_proc_t) (void);
-#else
-typedef int (*runops_proc_t) (pTHX);
-#endif
+typedef int (CPERLscope(*runops_proc_t)) (pTHX);
+typedef OP* (CPERLscope(*PPADDR_t)[]) (pTHX);
/* _ (for $_) must be first in the following list (DEFSV requires it) */
#define THREADSV_NAMES "_123456789&`'+/.,\\\";^-%=|~:\001\005!@"
@@ -2315,19 +2326,11 @@ enum { /* pass one of these to get_vtbl */
#define RsRECORD(sv) (SvROK(sv) && (SvIV(SvRV(sv)) > 0))
/* Enable variables which are pointers to functions */
-#ifdef PERL_OBJECT
-typedef regexp*(CPerlObj::*regcomp_t) (char* exp, char* xend, PMOP* pm);
-typedef I32 (CPerlObj::*regexec_t) (regexp* prog, char* stringarg,
- char* strend, char* strbeg,
- I32 minend, SV* screamer, void* data,
- U32 flags);
-#else
-typedef regexp*(*regcomp_t) (pTHX_ char* exp, char* xend, PMOP* pm);
-typedef I32 (*regexec_t) (pTHX_ regexp* prog, char* stringarg, char* strend, char*
- strbeg, I32 minend, SV* screamer, void* data,
- U32 flags);
+typedef regexp*(CPERLscope(*regcomp_t)) (pTHX_ char* exp, char* xend, PMOP* pm);
+typedef I32 (CPERLscope(*regexec_t)) (pTHX_ regexp* prog, char* stringarg,
+ char* strend, char* strbeg, I32 minend,
+ SV* screamer, void* data, U32 flags);
-#endif
/* Set up PERLVAR macros for populating structs */
#define PERLVAR(var,type) type var;
@@ -2336,16 +2339,14 @@ typedef I32 (*regexec_t) (pTHX_ regexp* prog, char* stringarg, char* strend, cha
/* Interpreter exitlist entry */
typedef struct exitlistentry {
-#ifdef PERL_OBJECT
- void (*fn) (CPerlObj*, void*);
-#else
- void (*fn) (pTHX_ void*);
-#endif
+ void (*fn) (pTHXo_ void*);
void *ptr;
} PerlExitListEntry;
#ifdef PERL_OBJECT
-extern "C" CPerlObj* perl_alloc (IPerlMem*, IPerlEnv*, IPerlStdIO*, IPerlLIO*, IPerlDir*, IPerlSock*, IPerlProc*);
+#undef perl_alloc
+#define perl_alloc Perl_alloc
+CPerlObj* Perl_alloc (IPerlMem*, IPerlEnv*, IPerlStdIO*, IPerlLIO*, IPerlDir*, IPerlSock*, IPerlProc*);
#undef EXT
#define EXT
@@ -2428,7 +2429,7 @@ typedef void *Thread;
# define VIRTUAL virtual PERL_CALLCONV
#else
# define VIRTUAL PERL_CALLCONV
-START_EXTERN_C
+/*START_EXTERN_C*/
#endif
#ifndef NEXT30_NO_ATTRIBUTE
@@ -2444,19 +2445,41 @@ START_EXTERN_C
int Perl_yylex(pTHX_ YYSTYPE *lvalp, int *lcharp);
#endif
-typedef void (*DESTRUCTORFUNC_t) (pTHX_ void*);
-typedef void (*SVFUNC_t) (pTHX_ SV*);
-typedef I32 (*SVCOMPARE_t) (pTHX_ SV*, SV*);
-typedef void (*XSINIT_t) (pTHX);
-typedef void (*ATEXIT_t) (pTHX_ void*);
-typedef void (*XSUBADDR_t) (pTHX_ CV *);
+typedef void (CPERLscope(*DESTRUCTORFUNC_t)) (pTHX_ void*);
+typedef void (CPERLscope(*SVFUNC_t)) (pTHX_ SV*);
+typedef I32 (CPERLscope(*SVCOMPARE_t)) (pTHX_ SV*, SV*);
+typedef void (*XSINIT_t) (pTHXo);
+typedef void (*ATEXIT_t) (pTHXo_ void*);
+typedef void (*XSUBADDR_t) (pTHXo_ CV *);
+
+#ifdef PERL_OBJECT
+#define PERL_DECL_PROT
+#define perl_alloc Perl_alloc
+#endif
#include "proto.h"
+#undef PERL_CKDEF
+#undef PERL_PPDEF
+#define PERL_CKDEF(s) OP *s (pTHX_ OP *o);
+#define PERL_PPDEF(s) OP *s (pTHX);
+#ifdef PERL_OBJECT
+public:
+#endif
+
#include "pp_proto.h"
+#ifdef PERL_OBJECT
+VIRTUAL int CPerlObj::fprintf (PerlIO *pf, const char *pat, ...);
+VIRTUAL int CPerlObj::do_aspawn (void *vreally, void **vmark, void **vsp);
+#undef PERL_DECL_PROT
+#else
+/*END_EXTERN_C*/
+#endif
+
#ifndef PERL_OBJECT
-END_EXTERN_C
+/* this has structure inits, so it cannot be included before here */
+# include "opcode.h"
#endif
/* The following must follow proto.h as #defines mess up syntax */
@@ -2475,9 +2498,15 @@ END_EXTERN_C
#define PERLVARIC(var,type,init) EXTCONST type PL_##var INIT(init);
#ifndef PERL_GLOBAL_STRUCT
+# ifndef PERL_OBJECT
START_EXTERN_C
-#include "perlvars.h"
+# endif
+
+# include "perlvars.h"
+
+# ifndef PERL_OBJECT
END_EXTERN_C
+# endif
#endif
#ifndef MULTIPLICITY
diff --git a/pod/perlhist.pod b/pod/perlhist.pod
index 7cee85c3d9..7ba44291c8 100644
--- a/pod/perlhist.pod
+++ b/pod/perlhist.pod
@@ -6,6 +6,8 @@ perlhist - the Perl history records
=for RCS
+=begin RCS
+
#
# $Id: perlhist.pod,v 1.57 1999/01/26 17:38:07 jhi Exp $
#
diff --git a/pp_ctl.c b/pp_ctl.c
index e4a74118be..9b5c93247e 100644
--- a/pp_ctl.c
+++ b/pp_ctl.c
@@ -2189,7 +2189,7 @@ PP(pp_goto)
PL_stack_sp--; /* There is no cv arg. */
/* Push a mark for the start of arglist */
PUSHMARK(mark);
- (void)(*CvXSUB(cv))(aTHX_ cv);
+ (void)(*CvXSUB(cv))(aTHXo_ cv);
/* Pop the current context like a decent sub should */
POPBLOCK(cx, PL_curpm);
/* Do _not_ use PUTBACK, keep the XSUB's return stack! */
diff --git a/pp_hot.c b/pp_hot.c
index b652a63b49..3c91b0085d 100644
--- a/pp_hot.c
+++ b/pp_hot.c
@@ -2366,7 +2366,7 @@ try_autoload:
PL_curcopdb = NULL;
}
/* Do we need to open block here? XXXX */
- (void)(*CvXSUB(cv))(aTHX_ cv);
+ (void)(*CvXSUB(cv))(aTHXo_ cv);
/* Enforce some sanity in scalar context. */
if (gimme == G_SCALAR && ++markix != PL_stack_sp - PL_stack_base ) {
diff --git a/proto.h b/proto.h
index 5251b5f521..54d71e650c 100644
--- a/proto.h
+++ b/proto.h
@@ -4,691 +4,709 @@
* and run 'make regen_headers' to effect changes.
*/
-SV* Perl_amagic_call(pTHX_ SV* left, SV* right, int method, int dir);
-bool Perl_Gv_AMupdate(pTHX_ HV* stash);
-OP* Perl_append_elem(pTHX_ I32 optype, OP* head, OP* tail);
-OP* Perl_append_list(pTHX_ I32 optype, LISTOP* first, LISTOP* last);
-I32 Perl_apply(pTHX_ I32 type, SV** mark, SV** sp);
-void Perl_assertref(pTHX_ OP* o);
-bool Perl_avhv_exists_ent(pTHX_ AV *ar, SV* keysv, U32 hash);
-SV** Perl_avhv_fetch_ent(pTHX_ AV *ar, SV* keysv, I32 lval, U32 hash);
-HE* Perl_avhv_iternext(pTHX_ AV *ar);
-SV* Perl_avhv_iterval(pTHX_ AV *ar, HE* entry);
-HV* Perl_avhv_keys(pTHX_ AV *ar);
-void Perl_av_clear(pTHX_ AV* ar);
-void Perl_av_extend(pTHX_ AV* ar, I32 key);
-AV* Perl_av_fake(pTHX_ I32 size, SV** svp);
-SV** Perl_av_fetch(pTHX_ AV* ar, I32 key, I32 lval);
-void Perl_av_fill(pTHX_ AV* ar, I32 fill);
-I32 Perl_av_len(pTHX_ AV* ar);
-AV* Perl_av_make(pTHX_ I32 size, SV** svp);
-SV* Perl_av_pop(pTHX_ AV* ar);
-void Perl_av_push(pTHX_ AV* ar, SV* val);
-void Perl_av_reify(pTHX_ AV* ar);
-SV* Perl_av_shift(pTHX_ AV* ar);
-SV** Perl_av_store(pTHX_ AV* ar, I32 key, SV* val);
-void Perl_av_undef(pTHX_ AV* ar);
-void Perl_av_unshift(pTHX_ AV* ar, I32 num);
-OP* Perl_bind_match(pTHX_ I32 type, OP* left, OP* pat);
-OP* Perl_block_end(pTHX_ I32 floor, OP* seq);
-I32 Perl_block_gimme(pTHX);
-int Perl_block_start(pTHX_ int full);
-void Perl_boot_core_UNIVERSAL(pTHX);
-void Perl_call_list(pTHX_ I32 oldscope, AV* av_list);
-I32 Perl_cando(pTHX_ I32 bit, I32 effective, Stat_t* statbufp);
-U32 Perl_cast_ulong(pTHX_ double f);
-I32 Perl_cast_i32(pTHX_ double f);
-IV Perl_cast_iv(pTHX_ double f);
-UV Perl_cast_uv(pTHX_ double f);
+#if defined(PERL_OBJECT)
+public:
+#endif
+VIRTUAL SV* Perl_amagic_call(pTHX_ SV* left, SV* right, int method, int dir);
+VIRTUAL bool Perl_Gv_AMupdate(pTHX_ HV* stash);
+VIRTUAL OP* Perl_append_elem(pTHX_ I32 optype, OP* head, OP* tail);
+VIRTUAL OP* Perl_append_list(pTHX_ I32 optype, LISTOP* first, LISTOP* last);
+VIRTUAL I32 Perl_apply(pTHX_ I32 type, SV** mark, SV** sp);
+VIRTUAL void Perl_assertref(pTHX_ OP* o);
+VIRTUAL bool Perl_avhv_exists_ent(pTHX_ AV *ar, SV* keysv, U32 hash);
+VIRTUAL SV** Perl_avhv_fetch_ent(pTHX_ AV *ar, SV* keysv, I32 lval, U32 hash);
+VIRTUAL HE* Perl_avhv_iternext(pTHX_ AV *ar);
+VIRTUAL SV* Perl_avhv_iterval(pTHX_ AV *ar, HE* entry);
+VIRTUAL HV* Perl_avhv_keys(pTHX_ AV *ar);
+VIRTUAL void Perl_av_clear(pTHX_ AV* ar);
+VIRTUAL void Perl_av_extend(pTHX_ AV* ar, I32 key);
+VIRTUAL AV* Perl_av_fake(pTHX_ I32 size, SV** svp);
+VIRTUAL SV** Perl_av_fetch(pTHX_ AV* ar, I32 key, I32 lval);
+VIRTUAL void Perl_av_fill(pTHX_ AV* ar, I32 fill);
+VIRTUAL I32 Perl_av_len(pTHX_ AV* ar);
+VIRTUAL AV* Perl_av_make(pTHX_ I32 size, SV** svp);
+VIRTUAL SV* Perl_av_pop(pTHX_ AV* ar);
+VIRTUAL void Perl_av_push(pTHX_ AV* ar, SV* val);
+VIRTUAL void Perl_av_reify(pTHX_ AV* ar);
+VIRTUAL SV* Perl_av_shift(pTHX_ AV* ar);
+VIRTUAL SV** Perl_av_store(pTHX_ AV* ar, I32 key, SV* val);
+VIRTUAL void Perl_av_undef(pTHX_ AV* ar);
+VIRTUAL void Perl_av_unshift(pTHX_ AV* ar, I32 num);
+VIRTUAL OP* Perl_bind_match(pTHX_ I32 type, OP* left, OP* pat);
+VIRTUAL OP* Perl_block_end(pTHX_ I32 floor, OP* seq);
+VIRTUAL I32 Perl_block_gimme(pTHX);
+VIRTUAL int Perl_block_start(pTHX_ int full);
+VIRTUAL void Perl_boot_core_UNIVERSAL(pTHX);
+VIRTUAL void Perl_call_list(pTHX_ I32 oldscope, AV* av_list);
+VIRTUAL I32 Perl_cando(pTHX_ I32 bit, I32 effective, Stat_t* statbufp);
+VIRTUAL U32 Perl_cast_ulong(pTHX_ double f);
+VIRTUAL I32 Perl_cast_i32(pTHX_ double f);
+VIRTUAL IV Perl_cast_iv(pTHX_ double f);
+VIRTUAL UV Perl_cast_uv(pTHX_ double f);
#if !defined(HAS_TRUNCATE) && !defined(HAS_CHSIZE) && defined(F_FREESP)
-I32 Perl_my_chsize(pTHX_ int fd, Off_t length);
+VIRTUAL I32 Perl_my_chsize(pTHX_ int fd, Off_t length);
#endif
#if defined(USE_THREADS)
-MAGIC* Perl_condpair_magic(pTHX_ SV *sv);
+VIRTUAL MAGIC* Perl_condpair_magic(pTHX_ SV *sv);
#endif
-OP* Perl_convert(pTHX_ I32 optype, I32 flags, OP* o);
-void Perl_croak(pTHX_ const char* pat, ...) __attribute__((noreturn));
+VIRTUAL OP* Perl_convert(pTHX_ I32 optype, I32 flags, OP* o);
+VIRTUAL void Perl_croak(pTHX_ const char* pat, ...) __attribute__((noreturn));
#if defined(PERL_IMPLICIT_CONTEXT)
-void Perl_croak_nocontext(const char* pat, ...) __attribute__((noreturn));
-OP* Perl_die_nocontext(const char* pat, ...);
-char* Perl_form_nocontext(const char* pat, ...);
-void Perl_warn_nocontext(const char* pat, ...);
-SV* Perl_newSVpvf_nocontext(const char* pat, ...);
-void Perl_sv_catpvf_nocontext(SV* sv, const char* pat, ...);
-void Perl_sv_setpvf_nocontext(SV* sv, const char* pat, ...);
-void Perl_sv_catpvf_mg_nocontext(SV* sv, const char* pat, ...);
-void Perl_sv_setpvf_mg_nocontext(SV* sv, const char* pat, ...);
-#endif
-void Perl_cv_ckproto(pTHX_ CV* cv, GV* gv, char* p);
-CV* Perl_cv_clone(pTHX_ CV* proto);
-SV* Perl_cv_const_sv(pTHX_ CV* cv);
-SV* Perl_op_const_sv(pTHX_ OP* o, CV* cv);
-void Perl_cv_undef(pTHX_ CV* cv);
-void Perl_cx_dump(pTHX_ PERL_CONTEXT* cs);
-SV* Perl_filter_add(pTHX_ filter_t funcp, SV* datasv);
-void Perl_filter_del(pTHX_ filter_t funcp);
-I32 Perl_filter_read(pTHX_ int idx, SV* buffer, int maxlen);
-char** Perl_get_op_descs(pTHX);
-char** Perl_get_op_names(pTHX);
-char* Perl_get_no_modify(pTHX);
-U32* Perl_get_opargs(pTHX);
-I32 Perl_cxinc(pTHX);
-void Perl_deb(pTHX_ const char* pat, ...);
-void Perl_deb_growlevel(pTHX);
-void Perl_debprofdump(pTHX);
-I32 Perl_debop(pTHX_ OP* o);
-I32 Perl_debstack(pTHX);
-I32 Perl_debstackptrs(pTHX);
-char* Perl_delimcpy(pTHX_ char* to, char* toend, char* from, char* fromend, int delim, I32* retlen);
-void Perl_deprecate(pTHX_ char* s);
-OP* Perl_die(pTHX_ const char* pat, ...);
-OP* Perl_die_where(pTHX_ char* message, STRLEN msglen);
-void Perl_dounwind(pTHX_ I32 cxix);
-bool Perl_do_aexec(pTHX_ SV* really, SV** mark, SV** sp);
-int Perl_do_binmode(pTHX_ PerlIO *fp, int iotype, int flag);
-void Perl_do_chop(pTHX_ SV* asv, SV* sv);
-bool Perl_do_close(pTHX_ GV* gv, bool not_implicit);
-bool Perl_do_eof(pTHX_ GV* gv);
-bool Perl_do_exec(pTHX_ char* cmd);
+VIRTUAL void Perl_croak_nocontext(const char* pat, ...) __attribute__((noreturn));
+VIRTUAL OP* Perl_die_nocontext(const char* pat, ...);
+VIRTUAL char* Perl_form_nocontext(const char* pat, ...);
+VIRTUAL void Perl_warn_nocontext(const char* pat, ...);
+VIRTUAL SV* Perl_newSVpvf_nocontext(const char* pat, ...);
+VIRTUAL void Perl_sv_catpvf_nocontext(SV* sv, const char* pat, ...);
+VIRTUAL void Perl_sv_setpvf_nocontext(SV* sv, const char* pat, ...);
+VIRTUAL void Perl_sv_catpvf_mg_nocontext(SV* sv, const char* pat, ...);
+VIRTUAL void Perl_sv_setpvf_mg_nocontext(SV* sv, const char* pat, ...);
+#endif
+VIRTUAL void Perl_cv_ckproto(pTHX_ CV* cv, GV* gv, char* p);
+VIRTUAL CV* Perl_cv_clone(pTHX_ CV* proto);
+VIRTUAL SV* Perl_cv_const_sv(pTHX_ CV* cv);
+VIRTUAL SV* Perl_op_const_sv(pTHX_ OP* o, CV* cv);
+VIRTUAL void Perl_cv_undef(pTHX_ CV* cv);
+VIRTUAL void Perl_cx_dump(pTHX_ PERL_CONTEXT* cs);
+VIRTUAL SV* Perl_filter_add(pTHX_ filter_t funcp, SV* datasv);
+VIRTUAL void Perl_filter_del(pTHX_ filter_t funcp);
+VIRTUAL I32 Perl_filter_read(pTHX_ int idx, SV* buffer, int maxlen);
+VIRTUAL char** Perl_get_op_descs(pTHX);
+VIRTUAL char** Perl_get_op_names(pTHX);
+VIRTUAL char* Perl_get_no_modify(pTHX);
+VIRTUAL U32* Perl_get_opargs(pTHX);
+VIRTUAL PPADDR_t* Perl_get_ppaddr(pTHX);
+VIRTUAL I32 Perl_cxinc(pTHX);
+VIRTUAL void Perl_deb(pTHX_ const char* pat, ...);
+VIRTUAL void Perl_deb_growlevel(pTHX);
+VIRTUAL void Perl_debprofdump(pTHX);
+VIRTUAL I32 Perl_debop(pTHX_ OP* o);
+VIRTUAL I32 Perl_debstack(pTHX);
+VIRTUAL I32 Perl_debstackptrs(pTHX);
+VIRTUAL char* Perl_delimcpy(pTHX_ char* to, char* toend, char* from, char* fromend, int delim, I32* retlen);
+VIRTUAL void Perl_deprecate(pTHX_ char* s);
+VIRTUAL OP* Perl_die(pTHX_ const char* pat, ...);
+VIRTUAL OP* Perl_die_where(pTHX_ char* message, STRLEN msglen);
+VIRTUAL void Perl_dounwind(pTHX_ I32 cxix);
+VIRTUAL bool Perl_do_aexec(pTHX_ SV* really, SV** mark, SV** sp);
+VIRTUAL int Perl_do_binmode(pTHX_ PerlIO *fp, int iotype, int flag);
+VIRTUAL void Perl_do_chop(pTHX_ SV* asv, SV* sv);
+VIRTUAL bool Perl_do_close(pTHX_ GV* gv, bool not_implicit);
+VIRTUAL bool Perl_do_eof(pTHX_ GV* gv);
+VIRTUAL bool Perl_do_exec(pTHX_ char* cmd);
#if !defined(WIN32)
-bool Perl_do_exec3(pTHX_ char* cmd, int fd, int flag);
+VIRTUAL bool Perl_do_exec3(pTHX_ char* cmd, int fd, int flag);
#endif
-void Perl_do_execfree(pTHX);
+VIRTUAL void Perl_do_execfree(pTHX);
#if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM)
-I32 Perl_do_ipcctl(pTHX_ I32 optype, SV** mark, SV** sp);
-I32 Perl_do_ipcget(pTHX_ I32 optype, SV** mark, SV** sp);
-I32 Perl_do_msgrcv(pTHX_ SV** mark, SV** sp);
-I32 Perl_do_msgsnd(pTHX_ SV** mark, SV** sp);
-I32 Perl_do_semop(pTHX_ SV** mark, SV** sp);
-I32 Perl_do_shmio(pTHX_ I32 optype, SV** mark, SV** sp);
-#endif
-void Perl_do_join(pTHX_ SV* sv, SV* del, SV** mark, SV** sp);
-OP* Perl_do_kv(pTHX);
-bool Perl_do_open(pTHX_ GV* gv, char* name, I32 len, int as_raw, int rawmode, int rawperm, PerlIO* supplied_fp);
-void Perl_do_pipe(pTHX_ SV* sv, GV* rgv, GV* wgv);
-bool Perl_do_print(pTHX_ SV* sv, PerlIO* fp);
-OP* Perl_do_readline(pTHX);
-I32 Perl_do_chomp(pTHX_ SV* sv);
-bool Perl_do_seek(pTHX_ GV* gv, Off_t pos, int whence);
-void Perl_do_sprintf(pTHX_ SV* sv, I32 len, SV** sarg);
-Off_t Perl_do_sysseek(pTHX_ GV* gv, Off_t pos, int whence);
-Off_t Perl_do_tell(pTHX_ GV* gv);
-I32 Perl_do_trans(pTHX_ SV* sv);
-void Perl_do_vecset(pTHX_ SV* sv);
-void Perl_do_vop(pTHX_ I32 optype, SV* sv, SV* left, SV* right);
-OP* Perl_dofile(pTHX_ OP* term);
-I32 Perl_dowantarray(pTHX);
-void Perl_dump_all(pTHX);
-void Perl_dump_eval(pTHX);
+VIRTUAL I32 Perl_do_ipcctl(pTHX_ I32 optype, SV** mark, SV** sp);
+VIRTUAL I32 Perl_do_ipcget(pTHX_ I32 optype, SV** mark, SV** sp);
+VIRTUAL I32 Perl_do_msgrcv(pTHX_ SV** mark, SV** sp);
+VIRTUAL I32 Perl_do_msgsnd(pTHX_ SV** mark, SV** sp);
+VIRTUAL I32 Perl_do_semop(pTHX_ SV** mark, SV** sp);
+VIRTUAL I32 Perl_do_shmio(pTHX_ I32 optype, SV** mark, SV** sp);
+#endif
+VIRTUAL void Perl_do_join(pTHX_ SV* sv, SV* del, SV** mark, SV** sp);
+VIRTUAL OP* Perl_do_kv(pTHX);
+VIRTUAL bool Perl_do_open(pTHX_ GV* gv, char* name, I32 len, int as_raw, int rawmode, int rawperm, PerlIO* supplied_fp);
+VIRTUAL void Perl_do_pipe(pTHX_ SV* sv, GV* rgv, GV* wgv);
+VIRTUAL bool Perl_do_print(pTHX_ SV* sv, PerlIO* fp);
+VIRTUAL OP* Perl_do_readline(pTHX);
+VIRTUAL I32 Perl_do_chomp(pTHX_ SV* sv);
+VIRTUAL bool Perl_do_seek(pTHX_ GV* gv, Off_t pos, int whence);
+VIRTUAL void Perl_do_sprintf(pTHX_ SV* sv, I32 len, SV** sarg);
+VIRTUAL Off_t Perl_do_sysseek(pTHX_ GV* gv, Off_t pos, int whence);
+VIRTUAL Off_t Perl_do_tell(pTHX_ GV* gv);
+VIRTUAL I32 Perl_do_trans(pTHX_ SV* sv);
+VIRTUAL void Perl_do_vecset(pTHX_ SV* sv);
+VIRTUAL void Perl_do_vop(pTHX_ I32 optype, SV* sv, SV* left, SV* right);
+VIRTUAL OP* Perl_dofile(pTHX_ OP* term);
+VIRTUAL I32 Perl_dowantarray(pTHX);
+VIRTUAL void Perl_dump_all(pTHX);
+VIRTUAL void Perl_dump_eval(pTHX);
#if defined(DUMP_FDS)
-void Perl_dump_fds(pTHX_ char* s);
-#endif
-void Perl_dump_form(pTHX_ GV* gv);
-void Perl_gv_dump(pTHX_ GV* gv);
-void Perl_op_dump(pTHX_ OP* arg);
-void Perl_pmop_dump(pTHX_ PMOP* pm);
-void Perl_dump_packsubs(pTHX_ HV* stash);
-void Perl_dump_sub(pTHX_ GV* gv);
-void Perl_fbm_compile(pTHX_ SV* sv, U32 flags);
-char* Perl_fbm_instr(pTHX_ unsigned char* big, unsigned char* bigend, SV* littlesv, U32 flags);
-char* Perl_find_script(pTHX_ char *scriptname, bool dosearch, char **search_ext, I32 flags);
+VIRTUAL void Perl_dump_fds(pTHX_ char* s);
+#endif
+VIRTUAL void Perl_dump_form(pTHX_ GV* gv);
+VIRTUAL void Perl_gv_dump(pTHX_ GV* gv);
+VIRTUAL void Perl_op_dump(pTHX_ OP* arg);
+VIRTUAL void Perl_pmop_dump(pTHX_ PMOP* pm);
+VIRTUAL void Perl_dump_packsubs(pTHX_ HV* stash);
+VIRTUAL void Perl_dump_sub(pTHX_ GV* gv);
+VIRTUAL void Perl_fbm_compile(pTHX_ SV* sv, U32 flags);
+VIRTUAL char* Perl_fbm_instr(pTHX_ unsigned char* big, unsigned char* bigend, SV* littlesv, U32 flags);
+VIRTUAL char* Perl_find_script(pTHX_ char *scriptname, bool dosearch, char **search_ext, I32 flags);
#if defined(USE_THREADS)
-PADOFFSET Perl_find_threadsv(pTHX_ const char *name);
+VIRTUAL PADOFFSET Perl_find_threadsv(pTHX_ const char *name);
#endif
-OP* Perl_force_list(pTHX_ OP* arg);
-OP* Perl_fold_constants(pTHX_ OP* arg);
-char* Perl_form(pTHX_ const char* pat, ...);
-void Perl_free_tmps(pTHX);
-OP* Perl_gen_constant_list(pTHX_ OP* o);
+VIRTUAL OP* Perl_force_list(pTHX_ OP* arg);
+VIRTUAL OP* Perl_fold_constants(pTHX_ OP* arg);
+VIRTUAL char* Perl_form(pTHX_ const char* pat, ...);
+VIRTUAL void Perl_free_tmps(pTHX);
+VIRTUAL OP* Perl_gen_constant_list(pTHX_ OP* o);
#if !defined(HAS_GETENV_LEN)
-char* Perl_getenv_len(pTHX_ char* key, unsigned long *len);
-#endif
-void Perl_gp_free(pTHX_ GV* gv);
-GP* Perl_gp_ref(pTHX_ GP* gp);
-GV* Perl_gv_AVadd(pTHX_ GV* gv);
-GV* Perl_gv_HVadd(pTHX_ GV* gv);
-GV* Perl_gv_IOadd(pTHX_ GV* gv);
-GV* Perl_gv_autoload4(pTHX_ HV* stash, const char* name, STRLEN len, I32 method);
-void Perl_gv_check(pTHX_ HV* stash);
-void Perl_gv_efullname(pTHX_ SV* sv, GV* gv);
-void Perl_gv_efullname3(pTHX_ SV* sv, GV* gv, const char* prefix);
-GV* Perl_gv_fetchfile(pTHX_ const char* name);
-GV* Perl_gv_fetchmeth(pTHX_ HV* stash, const char* name, STRLEN len, I32 level);
-GV* Perl_gv_fetchmethod(pTHX_ HV* stash, const char* name);
-GV* Perl_gv_fetchmethod_autoload(pTHX_ HV* stash, const char* name, I32 autoload);
-GV* Perl_gv_fetchpv(pTHX_ const char* name, I32 add, I32 sv_type);
-void Perl_gv_fullname(pTHX_ SV* sv, GV* gv);
-void Perl_gv_fullname3(pTHX_ SV* sv, GV* gv, const char* prefix);
-void Perl_gv_init(pTHX_ GV* gv, HV* stash, const char* name, STRLEN len, int multi);
-HV* Perl_gv_stashpv(pTHX_ const char* name, I32 create);
-HV* Perl_gv_stashpvn(pTHX_ const char* name, U32 namelen, I32 create);
-HV* Perl_gv_stashsv(pTHX_ SV* sv, I32 create);
-void Perl_hv_clear(pTHX_ HV* tb);
-void Perl_hv_delayfree_ent(pTHX_ HV* hv, HE* entry);
-SV* Perl_hv_delete(pTHX_ HV* tb, const char* key, U32 klen, I32 flags);
-SV* Perl_hv_delete_ent(pTHX_ HV* tb, SV* key, I32 flags, U32 hash);
-bool Perl_hv_exists(pTHX_ HV* tb, const char* key, U32 klen);
-bool Perl_hv_exists_ent(pTHX_ HV* tb, SV* key, U32 hash);
-SV** Perl_hv_fetch(pTHX_ HV* tb, const char* key, U32 klen, I32 lval);
-HE* Perl_hv_fetch_ent(pTHX_ HV* tb, SV* key, I32 lval, U32 hash);
-void Perl_hv_free_ent(pTHX_ HV* hv, HE* entry);
-I32 Perl_hv_iterinit(pTHX_ HV* tb);
-char* Perl_hv_iterkey(pTHX_ HE* entry, I32* retlen);
-SV* Perl_hv_iterkeysv(pTHX_ HE* entry);
-HE* Perl_hv_iternext(pTHX_ HV* tb);
-SV* Perl_hv_iternextsv(pTHX_ HV* hv, char** key, I32* retlen);
-SV* Perl_hv_iterval(pTHX_ HV* tb, HE* entry);
-void Perl_hv_ksplit(pTHX_ HV* hv, IV newmax);
-void Perl_hv_magic(pTHX_ HV* hv, GV* gv, int how);
-SV** Perl_hv_store(pTHX_ HV* tb, const char* key, U32 klen, SV* val, U32 hash);
-HE* Perl_hv_store_ent(pTHX_ HV* tb, SV* key, SV* val, U32 hash);
-void Perl_hv_undef(pTHX_ HV* tb);
-I32 Perl_ibcmp(pTHX_ const char* a, const char* b, I32 len);
-I32 Perl_ibcmp_locale(pTHX_ const char* a, const char* b, I32 len);
-I32 Perl_ingroup(pTHX_ I32 testgid, I32 effective);
-void Perl_init_stacks(pTHX);
-U32 Perl_intro_my(pTHX);
-char* Perl_instr(pTHX_ const char* big, const char* little);
-bool Perl_io_close(pTHX_ IO* io);
-OP* Perl_invert(pTHX_ OP* cmd);
-bool Perl_is_uni_alnum(pTHX_ U32 c);
-bool Perl_is_uni_idfirst(pTHX_ U32 c);
-bool Perl_is_uni_alpha(pTHX_ U32 c);
-bool Perl_is_uni_space(pTHX_ U32 c);
-bool Perl_is_uni_digit(pTHX_ U32 c);
-bool Perl_is_uni_upper(pTHX_ U32 c);
-bool Perl_is_uni_lower(pTHX_ U32 c);
-bool Perl_is_uni_print(pTHX_ U32 c);
-U32 Perl_to_uni_upper(pTHX_ U32 c);
-U32 Perl_to_uni_title(pTHX_ U32 c);
-U32 Perl_to_uni_lower(pTHX_ U32 c);
-bool Perl_is_uni_alnum_lc(pTHX_ U32 c);
-bool Perl_is_uni_idfirst_lc(pTHX_ U32 c);
-bool Perl_is_uni_alpha_lc(pTHX_ U32 c);
-bool Perl_is_uni_space_lc(pTHX_ U32 c);
-bool Perl_is_uni_digit_lc(pTHX_ U32 c);
-bool Perl_is_uni_upper_lc(pTHX_ U32 c);
-bool Perl_is_uni_lower_lc(pTHX_ U32 c);
-bool Perl_is_uni_print_lc(pTHX_ U32 c);
-U32 Perl_to_uni_upper_lc(pTHX_ U32 c);
-U32 Perl_to_uni_title_lc(pTHX_ U32 c);
-U32 Perl_to_uni_lower_lc(pTHX_ U32 c);
-bool Perl_is_utf8_alnum(pTHX_ U8 *p);
-bool Perl_is_utf8_idfirst(pTHX_ U8 *p);
-bool Perl_is_utf8_alpha(pTHX_ U8 *p);
-bool Perl_is_utf8_space(pTHX_ U8 *p);
-bool Perl_is_utf8_digit(pTHX_ U8 *p);
-bool Perl_is_utf8_upper(pTHX_ U8 *p);
-bool Perl_is_utf8_lower(pTHX_ U8 *p);
-bool Perl_is_utf8_print(pTHX_ U8 *p);
-bool Perl_is_utf8_mark(pTHX_ U8 *p);
-OP* Perl_jmaybe(pTHX_ OP* arg);
-I32 Perl_keyword(pTHX_ char* d, I32 len);
-void Perl_leave_scope(pTHX_ I32 base);
-void Perl_lex_end(pTHX);
-void Perl_lex_start(pTHX_ SV* line);
-OP* Perl_linklist(pTHX_ OP* o);
-OP* Perl_list(pTHX_ OP* o);
-OP* Perl_listkids(pTHX_ OP* o);
-OP* Perl_localize(pTHX_ OP* arg, I32 lexical);
-I32 Perl_looks_like_number(pTHX_ SV* sv);
-int Perl_magic_clearenv(pTHX_ SV* sv, MAGIC* mg);
-int Perl_magic_clear_all_env(pTHX_ SV* sv, MAGIC* mg);
-int Perl_magic_clearpack(pTHX_ SV* sv, MAGIC* mg);
-int Perl_magic_clearsig(pTHX_ SV* sv, MAGIC* mg);
-int Perl_magic_existspack(pTHX_ SV* sv, MAGIC* mg);
-int Perl_magic_freeregexp(pTHX_ SV* sv, MAGIC* mg);
-int Perl_magic_get(pTHX_ SV* sv, MAGIC* mg);
-int Perl_magic_getarylen(pTHX_ SV* sv, MAGIC* mg);
-int Perl_magic_getdefelem(pTHX_ SV* sv, MAGIC* mg);
-int Perl_magic_getglob(pTHX_ SV* sv, MAGIC* mg);
-int Perl_magic_getnkeys(pTHX_ SV* sv, MAGIC* mg);
-int Perl_magic_getpack(pTHX_ SV* sv, MAGIC* mg);
-int Perl_magic_getpos(pTHX_ SV* sv, MAGIC* mg);
-int Perl_magic_getsig(pTHX_ SV* sv, MAGIC* mg);
-int Perl_magic_getsubstr(pTHX_ SV* sv, MAGIC* mg);
-int Perl_magic_gettaint(pTHX_ SV* sv, MAGIC* mg);
-int Perl_magic_getuvar(pTHX_ SV* sv, MAGIC* mg);
-int Perl_magic_getvec(pTHX_ SV* sv, MAGIC* mg);
-U32 Perl_magic_len(pTHX_ SV* sv, MAGIC* mg);
+VIRTUAL char* Perl_getenv_len(pTHX_ char* key, unsigned long *len);
+#endif
+VIRTUAL void Perl_gp_free(pTHX_ GV* gv);
+VIRTUAL GP* Perl_gp_ref(pTHX_ GP* gp);
+VIRTUAL GV* Perl_gv_AVadd(pTHX_ GV* gv);
+VIRTUAL GV* Perl_gv_HVadd(pTHX_ GV* gv);
+VIRTUAL GV* Perl_gv_IOadd(pTHX_ GV* gv);
+VIRTUAL GV* Perl_gv_autoload4(pTHX_ HV* stash, const char* name, STRLEN len, I32 method);
+VIRTUAL void Perl_gv_check(pTHX_ HV* stash);
+VIRTUAL void Perl_gv_efullname(pTHX_ SV* sv, GV* gv);
+VIRTUAL void Perl_gv_efullname3(pTHX_ SV* sv, GV* gv, const char* prefix);
+VIRTUAL GV* Perl_gv_fetchfile(pTHX_ const char* name);
+VIRTUAL GV* Perl_gv_fetchmeth(pTHX_ HV* stash, const char* name, STRLEN len, I32 level);
+VIRTUAL GV* Perl_gv_fetchmethod(pTHX_ HV* stash, const char* name);
+VIRTUAL GV* Perl_gv_fetchmethod_autoload(pTHX_ HV* stash, const char* name, I32 autoload);
+VIRTUAL GV* Perl_gv_fetchpv(pTHX_ const char* name, I32 add, I32 sv_type);
+VIRTUAL void Perl_gv_fullname(pTHX_ SV* sv, GV* gv);
+VIRTUAL void Perl_gv_fullname3(pTHX_ SV* sv, GV* gv, const char* prefix);
+VIRTUAL void Perl_gv_init(pTHX_ GV* gv, HV* stash, const char* name, STRLEN len, int multi);
+VIRTUAL HV* Perl_gv_stashpv(pTHX_ const char* name, I32 create);
+VIRTUAL HV* Perl_gv_stashpvn(pTHX_ const char* name, U32 namelen, I32 create);
+VIRTUAL HV* Perl_gv_stashsv(pTHX_ SV* sv, I32 create);
+VIRTUAL void Perl_hv_clear(pTHX_ HV* tb);
+VIRTUAL void Perl_hv_delayfree_ent(pTHX_ HV* hv, HE* entry);
+VIRTUAL SV* Perl_hv_delete(pTHX_ HV* tb, const char* key, U32 klen, I32 flags);
+VIRTUAL SV* Perl_hv_delete_ent(pTHX_ HV* tb, SV* key, I32 flags, U32 hash);
+VIRTUAL bool Perl_hv_exists(pTHX_ HV* tb, const char* key, U32 klen);
+VIRTUAL bool Perl_hv_exists_ent(pTHX_ HV* tb, SV* key, U32 hash);
+VIRTUAL SV** Perl_hv_fetch(pTHX_ HV* tb, const char* key, U32 klen, I32 lval);
+VIRTUAL HE* Perl_hv_fetch_ent(pTHX_ HV* tb, SV* key, I32 lval, U32 hash);
+VIRTUAL void Perl_hv_free_ent(pTHX_ HV* hv, HE* entry);
+VIRTUAL I32 Perl_hv_iterinit(pTHX_ HV* tb);
+VIRTUAL char* Perl_hv_iterkey(pTHX_ HE* entry, I32* retlen);
+VIRTUAL SV* Perl_hv_iterkeysv(pTHX_ HE* entry);
+VIRTUAL HE* Perl_hv_iternext(pTHX_ HV* tb);
+VIRTUAL SV* Perl_hv_iternextsv(pTHX_ HV* hv, char** key, I32* retlen);
+VIRTUAL SV* Perl_hv_iterval(pTHX_ HV* tb, HE* entry);
+VIRTUAL void Perl_hv_ksplit(pTHX_ HV* hv, IV newmax);
+VIRTUAL void Perl_hv_magic(pTHX_ HV* hv, GV* gv, int how);
+VIRTUAL SV** Perl_hv_store(pTHX_ HV* tb, const char* key, U32 klen, SV* val, U32 hash);
+VIRTUAL HE* Perl_hv_store_ent(pTHX_ HV* tb, SV* key, SV* val, U32 hash);
+VIRTUAL void Perl_hv_undef(pTHX_ HV* tb);
+VIRTUAL I32 Perl_ibcmp(pTHX_ const char* a, const char* b, I32 len);
+VIRTUAL I32 Perl_ibcmp_locale(pTHX_ const char* a, const char* b, I32 len);
+VIRTUAL I32 Perl_ingroup(pTHX_ I32 testgid, I32 effective);
+VIRTUAL void Perl_init_stacks(pTHX);
+VIRTUAL U32 Perl_intro_my(pTHX);
+VIRTUAL char* Perl_instr(pTHX_ const char* big, const char* little);
+VIRTUAL bool Perl_io_close(pTHX_ IO* io);
+VIRTUAL OP* Perl_invert(pTHX_ OP* cmd);
+VIRTUAL bool Perl_is_uni_alnum(pTHX_ U32 c);
+VIRTUAL bool Perl_is_uni_idfirst(pTHX_ U32 c);
+VIRTUAL bool Perl_is_uni_alpha(pTHX_ U32 c);
+VIRTUAL bool Perl_is_uni_space(pTHX_ U32 c);
+VIRTUAL bool Perl_is_uni_digit(pTHX_ U32 c);
+VIRTUAL bool Perl_is_uni_upper(pTHX_ U32 c);
+VIRTUAL bool Perl_is_uni_lower(pTHX_ U32 c);
+VIRTUAL bool Perl_is_uni_print(pTHX_ U32 c);
+VIRTUAL U32 Perl_to_uni_upper(pTHX_ U32 c);
+VIRTUAL U32 Perl_to_uni_title(pTHX_ U32 c);
+VIRTUAL U32 Perl_to_uni_lower(pTHX_ U32 c);
+VIRTUAL bool Perl_is_uni_alnum_lc(pTHX_ U32 c);
+VIRTUAL bool Perl_is_uni_idfirst_lc(pTHX_ U32 c);
+VIRTUAL bool Perl_is_uni_alpha_lc(pTHX_ U32 c);
+VIRTUAL bool Perl_is_uni_space_lc(pTHX_ U32 c);
+VIRTUAL bool Perl_is_uni_digit_lc(pTHX_ U32 c);
+VIRTUAL bool Perl_is_uni_upper_lc(pTHX_ U32 c);
+VIRTUAL bool Perl_is_uni_lower_lc(pTHX_ U32 c);
+VIRTUAL bool Perl_is_uni_print_lc(pTHX_ U32 c);
+VIRTUAL U32 Perl_to_uni_upper_lc(pTHX_ U32 c);
+VIRTUAL U32 Perl_to_uni_title_lc(pTHX_ U32 c);
+VIRTUAL U32 Perl_to_uni_lower_lc(pTHX_ U32 c);
+VIRTUAL bool Perl_is_utf8_alnum(pTHX_ U8 *p);
+VIRTUAL bool Perl_is_utf8_idfirst(pTHX_ U8 *p);
+VIRTUAL bool Perl_is_utf8_alpha(pTHX_ U8 *p);
+VIRTUAL bool Perl_is_utf8_space(pTHX_ U8 *p);
+VIRTUAL bool Perl_is_utf8_digit(pTHX_ U8 *p);
+VIRTUAL bool Perl_is_utf8_upper(pTHX_ U8 *p);
+VIRTUAL bool Perl_is_utf8_lower(pTHX_ U8 *p);
+VIRTUAL bool Perl_is_utf8_print(pTHX_ U8 *p);
+VIRTUAL bool Perl_is_utf8_mark(pTHX_ U8 *p);
+VIRTUAL OP* Perl_jmaybe(pTHX_ OP* arg);
+VIRTUAL I32 Perl_keyword(pTHX_ char* d, I32 len);
+VIRTUAL void Perl_leave_scope(pTHX_ I32 base);
+VIRTUAL void Perl_lex_end(pTHX);
+VIRTUAL void Perl_lex_start(pTHX_ SV* line);
+VIRTUAL OP* Perl_linklist(pTHX_ OP* o);
+VIRTUAL OP* Perl_list(pTHX_ OP* o);
+VIRTUAL OP* Perl_listkids(pTHX_ OP* o);
+VIRTUAL OP* Perl_localize(pTHX_ OP* arg, I32 lexical);
+VIRTUAL I32 Perl_looks_like_number(pTHX_ SV* sv);
+VIRTUAL int Perl_magic_clearenv(pTHX_ SV* sv, MAGIC* mg);
+VIRTUAL int Perl_magic_clear_all_env(pTHX_ SV* sv, MAGIC* mg);
+VIRTUAL int Perl_magic_clearpack(pTHX_ SV* sv, MAGIC* mg);
+VIRTUAL int Perl_magic_clearsig(pTHX_ SV* sv, MAGIC* mg);
+VIRTUAL int Perl_magic_existspack(pTHX_ SV* sv, MAGIC* mg);
+VIRTUAL int Perl_magic_freeregexp(pTHX_ SV* sv, MAGIC* mg);
+VIRTUAL int Perl_magic_get(pTHX_ SV* sv, MAGIC* mg);
+VIRTUAL int Perl_magic_getarylen(pTHX_ SV* sv, MAGIC* mg);
+VIRTUAL int Perl_magic_getdefelem(pTHX_ SV* sv, MAGIC* mg);
+VIRTUAL int Perl_magic_getglob(pTHX_ SV* sv, MAGIC* mg);
+VIRTUAL int Perl_magic_getnkeys(pTHX_ SV* sv, MAGIC* mg);
+VIRTUAL int Perl_magic_getpack(pTHX_ SV* sv, MAGIC* mg);
+VIRTUAL int Perl_magic_getpos(pTHX_ SV* sv, MAGIC* mg);
+VIRTUAL int Perl_magic_getsig(pTHX_ SV* sv, MAGIC* mg);
+VIRTUAL int Perl_magic_getsubstr(pTHX_ SV* sv, MAGIC* mg);
+VIRTUAL int Perl_magic_gettaint(pTHX_ SV* sv, MAGIC* mg);
+VIRTUAL int Perl_magic_getuvar(pTHX_ SV* sv, MAGIC* mg);
+VIRTUAL int Perl_magic_getvec(pTHX_ SV* sv, MAGIC* mg);
+VIRTUAL U32 Perl_magic_len(pTHX_ SV* sv, MAGIC* mg);
#if defined(USE_THREADS)
-int Perl_magic_mutexfree(pTHX_ SV* sv, MAGIC* mg);
-#endif
-int Perl_magic_nextpack(pTHX_ SV* sv, MAGIC* mg, SV* key);
-U32 Perl_magic_regdata_cnt(pTHX_ SV* sv, MAGIC* mg);
-int Perl_magic_regdatum_get(pTHX_ SV* sv, MAGIC* mg);
-int Perl_magic_set(pTHX_ SV* sv, MAGIC* mg);
-int Perl_magic_setamagic(pTHX_ SV* sv, MAGIC* mg);
-int Perl_magic_setarylen(pTHX_ SV* sv, MAGIC* mg);
-int Perl_magic_setbm(pTHX_ SV* sv, MAGIC* mg);
-int Perl_magic_setdbline(pTHX_ SV* sv, MAGIC* mg);
+VIRTUAL int Perl_magic_mutexfree(pTHX_ SV* sv, MAGIC* mg);
+#endif
+VIRTUAL int Perl_magic_nextpack(pTHX_ SV* sv, MAGIC* mg, SV* key);
+VIRTUAL U32 Perl_magic_regdata_cnt(pTHX_ SV* sv, MAGIC* mg);
+VIRTUAL int Perl_magic_regdatum_get(pTHX_ SV* sv, MAGIC* mg);
+VIRTUAL int Perl_magic_set(pTHX_ SV* sv, MAGIC* mg);
+VIRTUAL int Perl_magic_setamagic(pTHX_ SV* sv, MAGIC* mg);
+VIRTUAL int Perl_magic_setarylen(pTHX_ SV* sv, MAGIC* mg);
+VIRTUAL int Perl_magic_setbm(pTHX_ SV* sv, MAGIC* mg);
+VIRTUAL int Perl_magic_setdbline(pTHX_ SV* sv, MAGIC* mg);
#if defined(USE_LOCALE_COLLATE)
-int Perl_magic_setcollxfrm(pTHX_ SV* sv, MAGIC* mg);
-#endif
-int Perl_magic_setdefelem(pTHX_ SV* sv, MAGIC* mg);
-int Perl_magic_setenv(pTHX_ SV* sv, MAGIC* mg);
-int Perl_magic_setfm(pTHX_ SV* sv, MAGIC* mg);
-int Perl_magic_setisa(pTHX_ SV* sv, MAGIC* mg);
-int Perl_magic_setglob(pTHX_ SV* sv, MAGIC* mg);
-int Perl_magic_setmglob(pTHX_ SV* sv, MAGIC* mg);
-int Perl_magic_setnkeys(pTHX_ SV* sv, MAGIC* mg);
-int Perl_magic_setpack(pTHX_ SV* sv, MAGIC* mg);
-int Perl_magic_setpos(pTHX_ SV* sv, MAGIC* mg);
-int Perl_magic_setsig(pTHX_ SV* sv, MAGIC* mg);
-int Perl_magic_setsubstr(pTHX_ SV* sv, MAGIC* mg);
-int Perl_magic_settaint(pTHX_ SV* sv, MAGIC* mg);
-int Perl_magic_setuvar(pTHX_ SV* sv, MAGIC* mg);
-int Perl_magic_setvec(pTHX_ SV* sv, MAGIC* mg);
-int Perl_magic_set_all_env(pTHX_ SV* sv, MAGIC* mg);
-U32 Perl_magic_sizepack(pTHX_ SV* sv, MAGIC* mg);
-int Perl_magic_wipepack(pTHX_ SV* sv, MAGIC* mg);
-void Perl_magicname(pTHX_ char* sym, char* name, I32 namlen);
-int main(int argc, char** argv, char** env);
+VIRTUAL int Perl_magic_setcollxfrm(pTHX_ SV* sv, MAGIC* mg);
+#endif
+VIRTUAL int Perl_magic_setdefelem(pTHX_ SV* sv, MAGIC* mg);
+VIRTUAL int Perl_magic_setenv(pTHX_ SV* sv, MAGIC* mg);
+VIRTUAL int Perl_magic_setfm(pTHX_ SV* sv, MAGIC* mg);
+VIRTUAL int Perl_magic_setisa(pTHX_ SV* sv, MAGIC* mg);
+VIRTUAL int Perl_magic_setglob(pTHX_ SV* sv, MAGIC* mg);
+VIRTUAL int Perl_magic_setmglob(pTHX_ SV* sv, MAGIC* mg);
+VIRTUAL int Perl_magic_setnkeys(pTHX_ SV* sv, MAGIC* mg);
+VIRTUAL int Perl_magic_setpack(pTHX_ SV* sv, MAGIC* mg);
+VIRTUAL int Perl_magic_setpos(pTHX_ SV* sv, MAGIC* mg);
+VIRTUAL int Perl_magic_setsig(pTHX_ SV* sv, MAGIC* mg);
+VIRTUAL int Perl_magic_setsubstr(pTHX_ SV* sv, MAGIC* mg);
+VIRTUAL int Perl_magic_settaint(pTHX_ SV* sv, MAGIC* mg);
+VIRTUAL int Perl_magic_setuvar(pTHX_ SV* sv, MAGIC* mg);
+VIRTUAL int Perl_magic_setvec(pTHX_ SV* sv, MAGIC* mg);
+VIRTUAL int Perl_magic_set_all_env(pTHX_ SV* sv, MAGIC* mg);
+VIRTUAL U32 Perl_magic_sizepack(pTHX_ SV* sv, MAGIC* mg);
+VIRTUAL int Perl_magic_wipepack(pTHX_ SV* sv, MAGIC* mg);
+VIRTUAL void Perl_magicname(pTHX_ char* sym, char* name, I32 namlen);
#if defined(MYMALLOC)
-MEM_SIZE Perl_malloced_size(void *p);
+VIRTUAL MEM_SIZE Perl_malloced_size(void *p);
#endif
-void Perl_markstack_grow(pTHX);
+VIRTUAL void Perl_markstack_grow(pTHX);
#if defined(USE_LOCALE_COLLATE)
-char* Perl_mem_collxfrm(pTHX_ const char* s, STRLEN len, STRLEN* xlen);
-#endif
-SV* Perl_mess(pTHX_ const char* pat, va_list* args);
-int Perl_mg_clear(pTHX_ SV* sv);
-int Perl_mg_copy(pTHX_ SV* sv, SV* nsv, const char* key, I32 klen);
-MAGIC* Perl_mg_find(pTHX_ SV* sv, int type);
-int Perl_mg_free(pTHX_ SV* sv);
-int Perl_mg_get(pTHX_ SV* sv);
-U32 Perl_mg_length(pTHX_ SV* sv);
-void Perl_mg_magical(pTHX_ SV* sv);
-int Perl_mg_set(pTHX_ SV* sv);
-I32 Perl_mg_size(pTHX_ SV* sv);
-OP* Perl_mod(pTHX_ OP* o, I32 type);
-char* Perl_moreswitches(pTHX_ char* s);
-OP* Perl_my(pTHX_ OP* o);
+VIRTUAL char* Perl_mem_collxfrm(pTHX_ const char* s, STRLEN len, STRLEN* xlen);
+#endif
+VIRTUAL SV* Perl_mess(pTHX_ const char* pat, va_list* args);
+VIRTUAL int Perl_mg_clear(pTHX_ SV* sv);
+VIRTUAL int Perl_mg_copy(pTHX_ SV* sv, SV* nsv, const char* key, I32 klen);
+VIRTUAL MAGIC* Perl_mg_find(pTHX_ SV* sv, int type);
+VIRTUAL int Perl_mg_free(pTHX_ SV* sv);
+VIRTUAL int Perl_mg_get(pTHX_ SV* sv);
+VIRTUAL U32 Perl_mg_length(pTHX_ SV* sv);
+VIRTUAL void Perl_mg_magical(pTHX_ SV* sv);
+VIRTUAL int Perl_mg_set(pTHX_ SV* sv);
+VIRTUAL I32 Perl_mg_size(pTHX_ SV* sv);
+VIRTUAL OP* Perl_mod(pTHX_ OP* o, I32 type);
+VIRTUAL char* Perl_moreswitches(pTHX_ char* s);
+VIRTUAL OP* Perl_my(pTHX_ OP* o);
#ifdef USE_LOCALE_NUMERIC
-double Perl_my_atof(pTHX_ const char *s);
+VIRTUAL double Perl_my_atof(pTHX_ const char *s);
#endif
#if !defined(HAS_BCOPY) || !defined(HAS_SAFE_BCOPY)
-char* Perl_my_bcopy(pTHX_ const char* from, char* to, I32 len);
+VIRTUAL char* Perl_my_bcopy(pTHX_ const char* from, char* to, I32 len);
#endif
#if !defined(HAS_BZERO) && !defined(HAS_MEMSET)
-char* Perl_my_bzero(pTHX_ char* loc, I32 len);
+VIRTUAL char* Perl_my_bzero(pTHX_ char* loc, I32 len);
#endif
-void Perl_my_exit(pTHX_ U32 status) __attribute__((noreturn));
-void Perl_my_failure_exit(pTHX) __attribute__((noreturn));
-I32 Perl_my_fflush_all(pTHX);
-I32 Perl_my_lstat(pTHX);
+VIRTUAL void Perl_my_exit(pTHX_ U32 status) __attribute__((noreturn));
+VIRTUAL void Perl_my_failure_exit(pTHX) __attribute__((noreturn));
+VIRTUAL I32 Perl_my_fflush_all(pTHX);
+VIRTUAL I32 Perl_my_lstat(pTHX);
#if !defined(HAS_MEMCMP) || !defined(HAS_SANE_MEMCMP)
-I32 Perl_my_memcmp(pTHX_ const char* s1, const char* s2, I32 len);
+VIRTUAL I32 Perl_my_memcmp(pTHX_ const char* s1, const char* s2, I32 len);
#endif
#if !defined(HAS_MEMSET)
-void* Perl_my_memset(pTHX_ char* loc, I32 ch, I32 len);
+VIRTUAL void* Perl_my_memset(pTHX_ char* loc, I32 ch, I32 len);
#endif
#if !defined(PERL_OBJECT)
-I32 Perl_my_pclose(pTHX_ PerlIO* ptr);
-PerlIO* Perl_my_popen(pTHX_ char* cmd, char* mode);
+VIRTUAL I32 Perl_my_pclose(pTHX_ PerlIO* ptr);
+VIRTUAL PerlIO* Perl_my_popen(pTHX_ char* cmd, char* mode);
#endif
-void Perl_my_setenv(pTHX_ char* nam, char* val);
-I32 Perl_my_stat(pTHX);
+VIRTUAL void Perl_my_setenv(pTHX_ char* nam, char* val);
+VIRTUAL I32 Perl_my_stat(pTHX);
#if defined(MYSWAP)
-short Perl_my_swap(pTHX_ short s);
-long Perl_my_htonl(pTHX_ long l);
-long Perl_my_ntohl(pTHX_ long l);
-#endif
-void Perl_my_unexec(pTHX);
-OP* Perl_newANONLIST(pTHX_ OP* o);
-OP* Perl_newANONHASH(pTHX_ OP* o);
-OP* Perl_newANONSUB(pTHX_ I32 floor, OP* proto, OP* block);
-OP* Perl_newASSIGNOP(pTHX_ I32 flags, OP* left, I32 optype, OP* right);
-OP* Perl_newCONDOP(pTHX_ I32 flags, OP* expr, OP* trueop, OP* falseop);
-void Perl_newCONSTSUB(pTHX_ HV* stash, char* name, SV* sv);
-void Perl_newFORM(pTHX_ I32 floor, OP* o, OP* block);
-OP* Perl_newFOROP(pTHX_ I32 flags, char* label, line_t forline, OP* sclr, OP* expr, OP*block, OP*cont);
-OP* Perl_newLOGOP(pTHX_ I32 optype, I32 flags, OP* left, OP* right);
-OP* Perl_newLOOPEX(pTHX_ I32 type, OP* label);
-OP* Perl_newLOOPOP(pTHX_ I32 flags, I32 debuggable, OP* expr, OP* block);
-OP* Perl_newNULLLIST(pTHX);
-OP* Perl_newOP(pTHX_ I32 optype, I32 flags);
-void Perl_newPROG(pTHX_ OP* o);
-OP* Perl_newRANGE(pTHX_ I32 flags, OP* left, OP* right);
-OP* Perl_newSLICEOP(pTHX_ I32 flags, OP* subscript, OP* listop);
-OP* Perl_newSTATEOP(pTHX_ I32 flags, char* label, OP* o);
-CV* Perl_newSUB(pTHX_ I32 floor, OP* o, OP* proto, OP* block);
-CV* Perl_newXS(pTHX_ char* name, XSUBADDR_t f, char* filename);
-AV* Perl_newAV(pTHX);
-OP* Perl_newAVREF(pTHX_ OP* o);
-OP* Perl_newBINOP(pTHX_ I32 type, I32 flags, OP* first, OP* last);
-OP* Perl_newCVREF(pTHX_ I32 flags, OP* o);
-OP* Perl_newGVOP(pTHX_ I32 type, I32 flags, GV* gv);
-GV* Perl_newGVgen(pTHX_ char* pack);
-OP* Perl_newGVREF(pTHX_ I32 type, OP* o);
-OP* Perl_newHVREF(pTHX_ OP* o);
-HV* Perl_newHV(pTHX);
-HV* Perl_newHVhv(pTHX_ HV* hv);
-IO* Perl_newIO(pTHX);
-OP* Perl_newLISTOP(pTHX_ I32 type, I32 flags, OP* first, OP* last);
-OP* Perl_newPMOP(pTHX_ I32 type, I32 flags);
-OP* Perl_newPVOP(pTHX_ I32 type, I32 flags, char* pv);
-SV* Perl_newRV(pTHX_ SV* pref);
-SV* Perl_newRV_noinc(pTHX_ SV *sv);
-SV* Perl_newSV(pTHX_ STRLEN len);
-OP* Perl_newSVREF(pTHX_ OP* o);
-OP* Perl_newSVOP(pTHX_ I32 type, I32 flags, SV* sv);
-SV* Perl_newSViv(pTHX_ IV i);
-SV* Perl_newSVnv(pTHX_ double n);
-SV* Perl_newSVpv(pTHX_ const char* s, STRLEN len);
-SV* Perl_newSVpvn(pTHX_ const char* s, STRLEN len);
-SV* Perl_newSVpvf(pTHX_ const char* pat, ...);
-SV* Perl_newSVrv(pTHX_ SV* rv, const char* classname);
-SV* Perl_newSVsv(pTHX_ SV* old);
-OP* Perl_newUNOP(pTHX_ I32 type, I32 flags, OP* first);
-OP* Perl_newWHILEOP(pTHX_ I32 flags, I32 debuggable, LOOP* loop, I32 whileline, OP* expr, OP* block, OP* cont);
+VIRTUAL short Perl_my_swap(pTHX_ short s);
+VIRTUAL long Perl_my_htonl(pTHX_ long l);
+VIRTUAL long Perl_my_ntohl(pTHX_ long l);
+#endif
+VIRTUAL void Perl_my_unexec(pTHX);
+VIRTUAL OP* Perl_newANONLIST(pTHX_ OP* o);
+VIRTUAL OP* Perl_newANONHASH(pTHX_ OP* o);
+VIRTUAL OP* Perl_newANONSUB(pTHX_ I32 floor, OP* proto, OP* block);
+VIRTUAL OP* Perl_newASSIGNOP(pTHX_ I32 flags, OP* left, I32 optype, OP* right);
+VIRTUAL OP* Perl_newCONDOP(pTHX_ I32 flags, OP* expr, OP* trueop, OP* falseop);
+VIRTUAL void Perl_newCONSTSUB(pTHX_ HV* stash, char* name, SV* sv);
+VIRTUAL void Perl_newFORM(pTHX_ I32 floor, OP* o, OP* block);
+VIRTUAL OP* Perl_newFOROP(pTHX_ I32 flags, char* label, line_t forline, OP* sclr, OP* expr, OP*block, OP*cont);
+VIRTUAL OP* Perl_newLOGOP(pTHX_ I32 optype, I32 flags, OP* left, OP* right);
+VIRTUAL OP* Perl_newLOOPEX(pTHX_ I32 type, OP* label);
+VIRTUAL OP* Perl_newLOOPOP(pTHX_ I32 flags, I32 debuggable, OP* expr, OP* block);
+VIRTUAL OP* Perl_newNULLLIST(pTHX);
+VIRTUAL OP* Perl_newOP(pTHX_ I32 optype, I32 flags);
+VIRTUAL void Perl_newPROG(pTHX_ OP* o);
+VIRTUAL OP* Perl_newRANGE(pTHX_ I32 flags, OP* left, OP* right);
+VIRTUAL OP* Perl_newSLICEOP(pTHX_ I32 flags, OP* subscript, OP* listop);
+VIRTUAL OP* Perl_newSTATEOP(pTHX_ I32 flags, char* label, OP* o);
+VIRTUAL CV* Perl_newSUB(pTHX_ I32 floor, OP* o, OP* proto, OP* block);
+VIRTUAL CV* Perl_newXS(pTHX_ char* name, XSUBADDR_t f, char* filename);
+VIRTUAL AV* Perl_newAV(pTHX);
+VIRTUAL OP* Perl_newAVREF(pTHX_ OP* o);
+VIRTUAL OP* Perl_newBINOP(pTHX_ I32 type, I32 flags, OP* first, OP* last);
+VIRTUAL OP* Perl_newCVREF(pTHX_ I32 flags, OP* o);
+VIRTUAL OP* Perl_newGVOP(pTHX_ I32 type, I32 flags, GV* gv);
+VIRTUAL GV* Perl_newGVgen(pTHX_ char* pack);
+VIRTUAL OP* Perl_newGVREF(pTHX_ I32 type, OP* o);
+VIRTUAL OP* Perl_newHVREF(pTHX_ OP* o);
+VIRTUAL HV* Perl_newHV(pTHX);
+VIRTUAL HV* Perl_newHVhv(pTHX_ HV* hv);
+VIRTUAL IO* Perl_newIO(pTHX);
+VIRTUAL OP* Perl_newLISTOP(pTHX_ I32 type, I32 flags, OP* first, OP* last);
+VIRTUAL OP* Perl_newPMOP(pTHX_ I32 type, I32 flags);
+VIRTUAL OP* Perl_newPVOP(pTHX_ I32 type, I32 flags, char* pv);
+VIRTUAL SV* Perl_newRV(pTHX_ SV* pref);
+VIRTUAL SV* Perl_newRV_noinc(pTHX_ SV *sv);
+VIRTUAL SV* Perl_newSV(pTHX_ STRLEN len);
+VIRTUAL OP* Perl_newSVREF(pTHX_ OP* o);
+VIRTUAL OP* Perl_newSVOP(pTHX_ I32 type, I32 flags, SV* sv);
+VIRTUAL SV* Perl_newSViv(pTHX_ IV i);
+VIRTUAL SV* Perl_newSVnv(pTHX_ double n);
+VIRTUAL SV* Perl_newSVpv(pTHX_ const char* s, STRLEN len);
+VIRTUAL SV* Perl_newSVpvn(pTHX_ const char* s, STRLEN len);
+VIRTUAL SV* Perl_newSVpvf(pTHX_ const char* pat, ...);
+VIRTUAL SV* Perl_newSVrv(pTHX_ SV* rv, const char* classname);
+VIRTUAL SV* Perl_newSVsv(pTHX_ SV* old);
+VIRTUAL OP* Perl_newUNOP(pTHX_ I32 type, I32 flags, OP* first);
+VIRTUAL OP* Perl_newWHILEOP(pTHX_ I32 flags, I32 debuggable, LOOP* loop, I32 whileline, OP* expr, OP* block, OP* cont);
#if defined(USE_THREADS)
-struct perl_thread* Perl_new_struct_thread(pTHX_ struct perl_thread *t);
-#endif
-PERL_SI* Perl_new_stackinfo(pTHX_ I32 stitems, I32 cxitems);
-PerlIO* Perl_nextargv(pTHX_ GV* gv);
-char* Perl_ninstr(pTHX_ const char* big, const char* bigend, const char* little, const char* lend);
-OP* Perl_oopsCV(pTHX_ OP* o);
-void Perl_op_free(pTHX_ OP* arg);
-void Perl_package(pTHX_ OP* o);
-PADOFFSET Perl_pad_alloc(pTHX_ I32 optype, U32 tmptype);
-PADOFFSET Perl_pad_allocmy(pTHX_ char* name);
-PADOFFSET Perl_pad_findmy(pTHX_ char* name);
-OP* Perl_oopsAV(pTHX_ OP* o);
-OP* Perl_oopsHV(pTHX_ OP* o);
-void Perl_pad_leavemy(pTHX_ I32 fill);
-SV* Perl_pad_sv(pTHX_ PADOFFSET po);
-void Perl_pad_free(pTHX_ PADOFFSET po);
-void Perl_pad_reset(pTHX);
-void Perl_pad_swipe(pTHX_ PADOFFSET po);
-void Perl_peep(pTHX_ OP* o);
-PerlInterpreter* perl_alloc(void);
-void Perl_call_atexit(pTHX_ ATEXIT_t fn, void *ptr);
-I32 Perl_call_argv(pTHX_ const char* sub_name, I32 flags, char** argv);
-I32 Perl_call_method(pTHX_ const char* methname, I32 flags);
-I32 Perl_call_pv(pTHX_ const char* sub_name, I32 flags);
-I32 Perl_call_sv(pTHX_ SV* sv, I32 flags);
-void perl_construct(PerlInterpreter* sv_interp);
-void perl_destruct(PerlInterpreter* sv_interp);
-SV* Perl_eval_pv(pTHX_ const char* p, I32 croak_on_error);
-I32 Perl_eval_sv(pTHX_ SV* sv, I32 flags);
-void perl_free(PerlInterpreter* sv_interp);
-SV* Perl_get_sv(pTHX_ const char* name, I32 create);
-AV* Perl_get_av(pTHX_ const char* name, I32 create);
-HV* Perl_get_hv(pTHX_ const char* name, I32 create);
-CV* Perl_get_cv(pTHX_ const char* name, I32 create);
-int Perl_init_i18nl10n(pTHX_ int printwarn);
-int Perl_init_i18nl14n(pTHX_ int printwarn);
-void Perl_new_collate(pTHX_ const char* newcoll);
-void Perl_new_ctype(pTHX_ const char* newctype);
-void Perl_new_numeric(pTHX_ const char* newcoll);
-void Perl_set_numeric_local(pTHX);
-void Perl_set_numeric_radix(pTHX);
-void Perl_set_numeric_standard(pTHX);
-int perl_parse(PerlInterpreter* sv_interp, XSINIT_t xsinit, int argc, char** argv, char** env);
-void Perl_require_pv(pTHX_ const char* pv);
-int perl_run(PerlInterpreter* sv_interp);
-void Perl_pidgone(pTHX_ int pid, int status);
-void Perl_pmflag(pTHX_ U16* pmfl, int ch);
-OP* Perl_pmruntime(pTHX_ OP* pm, OP* expr, OP* repl);
-OP* Perl_pmtrans(pTHX_ OP* o, OP* expr, OP* repl);
-OP* Perl_pop_return(pTHX);
-void Perl_pop_scope(pTHX);
-OP* Perl_prepend_elem(pTHX_ I32 optype, OP* head, OP* tail);
-void Perl_push_return(pTHX_ OP* o);
-void Perl_push_scope(pTHX);
-OP* Perl_ref(pTHX_ OP* o, I32 type);
-OP* Perl_refkids(pTHX_ OP* o, I32 type);
-void Perl_regdump(pTHX_ regexp* r);
-I32 Perl_pregexec(pTHX_ regexp* prog, char* stringarg, char* strend, char* strbeg, I32 minend, SV* screamer, U32 nosave);
-void Perl_pregfree(pTHX_ struct regexp* r);
-regexp* Perl_pregcomp(pTHX_ char* exp, char* xend, PMOP* pm);
-I32 Perl_regexec_flags(pTHX_ regexp* prog, char* stringarg, char* strend, char* strbeg, I32 minend, SV* screamer, void* data, U32 flags);
-regnode* Perl_regnext(pTHX_ regnode* p);
-void Perl_regprop(pTHX_ SV* sv, regnode* o);
-void Perl_repeatcpy(pTHX_ char* to, const char* from, I32 len, I32 count);
-char* Perl_rninstr(pTHX_ const char* big, const char* bigend, const char* little, const char* lend);
-Sighandler_t Perl_rsignal(pTHX_ int i, Sighandler_t t);
-int Perl_rsignal_restore(pTHX_ int i, Sigsave_t* t);
-int Perl_rsignal_save(pTHX_ int i, Sighandler_t t1, Sigsave_t* t2);
-Sighandler_t Perl_rsignal_state(pTHX_ int i);
-void Perl_rxres_free(pTHX_ void** rsp);
-void Perl_rxres_restore(pTHX_ void** rsp, REGEXP* prx);
-void Perl_rxres_save(pTHX_ void** rsp, REGEXP* prx);
+VIRTUAL struct perl_thread* Perl_new_struct_thread(pTHX_ struct perl_thread *t);
+#endif
+VIRTUAL PERL_SI* Perl_new_stackinfo(pTHX_ I32 stitems, I32 cxitems);
+VIRTUAL PerlIO* Perl_nextargv(pTHX_ GV* gv);
+VIRTUAL char* Perl_ninstr(pTHX_ const char* big, const char* bigend, const char* little, const char* lend);
+VIRTUAL OP* Perl_oopsCV(pTHX_ OP* o);
+VIRTUAL void Perl_op_free(pTHX_ OP* arg);
+VIRTUAL void Perl_package(pTHX_ OP* o);
+VIRTUAL PADOFFSET Perl_pad_alloc(pTHX_ I32 optype, U32 tmptype);
+VIRTUAL PADOFFSET Perl_pad_allocmy(pTHX_ char* name);
+VIRTUAL PADOFFSET Perl_pad_findmy(pTHX_ char* name);
+VIRTUAL OP* Perl_oopsAV(pTHX_ OP* o);
+VIRTUAL OP* Perl_oopsHV(pTHX_ OP* o);
+VIRTUAL void Perl_pad_leavemy(pTHX_ I32 fill);
+VIRTUAL SV* Perl_pad_sv(pTHX_ PADOFFSET po);
+VIRTUAL void Perl_pad_free(pTHX_ PADOFFSET po);
+VIRTUAL void Perl_pad_reset(pTHX);
+VIRTUAL void Perl_pad_swipe(pTHX_ PADOFFSET po);
+VIRTUAL void Perl_peep(pTHX_ OP* o);
+#if defined(PERL_OBJECT)
+VIRTUAL void perl_construct(void);
+VIRTUAL void perl_destruct(void);
+VIRTUAL void perl_free(void);
+VIRTUAL int perl_run(void);
+VIRTUAL int perl_parse(XSINIT_t xsinit, int argc, char** argv, char** env);
+#else
+VIRTUAL PerlInterpreter* perl_alloc(void);
+VIRTUAL void perl_construct(PerlInterpreter* sv_interp);
+VIRTUAL void perl_destruct(PerlInterpreter* sv_interp);
+VIRTUAL void perl_free(PerlInterpreter* sv_interp);
+VIRTUAL int perl_run(PerlInterpreter* sv_interp);
+VIRTUAL int perl_parse(PerlInterpreter* sv_interp, XSINIT_t xsinit, int argc, char** argv, char** env);
+#endif
+VIRTUAL void Perl_call_atexit(pTHX_ ATEXIT_t fn, void *ptr);
+VIRTUAL I32 Perl_call_argv(pTHX_ const char* sub_name, I32 flags, char** argv);
+VIRTUAL I32 Perl_call_method(pTHX_ const char* methname, I32 flags);
+VIRTUAL I32 Perl_call_pv(pTHX_ const char* sub_name, I32 flags);
+VIRTUAL I32 Perl_call_sv(pTHX_ SV* sv, I32 flags);
+VIRTUAL SV* Perl_eval_pv(pTHX_ const char* p, I32 croak_on_error);
+VIRTUAL I32 Perl_eval_sv(pTHX_ SV* sv, I32 flags);
+VIRTUAL SV* Perl_get_sv(pTHX_ const char* name, I32 create);
+VIRTUAL AV* Perl_get_av(pTHX_ const char* name, I32 create);
+VIRTUAL HV* Perl_get_hv(pTHX_ const char* name, I32 create);
+VIRTUAL CV* Perl_get_cv(pTHX_ const char* name, I32 create);
+VIRTUAL int Perl_init_i18nl10n(pTHX_ int printwarn);
+VIRTUAL int Perl_init_i18nl14n(pTHX_ int printwarn);
+VIRTUAL void Perl_new_collate(pTHX_ const char* newcoll);
+VIRTUAL void Perl_new_ctype(pTHX_ const char* newctype);
+VIRTUAL void Perl_new_numeric(pTHX_ const char* newcoll);
+VIRTUAL void Perl_set_numeric_local(pTHX);
+VIRTUAL void Perl_set_numeric_radix(pTHX);
+VIRTUAL void Perl_set_numeric_standard(pTHX);
+VIRTUAL void Perl_require_pv(pTHX_ const char* pv);
+VIRTUAL void Perl_pidgone(pTHX_ int pid, int status);
+VIRTUAL void Perl_pmflag(pTHX_ U16* pmfl, int ch);
+VIRTUAL OP* Perl_pmruntime(pTHX_ OP* pm, OP* expr, OP* repl);
+VIRTUAL OP* Perl_pmtrans(pTHX_ OP* o, OP* expr, OP* repl);
+VIRTUAL OP* Perl_pop_return(pTHX);
+VIRTUAL void Perl_pop_scope(pTHX);
+VIRTUAL OP* Perl_prepend_elem(pTHX_ I32 optype, OP* head, OP* tail);
+VIRTUAL void Perl_push_return(pTHX_ OP* o);
+VIRTUAL void Perl_push_scope(pTHX);
+VIRTUAL OP* Perl_ref(pTHX_ OP* o, I32 type);
+VIRTUAL OP* Perl_refkids(pTHX_ OP* o, I32 type);
+VIRTUAL void Perl_regdump(pTHX_ regexp* r);
+VIRTUAL I32 Perl_pregexec(pTHX_ regexp* prog, char* stringarg, char* strend, char* strbeg, I32 minend, SV* screamer, U32 nosave);
+VIRTUAL void Perl_pregfree(pTHX_ struct regexp* r);
+VIRTUAL regexp* Perl_pregcomp(pTHX_ char* exp, char* xend, PMOP* pm);
+VIRTUAL I32 Perl_regexec_flags(pTHX_ regexp* prog, char* stringarg, char* strend, char* strbeg, I32 minend, SV* screamer, void* data, U32 flags);
+VIRTUAL regnode* Perl_regnext(pTHX_ regnode* p);
+VIRTUAL void Perl_regprop(pTHX_ SV* sv, regnode* o);
+VIRTUAL void Perl_repeatcpy(pTHX_ char* to, const char* from, I32 len, I32 count);
+VIRTUAL char* Perl_rninstr(pTHX_ const char* big, const char* bigend, const char* little, const char* lend);
+VIRTUAL Sighandler_t Perl_rsignal(pTHX_ int i, Sighandler_t t);
+VIRTUAL int Perl_rsignal_restore(pTHX_ int i, Sigsave_t* t);
+VIRTUAL int Perl_rsignal_save(pTHX_ int i, Sighandler_t t1, Sigsave_t* t2);
+VIRTUAL Sighandler_t Perl_rsignal_state(pTHX_ int i);
+VIRTUAL void Perl_rxres_free(pTHX_ void** rsp);
+VIRTUAL void Perl_rxres_restore(pTHX_ void** rsp, REGEXP* prx);
+VIRTUAL void Perl_rxres_save(pTHX_ void** rsp, REGEXP* prx);
#if !defined(HAS_RENAME)
-I32 Perl_same_dirent(pTHX_ char* a, char* b);
-#endif
-char* Perl_savepv(pTHX_ const char* sv);
-char* Perl_savepvn(pTHX_ const char* sv, I32 len);
-void Perl_savestack_grow(pTHX);
-void Perl_save_aelem(pTHX_ AV* av, I32 idx, SV **sptr);
-I32 Perl_save_alloc(pTHX_ I32 size, I32 pad);
-void Perl_save_aptr(pTHX_ AV** aptr);
-AV* Perl_save_ary(pTHX_ GV* gv);
-void Perl_save_clearsv(pTHX_ SV** svp);
-void Perl_save_delete(pTHX_ HV* hv, char* key, I32 klen);
-void Perl_save_destructor(pTHX_ DESTRUCTORFUNC_t f, void* p);
-void Perl_save_freesv(pTHX_ SV* sv);
-void Perl_save_freeop(pTHX_ OP* o);
-void Perl_save_freepv(pTHX_ char* pv);
-void Perl_save_generic_svref(pTHX_ SV** sptr);
-void Perl_save_gp(pTHX_ GV* gv, I32 empty);
-HV* Perl_save_hash(pTHX_ GV* gv);
-void Perl_save_helem(pTHX_ HV* hv, SV *key, SV **sptr);
-void Perl_save_hints(pTHX);
-void Perl_save_hptr(pTHX_ HV** hptr);
-void Perl_save_I16(pTHX_ I16* intp);
-void Perl_save_I32(pTHX_ I32* intp);
-void Perl_save_int(pTHX_ int* intp);
-void Perl_save_item(pTHX_ SV* item);
-void Perl_save_iv(pTHX_ IV* iv);
-void Perl_save_list(pTHX_ SV** sarg, I32 maxsarg);
-void Perl_save_long(pTHX_ long* longp);
-void Perl_save_nogv(pTHX_ GV* gv);
-void Perl_save_op(pTHX);
-SV* Perl_save_scalar(pTHX_ GV* gv);
-void Perl_save_pptr(pTHX_ char** pptr);
-void Perl_save_re_context(pTHX);
-void Perl_save_sptr(pTHX_ SV** sptr);
-SV* Perl_save_svref(pTHX_ SV** sptr);
-SV** Perl_save_threadsv(pTHX_ PADOFFSET i);
-OP* Perl_sawparens(pTHX_ OP* o);
-OP* Perl_scalar(pTHX_ OP* o);
-OP* Perl_scalarkids(pTHX_ OP* o);
-OP* Perl_scalarseq(pTHX_ OP* o);
-OP* Perl_scalarvoid(pTHX_ OP* o);
-UV Perl_scan_bin(pTHX_ char* start, I32 len, I32* retlen);
-UV Perl_scan_hex(pTHX_ char* start, I32 len, I32* retlen);
-char* Perl_scan_num(pTHX_ char* s);
-UV Perl_scan_oct(pTHX_ char* start, I32 len, I32* retlen);
-OP* Perl_scope(pTHX_ OP* o);
-char* Perl_screaminstr(pTHX_ SV* bigsv, SV* littlesv, I32 start_shift, I32 end_shift, I32 *state, I32 last);
+VIRTUAL I32 Perl_same_dirent(pTHX_ char* a, char* b);
+#endif
+VIRTUAL char* Perl_savepv(pTHX_ const char* sv);
+VIRTUAL char* Perl_savepvn(pTHX_ const char* sv, I32 len);
+VIRTUAL void Perl_savestack_grow(pTHX);
+VIRTUAL void Perl_save_aelem(pTHX_ AV* av, I32 idx, SV **sptr);
+VIRTUAL I32 Perl_save_alloc(pTHX_ I32 size, I32 pad);
+VIRTUAL void Perl_save_aptr(pTHX_ AV** aptr);
+VIRTUAL AV* Perl_save_ary(pTHX_ GV* gv);
+VIRTUAL void Perl_save_clearsv(pTHX_ SV** svp);
+VIRTUAL void Perl_save_delete(pTHX_ HV* hv, char* key, I32 klen);
+VIRTUAL void Perl_save_destructor(pTHX_ DESTRUCTORFUNC_t f, void* p);
+VIRTUAL void Perl_save_freesv(pTHX_ SV* sv);
+VIRTUAL void Perl_save_freeop(pTHX_ OP* o);
+VIRTUAL void Perl_save_freepv(pTHX_ char* pv);
+VIRTUAL void Perl_save_generic_svref(pTHX_ SV** sptr);
+VIRTUAL void Perl_save_gp(pTHX_ GV* gv, I32 empty);
+VIRTUAL HV* Perl_save_hash(pTHX_ GV* gv);
+VIRTUAL void Perl_save_helem(pTHX_ HV* hv, SV *key, SV **sptr);
+VIRTUAL void Perl_save_hints(pTHX);
+VIRTUAL void Perl_save_hptr(pTHX_ HV** hptr);
+VIRTUAL void Perl_save_I16(pTHX_ I16* intp);
+VIRTUAL void Perl_save_I32(pTHX_ I32* intp);
+VIRTUAL void Perl_save_int(pTHX_ int* intp);
+VIRTUAL void Perl_save_item(pTHX_ SV* item);
+VIRTUAL void Perl_save_iv(pTHX_ IV* iv);
+VIRTUAL void Perl_save_list(pTHX_ SV** sarg, I32 maxsarg);
+VIRTUAL void Perl_save_long(pTHX_ long* longp);
+VIRTUAL void Perl_save_nogv(pTHX_ GV* gv);
+VIRTUAL void Perl_save_op(pTHX);
+VIRTUAL SV* Perl_save_scalar(pTHX_ GV* gv);
+VIRTUAL void Perl_save_pptr(pTHX_ char** pptr);
+VIRTUAL void Perl_save_re_context(pTHX);
+VIRTUAL void Perl_save_sptr(pTHX_ SV** sptr);
+VIRTUAL SV* Perl_save_svref(pTHX_ SV** sptr);
+VIRTUAL SV** Perl_save_threadsv(pTHX_ PADOFFSET i);
+VIRTUAL OP* Perl_sawparens(pTHX_ OP* o);
+VIRTUAL OP* Perl_scalar(pTHX_ OP* o);
+VIRTUAL OP* Perl_scalarkids(pTHX_ OP* o);
+VIRTUAL OP* Perl_scalarseq(pTHX_ OP* o);
+VIRTUAL OP* Perl_scalarvoid(pTHX_ OP* o);
+VIRTUAL UV Perl_scan_bin(pTHX_ char* start, I32 len, I32* retlen);
+VIRTUAL UV Perl_scan_hex(pTHX_ char* start, I32 len, I32* retlen);
+VIRTUAL char* Perl_scan_num(pTHX_ char* s);
+VIRTUAL UV Perl_scan_oct(pTHX_ char* start, I32 len, I32* retlen);
+VIRTUAL OP* Perl_scope(pTHX_ OP* o);
+VIRTUAL char* Perl_screaminstr(pTHX_ SV* bigsv, SV* littlesv, I32 start_shift, I32 end_shift, I32 *state, I32 last);
#if !defined(VMS)
-I32 Perl_setenv_getix(pTHX_ char* nam);
-#endif
-void Perl_setdefout(pTHX_ GV* gv);
-char* Perl_sharepvn(pTHX_ const char* sv, I32 len, U32 hash);
-HEK* Perl_share_hek(pTHX_ const char* sv, I32 len, U32 hash);
-Signal_t Perl_sighandler(int sig);
-SV** Perl_stack_grow(pTHX_ SV** sp, SV**p, int n);
-I32 Perl_start_subparse(pTHX_ I32 is_format, U32 flags);
-void Perl_sub_crush_depth(pTHX_ CV* cv);
-bool Perl_sv_2bool(pTHX_ SV* sv);
-CV* Perl_sv_2cv(pTHX_ SV* sv, HV** st, GV** gvp, I32 lref);
-IO* Perl_sv_2io(pTHX_ SV* sv);
-IV Perl_sv_2iv(pTHX_ SV* sv);
-SV* Perl_sv_2mortal(pTHX_ SV* sv);
-double Perl_sv_2nv(pTHX_ SV* sv);
-char* Perl_sv_2pv(pTHX_ SV* sv, STRLEN* lp);
-UV Perl_sv_2uv(pTHX_ SV* sv);
-IV Perl_sv_iv(pTHX_ SV* sv);
-UV Perl_sv_uv(pTHX_ SV* sv);
-double Perl_sv_nv(pTHX_ SV* sv);
-char* Perl_sv_pvn(pTHX_ SV *sv, STRLEN *len);
-I32 Perl_sv_true(pTHX_ SV *sv);
-void Perl_sv_add_arena(pTHX_ char* ptr, U32 size, U32 flags);
-int Perl_sv_backoff(pTHX_ SV* sv);
-SV* Perl_sv_bless(pTHX_ SV* sv, HV* stash);
-void Perl_sv_catpvf(pTHX_ SV* sv, const char* pat, ...);
-void Perl_sv_catpv(pTHX_ SV* sv, const char* ptr);
-void Perl_sv_catpvn(pTHX_ SV* sv, const char* ptr, STRLEN len);
-void Perl_sv_catsv(pTHX_ SV* dsv, SV* ssv);
-void Perl_sv_chop(pTHX_ SV* sv, char* ptr);
-void Perl_sv_clean_all(pTHX);
-void Perl_sv_clean_objs(pTHX);
-void Perl_sv_clear(pTHX_ SV* sv);
-I32 Perl_sv_cmp(pTHX_ SV* sv1, SV* sv2);
-I32 Perl_sv_cmp_locale(pTHX_ SV* sv1, SV* sv2);
+VIRTUAL I32 Perl_setenv_getix(pTHX_ char* nam);
+#endif
+VIRTUAL void Perl_setdefout(pTHX_ GV* gv);
+VIRTUAL char* Perl_sharepvn(pTHX_ const char* sv, I32 len, U32 hash);
+VIRTUAL HEK* Perl_share_hek(pTHX_ const char* sv, I32 len, U32 hash);
+VIRTUAL Signal_t Perl_sighandler(int sig);
+VIRTUAL SV** Perl_stack_grow(pTHX_ SV** sp, SV**p, int n);
+VIRTUAL I32 Perl_start_subparse(pTHX_ I32 is_format, U32 flags);
+VIRTUAL void Perl_sub_crush_depth(pTHX_ CV* cv);
+VIRTUAL bool Perl_sv_2bool(pTHX_ SV* sv);
+VIRTUAL CV* Perl_sv_2cv(pTHX_ SV* sv, HV** st, GV** gvp, I32 lref);
+VIRTUAL IO* Perl_sv_2io(pTHX_ SV* sv);
+VIRTUAL IV Perl_sv_2iv(pTHX_ SV* sv);
+VIRTUAL SV* Perl_sv_2mortal(pTHX_ SV* sv);
+VIRTUAL double Perl_sv_2nv(pTHX_ SV* sv);
+VIRTUAL char* Perl_sv_2pv(pTHX_ SV* sv, STRLEN* lp);
+VIRTUAL UV Perl_sv_2uv(pTHX_ SV* sv);
+VIRTUAL IV Perl_sv_iv(pTHX_ SV* sv);
+VIRTUAL UV Perl_sv_uv(pTHX_ SV* sv);
+VIRTUAL double Perl_sv_nv(pTHX_ SV* sv);
+VIRTUAL char* Perl_sv_pvn(pTHX_ SV *sv, STRLEN *len);
+VIRTUAL I32 Perl_sv_true(pTHX_ SV *sv);
+VIRTUAL void Perl_sv_add_arena(pTHX_ char* ptr, U32 size, U32 flags);
+VIRTUAL int Perl_sv_backoff(pTHX_ SV* sv);
+VIRTUAL SV* Perl_sv_bless(pTHX_ SV* sv, HV* stash);
+VIRTUAL void Perl_sv_catpvf(pTHX_ SV* sv, const char* pat, ...);
+VIRTUAL void Perl_sv_catpv(pTHX_ SV* sv, const char* ptr);
+VIRTUAL void Perl_sv_catpvn(pTHX_ SV* sv, const char* ptr, STRLEN len);
+VIRTUAL void Perl_sv_catsv(pTHX_ SV* dsv, SV* ssv);
+VIRTUAL void Perl_sv_chop(pTHX_ SV* sv, char* ptr);
+VIRTUAL void Perl_sv_clean_all(pTHX);
+VIRTUAL void Perl_sv_clean_objs(pTHX);
+VIRTUAL void Perl_sv_clear(pTHX_ SV* sv);
+VIRTUAL I32 Perl_sv_cmp(pTHX_ SV* sv1, SV* sv2);
+VIRTUAL I32 Perl_sv_cmp_locale(pTHX_ SV* sv1, SV* sv2);
#if defined(USE_LOCALE_COLLATE)
-char* Perl_sv_collxfrm(pTHX_ SV* sv, STRLEN* nxp);
-#endif
-OP* Perl_sv_compile_2op(pTHX_ SV* sv, OP** startp, char* code, AV** avp);
-void Perl_sv_dec(pTHX_ SV* sv);
-void Perl_sv_dump(pTHX_ SV* sv);
-bool Perl_sv_derived_from(pTHX_ SV* sv, const char* name);
-I32 Perl_sv_eq(pTHX_ SV* sv1, SV* sv2);
-void Perl_sv_free(pTHX_ SV* sv);
-void Perl_sv_free_arenas(pTHX);
-char* Perl_sv_gets(pTHX_ SV* sv, PerlIO* fp, I32 append);
-char* Perl_sv_grow(pTHX_ SV* sv, STRLEN newlen);
-void Perl_sv_inc(pTHX_ SV* sv);
-void Perl_sv_insert(pTHX_ SV* bigsv, STRLEN offset, STRLEN len, char* little, STRLEN littlelen);
-int Perl_sv_isa(pTHX_ SV* sv, const char* name);
-int Perl_sv_isobject(pTHX_ SV* sv);
-STRLEN Perl_sv_len(pTHX_ SV* sv);
-STRLEN Perl_sv_len_utf8(pTHX_ SV* sv);
-void Perl_sv_magic(pTHX_ SV* sv, SV* obj, int how, const char* name, I32 namlen);
-SV* Perl_sv_mortalcopy(pTHX_ SV* oldsv);
-SV* Perl_sv_newmortal(pTHX);
-SV* Perl_sv_newref(pTHX_ SV* sv);
-char* Perl_sv_peek(pTHX_ SV* sv);
-void Perl_sv_pos_u2b(pTHX_ SV* sv, I32* offsetp, I32* lenp);
-void Perl_sv_pos_b2u(pTHX_ SV* sv, I32* offsetp);
-char* Perl_sv_pvn_force(pTHX_ SV* sv, STRLEN* lp);
-char* Perl_sv_reftype(pTHX_ SV* sv, int ob);
-void Perl_sv_replace(pTHX_ SV* sv, SV* nsv);
-void Perl_sv_report_used(pTHX);
-void Perl_sv_reset(pTHX_ char* s, HV* stash);
-void Perl_sv_setpvf(pTHX_ SV* sv, const char* pat, ...);
-void Perl_sv_setiv(pTHX_ SV* sv, IV num);
-void Perl_sv_setpviv(pTHX_ SV* sv, IV num);
-void Perl_sv_setuv(pTHX_ SV* sv, UV num);
-void Perl_sv_setnv(pTHX_ SV* sv, double num);
-SV* Perl_sv_setref_iv(pTHX_ SV* rv, const char* classname, IV iv);
-SV* Perl_sv_setref_nv(pTHX_ SV* rv, const char* classname, double nv);
-SV* Perl_sv_setref_pv(pTHX_ SV* rv, const char* classname, void* pv);
-SV* Perl_sv_setref_pvn(pTHX_ SV* rv, const char* classname, char* pv, STRLEN n);
-void Perl_sv_setpv(pTHX_ SV* sv, const char* ptr);
-void Perl_sv_setpvn(pTHX_ SV* sv, const char* ptr, STRLEN len);
-void Perl_sv_setsv(pTHX_ SV* dsv, SV* ssv);
-void Perl_sv_taint(pTHX_ SV* sv);
-bool Perl_sv_tainted(pTHX_ SV* sv);
-int Perl_sv_unmagic(pTHX_ SV* sv, int type);
-void Perl_sv_unref(pTHX_ SV* sv);
-void Perl_sv_untaint(pTHX_ SV* sv);
-bool Perl_sv_upgrade(pTHX_ SV* sv, U32 mt);
-void Perl_sv_usepvn(pTHX_ SV* sv, char* ptr, STRLEN len);
-void Perl_sv_vcatpvfn(pTHX_ SV* sv, const char* pat, STRLEN patlen, va_list* args, SV** svargs, I32 svmax, bool *used_locale);
-void Perl_sv_vsetpvfn(pTHX_ SV* sv, const char* pat, STRLEN patlen, va_list* args, SV** svargs, I32 svmax, bool *used_locale);
-SV* Perl_swash_init(pTHX_ char* pkg, char* name, SV* listsv, I32 minbits, I32 none);
-UV Perl_swash_fetch(pTHX_ SV *sv, U8 *ptr);
-void Perl_taint_env(pTHX);
-void Perl_taint_proper(pTHX_ const char* f, char* s);
-UV Perl_to_utf8_lower(pTHX_ U8 *p);
-UV Perl_to_utf8_upper(pTHX_ U8 *p);
-UV Perl_to_utf8_title(pTHX_ U8 *p);
+VIRTUAL char* Perl_sv_collxfrm(pTHX_ SV* sv, STRLEN* nxp);
+#endif
+VIRTUAL OP* Perl_sv_compile_2op(pTHX_ SV* sv, OP** startp, char* code, AV** avp);
+VIRTUAL void Perl_sv_dec(pTHX_ SV* sv);
+VIRTUAL void Perl_sv_dump(pTHX_ SV* sv);
+VIRTUAL bool Perl_sv_derived_from(pTHX_ SV* sv, const char* name);
+VIRTUAL I32 Perl_sv_eq(pTHX_ SV* sv1, SV* sv2);
+VIRTUAL void Perl_sv_free(pTHX_ SV* sv);
+VIRTUAL void Perl_sv_free_arenas(pTHX);
+VIRTUAL char* Perl_sv_gets(pTHX_ SV* sv, PerlIO* fp, I32 append);
+VIRTUAL char* Perl_sv_grow(pTHX_ SV* sv, STRLEN newlen);
+VIRTUAL void Perl_sv_inc(pTHX_ SV* sv);
+VIRTUAL void Perl_sv_insert(pTHX_ SV* bigsv, STRLEN offset, STRLEN len, char* little, STRLEN littlelen);
+VIRTUAL int Perl_sv_isa(pTHX_ SV* sv, const char* name);
+VIRTUAL int Perl_sv_isobject(pTHX_ SV* sv);
+VIRTUAL STRLEN Perl_sv_len(pTHX_ SV* sv);
+VIRTUAL STRLEN Perl_sv_len_utf8(pTHX_ SV* sv);
+VIRTUAL void Perl_sv_magic(pTHX_ SV* sv, SV* obj, int how, const char* name, I32 namlen);
+VIRTUAL SV* Perl_sv_mortalcopy(pTHX_ SV* oldsv);
+VIRTUAL SV* Perl_sv_newmortal(pTHX);
+VIRTUAL SV* Perl_sv_newref(pTHX_ SV* sv);
+VIRTUAL char* Perl_sv_peek(pTHX_ SV* sv);
+VIRTUAL void Perl_sv_pos_u2b(pTHX_ SV* sv, I32* offsetp, I32* lenp);
+VIRTUAL void Perl_sv_pos_b2u(pTHX_ SV* sv, I32* offsetp);
+VIRTUAL char* Perl_sv_pvn_force(pTHX_ SV* sv, STRLEN* lp);
+VIRTUAL char* Perl_sv_reftype(pTHX_ SV* sv, int ob);
+VIRTUAL void Perl_sv_replace(pTHX_ SV* sv, SV* nsv);
+VIRTUAL void Perl_sv_report_used(pTHX);
+VIRTUAL void Perl_sv_reset(pTHX_ char* s, HV* stash);
+VIRTUAL void Perl_sv_setpvf(pTHX_ SV* sv, const char* pat, ...);
+VIRTUAL void Perl_sv_setiv(pTHX_ SV* sv, IV num);
+VIRTUAL void Perl_sv_setpviv(pTHX_ SV* sv, IV num);
+VIRTUAL void Perl_sv_setuv(pTHX_ SV* sv, UV num);
+VIRTUAL void Perl_sv_setnv(pTHX_ SV* sv, double num);
+VIRTUAL SV* Perl_sv_setref_iv(pTHX_ SV* rv, const char* classname, IV iv);
+VIRTUAL SV* Perl_sv_setref_nv(pTHX_ SV* rv, const char* classname, double nv);
+VIRTUAL SV* Perl_sv_setref_pv(pTHX_ SV* rv, const char* classname, void* pv);
+VIRTUAL SV* Perl_sv_setref_pvn(pTHX_ SV* rv, const char* classname, char* pv, STRLEN n);
+VIRTUAL void Perl_sv_setpv(pTHX_ SV* sv, const char* ptr);
+VIRTUAL void Perl_sv_setpvn(pTHX_ SV* sv, const char* ptr, STRLEN len);
+VIRTUAL void Perl_sv_setsv(pTHX_ SV* dsv, SV* ssv);
+VIRTUAL void Perl_sv_taint(pTHX_ SV* sv);
+VIRTUAL bool Perl_sv_tainted(pTHX_ SV* sv);
+VIRTUAL int Perl_sv_unmagic(pTHX_ SV* sv, int type);
+VIRTUAL void Perl_sv_unref(pTHX_ SV* sv);
+VIRTUAL void Perl_sv_untaint(pTHX_ SV* sv);
+VIRTUAL bool Perl_sv_upgrade(pTHX_ SV* sv, U32 mt);
+VIRTUAL void Perl_sv_usepvn(pTHX_ SV* sv, char* ptr, STRLEN len);
+VIRTUAL void Perl_sv_vcatpvfn(pTHX_ SV* sv, const char* pat, STRLEN patlen, va_list* args, SV** svargs, I32 svmax, bool *used_locale);
+VIRTUAL void Perl_sv_vsetpvfn(pTHX_ SV* sv, const char* pat, STRLEN patlen, va_list* args, SV** svargs, I32 svmax, bool *used_locale);
+VIRTUAL SV* Perl_swash_init(pTHX_ char* pkg, char* name, SV* listsv, I32 minbits, I32 none);
+VIRTUAL UV Perl_swash_fetch(pTHX_ SV *sv, U8 *ptr);
+VIRTUAL void Perl_taint_env(pTHX);
+VIRTUAL void Perl_taint_proper(pTHX_ const char* f, char* s);
+VIRTUAL UV Perl_to_utf8_lower(pTHX_ U8 *p);
+VIRTUAL UV Perl_to_utf8_upper(pTHX_ U8 *p);
+VIRTUAL UV Perl_to_utf8_title(pTHX_ U8 *p);
#if defined(UNLINK_ALL_VERSIONS)
-I32 Perl_unlnk(pTHX_ char* f);
+VIRTUAL I32 Perl_unlnk(pTHX_ char* f);
#endif
#if defined(USE_THREADS)
-void Perl_unlock_condpair(pTHX_ void* svv);
-#endif
-void Perl_unsharepvn(pTHX_ const char* sv, I32 len, U32 hash);
-void Perl_unshare_hek(pTHX_ HEK* hek);
-void Perl_utilize(pTHX_ int aver, I32 floor, OP* version, OP* id, OP* arg);
-U8* Perl_utf16_to_utf8(pTHX_ U16* p, U8 *d, I32 bytelen);
-U8* Perl_utf16_to_utf8_reversed(pTHX_ U16* p, U8 *d, I32 bytelen);
-I32 Perl_utf8_distance(pTHX_ U8 *a, U8 *b);
-U8* Perl_utf8_hop(pTHX_ U8 *s, I32 off);
-UV Perl_utf8_to_uv(pTHX_ U8 *s, I32* retlen);
-U8* Perl_uv_to_utf8(pTHX_ U8 *d, UV uv);
-void Perl_vivify_defelem(pTHX_ SV* sv);
-void Perl_vivify_ref(pTHX_ SV* sv, U32 to_what);
-I32 Perl_wait4pid(pTHX_ int pid, int* statusp, int flags);
-void Perl_warn(pTHX_ const char* pat, ...);
-void Perl_warner(pTHX_ U32 err, const char* pat, ...);
-void Perl_watch(pTHX_ char** addr);
-I32 Perl_whichsig(pTHX_ char* sig);
-int Perl_yyerror(pTHX_ char* s);
+VIRTUAL void Perl_unlock_condpair(pTHX_ void* svv);
+#endif
+VIRTUAL void Perl_unsharepvn(pTHX_ const char* sv, I32 len, U32 hash);
+VIRTUAL void Perl_unshare_hek(pTHX_ HEK* hek);
+VIRTUAL void Perl_utilize(pTHX_ int aver, I32 floor, OP* version, OP* id, OP* arg);
+VIRTUAL U8* Perl_utf16_to_utf8(pTHX_ U16* p, U8 *d, I32 bytelen);
+VIRTUAL U8* Perl_utf16_to_utf8_reversed(pTHX_ U16* p, U8 *d, I32 bytelen);
+VIRTUAL I32 Perl_utf8_distance(pTHX_ U8 *a, U8 *b);
+VIRTUAL U8* Perl_utf8_hop(pTHX_ U8 *s, I32 off);
+VIRTUAL UV Perl_utf8_to_uv(pTHX_ U8 *s, I32* retlen);
+VIRTUAL U8* Perl_uv_to_utf8(pTHX_ U8 *d, UV uv);
+VIRTUAL void Perl_vivify_defelem(pTHX_ SV* sv);
+VIRTUAL void Perl_vivify_ref(pTHX_ SV* sv, U32 to_what);
+VIRTUAL I32 Perl_wait4pid(pTHX_ int pid, int* statusp, int flags);
+VIRTUAL void Perl_warn(pTHX_ const char* pat, ...);
+VIRTUAL void Perl_warner(pTHX_ U32 err, const char* pat, ...);
+VIRTUAL void Perl_watch(pTHX_ char** addr);
+VIRTUAL I32 Perl_whichsig(pTHX_ char* sig);
+VIRTUAL int Perl_yyerror(pTHX_ char* s);
#if defined(USE_PURE_BISON)
-int Perl_yylex(pTHX_ YYSTYPE *lvalp, int *lcharp);
+VIRTUAL int Perl_yylex(pTHX_ YYSTYPE *lvalp, int *lcharp);
#else
-int Perl_yylex(pTHX);
+VIRTUAL int Perl_yylex(pTHX);
#endif
-int Perl_yyparse(pTHX);
-int Perl_yywarn(pTHX_ char* s);
+VIRTUAL int Perl_yyparse(pTHX);
+VIRTUAL int Perl_yywarn(pTHX_ char* s);
#if defined(MYMALLOC)
-void Perl_dump_mstats(pTHX_ char* s);
-Malloc_t Perl_malloc(MEM_SIZE nbytes);
-Malloc_t Perl_calloc(MEM_SIZE elements, MEM_SIZE size);
-Malloc_t Perl_realloc(Malloc_t where, MEM_SIZE nbytes);
-Free_t Perl_mfree(Malloc_t where);
-#endif
-Malloc_t Perl_safesysmalloc(MEM_SIZE nbytes);
-Malloc_t Perl_safesyscalloc(MEM_SIZE elements, MEM_SIZE size);
-Malloc_t Perl_safesysrealloc(Malloc_t where, MEM_SIZE nbytes);
-Free_t Perl_safesysfree(Malloc_t where);
+VIRTUAL void Perl_dump_mstats(pTHX_ char* s);
+VIRTUAL Malloc_t Perl_malloc(MEM_SIZE nbytes);
+VIRTUAL Malloc_t Perl_calloc(MEM_SIZE elements, MEM_SIZE size);
+VIRTUAL Malloc_t Perl_realloc(Malloc_t where, MEM_SIZE nbytes);
+VIRTUAL Free_t Perl_mfree(Malloc_t where);
+#endif
+VIRTUAL Malloc_t Perl_safesysmalloc(MEM_SIZE nbytes);
+VIRTUAL Malloc_t Perl_safesyscalloc(MEM_SIZE elements, MEM_SIZE size);
+VIRTUAL Malloc_t Perl_safesysrealloc(Malloc_t where, MEM_SIZE nbytes);
+VIRTUAL Free_t Perl_safesysfree(Malloc_t where);
#if defined(LEAKTEST)
-Malloc_t Perl_safexmalloc(I32 x, MEM_SIZE size);
-Malloc_t Perl_safexcalloc(I32 x, MEM_SIZE elements, MEM_SIZE size);
-Malloc_t Perl_safexrealloc(Malloc_t where, MEM_SIZE size);
-void Perl_safexfree(Malloc_t where);
+VIRTUAL Malloc_t Perl_safexmalloc(I32 x, MEM_SIZE size);
+VIRTUAL Malloc_t Perl_safexcalloc(I32 x, MEM_SIZE elements, MEM_SIZE size);
+VIRTUAL Malloc_t Perl_safexrealloc(Malloc_t where, MEM_SIZE size);
+VIRTUAL void Perl_safexfree(Malloc_t where);
#endif
#if defined(PERL_GLOBAL_STRUCT)
-struct perl_vars * Perl_GetVars(pTHX);
+VIRTUAL struct perl_vars * Perl_GetVars(pTHX);
#endif
-void Perl_yydestruct(pTHX_ void *ptr);
-int Perl_runops_standard(pTHX);
-int Perl_runops_debug(pTHX);
+VIRTUAL void Perl_yydestruct(pTHX_ void *ptr);
+VIRTUAL int Perl_runops_standard(pTHX);
+VIRTUAL int Perl_runops_debug(pTHX);
#if defined(WIN32)
-int* Perl_ErrorNo(pTHX);
-#endif
-void Perl_sv_catpvf_mg(pTHX_ SV *sv, const char* pat, ...);
-void Perl_sv_catpv_mg(pTHX_ SV *sv, const char *ptr);
-void Perl_sv_catpvn_mg(pTHX_ SV *sv, const char *ptr, STRLEN len);
-void Perl_sv_catsv_mg(pTHX_ SV *dstr, SV *sstr);
-void Perl_sv_setpvf_mg(pTHX_ SV *sv, const char* pat, ...);
-void Perl_sv_setiv_mg(pTHX_ SV *sv, IV i);
-void Perl_sv_setpviv_mg(pTHX_ SV *sv, IV iv);
-void Perl_sv_setuv_mg(pTHX_ SV *sv, UV u);
-void Perl_sv_setnv_mg(pTHX_ SV *sv, double num);
-void Perl_sv_setpv_mg(pTHX_ SV *sv, const char *ptr);
-void Perl_sv_setpvn_mg(pTHX_ SV *sv, const char *ptr, STRLEN len);
-void Perl_sv_setsv_mg(pTHX_ SV *dstr, SV *sstr);
-void Perl_sv_usepvn_mg(pTHX_ SV *sv, char *ptr, STRLEN len);
-MGVTBL* Perl_get_vtbl(pTHX_ int vtbl_id);
-char* Perl_pv_display(pTHX_ SV *sv, char *pv, STRLEN cur, STRLEN len, STRLEN pvlim);
-void Perl_dump_indent(pTHX_ I32 level, PerlIO *file, const char* pat, ...);
-void Perl_do_gv_dump(pTHX_ I32 level, PerlIO *file, char *name, GV *sv);
-void Perl_do_gvgv_dump(pTHX_ I32 level, PerlIO *file, char *name, GV *sv);
-void Perl_do_hv_dump(pTHX_ I32 level, PerlIO *file, char *name, HV *sv);
-void Perl_do_magic_dump(pTHX_ I32 level, PerlIO *file, MAGIC *mg, I32 nest, I32 maxnest, bool dumpops, STRLEN pvlim);
-void Perl_do_op_dump(pTHX_ I32 level, PerlIO *file, OP *o);
-void Perl_do_pmop_dump(pTHX_ I32 level, PerlIO *file, PMOP *pm);
-void Perl_do_sv_dump(pTHX_ I32 level, PerlIO *file, SV *sv, I32 nest, I32 maxnest, bool dumpops, STRLEN pvlim);
-void Perl_magic_dump(pTHX_ MAGIC *mg);
-void* Perl_default_protect(pTHX_ int *excpt, protect_body_t body, ...);
-void Perl_reginitcolors(pTHX);
-char* Perl_sv_2pv_nolen(pTHX_ SV* sv);
-char* Perl_sv_pv(pTHX_ SV *sv);
-void Perl_sv_force_normal(pTHX_ SV *sv);
-void Perl_tmps_grow(pTHX_ I32 n);
-SV* Perl_sv_rvweaken(pTHX_ SV *sv);
-int Perl_magic_killbackrefs(pTHX_ SV *sv, MAGIC *mg);
-#if defined(PERL_IN_AV_C)
+#if defined(PERL_OBJECT)
+VIRTUAL int& Perl_ErrorNo(pTHX);
+#else
+VIRTUAL int* Perl_ErrorNo(pTHX);
+#endif
+#endif
+VIRTUAL void Perl_sv_catpvf_mg(pTHX_ SV *sv, const char* pat, ...);
+VIRTUAL void Perl_sv_catpv_mg(pTHX_ SV *sv, const char *ptr);
+VIRTUAL void Perl_sv_catpvn_mg(pTHX_ SV *sv, const char *ptr, STRLEN len);
+VIRTUAL void Perl_sv_catsv_mg(pTHX_ SV *dstr, SV *sstr);
+VIRTUAL void Perl_sv_setpvf_mg(pTHX_ SV *sv, const char* pat, ...);
+VIRTUAL void Perl_sv_setiv_mg(pTHX_ SV *sv, IV i);
+VIRTUAL void Perl_sv_setpviv_mg(pTHX_ SV *sv, IV iv);
+VIRTUAL void Perl_sv_setuv_mg(pTHX_ SV *sv, UV u);
+VIRTUAL void Perl_sv_setnv_mg(pTHX_ SV *sv, double num);
+VIRTUAL void Perl_sv_setpv_mg(pTHX_ SV *sv, const char *ptr);
+VIRTUAL void Perl_sv_setpvn_mg(pTHX_ SV *sv, const char *ptr, STRLEN len);
+VIRTUAL void Perl_sv_setsv_mg(pTHX_ SV *dstr, SV *sstr);
+VIRTUAL void Perl_sv_usepvn_mg(pTHX_ SV *sv, char *ptr, STRLEN len);
+VIRTUAL MGVTBL* Perl_get_vtbl(pTHX_ int vtbl_id);
+VIRTUAL char* Perl_pv_display(pTHX_ SV *sv, char *pv, STRLEN cur, STRLEN len, STRLEN pvlim);
+VIRTUAL void Perl_dump_indent(pTHX_ I32 level, PerlIO *file, const char* pat, ...);
+VIRTUAL void Perl_do_gv_dump(pTHX_ I32 level, PerlIO *file, char *name, GV *sv);
+VIRTUAL void Perl_do_gvgv_dump(pTHX_ I32 level, PerlIO *file, char *name, GV *sv);
+VIRTUAL void Perl_do_hv_dump(pTHX_ I32 level, PerlIO *file, char *name, HV *sv);
+VIRTUAL void Perl_do_magic_dump(pTHX_ I32 level, PerlIO *file, MAGIC *mg, I32 nest, I32 maxnest, bool dumpops, STRLEN pvlim);
+VIRTUAL void Perl_do_op_dump(pTHX_ I32 level, PerlIO *file, OP *o);
+VIRTUAL void Perl_do_pmop_dump(pTHX_ I32 level, PerlIO *file, PMOP *pm);
+VIRTUAL void Perl_do_sv_dump(pTHX_ I32 level, PerlIO *file, SV *sv, I32 nest, I32 maxnest, bool dumpops, STRLEN pvlim);
+VIRTUAL void Perl_magic_dump(pTHX_ MAGIC *mg);
+VIRTUAL void* Perl_default_protect(pTHX_ int *excpt, protect_body_t body, ...);
+VIRTUAL void Perl_reginitcolors(pTHX);
+VIRTUAL char* Perl_sv_2pv_nolen(pTHX_ SV* sv);
+VIRTUAL char* Perl_sv_pv(pTHX_ SV *sv);
+VIRTUAL void Perl_sv_force_normal(pTHX_ SV *sv);
+VIRTUAL void Perl_tmps_grow(pTHX_ I32 n);
+VIRTUAL SV* Perl_sv_rvweaken(pTHX_ SV *sv);
+VIRTUAL int Perl_magic_killbackrefs(pTHX_ SV *sv, MAGIC *mg);
+#if defined(PERL_OBJECT)
+protected:
+#endif
+#if defined(PERL_IN_AV_C) || defined(PERL_DECL_PROT)
STATIC I32 S_avhv_index_sv(pTHX_ SV* sv);
#endif
-#if defined(PERL_IN_DOOP_C)
+#if defined(PERL_IN_DOOP_C) || defined(PERL_DECL_PROT)
STATIC I32 S_do_trans_CC_simple(pTHX_ SV *sv);
STATIC I32 S_do_trans_CC_count(pTHX_ SV *sv);
STATIC I32 S_do_trans_CC_complex(pTHX_ SV *sv);
@@ -700,10 +718,10 @@ STATIC I32 S_do_trans_CU_simple(pTHX_ SV *sv);
STATIC I32 S_do_trans_UC_trivial(pTHX_ SV *sv);
STATIC I32 S_do_trans_CU_trivial(pTHX_ SV *sv);
#endif
-#if defined(PERL_IN_GV_C)
+#if defined(PERL_IN_GV_C) || defined(PERL_DECL_PROT)
STATIC void S_gv_init_sv(pTHX_ GV *gv, I32 sv_type);
#endif
-#if defined(PERL_IN_HV_C)
+#if defined(PERL_IN_HV_C) || defined(PERL_DECL_PROT)
STATIC void S_hsplit(pTHX_ HV *hv);
STATIC void S_hfreeentries(pTHX_ HV *hv);
STATIC void S_more_he(pTHX);
@@ -712,14 +730,14 @@ STATIC void S_del_he(pTHX_ HE *p);
STATIC HEK* S_save_hek(pTHX_ const char *str, I32 len, U32 hash);
STATIC void S_hv_magic_check(pTHX_ HV *hv, bool *needs_copy, bool *needs_store);
#endif
-#if defined(PERL_IN_MG_C)
+#if defined(PERL_IN_MG_C) || defined(PERL_DECL_PROT)
STATIC void S_save_magic(pTHX_ I32 mgs_ix, SV *sv);
STATIC int S_magic_methpack(pTHX_ SV *sv, MAGIC *mg, char *meth);
STATIC int S_magic_methcall(pTHX_ SV *sv, MAGIC *mg, char *meth, I32 f, int n, SV *val);
STATIC void S_unwind_handler_stack(pTHX_ void *p);
STATIC void S_restore_magic(pTHX_ void *p);
#endif
-#if defined(PERL_IN_OP_C)
+#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT)
STATIC I32 S_list_assignment(pTHX_ OP *o);
STATIC void S_bad_type(pTHX_ I32 n, char *t, char *name, OP *kid);
STATIC OP* S_modkids(pTHX_ OP *o, I32 type);
@@ -741,7 +759,7 @@ STATIC bool S_scalar_mod_type(pTHX_ OP *o, I32 type);
STATIC void* S_Slab_Alloc(pTHX_ int m, size_t sz);
# endif
#endif
-#if defined(PERL_IN_PERL_C)
+#if defined(PERL_IN_PERL_C) || defined(PERL_DECL_PROT)
STATIC void S_find_beginning(pTHX);
STATIC void S_forbid_setid(pTHX_ char *);
STATIC void S_incpush(pTHX_ char *, int);
@@ -758,7 +776,6 @@ STATIC void S_nuke_stacks(pTHX);
STATIC void S_open_script(pTHX_ char *, bool, SV *, int *fd);
STATIC void S_usage(pTHX_ char *);
STATIC void S_validate_suid(pTHX_ char *, char*, int);
-STATIC I32 S_read_e_script(pTHX_ int idx, SV *buf_sv, int maxlen);
# if defined(IAMSUID)
STATIC int S_fd_on_nosuid_fs(pTHX_ int fd);
# endif
@@ -771,7 +788,7 @@ STATIC void* S_call_list_body(pTHX_ va_list args);
STATIC struct perl_thread * S_init_main_thread(pTHX);
# endif
#endif
-#if defined(PERL_IN_PP_C)
+#if defined(PERL_IN_PP_C) || defined(PERL_DECL_PROT)
STATIC void S_doencodes(pTHX_ SV* sv, char* s, I32 len);
STATIC SV* S_refto(pTHX_ SV* sv);
STATIC U32 S_seed(pTHX);
@@ -779,7 +796,7 @@ STATIC SV* S_mul128(pTHX_ SV *sv, U8 m);
STATIC SV* S_is_an_int(pTHX_ char *s, STRLEN l);
STATIC int S_div128(pTHX_ SV *pnum, bool *done);
#endif
-#if defined(PERL_IN_PP_CTL_C)
+#if defined(PERL_IN_PP_CTL_C) || defined(PERL_DECL_PROT)
STATIC OP* S_docatch(pTHX_ OP *o);
STATIC void* S_docatch_body(pTHX_ va_list args);
STATIC OP* S_dofindlabel(pTHX_ OP *o, char *label, OP **opstack, OP **oplimit);
@@ -802,20 +819,20 @@ STATIC I32 S_amagic_i_ncmp(pTHX_ SV *a, SV *b);
STATIC I32 S_amagic_cmp(pTHX_ SV *str1, SV *str2);
STATIC I32 S_amagic_cmp_locale(pTHX_ SV *str1, SV *str2);
#endif
-#if defined(PERL_IN_PP_HOT_C)
+#if defined(PERL_IN_PP_HOT_C) || defined(PERL_DECL_PROT)
STATIC CV* S_get_db_sub(pTHX_ SV **svp, CV *cv);
# if defined(USE_THREADS)
STATIC void S_unset_cvowner(pTHX_ void *cvarg);
# endif
#endif
-#if defined(PERL_IN_PP_SYS_C)
+#if defined(PERL_IN_PP_SYS_C) || defined(PERL_DECL_PROT)
STATIC OP* S_doform(pTHX_ CV *cv, GV *gv, OP *retop);
STATIC int S_emulate_eaccess(pTHX_ const char* path, int mode);
# if !defined(HAS_MKDIR) || !defined(HAS_RMDIR)
STATIC int S_dooneliner(pTHX_ char *cmd, char *filename);
# endif
#endif
-#if defined(PERL_IN_REGCOMP_C)
+#if defined(PERL_IN_REGCOMP_C) || defined(PERL_DECL_PROT)
STATIC regnode* S_reg(pTHX_ I32, I32 *);
STATIC regnode* S_reganode(pTHX_ U8, U32);
STATIC regnode* S_regatom(pTHX_ I32 *);
@@ -840,7 +857,7 @@ STATIC void S_re_croak2(pTHX_ const char* pat1, const char* pat2, ...) __attribu
STATIC char* S_regpposixcc(pTHX_ I32 value);
STATIC void S_clear_re(pTHX_ void *r);
#endif
-#if defined(PERL_IN_REGEXEC_C)
+#if defined(PERL_IN_REGEXEC_C) || defined(PERL_DECL_PROT)
STATIC I32 S_regmatch(pTHX_ regnode *prog);
STATIC I32 S_regrepeat(pTHX_ regnode *p, I32 max);
STATIC I32 S_regrepeat_hard(pTHX_ regnode *p, I32 max, I32 *lp);
@@ -855,13 +872,13 @@ STATIC void S_restore_pos(pTHX_ void *arg);
STATIC U8* S_reghop(pTHX_ U8 *pos, I32 off);
STATIC U8* S_reghopmaybe(pTHX_ U8 *pos, I32 off);
#endif
-#if defined(PERL_IN_RUN_C)
+#if defined(PERL_IN_RUN_C) || defined(PERL_DECL_PROT)
STATIC void S_debprof(pTHX_ OP *o);
#endif
-#if defined(PERL_IN_SCOPE_C)
+#if defined(PERL_IN_SCOPE_C) || defined(PERL_DECL_PROT)
STATIC SV* S_save_scalar_at(pTHX_ SV **sptr);
#endif
-#if defined(PERL_IN_SV_C)
+#if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
STATIC IV S_asIV(pTHX_ SV* sv);
STATIC UV S_asUV(pTHX_ SV* sv);
STATIC SV* S_more_sv(pTHX);
@@ -896,7 +913,7 @@ STATIC void S_sv_del_backref(pTHX_ SV *sv);
STATIC void S_del_sv(pTHX_ SV *p);
# endif
#endif
-#if defined(PERL_IN_TOKE_C)
+#if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT)
STATIC void S_check_uni(pTHX);
STATIC void S_force_next(pTHX_ I32 type);
STATIC char* S_force_version(pTHX_ char *start);
@@ -942,13 +959,14 @@ STATIC int S_uni(pTHX_ I32 f, char *s);
STATIC I32 S_win32_textfilter(pTHX_ int idx, SV *sv, int maxlen);
# endif
#endif
-#if defined(PERL_IN_UNIVERSAL_C)
+#if defined(PERL_IN_UNIVERSAL_C) || defined(PERL_DECL_PROT)
STATIC SV* S_isa_lookup(pTHX_ HV *stash, const char *name, int len, int level);
#endif
-#if defined(PERL_IN_UTIL_C)
+#if defined(PERL_IN_UTIL_C) || defined(PERL_DECL_PROT)
STATIC SV* S_mess_alloc(pTHX);
STATIC void S_do_croak(pTHX_ const char *pat, va_list *args) __attribute__((noreturn));
STATIC void S_do_warn(pTHX_ const char *pat, va_list *args);
+STATIC OP* S_do_die(pTHX_ const char *pat, va_list *args);
# if defined(LEAKTEST)
STATIC void S_xstat(pTHX_ int);
# endif
diff --git a/scope.h b/scope.h
index 7ebccf45d3..c0070bdc79 100644
--- a/scope.h
+++ b/scope.h
@@ -82,7 +82,7 @@
#define SAVEDELETE(h,k,l) \
save_delete(SOFT_CAST(HV*)(h), SOFT_CAST(char*)(k), (I32)(l))
#ifdef PERL_OBJECT
-#define CALLDESTRUCTOR this->*SSPOPDPTR
+#define CALLDESTRUCTOR (this->*SSPOPDPTR)
#else
#define CALLDESTRUCTOR (*SSPOPDPTR)
#endif
diff --git a/sv.h b/sv.h
index 0476a12e6c..8eddc57a11 100644
--- a/sv.h
+++ b/sv.h
@@ -271,7 +271,7 @@ struct xpvfm {
HV * xcv_stash;
OP * xcv_start;
OP * xcv_root;
- void (*xcv_xsub)(CV* _CPERLproto);
+ void (*xcv_xsub)(pTHXo_ CV*);
ANY xcv_xsubany;
GV * xcv_gv;
GV * xcv_filegv;
diff --git a/toke.c b/toke.c
index b025b24aef..1378d39ded 100644
--- a/toke.c
+++ b/toke.c
@@ -1512,7 +1512,7 @@ Perl_filter_read(pTHX_ int idx, SV *buf_sv, int maxlen)
/* Call function. The function is expected to */
/* call "FILTER_READ(idx+1, buf_sv)" first. */
/* Return: <0:error, =0:eof, >0:not eof */
- return (*funcp)(aTHX_ idx, buf_sv, maxlen);
+ return (*funcp)(aTHXo_ idx, buf_sv, maxlen);
}
STATIC char *
diff --git a/universal.c b/universal.c
index 63c6910c12..3e5547a58d 100644
--- a/universal.c
+++ b/universal.c
@@ -103,6 +103,20 @@ Perl_sv_derived_from(pTHX_ SV *sv, const char *name)
}
+void XS_UNIVERSAL_isa(pTHXo_ CV *cv);
+void XS_UNIVERSAL_can(pTHXo_ CV *cv);
+void XS_UNIVERSAL_VERSION(pTHXo_ CV *cv);
+
+void
+Perl_boot_core_UNIVERSAL(pTHX)
+{
+ char *file = __FILE__;
+
+ newXS("UNIVERSAL::isa", XS_UNIVERSAL_isa, file);
+ newXS("UNIVERSAL::can", XS_UNIVERSAL_can, file);
+ newXS("UNIVERSAL::VERSION", XS_UNIVERSAL_VERSION, file);
+}
+
#ifdef PERL_OBJECT
#define NO_XSLOCKS
#endif /* PERL_OBJECT */
@@ -205,18 +219,3 @@ XS(XS_UNIVERSAL_VERSION)
XSRETURN(1);
}
-#ifdef PERL_OBJECT
-#undef boot_core_UNIVERSAL
-#define boot_core_UNIVERSAL CPerlObj::Perl_boot_core_UNIVERSAL
-#define pPerl this
-#endif
-
-void
-Perl_boot_core_UNIVERSAL(pTHX)
-{
- char *file = __FILE__;
-
- newXS("UNIVERSAL::isa", XS_UNIVERSAL_isa, file);
- newXS("UNIVERSAL::can", XS_UNIVERSAL_can, file);
- newXS("UNIVERSAL::VERSION", XS_UNIVERSAL_VERSION, file);
-}
diff --git a/util.c b/util.c
index 5e77d4648c..582a7977b8 100644
--- a/util.c
+++ b/util.c
@@ -1408,8 +1408,8 @@ Perl_mess(pTHX_ const char *pat, va_list *args)
return sv;
}
-static OP *
-do_die(pTHX_ const char* pat, va_list *args)
+STATIC OP *
+S_do_die(pTHX_ const char* pat, va_list *args)
{
dTHR;
char *message;
@@ -3301,6 +3301,12 @@ Perl_get_opargs(pTHX)
return PL_opargs;
}
+PPADDR_t*
+Perl_get_ppaddr(pTHX)
+{
+ return &PL_ppaddr;
+}
+
#ifndef HAS_GETENV_LEN
char *
Perl_getenv_len(pTHX_ char *env_elem, unsigned long *len)
diff --git a/win32/GenCAPI.pl b/win32/GenCAPI.pl
index 63688af163..3cd581de72 100644
--- a/win32/GenCAPI.pl
+++ b/win32/GenCAPI.pl
@@ -23,7 +23,7 @@ sub readsyms(\%@) {
s/[ \t]*#.*$//; # delete comments
if (/^\s*(\S+)\s*$/) {
my $sym = $1;
- $$syms{$sym} = "Perl_$sym";
+ $$syms{$sym} = $sym;
}
}
close(FILE);
@@ -40,41 +40,66 @@ sub skip_these {
}
skip_these [qw(
-yylex
-cando
-cast_ulong
-my_chsize
-condpair_magic
-deb
-deb_growlevel
-debprofdump
-debop
-debstack
-debstackptrs
-dump_fds
-dump_mstats
+Perl_yylex
+Perl_cando
+Perl_cast_ulong
+Perl_my_chsize
+Perl_condpair_magic
+Perl_deb
+Perl_deb_growlevel
+Perl_debprofdump
+Perl_debop
+Perl_debstack
+Perl_debstackptrs
+Perl_dump_fds
+Perl_dump_mstats
fprintf
-find_threadsv
-magic_mutexfree
-my_memcmp
-my_memset
-my_pclose
-my_popen
-my_swap
-my_htonl
-my_ntohl
-new_struct_thread
-same_dirent
-unlnk
-unlock_condpair
-safexmalloc
-safexcalloc
-safexrealloc
-safexfree
+Perl_find_threadsv
+Perl_magic_mutexfree
+Perl_my_memcmp
+Perl_my_memset
+Perl_my_pclose
+Perl_my_popen
+Perl_my_swap
+Perl_my_htonl
+Perl_my_ntohl
+Perl_new_struct_thread
+Perl_same_dirent
+Perl_unlnk
+Perl_unlock_condpair
+Perl_safexmalloc
+Perl_safexcalloc
+Perl_safexrealloc
+Perl_safexfree
Perl_GetVars
-malloced_size
-do_exec3
-getenv_len
+Perl_malloced_size
+Perl_do_exec3
+Perl_getenv_len
+Perl_dump_indent
+Perl_default_protect
+Perl_croak_nocontext
+Perl_die_nocontext
+Perl_form_nocontext
+Perl_warn_nocontext
+Perl_newSVpvf_nocontext
+Perl_sv_catpvf_nocontext
+Perl_sv_catpvf_mg_nocontext
+Perl_sv_setpvf_nocontext
+Perl_sv_setpvf_mg_nocontext
+Perl_do_ipcctl
+Perl_do_ipcget
+Perl_do_msgrcv
+Perl_do_msgsnd
+Perl_do_semop
+Perl_do_shmio
+Perl_my_bzero
+perl_parse
+perl_alloc
+Perl_call_atexit
+Perl_malloc
+Perl_calloc
+Perl_realloc
+Perl_mfree
)];
@@ -94,8 +119,15 @@ print OUTFILE <<ENDCODE;
#include "perl.h"
#include "XSUB.h"
-#define DESTRUCTORFUNC (void (*)(void*))
-
+/*#define DESTRUCTORFUNC (void (*)(void*))*/
+
+#undef Perl_sv_2mortal
+#undef Perl_newSVsv
+#undef Perl_mess
+#undef Perl_sv_2pv
+#undef Perl_sv_vcatpvfn
+#undef Perl_sv_vsetpvfn
+#undef Perl_newSV
ENDCODE
print OUTFILE "#ifdef SetCPerlObj_defined\n" unless ($separateObj == 0);
@@ -110,17 +142,18 @@ ENDCODE
print OUTFILE "#endif\n" unless ($separateObj == 0);
+my %done;
+
while () {
last unless defined ($_ = <INFILE>);
- if (/^VIRTUAL\s/) {
+ if (/^VIRTUAL\s+/) {
while (!/;$/) {
chomp;
$_ .= <INFILE>;
}
$_ =~ s/^VIRTUAL\s*//;
$_ =~ s/\s*__attribute__.*$/;/;
- if ( /(.*)\s([A-z_]*[0-9A-z_]+\s)\((.*)\);/ ||
- /(.*)\*([A-z_]*[0-9A-z_]+\s)\((.*)\);/ ) {
+ if ( /^(.+)\t(\w+)\((.*)\);/ ) {
$type = $1;
$name = $2;
$args = $3;
@@ -128,10 +161,14 @@ while () {
$name =~ s/\s*$//;
$type =~ s/\s*$//;
next if (defined $skip_list{$name});
+ next if $name =~ /^S_/;
+ next if exists $done{$name};
- if($args eq "ARGSproto") {
+ $done{$name}++;
+ if($args eq "ARGSproto" or $args eq "pTHX") {
$args = "void";
}
+ $args =~ s/^pTHX_ //;
$return = ($type eq "void" or $type eq "Free_t") ? "\t" : "\treturn";
@@ -143,9 +180,7 @@ while () {
@args = split(',', $args);
if ($args[$#args] =~ /\s*\.\.\.\s*/) {
- if(($name eq "croak") or ($name eq "deb") or ($name eq "die")
- or ($name eq "form") or ($name eq "warn")
- or ($name eq "warner")) {
+ if ($name =~ /^Perl_(croak|deb|die|warn|form|warner)$/) {
print OUTFILE "\n#ifdef $name" . "_defined" unless ($separateObj == 0);
for (@args) { $_ = $1 if /(\w+)\W*$/; }
$arg = $args[$#args-1];
@@ -161,13 +196,13 @@ extern "C" $type $funcName ($args)
va_list args;
va_start(args, $arg);
pmsg = pPerl->Perl_sv_2mortal(pPerl->Perl_newSVsv(pPerl->Perl_mess($arg, &args)));
-$return pPerl->Perl_$name($start SvPV_nolen(pmsg));
+$return pPerl->$name($start SvPV_nolen(pmsg));
va_end(args);
}
ENDCODE
print OUTFILE "#endif\n" unless ($separateObj == 0);
}
- elsif($name eq "newSVpvf") {
+ elsif($name =~ /^Perl_newSVpvf/) {
print OUTFILE "\n#ifdef $name" . "_defined" unless ($separateObj == 0);
$args[0] =~ /(\w+)\W*$/;
$arg = $1;
@@ -187,7 +222,7 @@ extern "C" $type $funcName ($args)
ENDCODE
print OUTFILE "#endif\n" unless ($separateObj == 0);
}
- elsif($name eq "sv_catpvf") {
+ elsif($name =~ /^Perl_sv_catpvf/) {
print OUTFILE "\n#ifdef $name" . "_defined" unless ($separateObj == 0);
$args[0] =~ /(\w+)\W*$/;
$arg0 = $1;
@@ -206,7 +241,7 @@ extern "C" $type $funcName ($args)
ENDCODE
print OUTFILE "#endif\n" unless ($separateObj == 0);
}
- elsif($name eq "sv_catpvf_mg") {
+ elsif($name =~ /^Perl_sv_catpvf_mg/) {
print OUTFILE "\n#ifdef $name" . "_defined" unless ($separateObj == 0);
$args[0] =~ /(\w+)\W*$/;
$arg0 = $1;
@@ -229,7 +264,7 @@ extern "C" $type $funcName ($args)
ENDCODE
print OUTFILE "#endif\n" unless ($separateObj == 0);
}
- elsif($name eq "sv_setpvf") {
+ elsif($name =~ /^Perl_sv_setpvf/) {
print OUTFILE "\n#ifdef $name" . "_defined" unless ($separateObj == 0);
$args[0] =~ /(\w+)\W*$/;
$arg0 = $1;
@@ -248,7 +283,7 @@ extern "C" $type $funcName ($args)
ENDCODE
print OUTFILE "#endif\n" unless ($separateObj == 0);
}
- elsif($name eq "sv_setpvf_mg") {
+ elsif($name =~ /^Perl_sv_setpvf_mg/) {
print OUTFILE "\n#ifdef $name" . "_defined" unless ($separateObj == 0);
$args[0] =~ /(\w+)\W*$/;
$arg0 = $1;
@@ -298,26 +333,26 @@ ENDCODE
}
# newXS special case
- if ($name eq "newXS") {
+ if ($name eq "Perl_newXS") {
next;
}
print OUTFILE "\n#ifdef $name" . "defined" unless ($separateObj == 0);
# handle specical case for save_destructor
- if ($name eq "save_destructor") {
+ if ($name eq "Perl_save_destructor") {
next;
}
# handle specical case for sighandler
- if ($name eq "sighandler") {
+ if ($name eq "Perl_sighandler") {
next;
}
# handle special case for sv_grow
- if ($name eq "sv_grow" and $args eq "SV* sv, unsigned long newlen") {
+ if ($name eq "Perl_sv_grow" and $args eq "SV* sv, unsigned long newlen") {
next;
}
# handle special case for newSV
- if ($name eq "newSV" and $args eq "I32 x, STRLEN len") {
+ if ($name eq "Perl_newSV" and $args eq "I32 x, STRLEN len") {
next;
}
# handle special case for perl_parse
@@ -334,13 +369,13 @@ ENDCODE
next;
}
# handle special case for perl_atexit
- if ($name eq "perl_atexit") {
+ if ($name eq "Perl_call_atexit") {
print OUTFILE <<ENDCODE;
#undef $name
extern "C" $type $name ($args)
{
- pPerl->perl_atexit(fn, ptr);
+ pPerl->perl_call_atexit(fn, ptr);
}
ENDCODE
print OUTFILE "#endif\n" unless ($separateObj == 0);
@@ -348,7 +383,7 @@ ENDCODE
}
- if($name eq "byterun" and $args eq "struct bytestream bs") {
+ if($name eq "Perl_byterun" and $args eq "struct bytestream bs") {
next;
}
@@ -607,7 +642,7 @@ void boot_CAPI_handler(CV *cv, void (*subaddr)(CV *c), void *pP)
subaddr(cv);
}
-void xs_handler(CV* cv, CPerlObj* p)
+void xs_handler(CPerlObj* p, CV* cv)
{
void(*func)(CV*);
SV* sv;
@@ -627,6 +662,7 @@ void xs_handler(CV* cv, CPerlObj* p)
}
}
+#undef Perl_newXS
CV* Perl_newXS(char* name, void (*subaddr)(CV* cv), char* filename)
{
CV* cv = pPerl->Perl_newXS(name, xs_handler, filename);
@@ -634,7 +670,7 @@ CV* Perl_newXS(char* name, void (*subaddr)(CV* cv), char* filename)
return cv;
}
-
+#undef Perl_deb
void Perl_deb(const char pat, ...)
{
}
@@ -1003,6 +1039,11 @@ int _win32_uname(struct utsname *name)
return pPerl->PL_piENV->Uname(name, ErrorNo());
}
+unsigned long _win32_os_id(void)
+{
+ return pPerl->PL_piENV->OsID();
+}
+
char* _win32_getenv(const char *name)
{
return pPerl->PL_piENV->Getenv(name, ErrorNo());
@@ -1330,6 +1371,8 @@ U32 * _Perl_opargs ();
#undef win32_stat
#undef win32_ioctl
#undef win32_utime
+#undef win32_uname
+#undef win32_os_id
#undef win32_getenv
#undef win32_htonl
@@ -1447,6 +1490,8 @@ U32 * _Perl_opargs ();
#define win32_stat _win32_stat
#define win32_ioctl _win32_ioctl
#define win32_utime _win32_utime
+#define win32_uname _win32_uname
+#define win32_os_id _win32_os_id
#define win32_getenv _win32_getenv
#define win32_open_osfhandle _win32_open_osfhandle
#define win32_get_osfhandle _win32_get_osfhandle
@@ -1566,6 +1611,8 @@ int _win32_times(struct tms *timebuf);
int _win32_stat(const char *path, struct stat *buf);
int _win32_ioctl(int i, unsigned int u, char *data);
int _win32_utime(const char *f, struct utimbuf *t);
+int _win32_uname(struct utsname *n);
+unsigned long _win32_os_id(void);
char* _win32_getenv(const char *name);
int _win32_open_osfhandle(long handle, int flags);
long _win32_get_osfhandle(int fd);
diff --git a/win32/Makefile b/win32/Makefile
index 42b8a9deee..51f80c1599 100644
--- a/win32/Makefile
+++ b/win32/Makefile
@@ -32,6 +32,17 @@ INST_TOP = $(INST_DRV)\perl
INST_VER = \5.00557
#
+# Comment this out if you DON'T want your perl installation to have
+# architecture specific components. This means that architecture-
+# specific files will be installed along with the architecture-neutral
+# files. Leaving it enabled is safer and more flexible, in case you
+# want to build multiple flavors of perl and install them together in
+# the same location. Commenting it out gives you a simpler
+# installation that is easier to understand for beginners.
+#
+#INST_ARCH = \$(ARCHNAME)
+
+#
# uncomment to enable threads-capabilities
#
#USE_THREADS = define
@@ -124,6 +135,7 @@ CCLIBDIR = $(CCHOME)\lib
# instead of clinging to shortcuts like this one.
#
#BUILDOPT = -DPERL_POLLUTE
+#BUILDOPT = -DPERL_IMPLICIT_CONTEXT
#
# specify semicolon-separated list of extra directories that modules will
@@ -196,7 +208,6 @@ CFG = Optimize
!ENDIF
!ENDIF
-ARCHDIR = ..\lib\$(ARCHNAME)
COREDIR = ..\lib\CORE
AUTODIR = ..\lib\auto
@@ -299,7 +310,7 @@ $(o).dll:
-out:$@ $(LINK_FLAGS) $(LIBFILES) $< $(LIBPERL)
#
-INST_BIN = $(INST_TOP)$(INST_VER)\bin\$(ARCHNAME)
+INST_BIN = $(INST_TOP)$(INST_VER)\bin$(INST_ARCH)
INST_SCRIPT = $(INST_TOP)$(INST_VER)\bin
INST_LIB = $(INST_TOP)$(INST_VER)\lib
INST_POD = $(INST_LIB)\pod
@@ -314,7 +325,7 @@ EXTUTILSDIR = $(LIBDIR)\extutils
!IF "$(OBJECT)" == "-DPERL_OBJECT"
PERLIMPLIB = ..\perlcore.lib
PERLDLL = ..\perlcore.dll
-CAPILIB = $(COREDIR)\perlCAPI.lib
+#CAPILIB = $(COREDIR)\perlCAPI.lib
!ELSE
PERLIMPLIB = ..\perl.lib
PERLDLL = ..\perl.dll
@@ -405,6 +416,8 @@ MICROCORE_SRC = \
..\utf8.c \
..\util.c
+EXTRACORE_SRC = $(EXTRACORE_SRC) perllib.c
+
!IF "$(PERL_MALLOC)" == "define"
EXTRACORE_SRC = $(EXTRACORE_SRC) ..\malloc.c
!ENDIF
@@ -437,9 +450,9 @@ PERL95_SRC = $(PERL95_SRC) .\$(CRYPT_SRC)
DLL_SRC = $(DYNALOADER).c
-!IF "$(OBJECT)" == ""
-DLL_SRC = $(DLL_SRC) perllib.c
-!ENDIF
+#!IF "$(OBJECT)" == ""
+#DLL_SRC = $(DLL_SRC) perllib.c
+#!ENDIF
X2P_SRC = \
..\x2p\a2p.c \
@@ -504,12 +517,9 @@ X2P_OBJ = $(X2P_SRC:.c=.obj)
PERLDLL_OBJ = $(CORE_OBJ)
PERLEXE_OBJ = perlmain$(o)
-!IF "$(OBJECT)" == ""
PERLDLL_OBJ = $(PERLDLL_OBJ) $(WIN32_OBJ) $(DLL_OBJ)
-!ELSE
-PERLEXE_OBJ = $(PERLEXE_OBJ) $(WIN32_OBJ) $(DLL_OBJ)
-PERL95_OBJ = $(PERL95_OBJ) DynaLoadmt$(o)
-!ENDIF
+#PERLEXE_OBJ = $(PERLEXE_OBJ) $(WIN32_OBJ) $(DLL_OBJ)
+#PERL95_OBJ = $(PERL95_OBJ) DynaLoadmt$(o)
!IF "$(USE_SETARGV)" != ""
SETARGV_OBJ = setargv$(o)
@@ -599,6 +609,7 @@ CFG_VARS = \
"INST_DRV=$(INST_DRV)" \
"INST_TOP=$(INST_TOP)" \
"INST_VER=$(INST_VER)" \
+ "INST_ARCH=$(INST_ARCH)" \
"archname=$(ARCHNAME)" \
"cc=$(CC)" \
"ccflags=$(OPTIMIZE:"=\") $(DEFINES) $(OBJECT)" \
@@ -781,17 +792,17 @@ $(DYNALOADER).c: $(MINIPERL) $(EXTDIR)\DynaLoader\dl_win32.xs $(CONFIGPM)
$(XSUBPP) dl_win32.xs > $(*B).c
cd ..\..\win32
-!IF "$(OBJECT)" == "-DPERL_OBJECT"
-perlCAPI.cpp : $(MINIPERL)
- $(MINIPERL) GenCAPI.pl $(COREDIR)
-
-perlCAPI$(o) : perlCAPI.cpp
- $(CC) $(CFLAGS_O) $(RUNTIME) -UPERLDLL -c \
- $(OBJOUT_FLAG)perlCAPI$(o) perlCAPI.cpp
-
-$(CAPILIB) : perlCAPI.cpp perlCAPI$(o)
- lib /OUT:$(CAPILIB) perlCAPI$(o)
-!ENDIF
+#!IF "$(OBJECT)" == "-DPERL_OBJECT"
+#perlCAPI.cpp : $(MINIPERL)
+# $(MINIPERL) GenCAPI.pl $(COREDIR)
+#
+#perlCAPI$(o) : perlCAPI.cpp
+# $(CC) $(CFLAGS_O) $(RUNTIME) -UPERLDLL -c \
+# $(OBJOUT_FLAG)perlCAPI$(o) perlCAPI.cpp
+#
+#$(CAPILIB) : perlCAPI.cpp perlCAPI$(o)
+# lib /OUT:$(CAPILIB) perlCAPI$(o)
+#!ENDIF
$(EXTDIR)\DynaLoader\dl_win32.xs: dl_win32.xs
copy dl_win32.xs $(EXTDIR)\DynaLoader\dl_win32.xs
diff --git a/win32/config.bc b/win32/config.bc
index 515501543c..e6197dd29e 100644
--- a/win32/config.bc
+++ b/win32/config.bc
@@ -25,16 +25,16 @@ ansi2knr=''
aphostname=''
apiversion='5.005'
ar='tlib /P128'
-archlib='~INST_TOP~~INST_VER~\lib\~archname~'
-archlibexp='~INST_TOP~~INST_VER~\lib\~archname~'
+archlib='~INST_TOP~~INST_VER~\lib~INST_ARCH~'
+archlibexp='~INST_TOP~~INST_VER~\lib~INST_ARCH~'
archname64=''
archname='MSWin32'
archobjs=''
awk='awk'
baserev='5.0'
bash=''
-bin='~INST_TOP~~INST_VER~\bin\~archname~'
-binexp='~INST_TOP~~INST_VER~\bin\~archname~'
+bin='~INST_TOP~~INST_VER~\bin~INST_ARCH~'
+binexp='~INST_TOP~~INST_VER~\bin~INST_ARCH~'
bison=''
byacc='byacc'
byteorder='1234'
@@ -460,15 +460,15 @@ i_vfork='undef'
ignore_versioned_solibs=''
incpath=''
inews=''
-installarchlib='~INST_TOP~~INST_VER~\lib\~archname~'
-installbin='~INST_TOP~~INST_VER~\bin\~archname~'
+installarchlib='~INST_TOP~~INST_VER~\lib~INST_ARCH~'
+installbin='~INST_TOP~~INST_VER~\bin~INST_ARCH~'
installman1dir='~INST_TOP~~INST_VER~\man\man1'
installman3dir='~INST_TOP~~INST_VER~\man\man3'
installhtmldir='~INST_TOP~~INST_VER~\html'
installhtmlhelpdir='~INST_TOP~~INST_VER~\htmlhelp'
installprivlib='~INST_TOP~~INST_VER~\lib'
installscript='~INST_TOP~~INST_VER~\bin'
-installsitearch='~INST_TOP~\site~INST_VER~\lib\~archname~'
+installsitearch='~INST_TOP~\site~INST_VER~\lib~INST_ARCH~'
installsitelib='~INST_TOP~\site~INST_VER~\lib'
installusrbinperl='undef'
intsize='4'
@@ -551,7 +551,7 @@ patchlevel='~PATCHLEVEL~'
path_sep=';'
perl='perl'
perladmin=''
-perlpath='~INST_TOP~~INST_VER~\bin\~archname~\perl.exe'
+perlpath='~INST_TOP~~INST_VER~\bin~INST_ARCH~\perl.exe'
pg=''
phostname='hostname'
pidtype='int'
@@ -592,8 +592,8 @@ sig_name_init='"ZERO", "NUM01", "INT", "QUIT", "ILL", "NUM05", "NUM06", "NUM07",
sig_num='0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 18 0'
sig_num_init='0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 18, 0'
signal_t='void'
-sitearch='~INST_TOP~\site~INST_VER~\lib\~archname~'
-sitearchexp='~INST_TOP~\site~INST_VER~\lib\~archname~'
+sitearch='~INST_TOP~\site~INST_VER~\lib~INST_ARCH~'
+sitearchexp='~INST_TOP~\site~INST_VER~\lib~INST_ARCH~'
sitelib='~INST_TOP~\site~INST_VER~\lib'
sitelibexp='~INST_TOP~\site~INST_VER~\lib'
sizetype='size_t'
diff --git a/win32/config.gc b/win32/config.gc
index 7d65b56612..b4495d7182 100644
--- a/win32/config.gc
+++ b/win32/config.gc
@@ -25,16 +25,16 @@ ansi2knr=''
aphostname=''
apiversion='5.005'
ar='ar'
-archlib='~INST_TOP~~INST_VER~\lib\~archname~'
-archlibexp='~INST_TOP~~INST_VER~\lib\~archname~'
+archlib='~INST_TOP~~INST_VER~\lib~INST_ARCH~'
+archlibexp='~INST_TOP~~INST_VER~\lib~INST_ARCH~'
archname64=''
archname='MSWin32'
archobjs=''
awk='awk'
baserev='5.0'
bash=''
-bin='~INST_TOP~~INST_VER~\bin\~archname~'
-binexp='~INST_TOP~~INST_VER~\bin\~archname~'
+bin='~INST_TOP~~INST_VER~\bin~INST_ARCH~'
+binexp='~INST_TOP~~INST_VER~\bin~INST_ARCH~'
bison=''
byacc='byacc'
byteorder='1234'
@@ -460,15 +460,15 @@ i_vfork='undef'
ignore_versioned_solibs=''
incpath=''
inews=''
-installarchlib='~INST_TOP~~INST_VER~\lib\~archname~'
-installbin='~INST_TOP~~INST_VER~\bin\~archname~'
+installarchlib='~INST_TOP~~INST_VER~\lib~INST_ARCH~'
+installbin='~INST_TOP~~INST_VER~\bin~INST_ARCH~'
installman1dir='~INST_TOP~~INST_VER~\man\man1'
installman3dir='~INST_TOP~~INST_VER~\man\man3'
installhtmldir='~INST_TOP~~INST_VER~\html'
installhtmlhelpdir='~INST_TOP~~INST_VER~\htmlhelp'
installprivlib='~INST_TOP~~INST_VER~\lib'
installscript='~INST_TOP~~INST_VER~\bin'
-installsitearch='~INST_TOP~\site~INST_VER~\lib\~archname~'
+installsitearch='~INST_TOP~\site~INST_VER~\lib~INST_ARCH~'
installsitelib='~INST_TOP~\site~INST_VER~\lib'
installusrbinperl='undef'
intsize='4'
@@ -551,7 +551,7 @@ patchlevel='~PATCHLEVEL~'
path_sep=';'
perl='perl'
perladmin=''
-perlpath='~INST_TOP~~INST_VER~\bin\~archname~\perl.exe'
+perlpath='~INST_TOP~~INST_VER~\bin~INST_ARCH~\perl.exe'
pg=''
phostname='hostname'
pidtype='int'
@@ -592,8 +592,8 @@ sig_name_init='"ZERO", "NUM01", "INT", "QUIT", "ILL", "NUM05", "NUM06", "NUM07",
sig_num='0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 20 0'
sig_num_init='0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 20, 0'
signal_t='void'
-sitearch='~INST_TOP~\site~INST_VER~\lib\~archname~'
-sitearchexp='~INST_TOP~\site~INST_VER~\lib\~archname~'
+sitearch='~INST_TOP~\site~INST_VER~\lib~INST_ARCH~'
+sitearchexp='~INST_TOP~\site~INST_VER~\lib~INST_ARCH~'
sitelib='~INST_TOP~\site~INST_VER~\lib'
sitelibexp='~INST_TOP~\site~INST_VER~\lib'
sizetype='size_t'
diff --git a/win32/config.vc b/win32/config.vc
index 1b44425797..73f1687911 100644
--- a/win32/config.vc
+++ b/win32/config.vc
@@ -25,16 +25,16 @@ ansi2knr=''
aphostname=''
apiversion='5.005'
ar='lib'
-archlib='~INST_TOP~~INST_VER~\lib\~archname~'
-archlibexp='~INST_TOP~~INST_VER~\lib\~archname~'
+archlib='~INST_TOP~~INST_VER~\lib~INST_ARCH~'
+archlibexp='~INST_TOP~~INST_VER~\lib~INST_ARCH~'
archname64=''
archname='MSWin32'
archobjs=''
awk='awk'
baserev='5.0'
bash=''
-bin='~INST_TOP~~INST_VER~\bin\~archname~'
-binexp='~INST_TOP~~INST_VER~\bin\~archname~'
+bin='~INST_TOP~~INST_VER~\bin~INST_ARCH~'
+binexp='~INST_TOP~~INST_VER~\bin~INST_ARCH~'
bison=''
byacc='byacc'
byteorder='1234'
@@ -460,15 +460,15 @@ i_vfork='undef'
ignore_versioned_solibs=''
incpath=''
inews=''
-installarchlib='~INST_TOP~~INST_VER~\lib\~archname~'
-installbin='~INST_TOP~~INST_VER~\bin\~archname~'
+installarchlib='~INST_TOP~~INST_VER~\lib~INST_ARCH~'
+installbin='~INST_TOP~~INST_VER~\bin~INST_ARCH~'
installman1dir='~INST_TOP~~INST_VER~\man\man1'
installman3dir='~INST_TOP~~INST_VER~\man\man3'
installhtmldir='~INST_TOP~~INST_VER~\html'
installhtmlhelpdir='~INST_TOP~~INST_VER~\htmlhelp'
installprivlib='~INST_TOP~~INST_VER~\lib'
installscript='~INST_TOP~~INST_VER~\bin'
-installsitearch='~INST_TOP~\site~INST_VER~\lib\~archname~'
+installsitearch='~INST_TOP~\site~INST_VER~\lib~INST_ARCH~'
installsitelib='~INST_TOP~\site~INST_VER~\lib'
installusrbinperl='undef'
intsize='4'
@@ -551,7 +551,7 @@ patchlevel='~PATCHLEVEL~'
path_sep=';'
perl='perl'
perladmin=''
-perlpath='~INST_TOP~~INST_VER~\bin\~archname~\perl.exe'
+perlpath='~INST_TOP~~INST_VER~\bin~INST_ARCH~\perl.exe'
pg=''
phostname='hostname'
pidtype='int'
@@ -592,8 +592,8 @@ sig_name_init='"ZERO", "NUM01", "INT", "QUIT", "ILL", "NUM05", "NUM06", "NUM07",
sig_num='0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 20 0'
sig_num_init='0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 20, 0'
signal_t='void'
-sitearch='~INST_TOP~\site~INST_VER~\lib\~archname~'
-sitearchexp='~INST_TOP~\site~INST_VER~\lib\~archname~'
+sitearch='~INST_TOP~\site~INST_VER~\lib~INST_ARCH~'
+sitearchexp='~INST_TOP~\site~INST_VER~\lib~INST_ARCH~'
sitelib='~INST_TOP~\site~INST_VER~\lib'
sitelibexp='~INST_TOP~\site~INST_VER~\lib'
sizetype='size_t'
diff --git a/win32/dl_win32.xs b/win32/dl_win32.xs
index 5c6f627437..3e7fdd4714 100644
--- a/win32/dl_win32.xs
+++ b/win32/dl_win32.xs
@@ -37,22 +37,22 @@ calls.
static SV *error_sv;
static char *
-OS_Error_String(pTHX)
+OS_Error_String(pTHXo)
{
DWORD err = GetLastError();
STRLEN len;
if (!error_sv)
error_sv = newSVpvn("",0);
- win32_str_os_error(aTHX_ error_sv,err);
+ PerlProc_GetOSError(error_sv,err);
return SvPV(error_sv,len);
}
#include "dlutils.c" /* SaveError() etc */
static void
-dl_private_init(pTHX)
+dl_private_init(pTHXo)
{
- (void)dl_generic_private_init(aTHX);
+ (void)dl_generic_private_init(aTHXo);
}
/*
@@ -94,7 +94,7 @@ dl_static_linked(char *filename)
MODULE = DynaLoader PACKAGE = DynaLoader
BOOT:
- (void)dl_private_init(aTHX);
+ (void)dl_private_init(aTHXo);
void *
dl_load_file(filename,flags=0)
@@ -103,24 +103,17 @@ dl_load_file(filename,flags=0)
PREINIT:
CODE:
{
- WCHAR wfilename[MAX_PATH];
DLDEBUG(1,PerlIO_printf(PerlIO_stderr(),"dl_load_file(%s):\n", filename));
if (dl_static_linked(filename) == 0) {
- if (USING_WIDE()) {
- A2WHELPER(filename, wfilename, sizeof(wfilename), GETINTERPMODE());
- RETVAL = (void*) LoadLibraryExW(wfilename, NULL, LOAD_WITH_ALTERED_SEARCH_PATH);
- }
- else {
- RETVAL = (void*) LoadLibraryExA(filename, NULL, LOAD_WITH_ALTERED_SEARCH_PATH);
- }
+ RETVAL = PerlProc_DynaLoad(filename);
}
else
RETVAL = (void*) GetModuleHandle(NULL);
DLDEBUG(2,PerlIO_printf(PerlIO_stderr()," libref=%x\n", RETVAL));
ST(0) = sv_newmortal() ;
if (RETVAL == NULL)
- SaveError(aTHX_ "load_file:%s",
- OS_Error_String(aTHX)) ;
+ SaveError(aTHXo_ "load_file:%s",
+ OS_Error_String(aTHXo)) ;
else
sv_setiv( ST(0), (IV)RETVAL);
}
@@ -136,8 +129,8 @@ dl_find_symbol(libhandle, symbolname)
DLDEBUG(2,PerlIO_printf(PerlIO_stderr()," symbolref = %x\n", RETVAL));
ST(0) = sv_newmortal() ;
if (RETVAL == NULL)
- SaveError(aTHX_ "find_symbol:%s",
- OS_Error_String(aTHX)) ;
+ SaveError(aTHXo_ "find_symbol:%s",
+ OS_Error_String(aTHXo)) ;
else
sv_setiv( ST(0), (IV)RETVAL);
@@ -159,7 +152,7 @@ dl_install_xsub(perl_name, symref, filename="$Package")
DLDEBUG(2,PerlIO_printf(PerlIO_stderr(),"dl_install_xsub(name=%s, symref=%x)\n",
perl_name, symref));
ST(0) = sv_2mortal(newRV((SV*)newXS(perl_name,
- (void(*)(pTHX_ CV *))symref,
+ (void(*)(pTHXo_ CV *))symref,
filename)));
diff --git a/win32/makedef.pl b/win32/makedef.pl
index 2071220e20..f95d3747ed 100644
--- a/win32/makedef.pl
+++ b/win32/makedef.pl
@@ -29,6 +29,15 @@ if ($define{PERL_OBJECT}) {
print "DESCRIPTION 'Perl interpreter'\n";
print "EXPORTS\n";
output_symbol("perl_alloc");
+ output_symbol("perl_get_host_info");
+ output_symbol("perl_alloc_using");
+ output_symbol("perl_construct");
+ output_symbol("perl_destruct");
+ output_symbol("perl_free");
+ output_symbol("perl_parse");
+ output_symbol("perl_run");
+ output_symbol("RunPerl");
+ output_symbol("GetPerlInterpreter");
exit(0);
}
@@ -467,6 +476,7 @@ win32_seekdir
win32_rewinddir
win32_closedir
win32_longpath
+win32_os_id
Perl_win32_init
Perl_init_os_extras
Perl_getTHR
diff --git a/win32/makefile.mk b/win32/makefile.mk
index 7a97dab387..22b1d0a2be 100644
--- a/win32/makefile.mk
+++ b/win32/makefile.mk
@@ -36,6 +36,17 @@ INST_TOP *= $(INST_DRV)\perl
INST_VER *= \5.00557
#
+# Comment this out if you DON'T want your perl installation to have
+# architecture specific components. This means that architecture-
+# specific files will be installed along with the architecture-neutral
+# files. Leaving it enabled is safer and more flexible, in case you
+# want to build multiple flavors of perl and install them together in
+# the same location. Commenting it out gives you a simpler
+# installation that is easier to understand for beginners.
+#
+INST_ARCH *= \$(ARCHNAME)
+
+#
# uncomment to enable threads-capabilities
#
#USE_THREADS *= define
@@ -139,6 +150,7 @@ CCLIBDIR *= $(CCHOME)\lib
# instead of clinging to shortcuts like this one.
#
#BUILDOPT *= -DPERL_POLLUTE
+#BUILDOPT *= -DPERL_IMPLICIT_CONTEXT
#
# specify semicolon-separated list of extra directories that modules will
@@ -206,7 +218,6 @@ DELAYLOAD *= -DELAYLOAD:wsock32.dll delayimp.lib
CFG *= Optimize
.ENDIF
-ARCHDIR = ..\lib\$(ARCHNAME)
COREDIR = ..\lib\CORE
AUTODIR = ..\lib\auto
@@ -402,7 +413,7 @@ $(o).dll:
.ENDIF
#
-INST_BIN = $(INST_TOP)$(INST_VER)\bin\$(ARCHNAME)
+INST_BIN = $(INST_TOP)$(INST_VER)\bin$(INST_ARCH)
INST_SCRIPT = $(INST_TOP)$(INST_VER)\bin
INST_LIB = $(INST_TOP)$(INST_VER)\lib
INST_POD = $(INST_LIB)\pod
@@ -715,6 +726,7 @@ CFG_VARS = \
"INST_DRV=$(INST_DRV)" \
"INST_TOP=$(INST_TOP)" \
"INST_VER=$(INST_VER)" \
+ "INST_ARCH=$(INST_ARCH)" \
"archname=$(ARCHNAME)" \
"cc=$(CC)" \
"ccflags=$(OPTIMIZE:s/"/\"/) $(DEFINES) $(OBJECT)" \
diff --git a/win32/perllib.c b/win32/perllib.c
index 452fcdf11e..7cfe60da15 100644
--- a/win32/perllib.c
+++ b/win32/perllib.c
@@ -5,17 +5,1472 @@
#include "EXTERN.h"
#include "perl.h"
+
+#ifdef PERL_OBJECT
+#define NO_XSLOCKS
+#endif
+
#include "XSUB.h"
-static void xs_init (pTHX);
+#ifdef PERL_OBJECT
+#include "win32iop.h"
+#include <fcntl.h>
+#endif
+
+
+/* Register any extra external extensions */
+char *staticlinkmodules[] = {
+ "DynaLoader",
+ NULL,
+};
+
+EXTERN_C void boot_DynaLoader (pTHXo_ CV* cv);
+
+static void
+xs_init(pTHXo)
+{
+ char *file = __FILE__;
+ dXSUB_SYS;
+ newXS("DynaLoader::boot_DynaLoader", boot_DynaLoader, file);
+}
+
+#ifdef PERL_OBJECT
+// IPerlMem
+void*
+PerlMemMalloc(struct IPerlMem*, size_t size)
+{
+ return win32_malloc(size);
+}
+void*
+PerlMemRealloc(struct IPerlMem*, void* ptr, size_t size)
+{
+ return win32_realloc(ptr, size);
+}
+void
+PerlMemFree(struct IPerlMem*, void* ptr)
+{
+ win32_free(ptr);
+}
+
+struct IPerlMem perlMem =
+{
+ PerlMemMalloc,
+ PerlMemRealloc,
+ PerlMemFree,
+};
+
+
+// IPerlEnv
+extern char * g_win32_get_privlib(char *pl);
+extern char * g_win32_get_sitelib(char *pl);
+
+
+char*
+PerlEnvGetenv(struct IPerlEnv*, const char *varname)
+{
+ return win32_getenv(varname);
+};
+int
+PerlEnvPutenv(struct IPerlEnv*, const char *envstring)
+{
+ return win32_putenv(envstring);
+};
+
+char*
+PerlEnvGetenv_len(struct IPerlEnv*, const char* varname, unsigned long* len)
+{
+ char *e = win32_getenv(varname);
+ if (e)
+ *len = strlen(e);
+ return e;
+}
+
+int
+PerlEnvUname(struct IPerlEnv*, struct utsname *name)
+{
+ return win32_uname(name);
+}
+
+unsigned long
+PerlEnvOsId(struct IPerlEnv*)
+{
+ return win32_os_id();
+}
+
+char*
+PerlEnvLibPath(struct IPerlEnv*, char *pl)
+{
+ return g_win32_get_privlib(pl);
+}
+
+char*
+PerlEnvSiteLibPath(struct IPerlEnv*, char *pl)
+{
+ return g_win32_get_sitelib(pl);
+}
+
+struct IPerlEnv perlEnv =
+{
+ PerlEnvGetenv,
+ PerlEnvPutenv,
+ PerlEnvGetenv_len,
+ PerlEnvUname,
+ NULL,
+ PerlEnvOsId,
+ PerlEnvLibPath,
+ PerlEnvSiteLibPath,
+};
+
+
+// PerlStdIO
+PerlIO*
+PerlStdIOStdin(struct IPerlStdIO*)
+{
+ return (PerlIO*)win32_stdin();
+}
+
+PerlIO*
+PerlStdIOStdout(struct IPerlStdIO*)
+{
+ return (PerlIO*)win32_stdout();
+}
+
+PerlIO*
+PerlStdIOStderr(struct IPerlStdIO*)
+{
+ return (PerlIO*)win32_stderr();
+}
+
+PerlIO*
+PerlStdIOOpen(struct IPerlStdIO*, const char *path, const char *mode)
+{
+ return (PerlIO*)win32_fopen(path, mode);
+}
+
+int
+PerlStdIOClose(struct IPerlStdIO*, PerlIO* pf)
+{
+ return win32_fclose(((FILE*)pf));
+}
+
+int
+PerlStdIOEof(struct IPerlStdIO*, PerlIO* pf)
+{
+ return win32_feof((FILE*)pf);
+}
+
+int
+PerlStdIOError(struct IPerlStdIO*, PerlIO* pf)
+{
+ return win32_ferror((FILE*)pf);
+}
+
+void
+PerlStdIOClearerr(struct IPerlStdIO*, PerlIO* pf)
+{
+ win32_clearerr((FILE*)pf);
+}
+
+int
+PerlStdIOGetc(struct IPerlStdIO*, PerlIO* pf)
+{
+ return win32_getc((FILE*)pf);
+}
+
+char*
+PerlStdIOGetBase(struct IPerlStdIO*, PerlIO* pf)
+{
+#ifdef FILE_base
+ FILE *f = (FILE*)pf;
+ return FILE_base(f);
+#else
+ return Nullch;
+#endif
+}
+
+int
+PerlStdIOGetBufsiz(struct IPerlStdIO*, PerlIO* pf)
+{
+#ifdef FILE_bufsiz
+ FILE *f = (FILE*)pf;
+ return FILE_bufsiz(f);
+#else
+ return (-1);
+#endif
+}
+
+int
+PerlStdIOGetCnt(struct IPerlStdIO*, PerlIO* pf)
+{
+#ifdef USE_STDIO_PTR
+ FILE *f = (FILE*)pf;
+ return FILE_cnt(f);
+#else
+ return (-1);
+#endif
+}
+
+char*
+PerlStdIOGetPtr(struct IPerlStdIO*, PerlIO* pf)
+{
+#ifdef USE_STDIO_PTR
+ FILE *f = (FILE*)pf;
+ return FILE_ptr(f);
+#else
+ return Nullch;
+#endif
+}
+
+char*
+PerlStdIOGets(struct IPerlStdIO*, PerlIO* pf, char* s, int n)
+{
+ return win32_fgets(s, n, (FILE*)pf);
+}
+
+int
+PerlStdIOPutc(struct IPerlStdIO*, PerlIO* pf, int c)
+{
+ return win32_fputc(c, (FILE*)pf);
+}
+
+int
+PerlStdIOPuts(struct IPerlStdIO*, PerlIO* pf, const char *s)
+{
+ return win32_fputs(s, (FILE*)pf);
+}
+
+int
+PerlStdIOFlush(struct IPerlStdIO*, PerlIO* pf)
+{
+ return win32_fflush((FILE*)pf);
+}
+
+int
+PerlStdIOUngetc(struct IPerlStdIO*, PerlIO* pf,int c)
+{
+ return win32_ungetc(c, (FILE*)pf);
+}
+
+int
+PerlStdIOFileno(struct IPerlStdIO*, PerlIO* pf)
+{
+ return win32_fileno((FILE*)pf);
+}
+
+PerlIO*
+PerlStdIOFdopen(struct IPerlStdIO*, int fd, const char *mode)
+{
+ return (PerlIO*)win32_fdopen(fd, mode);
+}
+
+PerlIO*
+PerlStdIOReopen(struct IPerlStdIO*, const char*path, const char*mode, PerlIO* pf)
+{
+ return (PerlIO*)win32_freopen(path, mode, (FILE*)pf);
+}
+
+SSize_t
+PerlStdIORead(struct IPerlStdIO*, PerlIO* pf, void *buffer, Size_t size)
+{
+ return win32_fread(buffer, 1, size, (FILE*)pf);
+}
+
+SSize_t
+PerlStdIOWrite(struct IPerlStdIO*, PerlIO* pf, const void *buffer, Size_t size)
+{
+ return win32_fwrite(buffer, 1, size, (FILE*)pf);
+}
+
+void
+PerlStdIOSetBuf(struct IPerlStdIO*, PerlIO* pf, char* buffer)
+{
+ win32_setbuf((FILE*)pf, buffer);
+}
+
+int
+PerlStdIOSetVBuf(struct IPerlStdIO*, PerlIO* pf, char* buffer, int type, Size_t size)
+{
+ return win32_setvbuf((FILE*)pf, buffer, type, size);
+}
+
+void
+PerlStdIOSetCnt(struct IPerlStdIO*, PerlIO* pf, int n)
+{
+#ifdef STDIO_CNT_LVALUE
+ FILE *f = (FILE*)pf;
+ FILE_cnt(f) = n;
+#endif
+}
+
+void
+PerlStdIOSetPtrCnt(struct IPerlStdIO*, PerlIO* pf, char * ptr, int n)
+{
+#ifdef STDIO_PTR_LVALUE
+ FILE *f = (FILE*)pf;
+ FILE_ptr(f) = ptr;
+ FILE_cnt(f) = n;
+#endif
+}
+
+void
+PerlStdIOSetlinebuf(struct IPerlStdIO*, PerlIO* pf)
+{
+ win32_setvbuf((FILE*)pf, NULL, _IOLBF, 0);
+}
+
+int
+PerlStdIOPrintf(struct IPerlStdIO*, PerlIO* pf, const char *format,...)
+{
+ va_list(arglist);
+ va_start(arglist, format);
+ return win32_vfprintf((FILE*)pf, format, arglist);
+}
+
+int
+PerlStdIOVprintf(struct IPerlStdIO*, PerlIO* pf, const char *format, va_list arglist)
+{
+ return win32_vfprintf((FILE*)pf, format, arglist);
+}
+
+long
+PerlStdIOTell(struct IPerlStdIO*, PerlIO* pf)
+{
+ return win32_ftell((FILE*)pf);
+}
+
+int
+PerlStdIOSeek(struct IPerlStdIO*, PerlIO* pf, off_t offset, int origin)
+{
+ return win32_fseek((FILE*)pf, offset, origin);
+}
+
+void
+PerlStdIORewind(struct IPerlStdIO*, PerlIO* pf)
+{
+ win32_rewind((FILE*)pf);
+}
+
+PerlIO*
+PerlStdIOTmpfile(struct IPerlStdIO*)
+{
+ return (PerlIO*)win32_tmpfile();
+}
+
+int
+PerlStdIOGetpos(struct IPerlStdIO*, PerlIO* pf, Fpos_t *p)
+{
+ return win32_fgetpos((FILE*)pf, p);
+}
+
+int
+PerlStdIOSetpos(struct IPerlStdIO*, PerlIO* pf, const Fpos_t *p)
+{
+ return win32_fsetpos((FILE*)pf, p);
+}
+void
+PerlStdIOInit(struct IPerlStdIO*)
+{
+}
+
+void
+PerlStdIOInitOSExtras(struct IPerlStdIO*)
+{
+ Perl_init_os_extras();
+}
+
+int
+PerlStdIOOpenOSfhandle(struct IPerlStdIO*, long osfhandle, int flags)
+{
+ return win32_open_osfhandle(osfhandle, flags);
+}
+
+int
+PerlStdIOGetOSfhandle(struct IPerlStdIO*, int filenum)
+{
+ return win32_get_osfhandle(filenum);
+}
+
+
+struct IPerlStdIO perlStdIO =
+{
+ PerlStdIOStdin,
+ PerlStdIOStdout,
+ PerlStdIOStderr,
+ PerlStdIOOpen,
+ PerlStdIOClose,
+ PerlStdIOEof,
+ PerlStdIOError,
+ PerlStdIOClearerr,
+ PerlStdIOGetc,
+ PerlStdIOGetBase,
+ PerlStdIOGetBufsiz,
+ PerlStdIOGetCnt,
+ PerlStdIOGetPtr,
+ PerlStdIOGets,
+ PerlStdIOPutc,
+ PerlStdIOPuts,
+ PerlStdIOFlush,
+ PerlStdIOUngetc,
+ PerlStdIOFileno,
+ PerlStdIOFdopen,
+ PerlStdIOReopen,
+ PerlStdIORead,
+ PerlStdIOWrite,
+ PerlStdIOSetBuf,
+ PerlStdIOSetVBuf,
+ PerlStdIOSetCnt,
+ PerlStdIOSetPtrCnt,
+ PerlStdIOSetlinebuf,
+ PerlStdIOPrintf,
+ PerlStdIOVprintf,
+ PerlStdIOTell,
+ PerlStdIOSeek,
+ PerlStdIORewind,
+ PerlStdIOTmpfile,
+ PerlStdIOGetpos,
+ PerlStdIOSetpos,
+ PerlStdIOInit,
+ PerlStdIOInitOSExtras,
+};
+
+
+// IPerlLIO
+int
+PerlLIOAccess(struct IPerlLIO*, const char *path, int mode)
+{
+ return access(path, mode);
+}
+
+int
+PerlLIOChmod(struct IPerlLIO*, const char *filename, int pmode)
+{
+ return chmod(filename, pmode);
+}
+
+int
+PerlLIOChown(struct IPerlLIO*, const char *filename, uid_t owner, gid_t group)
+{
+ return chown(filename, owner, group);
+}
+
+int
+PerlLIOChsize(struct IPerlLIO*, int handle, long size)
+{
+ return chsize(handle, size);
+}
+
+int
+PerlLIOClose(struct IPerlLIO*, int handle)
+{
+ return win32_close(handle);
+}
+
+int
+PerlLIODup(struct IPerlLIO*, int handle)
+{
+ return win32_dup(handle);
+}
+
+int
+PerlLIODup2(struct IPerlLIO*, int handle1, int handle2)
+{
+ return win32_dup2(handle1, handle2);
+}
+
+int
+PerlLIOFlock(struct IPerlLIO*, int fd, int oper)
+{
+ return win32_flock(fd, oper);
+}
+
+int
+PerlLIOFileStat(struct IPerlLIO*, int handle, struct stat *buffer)
+{
+ return fstat(handle, buffer);
+}
+
+int
+PerlLIOIOCtl(struct IPerlLIO*, int i, unsigned int u, char *data)
+{
+ return win32_ioctlsocket((SOCKET)i, (long)u, (u_long*)data);
+}
+
+int
+PerlLIOIsatty(struct IPerlLIO*, int fd)
+{
+ return isatty(fd);
+}
+
+long
+PerlLIOLseek(struct IPerlLIO*, int handle, long offset, int origin)
+{
+ return win32_lseek(handle, offset, origin);
+}
+
+int
+PerlLIOLstat(struct IPerlLIO* p, const char *path, struct stat *buffer)
+{
+ return win32_stat(path, buffer);
+}
+
+char*
+PerlLIOMktemp(struct IPerlLIO*, char *Template)
+{
+ return mktemp(Template);
+}
+
+int
+PerlLIOOpen(struct IPerlLIO*, const char *filename, int oflag)
+{
+ return win32_open(filename, oflag);
+}
+
+int
+PerlLIOOpen3(struct IPerlLIO*, const char *filename, int oflag, int pmode)
+{
+ int ret;
+ if(stricmp(filename, "/dev/null") == 0)
+ ret = open("NUL", oflag, pmode);
+ else
+ ret = open(filename, oflag, pmode);
+
+ return ret;
+}
+
+int
+PerlLIORead(struct IPerlLIO*, int handle, void *buffer, unsigned int count)
+{
+ return win32_read(handle, buffer, count);
+}
+
+int
+PerlLIORename(struct IPerlLIO*, const char *OldFileName, const char *newname)
+{
+ return win32_rename(OldFileName, newname);
+}
+
+int
+PerlLIOSetmode(struct IPerlLIO*, int handle, int mode)
+{
+ return win32_setmode(handle, mode);
+}
+
+int
+PerlLIONameStat(struct IPerlLIO*, const char *path, struct stat *buffer)
+{
+ return win32_stat(path, buffer);
+}
+
+char*
+PerlLIOTmpnam(struct IPerlLIO*, char *string)
+{
+ return tmpnam(string);
+}
+
+int
+PerlLIOUmask(struct IPerlLIO*, int pmode)
+{
+ return umask(pmode);
+}
+
+int
+PerlLIOUnlink(struct IPerlLIO*, const char *filename)
+{
+ chmod(filename, S_IREAD | S_IWRITE);
+ return unlink(filename);
+}
+
+int
+PerlLIOUtime(struct IPerlLIO*, char *filename, struct utimbuf *times)
+{
+ return win32_utime(filename, times);
+}
+
+int
+PerlLIOWrite(struct IPerlLIO*, int handle, const void *buffer, unsigned int count)
+{
+ return win32_write(handle, buffer, count);
+}
+
+struct IPerlLIO perlLIO =
+{
+ PerlLIOAccess,
+ PerlLIOChmod,
+ PerlLIOChown,
+ PerlLIOChsize,
+ PerlLIOClose,
+ PerlLIODup,
+ PerlLIODup2,
+ PerlLIOFlock,
+ PerlLIOFileStat,
+ PerlLIOIOCtl,
+ PerlLIOIsatty,
+ PerlLIOLseek,
+ PerlLIOLstat,
+ PerlLIOMktemp,
+ PerlLIOOpen,
+ PerlLIOOpen3,
+ PerlLIORead,
+ PerlLIORename,
+ PerlLIOSetmode,
+ PerlLIONameStat,
+ PerlLIOTmpnam,
+ PerlLIOUmask,
+ PerlLIOUnlink,
+ PerlLIOUtime,
+ PerlLIOWrite,
+};
+
+// IPerlDIR
+int
+PerlDirMakedir(struct IPerlDir*, const char *dirname, int mode)
+{
+ return win32_mkdir(dirname, mode);
+}
+
+int
+PerlDirChdir(struct IPerlDir*, const char *dirname)
+{
+ return win32_chdir(dirname);
+}
+
+int
+PerlDirRmdir(struct IPerlDir*, const char *dirname)
+{
+ return win32_rmdir(dirname);
+}
+
+int
+PerlDirClose(struct IPerlDir*, DIR *dirp)
+{
+ return win32_closedir(dirp);
+}
+
+DIR*
+PerlDirOpen(struct IPerlDir*, char *filename)
+{
+ return win32_opendir(filename);
+}
+
+struct direct *
+PerlDirRead(struct IPerlDir*, DIR *dirp)
+{
+ return win32_readdir(dirp);
+}
+
+void
+PerlDirRewind(struct IPerlDir*, DIR *dirp)
+{
+ win32_rewinddir(dirp);
+}
+
+void
+PerlDirSeek(struct IPerlDir*, DIR *dirp, long loc)
+{
+ win32_seekdir(dirp, loc);
+}
+
+long
+PerlDirTell(struct IPerlDir*, DIR *dirp)
+{
+ return win32_telldir(dirp);
+}
+
+struct IPerlDir perlDir =
+{
+ PerlDirMakedir,
+ PerlDirChdir,
+ PerlDirRmdir,
+ PerlDirClose,
+ PerlDirOpen,
+ PerlDirRead,
+ PerlDirRewind,
+ PerlDirSeek,
+ PerlDirTell,
+};
+
+
+// IPerlSock
+u_long
+PerlSockHtonl(struct IPerlSock*, u_long hostlong)
+{
+ return win32_htonl(hostlong);
+}
+
+u_short
+PerlSockHtons(struct IPerlSock*, u_short hostshort)
+{
+ return win32_htons(hostshort);
+}
+
+u_long
+PerlSockNtohl(struct IPerlSock*, u_long netlong)
+{
+ return win32_ntohl(netlong);
+}
+
+u_short
+PerlSockNtohs(struct IPerlSock*, u_short netshort)
+{
+ return win32_ntohs(netshort);
+}
+
+SOCKET PerlSockAccept(struct IPerlSock*, SOCKET s, struct sockaddr* addr, int* addrlen)
+{
+ return win32_accept(s, addr, addrlen);
+}
+
+int
+PerlSockBind(struct IPerlSock*, SOCKET s, const struct sockaddr* name, int namelen)
+{
+ return win32_bind(s, name, namelen);
+}
+
+int
+PerlSockConnect(struct IPerlSock*, SOCKET s, const struct sockaddr* name, int namelen)
+{
+ return win32_connect(s, name, namelen);
+}
+
+void
+PerlSockEndhostent(struct IPerlSock*)
+{
+ win32_endhostent();
+}
+
+void
+PerlSockEndnetent(struct IPerlSock*)
+{
+ win32_endnetent();
+}
+
+void
+PerlSockEndprotoent(struct IPerlSock*)
+{
+ win32_endprotoent();
+}
+
+void
+PerlSockEndservent(struct IPerlSock*)
+{
+ win32_endservent();
+}
+
+struct hostent*
+PerlSockGethostbyaddr(struct IPerlSock*, const char* addr, int len, int type)
+{
+ return win32_gethostbyaddr(addr, len, type);
+}
+
+struct hostent*
+PerlSockGethostbyname(struct IPerlSock*, const char* name)
+{
+ return win32_gethostbyname(name);
+}
+
+struct hostent*
+PerlSockGethostent(struct IPerlSock*)
+{
+ dPERLOBJ;
+ croak("gethostent not implemented!\n");
+ return NULL;
+}
+
+int
+PerlSockGethostname(struct IPerlSock*, char* name, int namelen)
+{
+ return win32_gethostname(name, namelen);
+}
+
+struct netent *
+PerlSockGetnetbyaddr(struct IPerlSock*, long net, int type)
+{
+ return win32_getnetbyaddr(net, type);
+}
+
+struct netent *
+PerlSockGetnetbyname(struct IPerlSock*, const char *name)
+{
+ return win32_getnetbyname((char*)name);
+}
+
+struct netent *
+PerlSockGetnetent(struct IPerlSock*)
+{
+ return win32_getnetent();
+}
+
+int PerlSockGetpeername(struct IPerlSock*, SOCKET s, struct sockaddr* name, int* namelen)
+{
+ return win32_getpeername(s, name, namelen);
+}
+
+struct protoent*
+PerlSockGetprotobyname(struct IPerlSock*, const char* name)
+{
+ return win32_getprotobyname(name);
+}
+
+struct protoent*
+PerlSockGetprotobynumber(struct IPerlSock*, int number)
+{
+ return win32_getprotobynumber(number);
+}
+
+struct protoent*
+PerlSockGetprotoent(struct IPerlSock*)
+{
+ return win32_getprotoent();
+}
+
+struct servent*
+PerlSockGetservbyname(struct IPerlSock*, const char* name, const char* proto)
+{
+ return win32_getservbyname(name, proto);
+}
+
+struct servent*
+PerlSockGetservbyport(struct IPerlSock*, int port, const char* proto)
+{
+ return win32_getservbyport(port, proto);
+}
+
+struct servent*
+PerlSockGetservent(struct IPerlSock*)
+{
+ return win32_getservent();
+}
+
+int
+PerlSockGetsockname(struct IPerlSock*, SOCKET s, struct sockaddr* name, int* namelen)
+{
+ return win32_getsockname(s, name, namelen);
+}
+
+int
+PerlSockGetsockopt(struct IPerlSock*, SOCKET s, int level, int optname, char* optval, int* optlen)
+{
+ return win32_getsockopt(s, level, optname, optval, optlen);
+}
+
+unsigned long
+PerlSockInetAddr(struct IPerlSock*, const char* cp)
+{
+ return win32_inet_addr(cp);
+}
+
+char*
+PerlSockInetNtoa(struct IPerlSock*, struct in_addr in)
+{
+ return win32_inet_ntoa(in);
+}
+
+int
+PerlSockListen(struct IPerlSock*, SOCKET s, int backlog)
+{
+ return win32_listen(s, backlog);
+}
+
+int
+PerlSockRecv(struct IPerlSock*, SOCKET s, char* buffer, int len, int flags)
+{
+ return win32_recv(s, buffer, len, flags);
+}
+
+int
+PerlSockRecvfrom(struct IPerlSock*, SOCKET s, char* buffer, int len, int flags, struct sockaddr* from, int* fromlen)
+{
+ return win32_recvfrom(s, buffer, len, flags, from, fromlen);
+}
+
+int
+PerlSockSelect(struct IPerlSock*, int nfds, char* readfds, char* writefds, char* exceptfds, const struct timeval* timeout)
+{
+ return win32_select(nfds, (Perl_fd_set*)readfds, (Perl_fd_set*)writefds, (Perl_fd_set*)exceptfds, timeout);
+}
+
+int
+PerlSockSend(struct IPerlSock*, SOCKET s, const char* buffer, int len, int flags)
+{
+ return win32_send(s, buffer, len, flags);
+}
+
+int
+PerlSockSendto(struct IPerlSock*, SOCKET s, const char* buffer, int len, int flags, const struct sockaddr* to, int tolen)
+{
+ return win32_sendto(s, buffer, len, flags, to, tolen);
+}
+
+void
+PerlSockSethostent(struct IPerlSock*, int stayopen)
+{
+ win32_sethostent(stayopen);
+}
+
+void
+PerlSockSetnetent(struct IPerlSock*, int stayopen)
+{
+ win32_setnetent(stayopen);
+}
+
+void
+PerlSockSetprotoent(struct IPerlSock*, int stayopen)
+{
+ win32_setprotoent(stayopen);
+}
+
+void
+PerlSockSetservent(struct IPerlSock*, int stayopen)
+{
+ win32_setservent(stayopen);
+}
+
+int
+PerlSockSetsockopt(struct IPerlSock*, SOCKET s, int level, int optname, const char* optval, int optlen)
+{
+ return win32_setsockopt(s, level, optname, optval, optlen);
+}
+
+int
+PerlSockShutdown(struct IPerlSock*, SOCKET s, int how)
+{
+ return win32_shutdown(s, how);
+}
+
+SOCKET
+PerlSockSocket(struct IPerlSock*, int af, int type, int protocol)
+{
+ return win32_socket(af, type, protocol);
+}
+
+int
+PerlSockSocketpair(struct IPerlSock*, int domain, int type, int protocol, int* fds)
+{
+ dPERLOBJ;
+ croak("socketpair not implemented!\n");
+ return 0;
+}
+
+int
+PerlSockClosesocket(struct IPerlSock*, SOCKET s)
+{
+ return win32_closesocket(s);
+}
+
+int
+PerlSockIoctlsocket(struct IPerlSock*, SOCKET s, long cmd, u_long *argp)
+{
+ return win32_ioctlsocket(s, cmd, argp);
+}
+
+struct IPerlSock perlSock =
+{
+ PerlSockHtonl,
+ PerlSockHtons,
+ PerlSockNtohl,
+ PerlSockNtohs,
+ PerlSockAccept,
+ PerlSockBind,
+ PerlSockConnect,
+ PerlSockEndhostent,
+ PerlSockEndnetent,
+ PerlSockEndprotoent,
+ PerlSockEndservent,
+ PerlSockGethostname,
+ PerlSockGetpeername,
+ PerlSockGethostbyaddr,
+ PerlSockGethostbyname,
+ PerlSockGethostent,
+ PerlSockGetnetbyaddr,
+ PerlSockGetnetbyname,
+ PerlSockGetnetent,
+ PerlSockGetprotobyname,
+ PerlSockGetprotobynumber,
+ PerlSockGetprotoent,
+ PerlSockGetservbyname,
+ PerlSockGetservbyport,
+ PerlSockGetservent,
+ PerlSockGetsockname,
+ PerlSockGetsockopt,
+ PerlSockInetAddr,
+ PerlSockInetNtoa,
+ PerlSockListen,
+ PerlSockRecv,
+ PerlSockRecvfrom,
+ PerlSockSelect,
+ PerlSockSend,
+ PerlSockSendto,
+ PerlSockSethostent,
+ PerlSockSetnetent,
+ PerlSockSetprotoent,
+ PerlSockSetservent,
+ PerlSockSetsockopt,
+ PerlSockShutdown,
+ PerlSockSocket,
+ PerlSockSocketpair,
+ PerlSockClosesocket,
+};
+
+
+// IPerlProc
+
+#define EXECF_EXEC 1
+#define EXECF_SPAWN 2
+
+extern char * g_getlogin(void);
+extern int do_spawn2(char *cmd, int exectype);
+extern int g_do_aspawn(void *vreally, void **vmark, void **vsp);
+
+void
+PerlProcAbort(struct IPerlProc*)
+{
+ win32_abort();
+}
+
+char *
+PerlProcCrypt(struct IPerlProc*, const char* clear, const char* salt)
+{
+ return win32_crypt(clear, salt);
+}
+
+void
+PerlProcExit(struct IPerlProc*, int status)
+{
+ exit(status);
+}
+
+void
+PerlProc_Exit(struct IPerlProc*, int status)
+{
+ _exit(status);
+}
+
+int
+PerlProcExecl(struct IPerlProc*, const char *cmdname, const char *arg0, const char *arg1, const char *arg2, const char *arg3)
+{
+ return execl(cmdname, arg0, arg1, arg2, arg3);
+}
+
+int
+PerlProcExecv(struct IPerlProc*, const char *cmdname, const char *const *argv)
+{
+ return win32_execvp(cmdname, argv);
+}
+
+int
+PerlProcExecvp(struct IPerlProc*, const char *cmdname, const char *const *argv)
+{
+ return win32_execvp(cmdname, argv);
+}
+
+uid_t
+PerlProcGetuid(struct IPerlProc*)
+{
+ return getuid();
+}
+
+uid_t
+PerlProcGeteuid(struct IPerlProc*)
+{
+ return geteuid();
+}
+
+gid_t
+PerlProcGetgid(struct IPerlProc*)
+{
+ return getgid();
+}
+
+gid_t
+PerlProcGetegid(struct IPerlProc*)
+{
+ return getegid();
+}
+
+char *
+PerlProcGetlogin(struct IPerlProc*)
+{
+ return g_getlogin();
+}
+
+int
+PerlProcKill(struct IPerlProc*, int pid, int sig)
+{
+ return win32_kill(pid, sig);
+}
+
+int
+PerlProcKillpg(struct IPerlProc*, int pid, int sig)
+{
+ dPERLOBJ;
+ croak("killpg not implemented!\n");
+ return 0;
+}
+
+int
+PerlProcPauseProc(struct IPerlProc*)
+{
+ return win32_sleep((32767L << 16) + 32767);
+}
+
+PerlIO*
+PerlProcPopen(struct IPerlProc*, const char *command, const char *mode)
+{
+ win32_fflush(stdout);
+ win32_fflush(stderr);
+ return (PerlIO*)win32_popen(command, mode);
+}
+
+int
+PerlProcPclose(struct IPerlProc*, PerlIO *stream)
+{
+ return win32_pclose((FILE*)stream);
+}
+
+int
+PerlProcPipe(struct IPerlProc*, int *phandles)
+{
+ return win32_pipe(phandles, 512, O_BINARY);
+}
+
+int
+PerlProcSetuid(struct IPerlProc*, uid_t u)
+{
+ return setuid(u);
+}
+
+int
+PerlProcSetgid(struct IPerlProc*, gid_t g)
+{
+ return setgid(g);
+}
+
+int
+PerlProcSleep(struct IPerlProc*, unsigned int s)
+{
+ return win32_sleep(s);
+}
+
+int
+PerlProcTimes(struct IPerlProc*, struct tms *timebuf)
+{
+ return win32_times(timebuf);
+}
+
+int
+PerlProcWait(struct IPerlProc*, int *status)
+{
+ return win32_wait(status);
+}
+
+int
+PerlProcWaitpid(struct IPerlProc*, int pid, int *status, int flags)
+{
+ return win32_waitpid(pid, status, flags);
+}
+
+Sighandler_t
+PerlProcSignal(struct IPerlProc*, int sig, Sighandler_t subcode)
+{
+ return 0;
+}
+
+void*
+PerlProcDynaLoader(struct IPerlProc*, const char* filename)
+{
+ return win32_dynaload(filename);
+}
+
+void
+PerlProcGetOSError(struct IPerlProc*, SV* sv, DWORD dwErr)
+{
+ win32_str_os_error(aTHX_ sv, dwErr);
+}
+
+BOOL
+PerlProcDoCmd(struct IPerlProc*, char *cmd)
+{
+ do_spawn2(cmd, EXECF_EXEC);
+ return FALSE;
+}
+
+int
+PerlProcSpawn(struct IPerlProc*, char* cmds)
+{
+ return do_spawn2(cmds, EXECF_SPAWN);
+}
+
+int
+PerlProcSpawnvp(struct IPerlProc*, int mode, const char *cmdname, const char *const *argv)
+{
+ return win32_spawnvp(mode, cmdname, argv);
+}
+
+int
+PerlProcASpawn(struct IPerlProc*, void *vreally, void **vmark, void **vsp)
+{
+ return g_do_aspawn(vreally, vmark, vsp);
+}
+
+struct IPerlProc perlProc =
+{
+ PerlProcAbort,
+ PerlProcCrypt,
+ PerlProcExit,
+ PerlProc_Exit,
+ PerlProcExecl,
+ PerlProcExecv,
+ PerlProcExecvp,
+ PerlProcGetuid,
+ PerlProcGeteuid,
+ PerlProcGetgid,
+ PerlProcGetegid,
+ PerlProcGetlogin,
+ PerlProcKill,
+ PerlProcKillpg,
+ PerlProcPauseProc,
+ PerlProcPopen,
+ PerlProcPclose,
+ PerlProcPipe,
+ PerlProcSetuid,
+ PerlProcSetgid,
+ PerlProcSleep,
+ PerlProcTimes,
+ PerlProcWait,
+ PerlProcWaitpid,
+ PerlProcSignal,
+ PerlProcDynaLoader,
+ PerlProcGetOSError,
+ PerlProcDoCmd,
+ PerlProcSpawn,
+ PerlProcSpawnvp,
+ PerlProcASpawn,
+};
+
+//#include "perlhost.h"
+
+static DWORD g_TlsAllocIndex;
+BOOL SetPerlInterpreter(CPerlObj* pPerl)
+{
+ return TlsSetValue(g_TlsAllocIndex, pPerl);
+}
+
+EXTERN_C CPerlObj* GetPerlInterpreter(PerlInterpreter* sv_interp)
+{
+ if(GetCurrentThreadId() == (DWORD)sv_interp)
+ return (CPerlObj*)TlsGetValue(g_TlsAllocIndex);
+ return NULL;
+}
+
+CPerlObj* GetPerlInter(void)
+{
+ return (CPerlObj*)TlsGetValue(g_TlsAllocIndex);
+}
+
+
+EXTERN_C void perl_get_host_info(IPerlMemInfo* perlMemInfo,
+ IPerlEnvInfo* perlEnvInfo, IPerlStdIOInfo* perlStdIOInfo,
+ IPerlLIOInfo* perlLIOInfo, IPerlDirInfo* perlDirInfo,
+ IPerlSockInfo* perlSockInfo, IPerlProcInfo* perlProcInfo)
+{
+ if(perlMemInfo) {
+ Copy(&perlMem, &perlMemInfo->perlMemList, perlMemInfo->nCount, void*);
+ perlMemInfo->nCount = (sizeof(struct IPerlMem)/sizeof(void*));
+ }
+ if(perlEnvInfo) {
+ Copy(&perlEnv, &perlEnvInfo->perlEnvList, perlEnvInfo->nCount, void*);
+ perlEnvInfo->nCount = (sizeof(struct IPerlEnv)/sizeof(void*));
+ }
+ if(perlStdIOInfo) {
+ Copy(&perlStdIO, &perlStdIOInfo->perlStdIOList, perlStdIOInfo->nCount, void*);
+ perlStdIOInfo->nCount = (sizeof(struct IPerlStdIO)/sizeof(void*));
+ }
+ if(perlLIOInfo) {
+ Copy(&perlLIO, &perlLIOInfo->perlLIOList, perlLIOInfo->nCount, void*);
+ perlLIOInfo->nCount = (sizeof(struct IPerlLIO)/sizeof(void*));
+ }
+ if(perlDirInfo) {
+ Copy(&perlDir, &perlDirInfo->perlDirList, perlDirInfo->nCount, void*);
+ perlDirInfo->nCount = (sizeof(struct IPerlDir)/sizeof(void*));
+ }
+ if(perlSockInfo) {
+ Copy(&perlSock, &perlSockInfo->perlSockList, perlSockInfo->nCount, void*);
+ perlSockInfo->nCount = (sizeof(struct IPerlSock)/sizeof(void*));
+ }
+ if(perlProcInfo) {
+ Copy(&perlProc, &perlProcInfo->perlProcList, perlProcInfo->nCount, void*);
+ perlProcInfo->nCount = (sizeof(struct IPerlProc)/sizeof(void*));
+ }
+}
+
+EXTERN_C PerlInterpreter* perl_alloc_using(IPerlMem* pMem,
+ IPerlEnv* pEnv, IPerlStdIO* pStdIO,
+ IPerlLIO* pLIO, IPerlDir* pDir,
+ IPerlSock* pSock, IPerlProc* pProc)
+{
+ CPerlObj* pPerl = NULL;
+ try
+ {
+ pPerl = Perl_alloc(pMem, pEnv, pStdIO, pLIO, pDir, pSock, pProc);
+ }
+ catch(...)
+ {
+ win32_fprintf(stderr, "%s\n", "Error: Unable to allocate memory");
+ pPerl = NULL;
+ }
+ if(pPerl)
+ {
+ SetPerlInterpreter(pPerl);
+ return (PerlInterpreter*)GetCurrentThreadId();
+ }
+ SetPerlInterpreter(NULL);
+ return NULL;
+}
+
+#undef perl_alloc
+#undef perl_construct
+#undef perl_destruct
+#undef perl_free
+#undef perl_run
+#undef perl_parse
+EXTERN_C PerlInterpreter* perl_alloc(void)
+{
+ CPerlObj* pPerl = NULL;
+ try
+ {
+ pPerl = Perl_alloc(&perlMem, &perlEnv, &perlStdIO, &perlLIO,
+ &perlDir, &perlSock, &perlProc);
+ }
+ catch(...)
+ {
+ win32_fprintf(stderr, "%s\n", "Error: Unable to allocate memory");
+ pPerl = NULL;
+ }
+ if(pPerl)
+ {
+ SetPerlInterpreter(pPerl);
+ return (PerlInterpreter*)GetCurrentThreadId();
+ }
+ SetPerlInterpreter(NULL);
+ return NULL;
+}
+
+EXTERN_C void perl_construct(PerlInterpreter* sv_interp)
+{
+ CPerlObj* pPerl = GetPerlInterpreter(sv_interp);
+ try
+ {
+ pPerl->perl_construct();
+ }
+ catch(...)
+ {
+ win32_fprintf(stderr, "%s\n",
+ "Error: Unable to construct data structures");
+ pPerl->perl_free();
+ SetPerlInterpreter(NULL);
+ }
+}
+
+EXTERN_C void perl_destruct(PerlInterpreter* sv_interp)
+{
+ CPerlObj* pPerl = GetPerlInterpreter(sv_interp);
+ try
+ {
+ pPerl->perl_destruct();
+ }
+ catch(...)
+ {
+ }
+}
+
+EXTERN_C void perl_free(PerlInterpreter* sv_interp)
+{
+ CPerlObj* pPerl = GetPerlInterpreter(sv_interp);
+ try
+ {
+ pPerl->perl_free();
+ }
+ catch(...)
+ {
+ }
+ SetPerlInterpreter(NULL);
+}
+
+EXTERN_C int perl_run(PerlInterpreter* sv_interp)
+{
+ CPerlObj* pPerl = GetPerlInterpreter(sv_interp);
+ int retVal;
+ try
+ {
+ retVal = pPerl->perl_run();
+ }
+/*
+ catch(int x)
+ {
+ // this is where exit() should arrive
+ retVal = x;
+ }
+*/
+ catch(...)
+ {
+ win32_fprintf(stderr, "Error: Runtime exception\n");
+ retVal = -1;
+ }
+ return retVal;
+}
+
+EXTERN_C int perl_parse(PerlInterpreter* sv_interp, void (*xsinit)(CPerlObj*), int argc, char** argv, char** env)
+{
+ int retVal;
+ CPerlObj* pPerl = GetPerlInterpreter(sv_interp);
+ try
+ {
+ retVal = pPerl->perl_parse(xs_init, argc, argv, env);
+ }
+/*
+ catch(int x)
+ {
+ // this is where exit() should arrive
+ retVal = x;
+ }
+*/
+ catch(...)
+ {
+ win32_fprintf(stderr, "Error: Parse exception\n");
+ retVal = -1;
+ }
+ *win32_errno() = 0;
+ return retVal;
+}
+
+#undef PL_perl_destruct_level
+#define PL_perl_destruct_level int dummy
+#undef w32_perldll_handle
+#define w32_perldll_handle g_w32_perldll_handle
+HANDLE g_w32_perldll_handle;
+#else
+extern HANDLE w32_perldll_handle;
+#endif /* PERL_OBJECT */
DllExport int
-RunPerl(int argc, char **argv, char **env, void *iosubsystem)
+RunPerl(int argc, char **argv, char **env)
{
int exitstatus;
PerlInterpreter *my_perl;
struct perl_thread *thr;
+#ifndef __BORLANDC__
+ /* XXX this _may_ be a problem on some compilers (e.g. Borland) that
+ * want to free() argv after main() returns. As luck would have it,
+ * Borland's CRT does the right thing to argv[0] already. */
+ char szModuleName[MAX_PATH];
+ char *ptr;
+
+ GetModuleFileName(NULL, szModuleName, sizeof(szModuleName));
+ (void)win32_longpath(szModuleName);
+ argv[0] = szModuleName;
+#endif
+
#ifdef PERL_GLOBAL_STRUCT
#define PERLVAR(var,type) /**/
#define PERLVARI(var,type,init) PL_Vars.var = init;
@@ -46,8 +1501,6 @@ RunPerl(int argc, char **argv, char **env, void *iosubsystem)
return (exitstatus);
}
-extern HANDLE w32_perldll_handle;
-
BOOL APIENTRY
DllMain(HANDLE hModule, /* DLL module handle */
DWORD fdwReason, /* reason called */
@@ -65,13 +1518,21 @@ DllMain(HANDLE hModule, /* DLL module handle */
setmode( fileno( stderr ), O_BINARY );
_fmode = O_BINARY;
#endif
+#ifdef PERL_OBJECT
+ g_TlsAllocIndex = TlsAlloc();
+ DisableThreadLibraryCalls(hModule);
+#else
w32_perldll_handle = hModule;
+#endif
break;
/* The DLL is detaching from a process due to
* process termination or call to FreeLibrary.
*/
case DLL_PROCESS_DETACH:
+#ifdef PERL_OBJECT
+ TlsFree(g_TlsAllocIndex);
+#endif
break;
/* The attached process creates a new thread. */
@@ -88,20 +1549,3 @@ DllMain(HANDLE hModule, /* DLL module handle */
return TRUE;
}
-/* Register any extra external extensions */
-
-char *staticlinkmodules[] = {
- "DynaLoader",
- NULL,
-};
-
-EXTERN_C void boot_DynaLoader (pTHX_ CV* cv);
-
-static void
-xs_init(pTHX)
-{
- char *file = __FILE__;
- dXSUB_SYS;
- newXS("DynaLoader::boot_DynaLoader", boot_DynaLoader, file);
-}
-
diff --git a/win32/runperl.c b/win32/runperl.c
index e9286702aa..ef4453138d 100644
--- a/win32/runperl.c
+++ b/win32/runperl.c
@@ -1,67 +1,6 @@
#include "EXTERN.h"
#include "perl.h"
-#ifdef PERL_OBJECT
-
-#define NO_XSLOCKS
-#include "XSUB.H"
-#include "win32iop.h"
-
-#include <fcntl.h>
-#include "perlhost.h"
-
-
-char *staticlinkmodules[] = {
- "DynaLoader",
- NULL,
-};
-
-EXTERN_C void boot_DynaLoader (CV* cv _CPERLarg);
-
-static void
-xs_init(CPERLarg)
-{
- char *file = __FILE__;
- dXSUB_SYS;
- newXS("DynaLoader::boot_DynaLoader", boot_DynaLoader, file);
-}
-
-CPerlObj *pPerl;
-
-int
-main(int argc, char **argv, char **env)
-{
- CPerlHost host;
- int exitstatus = 1;
-#ifndef __BORLANDC__
- /* XXX this _may_ be a problem on some compilers (e.g. Borland) that
- * want to free() argv after main() returns. As luck would have it,
- * Borland's CRT does the right thing to argv[0] already. */
- char szModuleName[MAX_PATH];
- char *ptr;
-
- GetModuleFileName(NULL, szModuleName, sizeof(szModuleName));
- (void)win32_longpath(szModuleName);
- argv[0] = szModuleName;
-#endif
-
- PERL_SYS_INIT(&argc,&argv);
-
- if (!host.PerlCreate())
- exit(exitstatus);
-
- exitstatus = host.PerlParse(xs_init, argc, argv, NULL);
-
- if (!exitstatus)
- exitstatus = host.PerlRun();
-
- host.PerlDestroy();
-
- return exitstatus;
-}
-
-#else /* PERL_OBJECT */
-
#ifdef __GNUC__
/*
* GNU C does not do __declspec()
@@ -78,23 +17,12 @@ int _CRT_glob = 0;
#endif
-__declspec(dllimport) int RunPerl(int argc, char **argv, char **env, void *ios);
+__declspec(dllimport) int RunPerl(int argc, char **argv, char **env);
int
main(int argc, char **argv, char **env)
{
-#ifndef __BORLANDC__
- /* XXX this _may_ be a problem on some compilers (e.g. Borland) that
- * want to free() argv after main() returns. As luck would have it,
- * Borland's CRT does the right thing to argv[0] already. */
- char szModuleName[MAX_PATH];
- char *ptr;
-
- GetModuleFileName(NULL, szModuleName, sizeof(szModuleName));
- (void)win32_longpath(szModuleName);
- argv[0] = szModuleName;
-#endif
- return RunPerl(argc, argv, env, (void*)0);
+ return RunPerl(argc, argv, env);
}
-#endif /* PERL_OBJECT */
+
diff --git a/win32/win32.c b/win32/win32.c
index 110da4fba2..2df9c7c880 100644
--- a/win32/win32.c
+++ b/win32/win32.c
@@ -40,9 +40,6 @@
#include "perl.h"
#define NO_XSLOCKS
-#ifdef PERL_OBJECT
-extern CPerlObj* pPerl;
-#endif
#include "XSUB.h"
#include "Win32iop.h"
@@ -81,13 +78,12 @@ int _CRT_glob = 0;
#define do_aspawn g_do_aspawn
#undef do_spawn
#define do_spawn g_do_spawn
-#undef do_exec
-#define do_exec g_do_exec
+#undef Perl_do_exec
+#define Perl_do_exec g_do_exec
#undef getlogin
#define getlogin g_getlogin
#endif
-static DWORD os_id(void);
static void get_shell(void);
static long tokenize(char *str, char **dest, char ***destv);
int do_spawn2(pTHX_ char *cmd, int exectype);
@@ -129,13 +125,13 @@ static char crypt_buffer[30];
int
IsWin95(void)
{
- return (os_id() == VER_PLATFORM_WIN32_WINDOWS);
+ return (win32_os_id() == VER_PLATFORM_WIN32_WINDOWS);
}
int
IsWinNT(void)
{
- return (os_id() == VER_PLATFORM_WIN32_NT);
+ return (win32_os_id() == VER_PLATFORM_WIN32_NT);
}
/* *ptr is expected to point to valid allocated space (can't be NULL) */
@@ -153,6 +149,7 @@ GetRegStrFromKey(HKEY hkey, const char *lpszValueName, char** ptr, DWORD* lpData
if (retval == ERROR_SUCCESS) {
retval = RegQueryValueEx(handle, lpszValueName, 0, &type, NULL, lpDataLen);
if (retval == ERROR_SUCCESS && type == REG_SZ) {
+ dPERLOBJ;
Renew(*ptr, *lpDataLen, char);
retval = RegQueryValueEx(handle, lpszValueName, 0, NULL,
(PBYTE)*ptr, lpDataLen);
@@ -244,6 +241,7 @@ get_emd_part(char **prev_path, char *trailing_path, ...)
/* only add directory if it exists */
if (GetFileAttributes(mod_name) != (DWORD) -1) {
/* directory exists */
+ dPERLOBJ;
newsize = strlen(mod_name) + 1;
oldsize = strlen(*prev_path) + 1;
newsize += oldsize; /* includes plus 1 for ';' */
@@ -263,6 +261,7 @@ win32_get_privlib(pTHX_ char *pl)
char buffer[MAX_PATH+1];
char **path;
DWORD datalen;
+ dPERLOBJ;
SV *sv = sv_2mortal(newSVpvn("",127));
/* $stdlib = $HKCU{"lib-$]"} || $HKLM{"lib-$]"} || $HKCU{"lib"} || $HKLM{"lib"} || ""; */
@@ -288,6 +287,7 @@ win32_get_sitelib(pTHX_ char *pl)
char **path1, *str1 = Nullch;
char **path2, *str2 = Nullch;
int len, newsize;
+ dPERLOBJ;
SV *sv1 = sv_2mortal(newSVpvn("",127));
SV *sv2 = sv_2mortal(newSVpvn("",127));
@@ -407,8 +407,8 @@ Perl_my_pclose(pTHX_ PerlIO *fp)
}
#endif
-static DWORD
-os_id(void)
+DllExport unsigned long
+win32_os_id(void)
{
static OSVERSIONINFO osver;
@@ -418,7 +418,7 @@ os_id(void)
GetVersionEx(&osver);
w32_platform = osver.dwPlatformId;
}
- return (w32_platform);
+ return (unsigned long)w32_platform;
}
/* Tokenize a string. Words are null-separated, and the list
@@ -434,6 +434,7 @@ tokenize(char *str, char **dest, char ***destv)
char **retvstart = 0;
int items = -1;
if (str) {
+ dPERLOBJ;
int slen = strlen(str);
register char *ret;
register char **retv;
@@ -476,6 +477,7 @@ tokenize(char *str, char **dest, char ***destv)
static void
get_shell(void)
{
+ dPERLOBJ;
if (!w32_perlshell_tokens) {
/* we don't use COMSPEC here for two reasons:
* 1. the same reason perl on UNIX doesn't use SHELL--rampant and
@@ -503,6 +505,7 @@ do_aspawn(pTHX_ void *vreally, void **vmark, void **vsp)
int status;
int flag = P_WAIT;
int index = 0;
+ dPERLOBJ;
if (sp <= mark)
return -1;
@@ -564,6 +567,7 @@ do_spawn2(pTHX_ char *cmd, int exectype)
int status = -1;
BOOL needToTry = TRUE;
char *cmd2;
+ dPERLOBJ;
/* Save an extra exec if possible. See if there are shell
* metacharacters in it */
@@ -681,6 +685,7 @@ win32_opendir(char *filename)
char buffer[MAX_PATH*2];
WCHAR wbuffer[MAX_PATH];
char* ptr;
+ dPERLOBJ;
len = strlen(filename);
if (len > MAX_PATH)
@@ -711,7 +716,7 @@ win32_opendir(char *filename)
/* do the FindFirstFile call */
if (USING_WIDE()) {
- A2WHELPER(scanname, wbuffer, sizeof(wbuffer), GETINTERPMODE());
+ A2WHELPER(scanname, wbuffer, sizeof(wbuffer));
fh = FindFirstFileW(wbuffer, &wFindData);
}
else {
@@ -729,7 +734,7 @@ win32_opendir(char *filename)
* the filenames that we find.
*/
if (USING_WIDE()) {
- W2AHELPER(wFindData.cFileName, buffer, sizeof(buffer), GETINTERPMODE());
+ W2AHELPER(wFindData.cFileName, buffer, sizeof(buffer));
ptr = buffer;
}
else {
@@ -751,7 +756,7 @@ win32_opendir(char *filename)
? FindNextFileW(fh, &wFindData)
: FindNextFileA(fh, &aFindData)) {
if (USING_WIDE()) {
- W2AHELPER(wFindData.cFileName, buffer, sizeof(buffer), GETINTERPMODE());
+ W2AHELPER(wFindData.cFileName, buffer, sizeof(buffer));
}
/* ptr is set above to the correct area */
len = strlen(ptr);
@@ -830,6 +835,7 @@ win32_rewinddir(DIR *dirp)
int
win32_closedir(DIR *dirp)
{
+ dPERLOBJ;
Safefree(dirp->start);
Safefree(dirp);
return 1;
@@ -908,6 +914,7 @@ static long
find_pid(int pid)
{
long child;
+ dPERLOBJ;
for (child = 0 ; child < w32_num_children ; ++child) {
if (w32_child_pids[child] == pid)
return child;
@@ -919,6 +926,7 @@ static void
remove_dead_process(long child)
{
if (child >= 0) {
+ dPERLOBJ;
CloseHandle(w32_child_handles[child]);
Copy(&w32_child_handles[child+1], &w32_child_handles[child],
(w32_num_children-child-1), HANDLE);
@@ -981,9 +989,10 @@ win32_stat(const char *path, struct stat *buffer)
break;
}
}
+ dPERLOBJ;
if (USING_WIDE()) {
dTHX;
- A2WHELPER(path, wbuffer, sizeof(wbuffer), GETINTERPMODE());
+ A2WHELPER(path, wbuffer, sizeof(wbuffer));
res = _wstat(wbuffer, (struct _stat *)buffer);
}
else {
@@ -1128,6 +1137,7 @@ DllExport char *
win32_getenv(const char *name)
{
dTHX;
+ dPERLOBJ;
static char *curitem = Nullch; /* XXX threadead */
static WCHAR *wCuritem = (WCHAR*)Nullch; /* XXX threadead */
static DWORD curlen = 0, wCurlen = 0;/* XXX threadead */
@@ -1146,7 +1156,7 @@ win32_getenv(const char *name)
}
if (USING_WIDE()) {
- A2WHELPER(name, wBuffer, sizeof(wBuffer), GETINTERPMODE());
+ A2WHELPER(name, wBuffer, sizeof(wBuffer));
needlen = GetEnvironmentVariableW(wBuffer,wCuritem,wCurlen);
}
else
@@ -1162,7 +1172,7 @@ win32_getenv(const char *name)
Renew(curitem,needlen,char);
curlen = needlen;
}
- W2AHELPER(wCuritem, curitem, curlen, GETINTERPMODE());
+ W2AHELPER(wCuritem, curitem, curlen);
}
else {
while (needlen > curlen) {
@@ -1201,12 +1211,13 @@ win32_putenv(const char *name)
WCHAR* wCuritem;
WCHAR* wVal;
int length, relval = -1;
+ dPERLOBJ;
if (name) {
if (USING_WIDE()) {
dTHX;
length = strlen(name)+1;
New(1309,wCuritem,length,WCHAR);
- A2WHELPER(name, wCuritem, length*2, GETINTERPMODE());
+ A2WHELPER(name, wCuritem, length*2);
wVal = wcschr(wCuritem, '=');
if(wVal) {
*wVal++ = '\0';
@@ -1312,11 +1323,12 @@ win32_utime(const char *filename, struct utimbuf *times)
FILETIME ftWrite;
struct utimbuf TimeBuffer;
WCHAR wbuffer[MAX_PATH];
+ dPERLOBJ;
int rc;
if (USING_WIDE()) {
dTHX;
- A2WHELPER(filename, wbuffer, sizeof(wbuffer), GETINTERPMODE());
+ A2WHELPER(filename, wbuffer, sizeof(wbuffer));
rc = _wutime(wbuffer, (struct _utimbuf*)times);
}
else {
@@ -1455,6 +1467,7 @@ win32_uname(struct utsname *name)
DllExport int
win32_waitpid(int pid, int *status, int flags)
{
+ dPERLOBJ;
int retval = -1;
if (pid == -1)
return win32_wait(status);
@@ -1494,6 +1507,7 @@ win32_wait(int *status)
*/
int i, retval;
DWORD exitcode, waitcode;
+ dPERLOBJ;
if (!w32_num_children) {
errno = ECHILD;
@@ -1528,9 +1542,10 @@ static UINT timerid = 0;
static VOID CALLBACK TimerProc(HWND win, UINT msg, UINT id, DWORD time)
{
- KillTimer(NULL,timerid);
- timerid=0;
- sighandler(14);
+ dPERLOBJ;
+ KillTimer(NULL,timerid);
+ timerid=0;
+ sighandler(14);
}
DllExport unsigned int
@@ -1545,6 +1560,7 @@ win32_alarm(unsigned int sec)
* Snag is unless something is looking at the message queue
* nothing happens :-(
*/
+ dPERLOBJ;
if (sec)
{
timerid = SetTimer(NULL,timerid,sec*1000,(TIMERPROC)TimerProc);
@@ -1572,6 +1588,7 @@ win32_crypt(const char *txt, const char *salt)
{
#ifdef HAVE_DES_FCRYPT
dTHR;
+ dPERLOBJ;
return des_fcrypt(txt, salt, crypt_buffer);
#else
die("The crypt() function is unimplemented due to excessive paranoia.");
@@ -1694,6 +1711,7 @@ win32_flock(int fd, int oper)
HANDLE fh;
if (!IsWinNT()) {
+ dPERLOBJ;
Perl_croak_nocontext("flock() unimplemented on this platform");
return -1;
}
@@ -1829,6 +1847,7 @@ win32_str_os_error(pTHX_ void *sv, DWORD dwErr)
dwErr, GetLastError());
}
if (sMsg) {
+ dPERLOBJ;
sv_setpvn((SV*)sv, sMsg, dwLen);
LocalFree(sMsg);
}
@@ -1886,10 +1905,11 @@ win32_fopen(const char *filename, const char *mode)
if (stricmp(filename, "/dev/null")==0)
filename = "NUL";
+ dPERLOBJ;
if (USING_WIDE()) {
dTHX;
- A2WHELPER(mode, wMode, sizeof(wMode), GETINTERPMODE());
- A2WHELPER(filename, wBuffer, sizeof(wBuffer), GETINTERPMODE());
+ A2WHELPER(mode, wMode, sizeof(wMode));
+ A2WHELPER(filename, wBuffer, sizeof(wBuffer));
return _wfopen(wBuffer, wMode);
}
return fopen(filename, mode);
@@ -1904,9 +1924,10 @@ DllExport FILE *
win32_fdopen(int handle, const char *mode)
{
WCHAR wMode[MODE_SIZE];
+ dPERLOBJ;
if (USING_WIDE()) {
dTHX;
- A2WHELPER(mode, wMode, sizeof(wMode), GETINTERPMODE());
+ A2WHELPER(mode, wMode, sizeof(wMode));
return _wfdopen(handle, wMode);
}
return fdopen(handle, (char *) mode);
@@ -1916,13 +1937,14 @@ DllExport FILE *
win32_freopen(const char *path, const char *mode, FILE *stream)
{
WCHAR wMode[MODE_SIZE], wBuffer[MAX_PATH];
+ dPERLOBJ;
if (stricmp(path, "/dev/null")==0)
path = "NUL";
if (USING_WIDE()) {
dTHX;
- A2WHELPER(mode, wMode, sizeof(wMode), GETINTERPMODE());
- A2WHELPER(path, wBuffer, sizeof(wBuffer), GETINTERPMODE());
+ A2WHELPER(mode, wMode, sizeof(wMode));
+ A2WHELPER(path, wBuffer, sizeof(wBuffer));
return _wfreopen(wBuffer, wMode, stream);
}
return freopen(path, mode, stream);
@@ -2092,6 +2114,7 @@ win32_popen(const char *command, const char *mode)
/* start the child */
{
dTHX;
+ dPERLOBJ;
if ((childpid = do_spawn_nowait(aTHX_ (char*)command)) == -1)
goto cleanup;
@@ -2132,6 +2155,7 @@ win32_pclose(FILE *pf)
return _pclose(pf);
#else
dTHX;
+ dPERLOBJ;
int childpid, status;
SV *sv;
@@ -2167,10 +2191,11 @@ win32_rename(const char *oname, const char *newname)
* it doesn't work under Windows95!
*/
if (IsWinNT()) {
+ dPERLOBJ;
if (USING_WIDE()) {
dTHX;
- A2WHELPER(oname, wOldName, sizeof(wOldName), GETINTERPMODE());
- A2WHELPER(newname, wNewName, sizeof(wNewName), GETINTERPMODE());
+ A2WHELPER(oname, wOldName, sizeof(wOldName));
+ A2WHELPER(newname, wNewName, sizeof(wNewName));
bResult = MoveFileExW(wOldName,wNewName,
MOVEFILE_COPY_ALLOWED|MOVEFILE_REPLACE_EXISTING);
}
@@ -2295,6 +2320,7 @@ win32_open(const char *path, int flag, ...)
va_list ap;
int pmode;
WCHAR wBuffer[MAX_PATH];
+ dPERLOBJ;
va_start(ap, flag);
pmode = va_arg(ap, int);
@@ -2305,7 +2331,7 @@ win32_open(const char *path, int flag, ...)
if (USING_WIDE()) {
dTHX;
- A2WHELPER(path, wBuffer, sizeof(wBuffer), GETINTERPMODE());
+ A2WHELPER(path, wBuffer, sizeof(wBuffer));
return _wopen(wBuffer, flag, pmode);
}
return open(path,flag,pmode);
@@ -2371,6 +2397,7 @@ create_command_line(const char* command, const char * const *args)
int index;
char *cmd, *ptr, *arg;
STRLEN len = strlen(command) + 1;
+ dPERLOBJ;
for (index = 0; (ptr = (char*)args[index]) != NULL; ++index)
len += strlen(ptr) + 1;
@@ -2395,6 +2422,7 @@ qualified_path(const char *cmd)
char *fullcmd, *curfullcmd;
STRLEN cmdlen = 0;
int has_slash = 0;
+ dPERLOBJ;
if (!cmd)
return Nullch;
@@ -2496,6 +2524,7 @@ win32_spawnvp(int mode, const char *cmdname, const char *const *argv)
STARTUPINFO StartupInfo;
PROCESS_INFORMATION ProcessInformation;
DWORD create = 0;
+ dPERLOBJ;
char *cmd = create_command_line(cmdname, strcmp(cmdname, argv[0]) == 0
? &argv[1] : argv);
@@ -2786,6 +2815,54 @@ win32_get_osfhandle(int fd)
return _get_osfhandle(fd);
}
+DllExport void*
+win32_dynaload(aTHX_ const char*filename)
+{
+ HMODULE hModule;
+ dPERLOBJ;
+ if (USING_WIDE()) {
+ WCHAR wfilename[MAX_PATH];
+ A2WHELPER(filename, wfilename, sizeof(wfilename));
+ hModule = LoadLibraryExW(wfilename, NULL, LOAD_WITH_ALTERED_SEARCH_PATH);
+ }
+ else {
+ hModule = LoadLibraryExA(filename, NULL, LOAD_WITH_ALTERED_SEARCH_PATH);
+ }
+ return hModule;
+}
+
+DllExport int
+win32_add_host(char *nameId, void *data)
+{
+ /*
+ * This must be called before the script is parsed,
+ * therefore no locking of threads is needed
+ */
+ dTHX;
+ dPERLOBJ;
+ struct host_link *link;
+ New(1314, link, 1, struct host_link);
+ link->host_data = data;
+ link->nameId = nameId;
+ link->next = w32_host_link;
+ w32_host_link = link;
+ return 1;
+}
+
+DllExport void *
+win32_get_host_data(char *nameId)
+{
+ dTHX;
+ dPERLOBJ;
+ struct host_link *link = w32_host_link;
+ while(link) {
+ if(strEQ(link->nameId, nameId))
+ return link->host_data;
+ link = link->next;
+ }
+ return Nullch;
+}
+
/*
* Extras.
*/
@@ -3171,6 +3248,7 @@ Perl_init_os_extras(pTHX)
{
char *file = __FILE__;
dXSUB_SYS;
+ dPERLOBJ;
w32_perlshell_tokens = Nullch;
w32_perlshell_items = -1;
@@ -3251,3 +3329,4 @@ win32_strip_return(SV *sv)
}
#endif
+
diff --git a/win32/win32.h b/win32/win32.h
index c688ee9f16..ee25b5afce 100644
--- a/win32/win32.h
+++ b/win32/win32.h
@@ -188,7 +188,10 @@ typedef long gid_t;
typedef unsigned short mode_t;
#pragma warning(disable: 4018 4035 4101 4102 4244 4245 4761)
-#ifndef PERL_OBJECT
+#ifdef PERL_OBJECT
+extern CPerlObj* GetPerlInter(void);
+#define dPERLOBJ CPerlObj* pPerl = GetPerlInter()
+#else /* PERL_OBJECT */
/* Visual C thinks that a pointer to a member variable is 16 bytes in size. */
#define STRUCT_MGVTBL_DEFINITION \
@@ -235,6 +238,8 @@ struct mgvtbl { \
char handle_VC_problem[16]; \
}
+
+#define dPERLOBJ
#endif /* PERL_OBJECT */
#endif /* _MSC_VER */
@@ -345,6 +350,12 @@ typedef struct {
DWORD pids[MAXIMUM_WAIT_OBJECTS];
} child_tab;
+struct host_link {
+ char * nameId;
+ void * host_data;
+ struct host_link * next;
+};
+
struct interp_intern {
char * perlshell_tokens;
char ** perlshell_vec;
@@ -352,6 +363,7 @@ struct interp_intern {
struct av * fdpid;
child_tab * children;
HANDLE child_handles[MAXIMUM_WAIT_OBJECTS];
+ struct host_link * hostlist;
};
@@ -363,6 +375,7 @@ struct interp_intern {
#define w32_num_children (w32_children->num)
#define w32_child_pids (w32_children->pids)
#define w32_child_handles (PL_sys_intern.child_handles)
+#define w32_host_link (PL_sys_intern.hostlist)
/*
* Now Win32 specific per-thread data stuff
@@ -395,15 +408,13 @@ struct thread_intern {
/* Use CP_ACP when mode is ANSI */
/* Use CP_UTF8 when mode is UTF8 */
-#define A2WHELPER(lpa, lpw, nChars, acp)\
- lpw[0] = 0, MultiByteToWideChar(acp, 0, lpa, -1, lpw, nChars)
+#define A2WHELPER(lpa, lpw, nChars)\
+ lpw[0] = 0, MultiByteToWideChar((IN_UTF8) ? CP_UTF8 : CP_ACP, 0, lpa, -1, lpw, nChars)
-#define W2AHELPER(lpw, lpa, nChars, acp)\
- lpa[0] = '\0', WideCharToMultiByte(acp, 0, lpw, -1, lpa, nChars, NULL, NULL)
+#define W2AHELPER(lpw, lpa, nChars)\
+ lpa[0] = '\0', WideCharToMultiByte((IN_UTF8) ? CP_UTF8 : CP_ACP, 0, lpw, -1, (LPSTR)lpa, nChars, NULL, NULL)
-/* place holders for now */
-#define USING_WIDE() (IsWinNT())
-#define GETINTERPMODE() (IN_UTF8)
+#define USING_WIDE() (PerlEnv_os_id() == VER_PLATFORM_WIN32_NT)
/*
* This provides a layer of functions and macros to ensure extensions will
diff --git a/win32/win32iop.h b/win32/win32iop.h
index bcdc304511..e294e73109 100644
--- a/win32/win32iop.h
+++ b/win32/win32iop.h
@@ -129,6 +129,8 @@ DllExport int win32_uname(struct utsname *n);
DllExport int win32_wait(int *status);
DllExport int win32_waitpid(int pid, int *status, int flags);
DllExport int win32_kill(int pid, int sig);
+DllExport unsigned long win32_os_id(void);
+DllExport void* win32_dynaload(const char*filename);
#if defined(HAVE_DES_FCRYPT) || defined(PERL_OBJECT)
DllExport char * win32_crypt(const char *txt, const char *salt);
@@ -276,6 +278,7 @@ END_EXTERN_C
#define seekdir win32_seekdir
#define rewinddir win32_rewinddir
#define closedir win32_closedir
+#define os_id win32_os_id
#ifdef HAVE_DES_FCRYPT
#undef crypt
diff --git a/win32/win32sck.c b/win32/win32sck.c
index 8bd6b6cfd5..abc6334d72 100644
--- a/win32/win32sck.c
+++ b/win32/win32sck.c
@@ -20,7 +20,6 @@
#if defined(PERL_OBJECT)
#define NO_XSLOCKS
-extern CPerlObj* pPerl;
#include "XSUB.h"
#endif
@@ -96,6 +95,7 @@ start_sockets(void)
unsigned short version;
WSADATA retdata;
int ret;
+ dPERLOBJ;
/*
* initalize the winsock interface and insure that it is
@@ -523,6 +523,7 @@ win32_ioctl(int i, unsigned int u, char *data)
{
u_long argp = (u_long)data;
int retval;
+ dPERLOBJ;
if (!wsock_started) {
Perl_croak_nocontext("ioctl implemented only on sockets");
@@ -561,24 +562,28 @@ win32_inet_addr(const char FAR *cp)
void
win32_endhostent()
{
+ dPERLOBJ;
Perl_croak_nocontext("endhostent not implemented!\n");
}
void
win32_endnetent()
{
+ dPERLOBJ;
Perl_croak_nocontext("endnetent not implemented!\n");
}
void
win32_endprotoent()
{
+ dPERLOBJ;
Perl_croak_nocontext("endprotoent not implemented!\n");
}
void
win32_endservent()
{
+ dPERLOBJ;
Perl_croak_nocontext("endservent not implemented!\n");
}
@@ -586,6 +591,7 @@ win32_endservent()
struct netent *
win32_getnetent(void)
{
+ dPERLOBJ;
Perl_croak_nocontext("getnetent not implemented!\n");
return (struct netent *) NULL;
}
@@ -593,6 +599,7 @@ win32_getnetent(void)
struct netent *
win32_getnetbyname(char *name)
{
+ dPERLOBJ;
Perl_croak_nocontext("getnetbyname not implemented!\n");
return (struct netent *)NULL;
}
@@ -600,6 +607,7 @@ win32_getnetbyname(char *name)
struct netent *
win32_getnetbyaddr(long net, int type)
{
+ dPERLOBJ;
Perl_croak_nocontext("getnetbyaddr not implemented!\n");
return (struct netent *)NULL;
}
@@ -607,6 +615,7 @@ win32_getnetbyaddr(long net, int type)
struct protoent *
win32_getprotoent(void)
{
+ dPERLOBJ;
Perl_croak_nocontext("getprotoent not implemented!\n");
return (struct protoent *) NULL;
}
@@ -614,6 +623,7 @@ win32_getprotoent(void)
struct servent *
win32_getservent(void)
{
+ dPERLOBJ;
Perl_croak_nocontext("getservent not implemented!\n");
return (struct servent *) NULL;
}
@@ -621,6 +631,7 @@ win32_getservent(void)
void
win32_sethostent(int stayopen)
{
+ dPERLOBJ;
Perl_croak_nocontext("sethostent not implemented!\n");
}
@@ -628,6 +639,7 @@ win32_sethostent(int stayopen)
void
win32_setnetent(int stayopen)
{
+ dPERLOBJ;
Perl_croak_nocontext("setnetent not implemented!\n");
}
@@ -635,6 +647,7 @@ win32_setnetent(int stayopen)
void
win32_setprotoent(int stayopen)
{
+ dPERLOBJ;
Perl_croak_nocontext("setprotoent not implemented!\n");
}
@@ -642,6 +655,7 @@ win32_setprotoent(int stayopen)
void
win32_setservent(int stayopen)
{
+ dPERLOBJ;
Perl_croak_nocontext("setservent not implemented!\n");
}