From acfe0abcedaf592fb4b9cb69ce3468308ae99d91 Mon Sep 17 00:00:00 2001 From: Gurusamy Sarathy Date: Fri, 31 Aug 2001 20:58:38 +0000 Subject: [PATCH] remove deprecated PERL_OBJECT cruft, it has long since stopped working in 5.7.x p4raw-id: //depot/perl@11803 --- EXTERN.h | 2 +- MANIFEST | 3 +- Makefile.SH | 4 +- Makefile.micro | 2 +- NetWare/Makefile | 41 +- NetWare/config_h.PL | 3 +- NetWare/dl_netware.xs | 20 +- NetWare/interface.c | 20 +- NetWare/nw5.c | 10 +- NetWare/nw5sck.c | 5 - NetWare/nw5thread.c | 6 - NetWare/nwperlsys.c | 10 - NetWare/nwperlsys.h | 14 +- Porting/makerel | 1 - README.win32 | 1444 +++++++------- XSUB.h | 11 +- bytecode.pl | 13 +- cv.h | 2 +- cygwin/cygwin.c | 6 +- emacs/ptags | 4 +- embed.h | 3062 +---------------------------- embed.pl | 365 +--- embedvar.h | 439 +---- epoc/epoc.c | 6 +- ext/B/B.xs | 9 - ext/B/B/C.pm | 2 +- ext/ByteLoader/ByteLoader.xs | 4 +- ext/ByteLoader/bytecode.h | 2 +- ext/ByteLoader/byterun.c | 11 +- ext/DynaLoader/dlutils.c | 6 +- ext/Opcode/Opcode.xs | 2 - ext/POSIX/POSIX.xs | 2 +- globals.c | 68 - iperlsys.h | 5 - lib/ExtUtils/Embed.pm | 8 +- lib/ExtUtils/MM_NW5.pm | 1 - lib/ExtUtils/MM_Unix.pm | 26 +- lib/ExtUtils/MM_Win32.pm | 1 - lib/ExtUtils/MakeMaker.pm | 13 +- lib/ExtUtils/xsubpp | 7 +- makedef.pl | 18 +- mg.c | 26 +- objXSUB.h | 2493 ------------------------ op.c | 4 +- perl.c | 175 +- perl.h | 191 +- perlapi.c | 4398 +----------------------------------------- perlapi.h | 855 ++++---- perlio.c | 2 +- perly.c | 8 +- perly.y | 2 +- perly_c.diff | 8 +- pod/perlguts.pod | 45 +- pp_ctl.c | 82 +- pp_hot.c | 6 +- proto.h | 33 - regcomp.c | 16 +- regexec.c | 18 +- scope.c | 2 +- sv.c | 56 +- sv.h | 2 +- toke.c | 18 +- universal.c | 6 +- vms/descrip_mms.template | 11 +- vms/perly_c.vms | 8 +- win32/Makefile | 41 +- win32/config_h.PL | 3 +- win32/dl_win32.xs | 22 +- win32/makefile.mk | 38 +- win32/perlhost.h | 52 +- win32/perllib.c | 134 +- win32/win32.c | 137 +- win32/win32.h | 55 +- win32/win32sck.c | 41 +- win32/win32thread.c | 6 - wince/Makefile.ce | 24 +- wince/config_h.PL | 3 +- wince/dl_win32.xs | 22 +- wince/perllib.c | 132 +- wince/win32.h | 55 +- wince/win32thread.c | 6 - wince/wince.c | 37 +- wince/wincesck.c | 39 +- xsutils.c | 16 +- 84 files changed, 1637 insertions(+), 13369 deletions(-) delete mode 100644 objXSUB.h diff --git a/EXTERN.h b/EXTERN.h index 1480551..8329089 100644 --- a/EXTERN.h +++ b/EXTERN.h @@ -27,7 +27,7 @@ # define EXTCONST globalref # define dEXTCONST globaldef {"$GLOBAL_RO_VARS"} readonly #else -# if defined(WIN32) && !defined(PERL_STATIC_SYMS) && !defined(PERL_OBJECT) +# if defined(WIN32) && !defined(PERL_STATIC_SYMS) # ifdef PERLDLL # define EXT extern __declspec(dllexport) # define dEXT diff --git a/MANIFEST b/MANIFEST index e82e0f3..3241dc1 100644 --- a/MANIFEST +++ b/MANIFEST @@ -42,7 +42,7 @@ emacs/cperl-mode.el An alternate perl-mode emacs/e2ctags.pl etags to ctags converter emacs/ptags Creates smart TAGS file embed.h Maps symbols to safer names -embed.pl Produces {embed,embedvar,objXSUB,proto}.h, global.sym +embed.pl Produces {embed,embedvar,proto}.h, global.sym embedvar.h C namespace management epoc/config.sh EPOC port config.sh template epoc/createpkg.pl EPOC port generate PKG file @@ -1606,7 +1606,6 @@ NetWare/testnlm/type/type.c Netware port NetWare/win32ish.h Netware port nostdio.h Cause compile error on stdio calls numeric.c Miscellaneous numeric conversion routines -objXSUB.h Scoping macros for Perl Object in extensions op.c Opcode syntax tree code op.h Opcode syntax tree header opcode.h Automatically generated opcode header diff --git a/Makefile.SH b/Makefile.SH index 81858b2..65cf9d8 100644 --- a/Makefile.SH +++ b/Makefile.SH @@ -773,7 +773,7 @@ CHMOD_W = chmod +w # keywords.pl: keywords.h # opcode.pl: opcode.h opnames.h pp_proto.h pp.sym # [* embed.pl needs pp.sym generated by opcode.pl! *] -# embed.pl: proto.h embed.h embedvar.h global.sym objXSUB.h +# embed.pl: proto.h embed.h embedvar.h global.sym # perlapi.h perlapi.c pod/perlintern.pod # pod/perlapi.pod # bytecode.pl: ext/ByteLoader/byterun.h ext/ByteLoader/byterun.c @@ -788,7 +788,7 @@ CHMOD_W = chmod +w AUTOGEN_FILES = keywords.h opcode.h opnames.h pp_proto.h pp.sym proto.h \ embed.h embedvar.h global.sym \ pod/perlintern.pod pod/perlapi.pod \ - objXSUB.h perlapi.h perlapi.c ext/ByteLoader/byterun.h \ + perlapi.h perlapi.c ext/ByteLoader/byterun.h \ ext/ByteLoader/byterun.c ext/B/B/Asmdata.pm regnodes.h \ warnings.h lib/warnings.pm diff --git a/Makefile.micro b/Makefile.micro index 78113aa..f272dff 100644 --- a/Makefile.micro +++ b/Makefile.micro @@ -122,7 +122,7 @@ ulocale$(_O): $(HE) locale.c unumeric$(_O): $(HE) numeric.c $(CC) -c -o $@ $(CFLAGS) numeric.c -uuniversal$(_O): $(HE) universal.c objXSUB.h XSUB.h +uuniversal$(_O): $(HE) universal.c XSUB.h $(CC) -c -o $@ $(CFLAGS) universal.c uutf8$(_O): $(HE) utf8.c diff --git a/NetWare/Makefile b/NetWare/Makefile index 01daccc..ec06f7c 100644 --- a/NetWare/Makefile +++ b/NetWare/Makefile @@ -463,17 +463,6 @@ USE_IMP_SYS = define # #USE_5005THREADS= define -# -# WARNING! This option is deprecated and will eventually go away (enable -# USE_MULTI instead). -# -# uncomment next line if you want to use the PERL_OBJECT build option. -# DO NOT ENABLE unless you have legacy code that relies on the C++ -# CPerlObj class that was available in 5.005. This cannot be enabled -# if you ask for USE_5005THREADS above. -# -#USE_OBJECT = define - # For now let this be here # #CRYPT_SRC = fcrypt.c @@ -510,13 +499,6 @@ D_CRYPT = define CRYPT_FLAG = -DHAVE_DES_FCRYPT !ENDIF -!IF "$(USE_OBJECT)" == "define" -PERL_MALLOC = undef -USE_5005THREADS = undef -USE_MULTI = undef -USE_IMP_SYS = define -!ENDIF - !IF "$(PERL_MALLOC)" == "" PERL_MALLOC = undef !ENDIF @@ -537,10 +519,6 @@ PERL_MALLOC = undef USE_MULTI = undef !ENDIF -!IF "$(USE_OBJECT)" == "" -USE_OBJECT = undef -!ENDIF - !IF "$(USE_ITHREADS)" == "" USE_ITHREADS = undef !ENDIF @@ -553,16 +531,16 @@ USE_IMP_SYS = undef USE_PERLCRT = undef !ENDIF -!IF "$(USE_IMP_SYS)$(USE_MULTI)$(USE_5005THREADS)$(USE_OBJECT)" == "defineundefundefundef" +!IF "$(USE_IMP_SYS)$(USE_MULTI)$(USE_5005THREADS)" == "defineundefundef" USE_MULTI = define !ENDIF -!IF "$(USE_ITHREADS)$(USE_MULTI)$(USE_OBJECT)" == "defineundefundef" +!IF "$(USE_ITHREADS)$(USE_MULTI)" == "defineundef" USE_MULTI = define USE_5005THREADS = undef !ENDIF -!IF "$(USE_MULTI)$(USE_5005THREADS)$(USE_OBJECT)" != "undefundefundef" +!IF "$(USE_MULTI)$(USE_5005THREADS)" != "undefundef" BUILDOPT = $(BUILDOPT) -DPERL_IMPLICIT_CONTEXT !ENDIF @@ -574,9 +552,6 @@ BUILDOPT = $(BUILDOPT) -DPERL_IMPLICIT_SYS PROCESSOR_ARCHITECTURE = x86 !ENDIF -!IF "$(USE_OBJECT)" == "define" -ARCHNAME = NetWare-$(PROCESSOR_ARCHITECTURE)-object -!ELSE !IF "$(USE_5005THREADS)" == "define" ARCHNAME = NetWare-$(PROCESSOR_ARCHITECTURE)-thread !ELSE @@ -586,9 +561,8 @@ ARCHNAME = NetWare-$(PROCESSOR_ARCHITECTURE)-multi ARCHNAME = NetWare-$(PROCESSOR_ARCHITECTURE) !ENDIF !ENDIF -!ENDIF -!IF "$(USE_MULTI)$(USE_5005THREADS)$(USE_OBJECT)" != "undefundefundef" +!IF "$(USE_MULTI)$(USE_5005THREADS)" != "undefundef" ADD_BUILDOPT = $(ADD_BUILDOPT) -DPERL_IMPLICIT_CONTEXT !ENDIF @@ -630,11 +604,6 @@ INST_HTML = $(INST_POD)\html # Options # -!IF "$(USE_OBJECT)" == "define" -OPTIMIZE = $(OPTIMIZE) $(CXX_FLAG) -BUILDOPT = $(BUILDOPT) -DPERL_OBJECT -!ENDIF - OBJOUT_FLAG = -Fo EXEOUT_FLAG = -Fe @@ -736,9 +705,7 @@ MICROCORE_SRC = \ EXTRACORE_SRC = $(EXTRACORE_SRC) ..\malloc.c !ENDIF -#!IF "$(USE_OBJECT)" != "define" #EXTRACORE_SRC = $(EXTRACORE_SRC) ..\perlio.c -#!ENDIF !IF "$(CRYPT_SRC)" != "" NW_SRC = $(NW_SRC) .\$(CRYPT_SRC) diff --git a/NetWare/config_h.PL b/NetWare/config_h.PL index a7e5a09..d0eb05a 100644 --- a/NetWare/config_h.PL +++ b/NetWare/config_h.PL @@ -2,7 +2,6 @@ use Config; use File::Compare qw(compare); use File::Copy qw(copy); -my $OBJ = 1 if $Config{'ccflags'} =~ /PERL_OBJECT/i; my $name = $0; $name =~ s#^(.*)\.PL$#../$1.SH#; my %opt; @@ -78,7 +77,7 @@ chmod(0666,"../lib/CORE/config.h"); copy("$file.new","../lib/CORE/config.h") || die "Cannot copy:$!"; chmod(0444,"../lib/CORE/config.h"); -if (!$OBJ && compare("$file.new",$file)) +if (compare("$file.new",$file)) { warn "$file has changed\n"; chmod(0666,$file); diff --git a/NetWare/dl_netware.xs b/NetWare/dl_netware.xs index 2f466ca..11f2444 100644 --- a/NetWare/dl_netware.xs +++ b/NetWare/dl_netware.xs @@ -27,23 +27,19 @@ NetWare related modifications done on dl_win32.xs file created by Wei-Yuen Tan t //function pointer for UCSInitialize typedef void (*PFUCSINITIALIZE) (); -#ifdef PERL_OBJECT - -#endif /* PERL_OBJECT */ - #include "dlutils.c" /* SaveError() etc */ static void -dl_private_init(pTHXo) +dl_private_init(pTHX) { - (void)dl_generic_private_init(aTHXo); + (void)dl_generic_private_init(aTHX); } MODULE = DynaLoader PACKAGE = DynaLoader BOOT: - (void)dl_private_init(aTHXo); + (void)dl_private_init(aTHX); void * @@ -130,8 +126,8 @@ dl_load_file(filename,flags=0) DLDEBUG(2,PerlIO_printf(Perl_debug_log," libref=%x\n", nlmHandle)); ST(0) = sv_newmortal() ; if (nlmHandle == NULL) - //SaveError(aTHXo_ "load_file:%s", - // OS_Error_String(aTHXo)) ; + //SaveError(aTHX_ "load_file:%s", + // OS_Error_String(aTHX)) ; ConsolePrintf("load_file error : %s\n", mod_name8); else sv_setiv( ST(0), (IV)nlmHandle); @@ -156,8 +152,8 @@ dl_find_symbol(libhandle, symbolname) DLDEBUG(2,PerlIO_printf(Perl_debug_log," symbolref = %x\n", RETVAL)); ST(0) = sv_newmortal() ; if (RETVAL == NULL) - //SaveError(aTHXo_ "find_symbol:%s", - // OS_Error_String(aTHXo)) ; + //SaveError(aTHX_ "find_symbol:%s", + // OS_Error_String(aTHX)) ; ConsolePrintf("find_symbol error \n"); else sv_setiv( ST(0), (IV)RETVAL); @@ -178,7 +174,7 @@ dl_install_xsub(perl_name, symref, filename="$Package") DLDEBUG(2,PerlIO_printf(Perl_debug_log,"dl_install_xsub(name=%s, symref=%x)\n", perl_name, symref)); ST(0) = sv_2mortal(newRV((SV*)newXS(perl_name, - (void(*)(pTHXo_ CV *))symref, + (void(*)(pTHX_ CV *))symref, filename))); diff --git a/NetWare/interface.c b/NetWare/interface.c index c526fbd..43cf81a 100644 --- a/NetWare/interface.c +++ b/NetWare/interface.c @@ -24,7 +24,7 @@ static void xs_init(pTHX); EXTERN_C int RunPerl(int argc, char **argv, char **env); EXTERN_C void Perl_nw5_init(int *argcp, char ***argvp); -EXTERN_C void boot_DynaLoader (pTHXo_ CV* cv); +EXTERN_C void boot_DynaLoader (pTHX_ CV* cv); ClsPerlHost::ClsPerlHost() @@ -141,23 +141,7 @@ int RunPerl(int argc, char **argv, char **env) if(exitstatus == 0) { #if defined(TOP_CLONE) && defined(USE_ITHREADS) // XXXXXX testing - # ifdef PERL_OBJECT - CPerlHost *h = new CPerlHost(); - new_perl = perl_clone_using(my_perl, 1, - h->m_pHostperlMem, - h->m_pHostperlMemShared, - h->m_pHostperlMemParse, - h->m_pHostperlEnv, - h->m_pHostperlStdIO, - h->m_pHostperlLIO, - h->m_pHostperlDir, - h->m_pHostperlSock, - h->m_pHostperlProc - ); - CPerlObj *pPerl = (CPerlObj*)new_perl; - # else - new_perl = perl_clone(my_perl, 1); - # endif + new_perl = perl_clone(my_perl, 1); exitstatus = perl_run(new_perl); // Run Perl. PERL_SET_THX(my_perl); diff --git a/NetWare/nw5.c b/NetWare/nw5.c index a701c65..44bb853 100644 --- a/NetWare/nw5.c +++ b/NetWare/nw5.c @@ -17,7 +17,7 @@ -#include // For dTHXo, etc. +#include // For dTHX, etc. #include "nwpipe.h" @@ -211,7 +211,7 @@ nw_stdout() long nw_telldir(DIR *dirp) { - dTHXo; + dTHX; Perl_croak(aTHX_ "telldir function is not implemented"); return 0l; } @@ -292,7 +292,7 @@ nw_write(int fd, const void *buf, unsigned int cnt) char * nw_crypt(const char *txt, const char *salt) { - dTHXo; + dTHX; #ifdef HAVE_DES_FCRYPT dTHR; @@ -752,7 +752,7 @@ nw_rename(const char *oname, const char *newname) void nw_rewinddir(DIR *dirp) { - dTHXo; + dTHX; Perl_croak(aTHX_ "rewinddir function is not implemented"); } @@ -766,7 +766,7 @@ nw_rewind(FILE *pf) void nw_seekdir(DIR *dirp, long loc) { - dTHXo; + dTHX; Perl_croak(aTHX_ "seekdir function is not implemented"); } diff --git a/NetWare/nw5sck.c b/NetWare/nw5sck.c index 5a9ce47..c1a42fe 100644 --- a/NetWare/nw5sck.c +++ b/NetWare/nw5sck.c @@ -20,11 +20,6 @@ #include "EXTERN.h" #include "perl.h" -#if defined(PERL_OBJECT) -#define NO_XSLOCKS -#include "XSUB.h" -#endif - #include "nw5iop.h" #include "nw5sck.h" #include diff --git a/NetWare/nw5thread.c b/NetWare/nw5thread.c index e99512a..7ed18bb 100644 --- a/NetWare/nw5thread.c +++ b/NetWare/nw5thread.c @@ -20,12 +20,6 @@ #include "EXTERN.h" #include "perl.h" -#if defined(PERL_OBJECT) -#define NO_XSLOCKS -extern CPerlObj* pPerl; -#include "XSUB.h" -#endif - //For Thread Local Storage #include "win32ish.h" // For "BOOL", "TRUE" and "FALSE" #include "nwtinfo.h" diff --git a/NetWare/nwperlsys.c b/NetWare/nwperlsys.c index b1bf8dd..4fc65d3 100644 --- a/NetWare/nwperlsys.c +++ b/NetWare/nwperlsys.c @@ -20,10 +20,6 @@ #include "perl.h" -#ifdef PERL_OBJECT -#define NO_XSLOCKS -#endif - //CHKSGP //Including this is giving premature end-of-file error during compilation //#include "XSUB.h" @@ -102,9 +98,6 @@ perl_alloc(void) &perlSock, &perlProc); if (my_perl) { -#ifdef PERL_OBJECT - CPerlObj* pPerl = (CPerlObj*)my_perl; -#endif //nw5_internal_host = m_allocList; } return my_perl; @@ -188,9 +181,6 @@ perl_alloc_override(struct IPerlMem** ppMem, struct IPerlMem** ppMemShared, lpProc); if (my_perl) { -#ifdef PERL_OBJECT - CPerlObj* pPerl = (CPerlObj*)my_perl; -#endif //nw5_internal_host = pHost; } return my_perl; diff --git a/NetWare/nwperlsys.h b/NetWare/nwperlsys.h index 0b7271d..955e7c1 100644 --- a/NetWare/nwperlsys.h +++ b/NetWare/nwperlsys.h @@ -647,7 +647,7 @@ PerlLIOChmod(struct IPerlLIO* piPerl, const char *filename, int pmode) int PerlLIOChown(struct IPerlLIO* piPerl, const char *filename, uid_t owner, gid_t group) { - dTHXo; + dTHX; Perl_croak(aTHX_ "chown not implemented!\n"); return 0; } @@ -861,7 +861,7 @@ PerlProc_Exit(struct IPerlProc* piPerl, int status) int PerlProcExecl(struct IPerlProc* piPerl, const char *cmdname, const char *arg0, const char *arg1, const char *arg2, const char *arg3) { - dTHXo; + dTHX; Perl_croak(aTHX_ "execl not implemented!\n"); return 0; } @@ -917,7 +917,7 @@ PerlProcKill(struct IPerlProc* piPerl, int pid, int sig) int PerlProcKillpg(struct IPerlProc* piPerl, int pid, int sig) { - dTHXo; + dTHX; Perl_croak(aTHX_ "killpg not implemented!\n"); return 0; } @@ -931,7 +931,7 @@ PerlProcPauseProc(struct IPerlProc* piPerl) PerlIO* PerlProcPopen(struct IPerlProc* piPerl, const char *command, const char *mode) { - dTHXo; + dTHX; PERL_FLUSHALL_FOR_CHILD; return (PerlIO*)nw_Popen((char *)command, (char *)mode, (int *)errno); @@ -1300,7 +1300,7 @@ PerlSockSetservent(struct IPerlSock* piPerl, int stayopen) int PerlSockSetsockopt(struct IPerlSock* piPerl, SOCKET s, int level, int optname, const char* optval, int optlen) { - dTHXo; + dTHX; Perl_croak(aTHX_ "setsockopt not implemented!\n"); return 0; } @@ -1320,7 +1320,7 @@ PerlSockSocket(struct IPerlSock* piPerl, int af, int type, int protocol) int PerlSockSocketpair(struct IPerlSock* piPerl, int domain, int type, int protocol, int* fds) { - dTHXo; + dTHX; Perl_croak(aTHX_ "socketpair not implemented!\n"); return 0; } @@ -1328,7 +1328,7 @@ PerlSockSocketpair(struct IPerlSock* piPerl, int domain, int type, int protocol, int PerlSockIoctlsocket(struct IPerlSock* piPerl, SOCKET s, long cmd, u_long *argp) { - dTHXo; + dTHX; Perl_croak(aTHX_ "ioctlsocket not implemented!\n"); return 0; } diff --git a/Porting/makerel b/Porting/makerel index e67a80c..3abfeb7 100644 --- a/Porting/makerel +++ b/Porting/makerel @@ -117,7 +117,6 @@ my @writables = qw( global.sym pod/perlintern.pod pod/perlapi.pod - objXSUB.h perlapi.h perlapi.c ext/ByteLoader/byterun.h diff --git a/README.win32 b/README.win32 index fb0715c..84fdb18 100644 --- a/README.win32 +++ b/README.win32 @@ -1,722 +1,722 @@ -If you read this file _as_is_, just ignore the funny characters you -see. It is written in the POD format (see pod/perlpod.pod) which is -specially designed to be readable as is. - -=head1 NAME - -perlwin32 - Perl under Win32 - -=head1 SYNOPSIS - -These are instructions for building Perl under Windows (9x, NT and -2000). - -=head1 DESCRIPTION - -Before you start, you should glance through the README file -found in the top-level directory to which the Perl distribution -was extracted. Make sure you read and understand the terms under -which this software is being distributed. - -Also make sure you read L below for the -known limitations of this port. - -The INSTALL file in the perl top-level has much information that is -only relevant to people building Perl on Unix-like systems. In -particular, you can safely ignore any information that talks about -"Configure". - -You may also want to look at two other options for building -a perl that will work on Windows NT: the README.cygwin and -README.os2 files, each of which give a different set of rules to -build a Perl that will work on Win32 platforms. Those two methods -will probably enable you to build a more Unix-compatible perl, but -you will also need to download and use various other build-time and -run-time support software described in those files. - -This set of instructions is meant to describe a so-called "native" -port of Perl to Win32 platforms. The resulting Perl requires no -additional software to run (other than what came with your operating -system). Currently, this port is capable of using one of the -following compilers: - - Borland C++ version 5.02 or later - Microsoft Visual C++ version 4.2 or later - Mingw32 with GCC version 2.95.2 or better - -The last of these is a high quality freeware compiler. Support -for it is still experimental. (Older versions of GCC are known -not to work.) - -This port currently supports MakeMaker (the set of modules that -is used to build extensions to perl). Therefore, you should be -able to build and install most extensions found in the CPAN sites. -See L below for general hints about this. - -=head2 Setting Up Perl on Win32 - -=over 4 - -=item Make - -You need a "make" program to build the sources. If you are using -Visual C++ under Windows NT or 2000, nmake will work. All other -builds need dmake. - -dmake is a freely available make that has very nice macro features -and parallelability. - -A port of dmake for Windows is available from: - - http://www.cpan.org/authors/id/GSAR/dmake-4.1pl1-win32.zip - -(This is a fixed version of the original dmake sources obtained from -http://www.wticorp.com/dmake/. As of version 4.1PL1, the original -sources did not build as shipped and had various other problems. -A patch is included in the above fixed version.) - -Fetch and install dmake somewhere on your path (follow the instructions -in the README.NOW file). - -There exists a minor coexistence problem with dmake and Borland C++ -compilers. Namely, if a distribution has C files named with mixed -case letters, they will be compiled into appropriate .obj-files named -with all lowercase letters, and every time dmake is invoked -to bring files up to date, it will try to recompile such files again. -For example, Tk distribution has a lot of such files, resulting in -needless recompiles everytime dmake is invoked. To avoid this, you -may use the script "sync_ext.pl" after a successful build. It is -available in the win32 subdirectory of the Perl source distribution. - -=item Command Shell - -Use the default "cmd" shell that comes with NT. Some versions of the -popular 4DOS/NT shell have incompatibilities that may cause you trouble. -If the build fails under that shell, try building again with the cmd -shell. - -The nmake Makefile also has known incompatibilities with the -"command.com" shell that comes with Windows 9x. You will need to -use dmake and makefile.mk to build under Windows 9x. - -The surest way to build it is on Windows NT, using the cmd shell. - -Make sure the path to the build directory does not contain spaces. The -build usually works in this circumstance, but some tests will fail. - -=item Borland C++ - -If you are using the Borland compiler, you will need dmake. -(The make that Borland supplies is seriously crippled and will not -work for MakeMaker builds.) - -See L above. - -=item Microsoft Visual C++ - -The nmake that comes with Visual C++ will suffice for building. -You will need to run the VCVARS32.BAT file, usually found somewhere -like C:\MSDEV4.2\BIN. This will set your build environment. - -You can also use dmake to build using Visual C++; provided, however, -you set OSRELEASE to "microsft" (or whatever the directory name -under which the Visual C dmake configuration lives) in your environment -and edit win32/config.vc to change "make=nmake" into "make=dmake". The -latter step is only essential if you want to use dmake as your default -make for building extensions using MakeMaker. - -=item Mingw32 with GCC - -GCC-2.95.2 binaries can be downloaded from: - - ftp://ftp.xraylith.wisc.edu/pub/khan/gnu-win32/mingw32/ - -You also need dmake. See L above on how to get it. - -The GCC-2.95.2 bundle comes with Mingw32 libraries and headers. - -Make sure you install the binaries that work with MSVCRT.DLL as indicated -in the README for the GCC bundle. You may need to set up a few environment -variables (usually ran from a batch file). - -There are a couple of problems with the version of gcc-2.95.2-msvcrt.exe -released 7 November 1999: - -=over - -=item * - -It left out a fix for certain command line quotes. To fix this, be sure -to download and install the file fixes/quote-fix-msvcrt.exe from the above -ftp location. - -=item * - -The definition of the fpos_t type in stdio.h may be wrong. If your -stdio.h has this problem, you will see an exception when running the -test t/lib/io_xs.t. To fix this, change the typedef for fpos_t from -"long" to "long long" in the file i386-mingw32msvc/include/stdio.h, -and rebuild. - -=back - -A potentially simpler to install (but probably soon-to-be-outdated) bundle -of the above package with the mentioned fixes already applied is available -here: - - http://downloads.ActiveState.com/pub/staff/gsar/gcc-2.95.2-msvcrt.zip - ftp://ftp.ActiveState.com/pub/staff/gsar/gcc-2.95.2-msvcrt.zip - -=back - -=head2 Building - -=over 4 - -=item * - -Make sure you are in the "win32" subdirectory under the perl toplevel. -This directory contains a "Makefile" that will work with -versions of nmake that come with Visual C++, and a dmake "makefile.mk" -that will work for all supported compilers. The defaults in the dmake -makefile are setup to build using the GCC compiler. - -=item * - -Edit the makefile.mk (or Makefile, if you're using nmake) and change -the values of INST_DRV and INST_TOP. You can also enable various -build flags. These are explained in the makefiles. - -You will have to make sure that CCTYPE is set correctly and that -CCHOME points to wherever you installed your compiler. - -The default value for CCHOME in the makefiles for Visual C++ -may not be correct for some versions. Make sure the default exists -and is valid. - -If you have either the source or a library that contains des_fcrypt(), -enable the appropriate option in the makefile. des_fcrypt() is not -bundled with the distribution due to US Government restrictions -on the export of cryptographic software. Nevertheless, this routine -is part of the "libdes" library (written by Eric Young) which is widely -available worldwide, usually along with SSLeay (for example, -"ftp://ftp.funet.fi/pub/crypt/mirrors/dsi/libdes/"). Set CRYPT_SRC to the -name of the file that implements des_fcrypt(). Alternatively, if -you have built a library that contains des_fcrypt(), you can set -CRYPT_LIB to point to the library name. The location above contains -many versions of the "libdes" library, all with slightly different -implementations of des_fcrypt(). Older versions have a single, -self-contained file (fcrypt.c) that implements crypt(), so they may be -easier to use. A patch against the fcrypt.c found in libdes-3.06 is -in des_fcrypt.patch. - -An easier alternative may be to get the pre-patched and ready-to-use -fcrypt.c that can be found here: - - http://downloads.ActiveState.com/pub/staff/gsar/fcrypt.c - ftp://ftp.ActiveState.com/pub/staff/gsar/fcrypt.c - -Perl will also build without des_fcrypt(), but the crypt() builtin will -fail at run time. - -Be sure to read the instructions near the top of the makefiles carefully. - -=item * - -Type "dmake" (or "nmake" if you are using that make). - -This should build everything. Specifically, it will create perl.exe, -perl56.dll at the perl toplevel, and various other extension dll's -under the lib\auto directory. If the build fails for any reason, make -sure you have done the previous steps correctly. - -=back - -=head2 Testing Perl on Win32 - -Type "dmake test" (or "nmake test"). This will run most of the tests from -the testsuite (many tests will be skipped). - -There should be no test failures when running under Windows NT 4.0 or -Windows 2000. Many tests I fail under Windows 9x due to the inferior -command shell. - -Some test failures may occur if you use a command shell other than the -native "cmd.exe", or if you are building from a path that contains -spaces. So don't do that. - -If you are running the tests from a emacs shell window, you may see -failures in op/stat.t. Run "dmake test-notty" in that case. - -If you're using the Borland compiler, you may see a failure in op/taint.t -arising from the inability to find the Borland Runtime DLLs on the system -default path. You will need to copy the DLLs reported by the messages -from where Borland chose to install it, into the Windows system directory -(usually somewhere like C:\WINNT\SYSTEM32) and rerun the test. - -If you're using Borland compiler versions 5.2 and below, you may run into -problems finding the correct header files when building extensions. For -example, building the "Tk" extension may fail because both perl and Tk -contain a header file called "patchlevel.h". The latest Borland compiler -(v5.5) is free of this misbehaviour, and it even supports an -option -VI- for backward (bugward) compatibility for using the old Borland -search algorithm to locate header files. - -Please report any other failures as described under L. - -=head2 Installation of Perl on Win32 - -Type "dmake install" (or "nmake install"). This will put the newly -built perl and the libraries under whatever C points to in the -Makefile. It will also install the pod documentation under -C<$INST_TOP\$VERSION\lib\pod> and HTML versions of the same under -C<$INST_TOP\$VERSION\lib\pod\html>. To use the Perl you just installed, -you will need to add two components to your PATH environment variable, -C<$INST_TOP\$VERSION\bin> and C<$INST_TOP\$VERSION\bin\$ARCHNAME>. -For example: - - set PATH c:\perl\5.6.0\bin;c:\perl\5.6.0\bin\MSWin32-x86;%PATH% - -If you opt to comment out INST_VER and INST_ARCH in the makefiles, the -installation structure is much simpler. In that case, it will be -sufficient to add a single entry to the path, for instance: - - set PATH c:\perl\bin;%PATH% - -=head2 Usage Hints for Perl on Win32 - -=over 4 - -=item Environment Variables - -The installation paths that you set during the build get compiled -into perl, so you don't have to do anything additional to start -using that perl (except add its location to your PATH variable). - -If you put extensions in unusual places, you can set PERL5LIB -to a list of paths separated by semicolons where you want perl -to look for libraries. Look for descriptions of other environment -variables you can set in L. - -You can also control the shell that perl uses to run system() and -backtick commands via PERL5SHELL. See L. - -Perl does not depend on the registry, but it can look up certain default -values if you choose to put them there. Perl attempts to read entries from -C and C. -Entries in the former override entries in the latter. One or more of the -following entries (of type REG_SZ or REG_EXPAND_SZ) may be set: - - lib-$] version-specific standard library path to add to @INC - lib standard library path to add to @INC - sitelib-$] version-specific site library path to add to @INC - sitelib site library path to add to @INC - vendorlib-$] version-specific vendor library path to add to @INC - vendorlib vendor library path to add to @INC - PERL* fallback for all %ENV lookups that begin with "PERL" - -Note the C<$]> in the above is not literal. Substitute whatever version -of perl you want to honor that entry, e.g. C<5.6.0>. Paths must be -separated with semicolons, as usual on win32. - -=item File Globbing - -By default, perl handles file globbing using the File::Glob extension, -which provides portable globbing. - -If you want perl to use globbing that emulates the quirks of DOS -filename conventions, you might want to consider using File::DosGlob -to override the internal glob() implementation. See L for -details. - -=item Using perl from the command line - -If you are accustomed to using perl from various command-line -shells found in UNIX environments, you will be less than pleased -with what Windows offers by way of a command shell. - -The crucial thing to understand about the Windows environment is that -the command line you type in is processed twice before Perl sees it. -First, your command shell (usually CMD.EXE on Windows NT, and -COMMAND.COM on Windows 9x) preprocesses the command line, to handle -redirection, environment variable expansion, and location of the -executable to run. Then, the perl executable splits the remaining -command line into individual arguments, using the C runtime library -upon which Perl was built. - -It is particularly important to note that neither the shell nor the C -runtime do any wildcard expansions of command-line arguments (so -wildcards need not be quoted). Also, the quoting behaviours of the -shell and the C runtime are rudimentary at best (and may, if you are -using a non-standard shell, be inconsistent). The only (useful) quote -character is the double quote ("). It can be used to protect spaces -and other special characters in arguments. - -The Windows NT documentation has almost no description of how the -quoting rules are implemented, but here are some general observations -based on experiments: The C runtime breaks arguments at spaces and -passes them to programs in argc/argv. Double quotes can be used to -prevent arguments with spaces in them from being split up. You can -put a double quote in an argument by escaping it with a backslash and -enclosing the whole argument within double quotes. The backslash and -the pair of double quotes surrounding the argument will be stripped by -the C runtime. - -The file redirection characters "<", ">", and "|" can be quoted by -double quotes (although there are suggestions that this may not always -be true). Single quotes are not treated as quotes by the shell or -the C runtime, they don't get stripped by the shell (just to make -this type of quoting completely useless). The caret "^" has also -been observed to behave as a quoting character, but this appears -to be a shell feature, and the caret is not stripped from the command -line, so Perl still sees it (and the C runtime phase does not treat -the caret as a quote character). - -Here are some examples of usage of the "cmd" shell: - -This prints two doublequotes: - - perl -e "print '\"\"' " - -This does the same: - - perl -e "print \"\\\"\\\"\" " - -This prints "bar" and writes "foo" to the file "blurch": - - perl -e "print 'foo'; print STDERR 'bar'" > blurch - -This prints "foo" ("bar" disappears into nowhereland): - - perl -e "print 'foo'; print STDERR 'bar'" 2> nul - -This prints "bar" and writes "foo" into the file "blurch": - - perl -e "print 'foo'; print STDERR 'bar'" 1> blurch - -This pipes "foo" to the "less" pager and prints "bar" on the console: - - perl -e "print 'foo'; print STDERR 'bar'" | less - -This pipes "foo\nbar\n" to the less pager: - - perl -le "print 'foo'; print STDERR 'bar'" 2>&1 | less - -This pipes "foo" to the pager and writes "bar" in the file "blurch": - - perl -e "print 'foo'; print STDERR 'bar'" 2> blurch | less - - -Discovering the usefulness of the "command.com" shell on Windows 9x -is left as an exercise to the reader :) - -One particularly pernicious problem with the 4NT command shell for -Windows NT is that it (nearly) always treats a % character as indicating -that environment variable expansion is needed. Under this shell, it is -therefore important to always double any % characters which you want -Perl to see (for example, for hash variables), even when they are -quoted. - -=item Building Extensions - -The Comprehensive Perl Archive Network (CPAN) offers a wealth -of extensions, some of which require a C compiler to build. -Look in http://www.cpan.org/ for more information on CPAN. - -Note that not all of the extensions available from CPAN may work -in the Win32 environment; you should check the information at -http://testers.cpan.org/ before investing too much effort into -porting modules that don't readily build. - -Most extensions (whether they require a C compiler or not) can -be built, tested and installed with the standard mantra: - - perl Makefile.PL - $MAKE - $MAKE test - $MAKE install - -where $MAKE is whatever 'make' program you have configured perl to -use. Use "perl -V:make" to find out what this is. Some extensions -may not provide a testsuite (so "$MAKE test" may not do anything or -fail), but most serious ones do. - -It is important that you use a supported 'make' program, and -ensure Config.pm knows about it. If you don't have nmake, you can -either get dmake from the location mentioned earlier or get an -old version of nmake reportedly available from: - - ftp://ftp.microsoft.com/Softlib/MSLFILES/nmake15.exe - -Another option is to use the make written in Perl, available from -CPAN: - - http://www.cpan.org/authors/id/NI-S/Make-0.03.tar.gz - -You may also use dmake. See L above on how to get it. - -Note that MakeMaker actually emits makefiles with different syntax -depending on what 'make' it thinks you are using. Therefore, it is -important that one of the following values appears in Config.pm: - - make='nmake' # MakeMaker emits nmake syntax - make='dmake' # MakeMaker emits dmake syntax - any other value # MakeMaker emits generic make syntax - (e.g GNU make, or Perl make) - -If the value doesn't match the 'make' program you want to use, -edit Config.pm to fix it. - -If a module implements XSUBs, you will need one of the supported -C compilers. You must make sure you have set up the environment for -the compiler for command-line compilation. - -If a module does not build for some reason, look carefully for -why it failed, and report problems to the module author. If -it looks like the extension building support is at fault, report -that with full details of how the build failed using the perlbug -utility. - -=item Command-line Wildcard Expansion - -The default command shells on DOS descendant operating systems (such -as they are) usually do not expand wildcard arguments supplied to -programs. They consider it the application's job to handle that. -This is commonly achieved by linking the application (in our case, -perl) with startup code that the C runtime libraries usually provide. -However, doing that results in incompatible perl versions (since the -behavior of the argv expansion code differs depending on the -compiler, and it is even buggy on some compilers). Besides, it may -be a source of frustration if you use such a perl binary with an -alternate shell that *does* expand wildcards. - -Instead, the following solution works rather well. The nice things -about it are 1) you can start using it right away; 2) it is more -powerful, because it will do the right thing with a pattern like -*/*/*.c; 3) you can decide whether you do/don't want to use it; and -4) you can extend the method to add any customizations (or even -entirely different kinds of wildcard expansion). - - C:\> copy con c:\perl\lib\Wild.pm - # Wild.pm - emulate shell @ARGV expansion on shells that don't - use File::DosGlob; - @ARGV = map { - my @g = File::DosGlob::glob($_) if /[*?]/; - @g ? @g : $_; - } @ARGV; - 1; - ^Z - C:\> set PERL5OPT=-MWild - C:\> perl -le "for (@ARGV) { print }" */*/perl*.c - p4view/perl/perl.c - p4view/perl/perlio.c - p4view/perl/perly.c - perl5.005/win32/perlglob.c - perl5.005/win32/perllib.c - perl5.005/win32/perlglob.c - perl5.005/win32/perllib.c - perl5.005/win32/perlglob.c - perl5.005/win32/perllib.c - -Note there are two distinct steps there: 1) You'll have to create -Wild.pm and put it in your perl lib directory. 2) You'll need to -set the PERL5OPT environment variable. If you want argv expansion -to be the default, just set PERL5OPT in your default startup -environment. - -If you are using the Visual C compiler, you can get the C runtime's -command line wildcard expansion built into perl binary. The resulting -binary will always expand unquoted command lines, which may not be -what you want if you use a shell that does that for you. The expansion -done is also somewhat less powerful than the approach suggested above. - -=item Win32 Specific Extensions - -A number of extensions specific to the Win32 platform are available -from CPAN. You may find that many of these extensions are meant to -be used under the Activeware port of Perl, which used to be the only -native port for the Win32 platform. Since the Activeware port does not -have adequate support for Perl's extension building tools, these -extensions typically do not support those tools either and, therefore, -cannot be built using the generic steps shown in the previous section. - -To ensure smooth transitioning of existing code that uses the -ActiveState port, there is a bundle of Win32 extensions that contains -all of the ActiveState extensions and most other Win32 extensions from -CPAN in source form, along with many added bugfixes, and with MakeMaker -support. This bundle is available at: - - http://www.cpan.org/authors/id/GSAR/libwin32-0.151.zip - -See the README in that distribution for building and installation -instructions. Look for later versions that may be available at the -same location. - -=item Running Perl Scripts - -Perl scripts on UNIX use the "#!" (a.k.a "shebang") line to -indicate to the OS that it should execute the file using perl. -Win32 has no comparable means to indicate arbitrary files are -executables. - -Instead, all available methods to execute plain text files on -Win32 rely on the file "extension". There are three methods -to use this to execute perl scripts: - -=over 8 - -=item 1 - -There is a facility called "file extension associations" that will -work in Windows NT 4.0. This can be manipulated via the two -commands "assoc" and "ftype" that come standard with Windows NT -4.0. Type "ftype /?" for a complete example of how to set this -up for perl scripts (Say what? You thought Windows NT wasn't -perl-ready? :). - -=item 2 - -Since file associations don't work everywhere, and there are -reportedly bugs with file associations where it does work, the -old method of wrapping the perl script to make it look like a -regular batch file to the OS, may be used. The install process -makes available the "pl2bat.bat" script which can be used to wrap -perl scripts into batch files. For example: - - pl2bat foo.pl - -will create the file "FOO.BAT". Note "pl2bat" strips any -.pl suffix and adds a .bat suffix to the generated file. - -If you use the 4DOS/NT or similar command shell, note that -"pl2bat" uses the "%*" variable in the generated batch file to -refer to all the command line arguments, so you may need to make -sure that construct works in batch files. As of this writing, -4DOS/NT users will need a "ParameterChar = *" statement in their -4NT.INI file or will need to execute "setdos /p*" in the 4DOS/NT -startup file to enable this to work. - -=item 3 - -Using "pl2bat" has a few problems: the file name gets changed, -so scripts that rely on C<$0> to find what they must do may not -run properly; running "pl2bat" replicates the contents of the -original script, and so this process can be maintenance intensive -if the originals get updated often. A different approach that -avoids both problems is possible. - -A script called "runperl.bat" is available that can be copied -to any filename (along with the .bat suffix). For example, -if you call it "foo.bat", it will run the file "foo" when it is -executed. Since you can run batch files on Win32 platforms simply -by typing the name (without the extension), this effectively -runs the file "foo", when you type either "foo" or "foo.bat". -With this method, "foo.bat" can even be in a different location -than the file "foo", as long as "foo" is available somewhere on -the PATH. If your scripts are on a filesystem that allows symbolic -links, you can even avoid copying "runperl.bat". - -Here's a diversion: copy "runperl.bat" to "runperl", and type -"runperl". Explain the observed behavior, or lack thereof. :) -Hint: .gnidnats llits er'uoy fi ,"lrepnur" eteled :tniH - -=back - -=item Miscellaneous Things - -A full set of HTML documentation is installed, so you should be -able to use it if you have a web browser installed on your -system. - -C is also a useful tool for browsing information contained -in the documentation, especially in conjunction with a pager -like C (recent versions of which have Win32 support). You may -have to set the PAGER environment variable to use a specific pager. -"perldoc -f foo" will print information about the perl operator -"foo". - -If you find bugs in perl, you can run C to create a -bug report (you may have to send it manually if C cannot -find a mailer on your system). - -=back - -=head1 BUGS AND CAVEATS - -Norton AntiVirus interferes with the build process, particularly if -set to "AutoProtect, All Files, when Opened". Unlike large applications -the perl build process opens and modifies a lot of files. Having the -the AntiVirus scan each and every one slows build the process significantly. -Worse, with PERLIO=stdio the build process fails with peculiar messages -as the virus checker interacts badly with miniperl.exe writing configure -files (it seems to either catch file part written and treat it as suspicious, -or virus checker may have it "locked" in a way which inhibits miniperl -updating it). The build does complete with - - set PERLIO=perlio - -but that may be just luck. Other AntiVirus software may have similar issues. - -Some of the built-in functions do not act exactly as documented in -L, and a few are not implemented at all. To avoid -surprises, particularly if you have had prior exposure to Perl -in other operating environments or if you intend to write code -that will be portable to other environments. See L -for a reasonably definitive list of these differences. - -Not all extensions available from CPAN may build or work properly -in the Win32 environment. See L. - -Most C related calls are supported, but they may not -behave as on Unix platforms. See L for the full list. - -Signal handling may not behave as on Unix platforms (where it -doesn't exactly "behave", either :). For instance, calling C -or C from signal handlers will cause an exception, since most -implementations of C on Win32 are severely crippled. -Thus, signals may work only for simple things like setting a flag -variable in the handler. Using signals under this port should -currently be considered unsupported. - -Please send detailed descriptions of any problems and solutions that -you may find to >, along with the output produced -by C. - -=head1 AUTHORS - -=over 4 - -=item Gary Ng E71564.1743@CompuServe.COME - -=item Gurusamy Sarathy Egsar@activestate.comE - -=item Nick Ing-Simmons Enick@ing-simmons.netE - -=back - -This document is maintained by Gurusamy Sarathy. - -=head1 SEE ALSO - -L - -=head1 HISTORY - -This port was originally contributed by Gary Ng around 5.003_24, -and borrowed from the Hip Communications port that was available -at the time. Various people have made numerous and sundry hacks -since then. - -Borland support was added in 5.004_01 (Gurusamy Sarathy). - -GCC/mingw32 support was added in 5.005 (Nick Ing-Simmons). - -Support for PERL_OBJECT was added in 5.005 (ActiveState Tool Corp). - -Support for fork() emulation was added in 5.6 (ActiveState Tool Corp). - -Win9x support was added in 5.6 (Benjamin Stuhl). - -Last updated: 1 April 2001 - -=cut +If you read this file _as_is_, just ignore the funny characters you +see. It is written in the POD format (see pod/perlpod.pod) which is +specially designed to be readable as is. + +=head1 NAME + +perlwin32 - Perl under Win32 + +=head1 SYNOPSIS + +These are instructions for building Perl under Windows (9x, NT and +2000). + +=head1 DESCRIPTION + +Before you start, you should glance through the README file +found in the top-level directory to which the Perl distribution +was extracted. Make sure you read and understand the terms under +which this software is being distributed. + +Also make sure you read L below for the +known limitations of this port. + +The INSTALL file in the perl top-level has much information that is +only relevant to people building Perl on Unix-like systems. In +particular, you can safely ignore any information that talks about +"Configure". + +You may also want to look at two other options for building +a perl that will work on Windows NT: the README.cygwin and +README.os2 files, each of which give a different set of rules to +build a Perl that will work on Win32 platforms. Those two methods +will probably enable you to build a more Unix-compatible perl, but +you will also need to download and use various other build-time and +run-time support software described in those files. + +This set of instructions is meant to describe a so-called "native" +port of Perl to Win32 platforms. The resulting Perl requires no +additional software to run (other than what came with your operating +system). Currently, this port is capable of using one of the +following compilers: + + Borland C++ version 5.02 or later + Microsoft Visual C++ version 4.2 or later + Mingw32 with GCC version 2.95.2 or better + +The last of these is a high quality freeware compiler. Support +for it is still experimental. (Older versions of GCC are known +not to work.) + +This port currently supports MakeMaker (the set of modules that +is used to build extensions to perl). Therefore, you should be +able to build and install most extensions found in the CPAN sites. +See L below for general hints about this. + +=head2 Setting Up Perl on Win32 + +=over 4 + +=item Make + +You need a "make" program to build the sources. If you are using +Visual C++ under Windows NT or 2000, nmake will work. All other +builds need dmake. + +dmake is a freely available make that has very nice macro features +and parallelability. + +A port of dmake for Windows is available from: + + http://www.cpan.org/authors/id/GSAR/dmake-4.1pl1-win32.zip + +(This is a fixed version of the original dmake sources obtained from +http://www.wticorp.com/dmake/. As of version 4.1PL1, the original +sources did not build as shipped and had various other problems. +A patch is included in the above fixed version.) + +Fetch and install dmake somewhere on your path (follow the instructions +in the README.NOW file). + +There exists a minor coexistence problem with dmake and Borland C++ +compilers. Namely, if a distribution has C files named with mixed +case letters, they will be compiled into appropriate .obj-files named +with all lowercase letters, and every time dmake is invoked +to bring files up to date, it will try to recompile such files again. +For example, Tk distribution has a lot of such files, resulting in +needless recompiles everytime dmake is invoked. To avoid this, you +may use the script "sync_ext.pl" after a successful build. It is +available in the win32 subdirectory of the Perl source distribution. + +=item Command Shell + +Use the default "cmd" shell that comes with NT. Some versions of the +popular 4DOS/NT shell have incompatibilities that may cause you trouble. +If the build fails under that shell, try building again with the cmd +shell. + +The nmake Makefile also has known incompatibilities with the +"command.com" shell that comes with Windows 9x. You will need to +use dmake and makefile.mk to build under Windows 9x. + +The surest way to build it is on Windows NT, using the cmd shell. + +Make sure the path to the build directory does not contain spaces. The +build usually works in this circumstance, but some tests will fail. + +=item Borland C++ + +If you are using the Borland compiler, you will need dmake. +(The make that Borland supplies is seriously crippled and will not +work for MakeMaker builds.) + +See L above. + +=item Microsoft Visual C++ + +The nmake that comes with Visual C++ will suffice for building. +You will need to run the VCVARS32.BAT file, usually found somewhere +like C:\MSDEV4.2\BIN. This will set your build environment. + +You can also use dmake to build using Visual C++; provided, however, +you set OSRELEASE to "microsft" (or whatever the directory name +under which the Visual C dmake configuration lives) in your environment +and edit win32/config.vc to change "make=nmake" into "make=dmake". The +latter step is only essential if you want to use dmake as your default +make for building extensions using MakeMaker. + +=item Mingw32 with GCC + +GCC-2.95.2 binaries can be downloaded from: + + ftp://ftp.xraylith.wisc.edu/pub/khan/gnu-win32/mingw32/ + +You also need dmake. See L above on how to get it. + +The GCC-2.95.2 bundle comes with Mingw32 libraries and headers. + +Make sure you install the binaries that work with MSVCRT.DLL as indicated +in the README for the GCC bundle. You may need to set up a few environment +variables (usually ran from a batch file). + +There are a couple of problems with the version of gcc-2.95.2-msvcrt.exe +released 7 November 1999: + +=over + +=item * + +It left out a fix for certain command line quotes. To fix this, be sure +to download and install the file fixes/quote-fix-msvcrt.exe from the above +ftp location. + +=item * + +The definition of the fpos_t type in stdio.h may be wrong. If your +stdio.h has this problem, you will see an exception when running the +test t/lib/io_xs.t. To fix this, change the typedef for fpos_t from +"long" to "long long" in the file i386-mingw32msvc/include/stdio.h, +and rebuild. + +=back + +A potentially simpler to install (but probably soon-to-be-outdated) bundle +of the above package with the mentioned fixes already applied is available +here: + + http://downloads.ActiveState.com/pub/staff/gsar/gcc-2.95.2-msvcrt.zip + ftp://ftp.ActiveState.com/pub/staff/gsar/gcc-2.95.2-msvcrt.zip + +=back + +=head2 Building + +=over 4 + +=item * + +Make sure you are in the "win32" subdirectory under the perl toplevel. +This directory contains a "Makefile" that will work with +versions of nmake that come with Visual C++, and a dmake "makefile.mk" +that will work for all supported compilers. The defaults in the dmake +makefile are setup to build using the GCC compiler. + +=item * + +Edit the makefile.mk (or Makefile, if you're using nmake) and change +the values of INST_DRV and INST_TOP. You can also enable various +build flags. These are explained in the makefiles. + +You will have to make sure that CCTYPE is set correctly and that +CCHOME points to wherever you installed your compiler. + +The default value for CCHOME in the makefiles for Visual C++ +may not be correct for some versions. Make sure the default exists +and is valid. + +If you have either the source or a library that contains des_fcrypt(), +enable the appropriate option in the makefile. des_fcrypt() is not +bundled with the distribution due to US Government restrictions +on the export of cryptographic software. Nevertheless, this routine +is part of the "libdes" library (written by Eric Young) which is widely +available worldwide, usually along with SSLeay (for example, +"ftp://ftp.funet.fi/pub/crypt/mirrors/dsi/libdes/"). Set CRYPT_SRC to the +name of the file that implements des_fcrypt(). Alternatively, if +you have built a library that contains des_fcrypt(), you can set +CRYPT_LIB to point to the library name. The location above contains +many versions of the "libdes" library, all with slightly different +implementations of des_fcrypt(). Older versions have a single, +self-contained file (fcrypt.c) that implements crypt(), so they may be +easier to use. A patch against the fcrypt.c found in libdes-3.06 is +in des_fcrypt.patch. + +An easier alternative may be to get the pre-patched and ready-to-use +fcrypt.c that can be found here: + + http://downloads.ActiveState.com/pub/staff/gsar/fcrypt.c + ftp://ftp.ActiveState.com/pub/staff/gsar/fcrypt.c + +Perl will also build without des_fcrypt(), but the crypt() builtin will +fail at run time. + +Be sure to read the instructions near the top of the makefiles carefully. + +=item * + +Type "dmake" (or "nmake" if you are using that make). + +This should build everything. Specifically, it will create perl.exe, +perl56.dll at the perl toplevel, and various other extension dll's +under the lib\auto directory. If the build fails for any reason, make +sure you have done the previous steps correctly. + +=back + +=head2 Testing Perl on Win32 + +Type "dmake test" (or "nmake test"). This will run most of the tests from +the testsuite (many tests will be skipped). + +There should be no test failures when running under Windows NT 4.0 or +Windows 2000. Many tests I fail under Windows 9x due to the inferior +command shell. + +Some test failures may occur if you use a command shell other than the +native "cmd.exe", or if you are building from a path that contains +spaces. So don't do that. + +If you are running the tests from a emacs shell window, you may see +failures in op/stat.t. Run "dmake test-notty" in that case. + +If you're using the Borland compiler, you may see a failure in op/taint.t +arising from the inability to find the Borland Runtime DLLs on the system +default path. You will need to copy the DLLs reported by the messages +from where Borland chose to install it, into the Windows system directory +(usually somewhere like C:\WINNT\SYSTEM32) and rerun the test. + +If you're using Borland compiler versions 5.2 and below, you may run into +problems finding the correct header files when building extensions. For +example, building the "Tk" extension may fail because both perl and Tk +contain a header file called "patchlevel.h". The latest Borland compiler +(v5.5) is free of this misbehaviour, and it even supports an +option -VI- for backward (bugward) compatibility for using the old Borland +search algorithm to locate header files. + +Please report any other failures as described under L. + +=head2 Installation of Perl on Win32 + +Type "dmake install" (or "nmake install"). This will put the newly +built perl and the libraries under whatever C points to in the +Makefile. It will also install the pod documentation under +C<$INST_TOP\$VERSION\lib\pod> and HTML versions of the same under +C<$INST_TOP\$VERSION\lib\pod\html>. To use the Perl you just installed, +you will need to add two components to your PATH environment variable, +C<$INST_TOP\$VERSION\bin> and C<$INST_TOP\$VERSION\bin\$ARCHNAME>. +For example: + + set PATH c:\perl\5.6.0\bin;c:\perl\5.6.0\bin\MSWin32-x86;%PATH% + +If you opt to comment out INST_VER and INST_ARCH in the makefiles, the +installation structure is much simpler. In that case, it will be +sufficient to add a single entry to the path, for instance: + + set PATH c:\perl\bin;%PATH% + +=head2 Usage Hints for Perl on Win32 + +=over 4 + +=item Environment Variables + +The installation paths that you set during the build get compiled +into perl, so you don't have to do anything additional to start +using that perl (except add its location to your PATH variable). + +If you put extensions in unusual places, you can set PERL5LIB +to a list of paths separated by semicolons where you want perl +to look for libraries. Look for descriptions of other environment +variables you can set in L. + +You can also control the shell that perl uses to run system() and +backtick commands via PERL5SHELL. See L. + +Perl does not depend on the registry, but it can look up certain default +values if you choose to put them there. Perl attempts to read entries from +C and C. +Entries in the former override entries in the latter. One or more of the +following entries (of type REG_SZ or REG_EXPAND_SZ) may be set: + + lib-$] version-specific standard library path to add to @INC + lib standard library path to add to @INC + sitelib-$] version-specific site library path to add to @INC + sitelib site library path to add to @INC + vendorlib-$] version-specific vendor library path to add to @INC + vendorlib vendor library path to add to @INC + PERL* fallback for all %ENV lookups that begin with "PERL" + +Note the C<$]> in the above is not literal. Substitute whatever version +of perl you want to honor that entry, e.g. C<5.6.0>. Paths must be +separated with semicolons, as usual on win32. + +=item File Globbing + +By default, perl handles file globbing using the File::Glob extension, +which provides portable globbing. + +If you want perl to use globbing that emulates the quirks of DOS +filename conventions, you might want to consider using File::DosGlob +to override the internal glob() implementation. See L for +details. + +=item Using perl from the command line + +If you are accustomed to using perl from various command-line +shells found in UNIX environments, you will be less than pleased +with what Windows offers by way of a command shell. + +The crucial thing to understand about the Windows environment is that +the command line you type in is processed twice before Perl sees it. +First, your command shell (usually CMD.EXE on Windows NT, and +COMMAND.COM on Windows 9x) preprocesses the command line, to handle +redirection, environment variable expansion, and location of the +executable to run. Then, the perl executable splits the remaining +command line into individual arguments, using the C runtime library +upon which Perl was built. + +It is particularly important to note that neither the shell nor the C +runtime do any wildcard expansions of command-line arguments (so +wildcards need not be quoted). Also, the quoting behaviours of the +shell and the C runtime are rudimentary at best (and may, if you are +using a non-standard shell, be inconsistent). The only (useful) quote +character is the double quote ("). It can be used to protect spaces +and other special characters in arguments. + +The Windows NT documentation has almost no description of how the +quoting rules are implemented, but here are some general observations +based on experiments: The C runtime breaks arguments at spaces and +passes them to programs in argc/argv. Double quotes can be used to +prevent arguments with spaces in them from being split up. You can +put a double quote in an argument by escaping it with a backslash and +enclosing the whole argument within double quotes. The backslash and +the pair of double quotes surrounding the argument will be stripped by +the C runtime. + +The file redirection characters "<", ">", and "|" can be quoted by +double quotes (although there are suggestions that this may not always +be true). Single quotes are not treated as quotes by the shell or +the C runtime, they don't get stripped by the shell (just to make +this type of quoting completely useless). The caret "^" has also +been observed to behave as a quoting character, but this appears +to be a shell feature, and the caret is not stripped from the command +line, so Perl still sees it (and the C runtime phase does not treat +the caret as a quote character). + +Here are some examples of usage of the "cmd" shell: + +This prints two doublequotes: + + perl -e "print '\"\"' " + +This does the same: + + perl -e "print \"\\\"\\\"\" " + +This prints "bar" and writes "foo" to the file "blurch": + + perl -e "print 'foo'; print STDERR 'bar'" > blurch + +This prints "foo" ("bar" disappears into nowhereland): + + perl -e "print 'foo'; print STDERR 'bar'" 2> nul + +This prints "bar" and writes "foo" into the file "blurch": + + perl -e "print 'foo'; print STDERR 'bar'" 1> blurch + +This pipes "foo" to the "less" pager and prints "bar" on the console: + + perl -e "print 'foo'; print STDERR 'bar'" | less + +This pipes "foo\nbar\n" to the less pager: + + perl -le "print 'foo'; print STDERR 'bar'" 2>&1 | less + +This pipes "foo" to the pager and writes "bar" in the file "blurch": + + perl -e "print 'foo'; print STDERR 'bar'" 2> blurch | less + + +Discovering the usefulness of the "command.com" shell on Windows 9x +is left as an exercise to the reader :) + +One particularly pernicious problem with the 4NT command shell for +Windows NT is that it (nearly) always treats a % character as indicating +that environment variable expansion is needed. Under this shell, it is +therefore important to always double any % characters which you want +Perl to see (for example, for hash variables), even when they are +quoted. + +=item Building Extensions + +The Comprehensive Perl Archive Network (CPAN) offers a wealth +of extensions, some of which require a C compiler to build. +Look in http://www.cpan.org/ for more information on CPAN. + +Note that not all of the extensions available from CPAN may work +in the Win32 environment; you should check the information at +http://testers.cpan.org/ before investing too much effort into +porting modules that don't readily build. + +Most extensions (whether they require a C compiler or not) can +be built, tested and installed with the standard mantra: + + perl Makefile.PL + $MAKE + $MAKE test + $MAKE install + +where $MAKE is whatever 'make' program you have configured perl to +use. Use "perl -V:make" to find out what this is. Some extensions +may not provide a testsuite (so "$MAKE test" may not do anything or +fail), but most serious ones do. + +It is important that you use a supported 'make' program, and +ensure Config.pm knows about it. If you don't have nmake, you can +either get dmake from the location mentioned earlier or get an +old version of nmake reportedly available from: + + ftp://ftp.microsoft.com/Softlib/MSLFILES/nmake15.exe + +Another option is to use the make written in Perl, available from +CPAN: + + http://www.cpan.org/authors/id/NI-S/Make-0.03.tar.gz + +You may also use dmake. See L above on how to get it. + +Note that MakeMaker actually emits makefiles with different syntax +depending on what 'make' it thinks you are using. Therefore, it is +important that one of the following values appears in Config.pm: + + make='nmake' # MakeMaker emits nmake syntax + make='dmake' # MakeMaker emits dmake syntax + any other value # MakeMaker emits generic make syntax + (e.g GNU make, or Perl make) + +If the value doesn't match the 'make' program you want to use, +edit Config.pm to fix it. + +If a module implements XSUBs, you will need one of the supported +C compilers. You must make sure you have set up the environment for +the compiler for command-line compilation. + +If a module does not build for some reason, look carefully for +why it failed, and report problems to the module author. If +it looks like the extension building support is at fault, report +that with full details of how the build failed using the perlbug +utility. + +=item Command-line Wildcard Expansion + +The default command shells on DOS descendant operating systems (such +as they are) usually do not expand wildcard arguments supplied to +programs. They consider it the application's job to handle that. +This is commonly achieved by linking the application (in our case, +perl) with startup code that the C runtime libraries usually provide. +However, doing that results in incompatible perl versions (since the +behavior of the argv expansion code differs depending on the +compiler, and it is even buggy on some compilers). Besides, it may +be a source of frustration if you use such a perl binary with an +alternate shell that *does* expand wildcards. + +Instead, the following solution works rather well. The nice things +about it are 1) you can start using it right away; 2) it is more +powerful, because it will do the right thing with a pattern like +*/*/*.c; 3) you can decide whether you do/don't want to use it; and +4) you can extend the method to add any customizations (or even +entirely different kinds of wildcard expansion). + + C:\> copy con c:\perl\lib\Wild.pm + # Wild.pm - emulate shell @ARGV expansion on shells that don't + use File::DosGlob; + @ARGV = map { + my @g = File::DosGlob::glob($_) if /[*?]/; + @g ? @g : $_; + } @ARGV; + 1; + ^Z + C:\> set PERL5OPT=-MWild + C:\> perl -le "for (@ARGV) { print }" */*/perl*.c + p4view/perl/perl.c + p4view/perl/perlio.c + p4view/perl/perly.c + perl5.005/win32/perlglob.c + perl5.005/win32/perllib.c + perl5.005/win32/perlglob.c + perl5.005/win32/perllib.c + perl5.005/win32/perlglob.c + perl5.005/win32/perllib.c + +Note there are two distinct steps there: 1) You'll have to create +Wild.pm and put it in your perl lib directory. 2) You'll need to +set the PERL5OPT environment variable. If you want argv expansion +to be the default, just set PERL5OPT in your default startup +environment. + +If you are using the Visual C compiler, you can get the C runtime's +command line wildcard expansion built into perl binary. The resulting +binary will always expand unquoted command lines, which may not be +what you want if you use a shell that does that for you. The expansion +done is also somewhat less powerful than the approach suggested above. + +=item Win32 Specific Extensions + +A number of extensions specific to the Win32 platform are available +from CPAN. You may find that many of these extensions are meant to +be used under the Activeware port of Perl, which used to be the only +native port for the Win32 platform. Since the Activeware port does not +have adequate support for Perl's extension building tools, these +extensions typically do not support those tools either and, therefore, +cannot be built using the generic steps shown in the previous section. + +To ensure smooth transitioning of existing code that uses the +ActiveState port, there is a bundle of Win32 extensions that contains +all of the ActiveState extensions and most other Win32 extensions from +CPAN in source form, along with many added bugfixes, and with MakeMaker +support. This bundle is available at: + + http://www.cpan.org/authors/id/GSAR/libwin32-0.151.zip + +See the README in that distribution for building and installation +instructions. Look for later versions that may be available at the +same location. + +=item Running Perl Scripts + +Perl scripts on UNIX use the "#!" (a.k.a "shebang") line to +indicate to the OS that it should execute the file using perl. +Win32 has no comparable means to indicate arbitrary files are +executables. + +Instead, all available methods to execute plain text files on +Win32 rely on the file "extension". There are three methods +to use this to execute perl scripts: + +=over 8 + +=item 1 + +There is a facility called "file extension associations" that will +work in Windows NT 4.0. This can be manipulated via the two +commands "assoc" and "ftype" that come standard with Windows NT +4.0. Type "ftype /?" for a complete example of how to set this +up for perl scripts (Say what? You thought Windows NT wasn't +perl-ready? :). + +=item 2 + +Since file associations don't work everywhere, and there are +reportedly bugs with file associations where it does work, the +old method of wrapping the perl script to make it look like a +regular batch file to the OS, may be used. The install process +makes available the "pl2bat.bat" script which can be used to wrap +perl scripts into batch files. For example: + + pl2bat foo.pl + +will create the file "FOO.BAT". Note "pl2bat" strips any +.pl suffix and adds a .bat suffix to the generated file. + +If you use the 4DOS/NT or similar command shell, note that +"pl2bat" uses the "%*" variable in the generated batch file to +refer to all the command line arguments, so you may need to make +sure that construct works in batch files. As of this writing, +4DOS/NT users will need a "ParameterChar = *" statement in their +4NT.INI file or will need to execute "setdos /p*" in the 4DOS/NT +startup file to enable this to work. + +=item 3 + +Using "pl2bat" has a few problems: the file name gets changed, +so scripts that rely on C<$0> to find what they must do may not +run properly; running "pl2bat" replicates the contents of the +original script, and so this process can be maintenance intensive +if the originals get updated often. A different approach that +avoids both problems is possible. + +A script called "runperl.bat" is available that can be copied +to any filename (along with the .bat suffix). For example, +if you call it "foo.bat", it will run the file "foo" when it is +executed. Since you can run batch files on Win32 platforms simply +by typing the name (without the extension), this effectively +runs the file "foo", when you type either "foo" or "foo.bat". +With this method, "foo.bat" can even be in a different location +than the file "foo", as long as "foo" is available somewhere on +the PATH. If your scripts are on a filesystem that allows symbolic +links, you can even avoid copying "runperl.bat". + +Here's a diversion: copy "runperl.bat" to "runperl", and type +"runperl". Explain the observed behavior, or lack thereof. :) +Hint: .gnidnats llits er'uoy fi ,"lrepnur" eteled :tniH + +=back + +=item Miscellaneous Things + +A full set of HTML documentation is installed, so you should be +able to use it if you have a web browser installed on your +system. + +C is also a useful tool for browsing information contained +in the documentation, especially in conjunction with a pager +like C (recent versions of which have Win32 support). You may +have to set the PAGER environment variable to use a specific pager. +"perldoc -f foo" will print information about the perl operator +"foo". + +If you find bugs in perl, you can run C to create a +bug report (you may have to send it manually if C cannot +find a mailer on your system). + +=back + +=head1 BUGS AND CAVEATS + +Norton AntiVirus interferes with the build process, particularly if +set to "AutoProtect, All Files, when Opened". Unlike large applications +the perl build process opens and modifies a lot of files. Having the +the AntiVirus scan each and every one slows build the process significantly. +Worse, with PERLIO=stdio the build process fails with peculiar messages +as the virus checker interacts badly with miniperl.exe writing configure +files (it seems to either catch file part written and treat it as suspicious, +or virus checker may have it "locked" in a way which inhibits miniperl +updating it). The build does complete with + + set PERLIO=perlio + +but that may be just luck. Other AntiVirus software may have similar issues. + +Some of the built-in functions do not act exactly as documented in +L, and a few are not implemented at all. To avoid +surprises, particularly if you have had prior exposure to Perl +in other operating environments or if you intend to write code +that will be portable to other environments. See L +for a reasonably definitive list of these differences. + +Not all extensions available from CPAN may build or work properly +in the Win32 environment. See L. + +Most C related calls are supported, but they may not +behave as on Unix platforms. See L for the full list. + +Signal handling may not behave as on Unix platforms (where it +doesn't exactly "behave", either :). For instance, calling C +or C from signal handlers will cause an exception, since most +implementations of C on Win32 are severely crippled. +Thus, signals may work only for simple things like setting a flag +variable in the handler. Using signals under this port should +currently be considered unsupported. + +Please send detailed descriptions of any problems and solutions that +you may find to >, along with the output produced +by C. + +=head1 AUTHORS + +=over 4 + +=item Gary Ng E71564.1743@CompuServe.COME + +=item Gurusamy Sarathy Egsar@activestate.comE + +=item Nick Ing-Simmons Enick@ing-simmons.netE + +=back + +This document is maintained by Gurusamy Sarathy. + +=head1 SEE ALSO + +L + +=head1 HISTORY + +This port was originally contributed by Gary Ng around 5.003_24, +and borrowed from the Hip Communications port that was available +at the time. Various people have made numerous and sundry hacks +since then. + +Borland support was added in 5.004_01 (Gurusamy Sarathy). + +GCC/mingw32 support was added in 5.005 (Nick Ing-Simmons). + +Support for PERL_OBJECT was added in 5.005 (ActiveState Tool Corp). + +Support for fork() emulation was added in 5.6 (ActiveState Tool Corp). + +Win9x support was added in 5.6 (Benjamin Stuhl). + +Last updated: 1 April 2001 + +=cut diff --git a/XSUB.h b/XSUB.h index 23f292b..5e9c671 100644 --- a/XSUB.h +++ b/XSUB.h @@ -61,9 +61,9 @@ handled automatically by C. #define ST(off) PL_stack_base[ax + (off)] #if defined(__CYGWIN__) && defined(USE_DYNAMIC_LOADING) -# define XS(name) __declspec(dllexport) void name(pTHXo_ CV* cv) +# define XS(name) __declspec(dllexport) void name(pTHX_ CV* cv) #else -# define XS(name) void name(pTHXo_ CV* cv) +# define XS(name) void name(pTHX_ CV* cv) #endif #define dAX I32 ax = MARK - PL_stack_base + 1 @@ -92,7 +92,7 @@ handled automatically by C. #define dXSFUNCTION(ret) XSINTERFACE_CVT(ret,XSFUNCTION) #define XSINTERFACE_FUNC(ret,cv,f) ((XSINTERFACE_CVT(ret,))(f)) #define XSINTERFACE_FUNC_SET(cv,f) \ - CvXSUBANY(cv).any_dptr = (void (*) (pTHXo_ void*))(f) + CvXSUBANY(cv).any_dptr = (void (*) (pTHX_ void*))(f) /* Simple macros to put new mortal values onto the stack. */ /* Typically used to return values from XS functions. */ @@ -247,7 +247,6 @@ C. See L. #endif #include "perlapi.h" -#include "objXSUB.h" #if defined(PERL_IMPLICIT_CONTEXT) && !defined(PERL_NO_GET_CONTEXT) && !defined(PERL_CORE) # undef aTHX @@ -256,7 +255,7 @@ C. See L. # define aTHX_ aTHX, #endif -#if (defined(PERL_CAPI) || defined(PERL_IMPLICIT_SYS)) && !defined(PERL_CORE) +#if defined(PERL_IMPLICIT_SYS) && !defined(PERL_CORE) # ifndef NO_XSLOCKS # if defined (NETWARE) && defined (USE_STDIO) # define times PerlProc_times @@ -450,6 +449,6 @@ C. See L. # define socketpair PerlSock_socketpair # endif /* NETWARE && USE_STDIO */ # endif /* NO_XSLOCKS */ -#endif /* PERL_CAPI */ +#endif /* PERL_IMPLICIT_SYS && !PERL_CORE */ #endif /* _INC_PERL_XSUB_H */ /* include guard */ diff --git a/bytecode.pl b/bytecode.pl index 4b00e14..89536ae 100644 --- a/bytecode.pl +++ b/bytecode.pl @@ -71,13 +71,6 @@ print BYTERUN_C $c_header, <<'EOT'; #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" @@ -93,7 +86,7 @@ print BYTERUN_C <<'EOT'; }; void * -bset_obj_store(pTHXo_ struct byteloader_state *bstate, void *obj, I32 ix) +bset_obj_store(pTHX_ struct byteloader_state *bstate, void *obj, I32 ix) { if (ix > bstate->bs_obj_list_fill) { Renew(bstate->bs_obj_list, ix + 32, void*); @@ -104,7 +97,7 @@ bset_obj_store(pTHXo_ struct byteloader_state *bstate, void *obj, I32 ix) } void -byterun(pTHXo_ register struct byteloader_state *bstate) +byterun(pTHX_ register struct byteloader_state *bstate) { register int insn; U32 ix; @@ -209,7 +202,7 @@ struct byteloader_state { int bl_getc(struct byteloader_fdata *); int bl_read(struct byteloader_fdata *, char *, size_t, size_t); -extern void byterun(pTHXo_ struct byteloader_state *); +extern void byterun(pTHX_ struct byteloader_state *); enum { EOT diff --git a/cv.h b/cv.h index b4b2439..b6fd7e8 100644 --- a/cv.h +++ b/cv.h @@ -22,7 +22,7 @@ struct xpvcv { HV * xcv_stash; OP * xcv_start; OP * xcv_root; - void (*xcv_xsub) (pTHXo_ CV*); + void (*xcv_xsub) (pTHX_ CV*); ANY xcv_xsubany; GV * xcv_gv; char * xcv_file; diff --git a/cygwin/cygwin.c b/cygwin/cygwin.c index 962a60a..6a71713 100644 --- a/cygwin/cygwin.c +++ b/cygwin/cygwin.c @@ -18,7 +18,7 @@ static int do_spawnvp (const char *path, const char * const *argv) { - dTHXo; + dTHX; Sigsave_t ihand,qhand; int childpid, result, status; @@ -45,7 +45,7 @@ do_spawnvp (const char *path, const char * const *argv) int do_aspawn (SV *really, void **mark, void **sp) { - dTHXo; + dTHX; int rc; char **a,*tmps,**argv; STRLEN n_a; @@ -78,7 +78,7 @@ do_aspawn (SV *really, void **mark, void **sp) int do_spawn (char *cmd) { - dTHXo; + dTHX; char **a,*s,*metachars = "$&*(){}[]'\";\\?>|<~`\n"; const char *command[4]; diff --git a/emacs/ptags b/emacs/ptags index 1054ac1..5551201 100755 --- a/emacs/ptags +++ b/emacs/ptags @@ -21,7 +21,7 @@ if test ! -z "$OS2_SHELL"; then alias find=gnufind; fi # Move autogenerated less-informative files to the end: # Hard to do embed.h and embedvar.h in one sweep: -topfiles="`echo ' ' *.y *.c *.h ' ' | sed 's/ / /g' | sed 's/ embedvar\.h\|embed\.h\|perlapi\.h\|obj\(pp\|XSUB\)\.h\|\(globals\|perlapi\)\.c / /g'`" +topfiles="`echo ' ' *.y *.c *.h ' ' | sed 's/ / /g' | sed 's/ embedvar\.h\|embed\.h\|perlapi\.h\|\(globals\|perlapi\)\.c / /g'`" subdirs="`find ./* -maxdepth 0 -type d`" subdirfiles="`find $subdirs -name '*.[cy]' -print | sort`" subdirfiles1="`find $subdirs -name '*.[hH]' -print | sort`" @@ -99,7 +99,7 @@ perl -w014pe 'if (s/^(S_ # 1: First group }' TAGS.tmp > TAGS.tm1 && mv TAGS.tm1 TAGS.tmp etags -o TAGS.tmp -a -D -l none -r '/#define.*\t\(Perl_.*\)/\1/' embed.h -etags -o TAGS.tmp -a globals.c embedvar.h objXSUB.h perlapi.c perlapi.h +etags -o TAGS.tmp -a globals.c embedvar.h perlapi.c perlapi.h # The above processes created a lot of descriptions with an # an explicitly specified tag. Such descriptions have higher diff --git a/embed.h b/embed.h index 941c9b2..e47bb59 100644 --- a/embed.h +++ b/embed.h @@ -45,7 +45,6 @@ /* Hide global symbols */ -#if !defined(PERL_OBJECT) #if !defined(PERL_IMPLICIT_CONTEXT) #if defined(PERL_IMPLICIT_SYS) @@ -59,13 +58,6 @@ #endif #define get_context Perl_get_context #define set_context Perl_set_context -#if defined(PERL_OBJECT) -#ifndef __BORLANDC__ -#endif -#endif -#if defined(PERL_OBJECT) -#else -#endif #define amagic_call Perl_amagic_call #define Gv_AMupdate Perl_Gv_AMupdate #define gv_handler Perl_gv_handler @@ -440,11 +432,9 @@ #if !defined(HAS_MEMSET) #define my_memset Perl_my_memset #endif -#if !defined(PERL_OBJECT) #define my_pclose Perl_my_pclose #define my_popen Perl_my_popen #define my_popen_list Perl_my_popen_list -#endif #define my_setenv Perl_my_setenv #define my_stat Perl_my_stat #define my_strftime Perl_my_strftime @@ -522,8 +512,6 @@ #define pad_reset Perl_pad_reset #define pad_swipe Perl_pad_swipe #define peep Perl_peep -#if defined(PERL_OBJECT) -#endif #if defined(USE_5005THREADS) #define new_struct_thread Perl_new_struct_thread #endif @@ -877,9 +865,6 @@ #define custom_op_name Perl_custom_op_name #define custom_op_desc Perl_custom_op_desc #endif -#if defined(PERL_OBJECT) -#else -#endif #if defined(PERL_IN_AV_C) || defined(PERL_DECL_PROT) #define avhv_index_sv S_avhv_index_sv #define avhv_index S_avhv_index @@ -1200,8 +1185,6 @@ #define xstat S_xstat # endif #endif -#if defined(PERL_OBJECT) -#endif #define sv_setsv_flags Perl_sv_setsv_flags #define sv_catpvn_flags Perl_sv_catpvn_flags #define sv_catsv_flags Perl_sv_catsv_flags @@ -1608,13 +1591,6 @@ #endif #define get_context Perl_get_context #define set_context Perl_set_context -#if defined(PERL_OBJECT) -#ifndef __BORLANDC__ -#endif -#endif -#if defined(PERL_OBJECT) -#else -#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 gv_handler(a,b) Perl_gv_handler(aTHX_ a,b) @@ -1968,11 +1944,9 @@ #if !defined(HAS_MEMSET) #define my_memset Perl_my_memset #endif -#if !defined(PERL_OBJECT) #define my_pclose(a) Perl_my_pclose(aTHX_ a) #define my_popen(a,b) Perl_my_popen(aTHX_ a,b) #define my_popen_list(a,b,c) Perl_my_popen_list(aTHX_ a,b,c) -#endif #define my_setenv(a,b) Perl_my_setenv(aTHX_ a,b) #define my_stat() Perl_my_stat(aTHX) #define my_strftime(a,b,c,d,e,f,g,h,i,j) Perl_my_strftime(aTHX_ a,b,c,d,e,f,g,h,i,j) @@ -2049,8 +2023,6 @@ #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) -#endif #if defined(USE_5005THREADS) #define new_struct_thread(a) Perl_new_struct_thread(aTHX_ a) #endif @@ -2396,9 +2368,6 @@ #define custom_op_name(a) Perl_custom_op_name(aTHX_ a) #define custom_op_desc(a) Perl_custom_op_desc(aTHX_ a) #endif -#if defined(PERL_OBJECT) -#else -#endif #if defined(PERL_IN_AV_C) || defined(PERL_DECL_PROT) #define avhv_index_sv(a) S_avhv_index_sv(aTHX_ a) #define avhv_index(a,b,c) S_avhv_index(aTHX_ a,b,c) @@ -2718,8 +2687,6 @@ #define xstat(a) S_xstat(aTHX_ a) # endif #endif -#if defined(PERL_OBJECT) -#endif #define sv_setsv_flags(a,b,c) Perl_sv_setsv_flags(aTHX_ a,b,c) #define sv_catpvn_flags(a,b,c,d) Perl_sv_catpvn_flags(aTHX_ a,b,c,d) #define sv_catsv_flags(a,b,c) Perl_sv_catsv_flags(aTHX_ a,b,c) @@ -3114,2998 +3081,49 @@ #define pp_xor() Perl_pp_xor(aTHX) #endif /* PERL_IMPLICIT_CONTEXT */ -#else /* PERL_OBJECT */ -#if defined(PERL_IMPLICIT_SYS) -#endif -#if defined(USE_ITHREADS) -# if defined(PERL_IMPLICIT_SYS) -# endif -#endif -#define malloc Perl_malloc -#define calloc Perl_calloc -#define realloc Perl_realloc -#define mfree Perl_mfree -#if defined(MYMALLOC) -#define malloced_size Perl_malloced_size -#endif -#define get_context Perl_get_context -#define set_context Perl_set_context -#if defined(PERL_OBJECT) -#ifndef __BORLANDC__ -#endif -#endif -#if defined(PERL_OBJECT) -#else -#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_gv_handler CPerlObj::Perl_gv_handler -#define gv_handler Perl_gv_handler -#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_apply_attrs_string CPerlObj::Perl_apply_attrs_string -#define apply_attrs_string Perl_apply_attrs_string -#define Perl_avhv_delete_ent CPerlObj::Perl_avhv_delete_ent -#define avhv_delete_ent Perl_avhv_delete_ent -#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_store_ent CPerlObj::Perl_avhv_store_ent -#define avhv_store_ent Perl_avhv_store_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_delete CPerlObj::Perl_av_delete -#define av_delete Perl_av_delete -#define Perl_av_exists CPerlObj::Perl_av_exists -#define av_exists Perl_av_exists -#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_boot_core_PerlIO CPerlObj::Perl_boot_core_PerlIO -#define boot_core_PerlIO Perl_boot_core_PerlIO -#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::Perl_my_chsize -#define my_chsize Perl_my_chsize -#endif -#if defined(USE_5005THREADS) -#define Perl_condpair_magic CPerlObj::Perl_condpair_magic -#define condpair_magic Perl_condpair_magic + +/* Compatibility stubs. Compile extensions with -DPERL_NOCOMPAT to + disable them. + */ + +#if !defined(PERL_CORE) +# define sv_setptrobj(rv,ptr,name) sv_setref_iv(rv,name,PTR2IV(ptr)) +# define sv_setptrref(rv,ptr) sv_setref_iv(rv,Nullch,PTR2IV(ptr)) #endif -#define Perl_convert CPerlObj::Perl_convert -#define convert Perl_convert -#define Perl_croak CPerlObj::Perl_croak -#define croak Perl_croak -#define Perl_vcroak CPerlObj::Perl_vcroak -#define vcroak Perl_vcroak + +#if !defined(PERL_CORE) && !defined(PERL_NOCOMPAT) && !defined(PERL_BINCOMPAT_5005) + +/* Compatibility for various misnamed functions. All functions + in the API that begin with "perl_" (not "Perl_") take an explicit + interpreter context pointer. + The following are not like that, but since they had a "perl_" + prefix in previous versions, we provide compatibility macros. + */ +# define perl_atexit(a,b) call_atexit(a,b) +# define perl_call_argv(a,b,c) call_argv(a,b,c) +# define perl_call_pv(a,b) call_pv(a,b) +# define perl_call_method(a,b) call_method(a,b) +# define perl_call_sv(a,b) call_sv(a,b) +# define perl_eval_sv(a,b) eval_sv(a,b) +# define perl_eval_pv(a,b) eval_pv(a,b) +# define perl_require_pv(a) require_pv(a) +# define perl_get_sv(a,b) get_sv(a,b) +# define perl_get_av(a,b) get_av(a,b) +# define perl_get_hv(a,b) get_hv(a,b) +# define perl_get_cv(a,b) get_cv(a,b) +# define perl_init_i18nl10n(a) init_i18nl10n(a) +# define perl_init_i18nl14n(a) init_i18nl14n(a) +# define perl_new_ctype(a) new_ctype(a) +# define perl_new_collate(a) new_collate(a) +# define perl_new_numeric(a) new_numeric(a) + +/* varargs functions can't be handled with CPP macros. :-( + This provides a set of compatibility functions that don't take + an extra argument but grab the context pointer using the macro + dTHX. + */ #if defined(PERL_IMPLICIT_CONTEXT) -#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_deb_nocontext CPerlObj::Perl_deb_nocontext -#define deb_nocontext Perl_deb_nocontext -#define Perl_form_nocontext CPerlObj::Perl_form_nocontext -#define form_nocontext Perl_form_nocontext -#define Perl_load_module_nocontext CPerlObj::Perl_load_module_nocontext -#define load_module_nocontext Perl_load_module_nocontext -#define Perl_mess_nocontext CPerlObj::Perl_mess_nocontext -#define mess_nocontext Perl_mess_nocontext -#define Perl_warn_nocontext CPerlObj::Perl_warn_nocontext -#define warn_nocontext Perl_warn_nocontext -#define Perl_warner_nocontext CPerlObj::Perl_warner_nocontext -#define warner_nocontext Perl_warner_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 -#define Perl_fprintf_nocontext CPerlObj::Perl_fprintf_nocontext -#define fprintf_nocontext Perl_fprintf_nocontext -#define Perl_printf_nocontext CPerlObj::Perl_printf_nocontext -#define printf_nocontext Perl_printf_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_vdeb CPerlObj::Perl_vdeb -#define vdeb Perl_vdeb -#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_vdie CPerlObj::Perl_vdie -#define vdie Perl_vdie -#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_aexec5 CPerlObj::Perl_do_aexec5 -#define do_aexec5 Perl_do_aexec5 -#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::Perl_do_exec3 -#define do_exec3 Perl_do_exec3 -#endif -#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::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_open9 CPerlObj::Perl_do_open9 -#define do_open9 Perl_do_open9 -#define Perl_do_openn CPerlObj::Perl_do_openn -#define do_openn Perl_do_openn -#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_vecget CPerlObj::Perl_do_vecget -#define do_vecget Perl_do_vecget -#define Perl_do_vecset CPerlObj::Perl_do_vecset -#define do_vecset Perl_do_vecset -#define Perl_do_vop CPerlObj::Perl_do_vop -#define 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::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_5005THREADS) -#define Perl_find_threadsv CPerlObj::Perl_find_threadsv -#define find_threadsv Perl_find_threadsv -#endif -#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_vform CPerlObj::Perl_vform -#define vform Perl_vform -#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::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_efullname4 CPerlObj::Perl_gv_efullname4 -#define gv_efullname4 Perl_gv_efullname4 -#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_fullname4 CPerlObj::Perl_gv_fullname4 -#define gv_fullname4 Perl_gv_fullname4 -#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_debugger CPerlObj::Perl_init_debugger -#define init_debugger Perl_init_debugger -#define Perl_init_stacks CPerlObj::Perl_init_stacks -#define init_stacks Perl_init_stacks -#define Perl_init_tm CPerlObj::Perl_init_tm -#define init_tm Perl_init_tm -#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_gv_magical CPerlObj::Perl_is_gv_magical -#define is_gv_magical Perl_is_gv_magical -#define Perl_is_lvalue_sub CPerlObj::Perl_is_lvalue_sub -#define is_lvalue_sub Perl_is_lvalue_sub -#define Perl_is_uni_alnum CPerlObj::Perl_is_uni_alnum -#define is_uni_alnum Perl_is_uni_alnum -#define Perl_is_uni_alnumc CPerlObj::Perl_is_uni_alnumc -#define is_uni_alnumc Perl_is_uni_alnumc -#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_ascii CPerlObj::Perl_is_uni_ascii -#define is_uni_ascii Perl_is_uni_ascii -#define Perl_is_uni_space CPerlObj::Perl_is_uni_space -#define is_uni_space Perl_is_uni_space -#define Perl_is_uni_cntrl CPerlObj::Perl_is_uni_cntrl -#define is_uni_cntrl Perl_is_uni_cntrl -#define Perl_is_uni_graph CPerlObj::Perl_is_uni_graph -#define is_uni_graph Perl_is_uni_graph -#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_is_uni_punct CPerlObj::Perl_is_uni_punct -#define is_uni_punct Perl_is_uni_punct -#define Perl_is_uni_xdigit CPerlObj::Perl_is_uni_xdigit -#define is_uni_xdigit Perl_is_uni_xdigit -#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_alnumc_lc CPerlObj::Perl_is_uni_alnumc_lc -#define is_uni_alnumc_lc Perl_is_uni_alnumc_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_ascii_lc CPerlObj::Perl_is_uni_ascii_lc -#define is_uni_ascii_lc Perl_is_uni_ascii_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_cntrl_lc CPerlObj::Perl_is_uni_cntrl_lc -#define is_uni_cntrl_lc Perl_is_uni_cntrl_lc -#define Perl_is_uni_graph_lc CPerlObj::Perl_is_uni_graph_lc -#define is_uni_graph_lc Perl_is_uni_graph_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_is_uni_punct_lc CPerlObj::Perl_is_uni_punct_lc -#define is_uni_punct_lc Perl_is_uni_punct_lc -#define Perl_is_uni_xdigit_lc CPerlObj::Perl_is_uni_xdigit_lc -#define is_uni_xdigit_lc Perl_is_uni_xdigit_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_char CPerlObj::Perl_is_utf8_char -#define is_utf8_char Perl_is_utf8_char -#define Perl_is_utf8_string CPerlObj::Perl_is_utf8_string -#define is_utf8_string Perl_is_utf8_string -#define Perl_is_utf8_alnum CPerlObj::Perl_is_utf8_alnum -#define is_utf8_alnum Perl_is_utf8_alnum -#define Perl_is_utf8_alnumc CPerlObj::Perl_is_utf8_alnumc -#define is_utf8_alnumc Perl_is_utf8_alnumc -#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_ascii CPerlObj::Perl_is_utf8_ascii -#define is_utf8_ascii Perl_is_utf8_ascii -#define Perl_is_utf8_space CPerlObj::Perl_is_utf8_space -#define is_utf8_space Perl_is_utf8_space -#define Perl_is_utf8_cntrl CPerlObj::Perl_is_utf8_cntrl -#define is_utf8_cntrl Perl_is_utf8_cntrl -#define Perl_is_utf8_digit CPerlObj::Perl_is_utf8_digit -#define is_utf8_digit Perl_is_utf8_digit -#define Perl_is_utf8_graph CPerlObj::Perl_is_utf8_graph -#define is_utf8_graph Perl_is_utf8_graph -#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_punct CPerlObj::Perl_is_utf8_punct -#define is_utf8_punct Perl_is_utf8_punct -#define Perl_is_utf8_xdigit CPerlObj::Perl_is_utf8_xdigit -#define is_utf8_xdigit Perl_is_utf8_xdigit -#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_op_null CPerlObj::Perl_op_null -#define op_null Perl_op_null -#define Perl_op_clear CPerlObj::Perl_op_clear -#define op_clear Perl_op_clear -#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_load_module CPerlObj::Perl_load_module -#define load_module Perl_load_module -#define Perl_vload_module CPerlObj::Perl_vload_module -#define vload_module Perl_vload_module -#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_grok_number CPerlObj::Perl_grok_number -#define grok_number Perl_grok_number -#define Perl_grok_numeric_radix CPerlObj::Perl_grok_numeric_radix -#define grok_numeric_radix Perl_grok_numeric_radix -#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_freeovrld CPerlObj::Perl_magic_freeovrld -#define magic_freeovrld Perl_magic_freeovrld -#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_5005THREADS) -#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_regdatum_set CPerlObj::Perl_magic_regdatum_set -#define magic_regdatum_set Perl_magic_regdatum_set -#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::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 -#define Perl_markstack_grow CPerlObj::Perl_markstack_grow -#define markstack_grow Perl_markstack_grow -#if defined(USE_LOCALE_COLLATE) -#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_vmess CPerlObj::Perl_vmess -#define vmess Perl_vmess -#define Perl_qerror CPerlObj::Perl_qerror -#define qerror Perl_qerror -#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_mini_mktime CPerlObj::Perl_mini_mktime -#define mini_mktime Perl_mini_mktime -#define Perl_mod CPerlObj::Perl_mod -#define mod Perl_mod -#define Perl_mode_from_discipline CPerlObj::Perl_mode_from_discipline -#define mode_from_discipline Perl_mode_from_discipline -#define Perl_moreswitches CPerlObj::Perl_moreswitches -#define moreswitches Perl_moreswitches -#define Perl_my CPerlObj::Perl_my -#define my Perl_my -#define Perl_my_atof CPerlObj::Perl_my_atof -#define my_atof Perl_my_atof -#if (!defined(HAS_MEMCPY) && !defined(HAS_BCOPY)) || (!defined(HAS_MEMMOVE) && !defined(HAS_SAFE_MEMCPY) && !defined(HAS_SAFE_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::Perl_my_bzero -#define my_bzero Perl_my_bzero -#endif -#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_fork CPerlObj::Perl_my_fork -#define my_fork Perl_my_fork -#define Perl_atfork_lock CPerlObj::Perl_atfork_lock -#define atfork_lock Perl_atfork_lock -#define Perl_atfork_unlock CPerlObj::Perl_atfork_unlock -#define atfork_unlock Perl_atfork_unlock -#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::Perl_my_memcmp -#define my_memcmp Perl_my_memcmp -#endif -#if !defined(HAS_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::Perl_my_pclose -#define my_pclose Perl_my_pclose -#define Perl_my_popen CPerlObj::Perl_my_popen -#define my_popen Perl_my_popen -#define Perl_my_popen_list CPerlObj::Perl_my_popen_list -#define my_popen_list Perl_my_popen_list -#endif -#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 -#define Perl_my_strftime CPerlObj::Perl_my_strftime -#define my_strftime Perl_my_strftime -#if defined(MYSWAP) -#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_newPADOP CPerlObj::Perl_newPADOP -#define newPADOP Perl_newPADOP -#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_newSVuv CPerlObj::Perl_newSVuv -#define newSVuv Perl_newSVuv -#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_newSVpvn_share CPerlObj::Perl_newSVpvn_share -#define newSVpvn_share Perl_newSVpvn_share -#define Perl_newSVpvf CPerlObj::Perl_newSVpvf -#define newSVpvf Perl_newSVpvf -#define Perl_vnewSVpvf CPerlObj::Perl_vnewSVpvf -#define vnewSVpvf Perl_vnewSVpvf -#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 -#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 -#define Perl_start_glob CPerlObj::Perl_start_glob -#define start_glob Perl_start_glob -#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 -#endif -#if defined(USE_5005THREADS) -#define Perl_new_struct_thread CPerlObj::Perl_new_struct_thread -#define new_struct_thread Perl_new_struct_thread -#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_despatch_signals CPerlObj::Perl_despatch_signals -#define despatch_signals Perl_despatch_signals -#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_regclass_swash CPerlObj::Perl_regclass_swash -#define regclass_swash Perl_regclass_swash -#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_re_intuit_start CPerlObj::Perl_re_intuit_start -#define re_intuit_start Perl_re_intuit_start -#define Perl_re_intuit_string CPerlObj::Perl_re_intuit_string -#define re_intuit_string Perl_re_intuit_string -#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::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_destructor_x CPerlObj::Perl_save_destructor_x -#define save_destructor_x Perl_save_destructor_x -#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_generic_pvref CPerlObj::Perl_save_generic_pvref -#define save_generic_pvref Perl_save_generic_pvref -#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_I8 CPerlObj::Perl_save_I8 -#define save_I8 Perl_save_I8 -#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_mortalizesv CPerlObj::Perl_save_mortalizesv -#define save_mortalizesv Perl_save_mortalizesv -#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_vptr CPerlObj::Perl_save_vptr -#define save_vptr Perl_save_vptr -#define Perl_save_re_context CPerlObj::Perl_save_re_context -#define save_re_context Perl_save_re_context -#define Perl_save_padsv CPerlObj::Perl_save_padsv -#define save_padsv Perl_save_padsv -#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::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_2pvutf8 CPerlObj::Perl_sv_2pvutf8 -#define sv_2pvutf8 Perl_sv_2pvutf8 -#define Perl_sv_2pvbyte CPerlObj::Perl_sv_2pvbyte -#define sv_2pvbyte Perl_sv_2pvbyte -#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_pvutf8n CPerlObj::Perl_sv_pvutf8n -#define sv_pvutf8n Perl_sv_pvutf8n -#define Perl_sv_pvbyten CPerlObj::Perl_sv_pvbyten -#define sv_pvbyten Perl_sv_pvbyten -#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_vcatpvf CPerlObj::Perl_sv_vcatpvf -#define sv_vcatpvf Perl_sv_vcatpvf -#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::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_getcwd_sv CPerlObj::Perl_getcwd_sv -#define getcwd_sv Perl_getcwd_sv -#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_pvutf8n_force CPerlObj::Perl_sv_pvutf8n_force -#define sv_pvutf8n_force Perl_sv_pvutf8n_force -#define Perl_sv_pvbyten_force CPerlObj::Perl_sv_pvbyten_force -#define sv_pvbyten_force Perl_sv_pvbyten_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_vsetpvf CPerlObj::Perl_sv_vsetpvf -#define sv_vsetpvf Perl_sv_vsetpvf -#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_uv CPerlObj::Perl_sv_setref_uv -#define sv_setref_uv Perl_sv_setref_uv -#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_unref_flags CPerlObj::Perl_sv_unref_flags -#define sv_unref_flags Perl_sv_unref_flags -#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_str_to_version CPerlObj::Perl_str_to_version -#define str_to_version Perl_str_to_version -#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::Perl_unlnk -#define unlnk Perl_unlnk -#endif -#if defined(USE_5005THREADS) -#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_length CPerlObj::Perl_utf8_length -#define utf8_length Perl_utf8_length -#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_bytes CPerlObj::Perl_utf8_to_bytes -#define utf8_to_bytes Perl_utf8_to_bytes -#define Perl_bytes_from_utf8 CPerlObj::Perl_bytes_from_utf8 -#define bytes_from_utf8 Perl_bytes_from_utf8 -#define Perl_bytes_to_utf8 CPerlObj::Perl_bytes_to_utf8 -#define bytes_to_utf8 Perl_bytes_to_utf8 -#define Perl_utf8_to_uvchr CPerlObj::Perl_utf8_to_uvchr -#define utf8_to_uvchr Perl_utf8_to_uvchr -#define Perl_utf8_to_uvuni CPerlObj::Perl_utf8_to_uvuni -#define utf8_to_uvuni Perl_utf8_to_uvuni -#define Perl_utf8n_to_uvchr CPerlObj::Perl_utf8n_to_uvchr -#define utf8n_to_uvchr Perl_utf8n_to_uvchr -#define Perl_utf8n_to_uvuni CPerlObj::Perl_utf8n_to_uvuni -#define utf8n_to_uvuni Perl_utf8n_to_uvuni -#define Perl_uvchr_to_utf8 CPerlObj::Perl_uvchr_to_utf8 -#define uvchr_to_utf8 Perl_uvchr_to_utf8 -#define Perl_uvuni_to_utf8 CPerlObj::Perl_uvuni_to_utf8 -#define uvuni_to_utf8 Perl_uvuni_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_report_evil_fh CPerlObj::Perl_report_evil_fh -#define report_evil_fh Perl_report_evil_fh -#define Perl_report_uninit CPerlObj::Perl_report_uninit -#define report_uninit Perl_report_uninit -#define Perl_warn CPerlObj::Perl_warn -#define warn Perl_warn -#define Perl_vwarn CPerlObj::Perl_vwarn -#define vwarn Perl_vwarn -#define Perl_warner CPerlObj::Perl_warner -#define warner Perl_warner -#define Perl_vwarner CPerlObj::Perl_vwarner -#define vwarner Perl_vwarner -#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 -#ifdef USE_PURE_BISON -#define Perl_yylex_r CPerlObj::Perl_yylex_r -#define yylex_r Perl_yylex_r -#endif -#define Perl_yylex CPerlObj::Perl_yylex -#define yylex Perl_yylex -#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::Perl_dump_mstats -#define dump_mstats Perl_dump_mstats -#define Perl_get_mstats CPerlObj::Perl_get_mstats -#define get_mstats Perl_get_mstats -#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::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::Perl_GetVars -#define GetVars Perl_GetVars -#endif -#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(USE_5005THREADS) -#define Perl_sv_lock CPerlObj::Perl_sv_lock -#define sv_lock Perl_sv_lock -#endif -#define Perl_sv_catpvf_mg CPerlObj::Perl_sv_catpvf_mg -#define sv_catpvf_mg Perl_sv_catpvf_mg -#define Perl_sv_vcatpvf_mg CPerlObj::Perl_sv_vcatpvf_mg -#define sv_vcatpvf_mg Perl_sv_vcatpvf_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_vsetpvf_mg CPerlObj::Perl_sv_vsetpvf_mg -#define sv_vsetpvf_mg Perl_sv_vsetpvf_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_dump_vindent CPerlObj::Perl_dump_vindent -#define dump_vindent Perl_dump_vindent -#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 -#if defined(PERL_FLEXIBLE_EXCEPTIONS) -#define Perl_default_protect CPerlObj::Perl_default_protect -#define default_protect Perl_default_protect -#define Perl_vdefault_protect CPerlObj::Perl_vdefault_protect -#define vdefault_protect Perl_vdefault_protect -#endif -#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_2pvutf8_nolen CPerlObj::Perl_sv_2pvutf8_nolen -#define sv_2pvutf8_nolen Perl_sv_2pvutf8_nolen -#define Perl_sv_2pvbyte_nolen CPerlObj::Perl_sv_2pvbyte_nolen -#define sv_2pvbyte_nolen Perl_sv_2pvbyte_nolen -#define Perl_sv_pv CPerlObj::Perl_sv_pv -#define sv_pv Perl_sv_pv -#define Perl_sv_pvutf8 CPerlObj::Perl_sv_pvutf8 -#define sv_pvutf8 Perl_sv_pvutf8 -#define Perl_sv_pvbyte CPerlObj::Perl_sv_pvbyte -#define sv_pvbyte Perl_sv_pvbyte -#define Perl_sv_utf8_upgrade CPerlObj::Perl_sv_utf8_upgrade -#define sv_utf8_upgrade Perl_sv_utf8_upgrade -#define Perl_sv_utf8_downgrade CPerlObj::Perl_sv_utf8_downgrade -#define sv_utf8_downgrade Perl_sv_utf8_downgrade -#define Perl_sv_utf8_encode CPerlObj::Perl_sv_utf8_encode -#define sv_utf8_encode Perl_sv_utf8_encode -#define Perl_sv_utf8_decode CPerlObj::Perl_sv_utf8_decode -#define sv_utf8_decode Perl_sv_utf8_decode -#define Perl_sv_force_normal CPerlObj::Perl_sv_force_normal -#define sv_force_normal Perl_sv_force_normal -#define Perl_sv_force_normal_flags CPerlObj::Perl_sv_force_normal_flags -#define sv_force_normal_flags Perl_sv_force_normal_flags -#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 -#define Perl_newANONATTRSUB CPerlObj::Perl_newANONATTRSUB -#define newANONATTRSUB Perl_newANONATTRSUB -#define Perl_newATTRSUB CPerlObj::Perl_newATTRSUB -#define newATTRSUB Perl_newATTRSUB -#define Perl_newMYSUB CPerlObj::Perl_newMYSUB -#define newMYSUB Perl_newMYSUB -#define Perl_my_attrs CPerlObj::Perl_my_attrs -#define my_attrs Perl_my_attrs -#define Perl_boot_core_xsutils CPerlObj::Perl_boot_core_xsutils -#define boot_core_xsutils Perl_boot_core_xsutils -#if defined(USE_ITHREADS) -#define Perl_cx_dup CPerlObj::Perl_cx_dup -#define cx_dup Perl_cx_dup -#define Perl_si_dup CPerlObj::Perl_si_dup -#define si_dup Perl_si_dup -#define Perl_ss_dup CPerlObj::Perl_ss_dup -#define ss_dup Perl_ss_dup -#define Perl_any_dup CPerlObj::Perl_any_dup -#define any_dup Perl_any_dup -#define Perl_he_dup CPerlObj::Perl_he_dup -#define he_dup Perl_he_dup -#define Perl_re_dup CPerlObj::Perl_re_dup -#define re_dup Perl_re_dup -#define Perl_fp_dup CPerlObj::Perl_fp_dup -#define fp_dup Perl_fp_dup -#define Perl_dirp_dup CPerlObj::Perl_dirp_dup -#define dirp_dup Perl_dirp_dup -#define Perl_gp_dup CPerlObj::Perl_gp_dup -#define gp_dup Perl_gp_dup -#define Perl_mg_dup CPerlObj::Perl_mg_dup -#define mg_dup Perl_mg_dup -#define Perl_sv_dup CPerlObj::Perl_sv_dup -#define sv_dup Perl_sv_dup -#if defined(HAVE_INTERP_INTERN) -#define Perl_sys_intern_dup CPerlObj::Perl_sys_intern_dup -#define sys_intern_dup Perl_sys_intern_dup -#endif -#define Perl_ptr_table_new CPerlObj::Perl_ptr_table_new -#define ptr_table_new Perl_ptr_table_new -#define Perl_ptr_table_fetch CPerlObj::Perl_ptr_table_fetch -#define ptr_table_fetch Perl_ptr_table_fetch -#define Perl_ptr_table_store CPerlObj::Perl_ptr_table_store -#define ptr_table_store Perl_ptr_table_store -#define Perl_ptr_table_split CPerlObj::Perl_ptr_table_split -#define ptr_table_split Perl_ptr_table_split -#define Perl_ptr_table_clear CPerlObj::Perl_ptr_table_clear -#define ptr_table_clear Perl_ptr_table_clear -#define Perl_ptr_table_free CPerlObj::Perl_ptr_table_free -#define ptr_table_free Perl_ptr_table_free -#endif -#if defined(HAVE_INTERP_INTERN) -#define Perl_sys_intern_clear CPerlObj::Perl_sys_intern_clear -#define sys_intern_clear Perl_sys_intern_clear -#define Perl_sys_intern_init CPerlObj::Perl_sys_intern_init -#define sys_intern_init Perl_sys_intern_init -#endif -#if defined(PERL_CUSTOM_OPS) -#define Perl_custom_op_name CPerlObj::Perl_custom_op_name -#define custom_op_name Perl_custom_op_name -#define Perl_custom_op_desc CPerlObj::Perl_custom_op_desc -#define custom_op_desc Perl_custom_op_desc -#endif -#if defined(PERL_OBJECT) -#else -#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 -#define S_avhv_index CPerlObj::S_avhv_index -#define avhv_index S_avhv_index -#endif -#if defined(PERL_IN_DOOP_C) || defined(PERL_DECL_PROT) -#define S_do_trans_simple CPerlObj::S_do_trans_simple -#define do_trans_simple S_do_trans_simple -#define S_do_trans_count CPerlObj::S_do_trans_count -#define do_trans_count S_do_trans_count -#define S_do_trans_complex CPerlObj::S_do_trans_complex -#define do_trans_complex S_do_trans_complex -#define S_do_trans_simple_utf8 CPerlObj::S_do_trans_simple_utf8 -#define do_trans_simple_utf8 S_do_trans_simple_utf8 -#define S_do_trans_count_utf8 CPerlObj::S_do_trans_count_utf8 -#define do_trans_count_utf8 S_do_trans_count_utf8 -#define S_do_trans_complex_utf8 CPerlObj::S_do_trans_complex_utf8 -#define do_trans_complex_utf8 S_do_trans_complex_utf8 -#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 -#define S_require_errno CPerlObj::S_require_errno -#define require_errno S_require_errno -#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 -#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_cop_free CPerlObj::S_cop_free -#define cop_free S_cop_free -#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_pad_addlex CPerlObj::S_pad_addlex -#define pad_addlex S_pad_addlex -#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 -# if defined(DEBUG_CLOSURES) -#define S_cv_dump CPerlObj::S_cv_dump -#define cv_dump S_cv_dump -# endif -#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 -#define S_my_kid CPerlObj::S_my_kid -#define my_kid S_my_kid -#define S_dup_attrlist CPerlObj::S_dup_attrlist -#define dup_attrlist S_dup_attrlist -#define S_apply_attrs CPerlObj::S_apply_attrs -#define apply_attrs S_apply_attrs -# if defined(PL_OP_SLAB_ALLOC) -#define S_Slab_Alloc CPerlObj::S_Slab_Alloc -#define Slab_Alloc S_Slab_Alloc -# endif -#endif -#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_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::S_fd_on_nosuid_fs -#define fd_on_nosuid_fs S_fd_on_nosuid_fs -# endif -#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_list_body CPerlObj::S_call_list_body -#define call_list_body S_call_list_body -#if defined(PERL_FLEXIBLE_EXCEPTIONS) -#define S_vparse_body CPerlObj::S_vparse_body -#define vparse_body S_vparse_body -#define S_vrun_body CPerlObj::S_vrun_body -#define vrun_body S_vrun_body -#define S_vcall_body CPerlObj::S_vcall_body -#define vcall_body S_vcall_body -#define S_vcall_list_body CPerlObj::S_vcall_list_body -#define vcall_list_body S_vcall_list_body -#endif -# if defined(USE_5005THREADS) -#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) || defined(PERL_DECL_PROT) -#define S_refto CPerlObj::S_refto -#define refto S_refto -#define S_seed CPerlObj::S_seed -#define seed S_seed -#endif -#if defined(PERL_IN_PP_PACK_C) || defined(PERL_DECL_PROT) -#define S_doencodes CPerlObj::S_doencodes -#define doencodes S_doencodes -#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 -#if defined(PERL_FLEXIBLE_EXCEPTIONS) -#define S_vdocatch_body CPerlObj::S_vdocatch_body -#define vdocatch_body S_vdocatch_body -#endif -#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_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 -#endif -#if defined(PERL_IN_PP_HOT_C) || defined(PERL_DECL_PROT) -#define S_do_maybe_phash CPerlObj::S_do_maybe_phash -#define do_maybe_phash S_do_maybe_phash -#define S_do_oddball CPerlObj::S_do_oddball -#define do_oddball S_do_oddball -#define S_get_db_sub CPerlObj::S_get_db_sub -#define get_db_sub S_get_db_sub -#define S_method_common CPerlObj::S_method_common -#define method_common S_method_common -#endif -#if defined(PERL_IN_PP_SYS_C) || defined(PERL_DECL_PROT) -#define S_doform CPerlObj::S_doform -#define 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::S_dooneliner -#define dooneliner S_dooneliner -# endif -#endif -#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_reguni CPerlObj::S_reguni -#define reguni S_reguni -#define S_regclass CPerlObj::S_regclass -#define regclass S_regclass -#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 -# ifdef DEBUGGING -#define S_dumpuntil CPerlObj::S_dumpuntil -#define dumpuntil S_dumpuntil -#define S_put_byte CPerlObj::S_put_byte -#define put_byte S_put_byte -# endif -#define S_scan_commit CPerlObj::S_scan_commit -#define scan_commit S_scan_commit -#define S_cl_anything CPerlObj::S_cl_anything -#define cl_anything S_cl_anything -#define S_cl_is_anything CPerlObj::S_cl_is_anything -#define cl_is_anything S_cl_is_anything -#define S_cl_init CPerlObj::S_cl_init -#define cl_init S_cl_init -#define S_cl_init_zero CPerlObj::S_cl_init_zero -#define cl_init_zero S_cl_init_zero -#define S_cl_and CPerlObj::S_cl_and -#define cl_and S_cl_and -#define S_cl_or CPerlObj::S_cl_or -#define cl_or S_cl_or -#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_checkposixcc CPerlObj::S_checkposixcc -#define checkposixcc S_checkposixcc -#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_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_reghop CPerlObj::S_reghop -#define reghop S_reghop -#define S_reghop3 CPerlObj::S_reghop3 -#define reghop3 S_reghop3 -#define S_reghopmaybe CPerlObj::S_reghopmaybe -#define reghopmaybe S_reghopmaybe -#define S_reghopmaybe3 CPerlObj::S_reghopmaybe3 -#define reghopmaybe3 S_reghopmaybe3 -#define S_find_byclass CPerlObj::S_find_byclass -#define find_byclass S_find_byclass -#endif -#if defined(PERL_IN_RUN_C) || defined(PERL_DECL_PROT) -# ifdef DEBUGGING -#define S_deb_curcv CPerlObj::S_deb_curcv -#define deb_curcv S_deb_curcv -#define S_debprof CPerlObj::S_debprof -#define debprof S_debprof -# endif -#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(USE_ITHREADS) && (defined(PERL_IN_SHAREDSV_C) || defined(PERL_DECL_PROT)) -#define Perl_sharedsv_init CPerlObj::Perl_sharedsv_init -#define sharedsv_init Perl_sharedsv_init -#define Perl_sharedsv_new CPerlObj::Perl_sharedsv_new -#define sharedsv_new Perl_sharedsv_new -#define Perl_sharedsv_find CPerlObj::Perl_sharedsv_find -#define sharedsv_find Perl_sharedsv_find -#define Perl_sharedsv_lock CPerlObj::Perl_sharedsv_lock -#define sharedsv_lock Perl_sharedsv_lock -#define Perl_sharedsv_unlock CPerlObj::Perl_sharedsv_unlock -#define sharedsv_unlock Perl_sharedsv_unlock -#define Perl_sharedsv_unlock_scope CPerlObj::Perl_sharedsv_unlock_scope -#define sharedsv_unlock_scope Perl_sharedsv_unlock_scope -#define Perl_sharedsv_thrcnt_inc CPerlObj::Perl_sharedsv_thrcnt_inc -#define sharedsv_thrcnt_inc Perl_sharedsv_thrcnt_inc -#define Perl_sharedsv_thrcnt_dec CPerlObj::Perl_sharedsv_thrcnt_dec -#define sharedsv_thrcnt_dec Perl_sharedsv_thrcnt_dec -#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_xpviv CPerlObj::S_more_xpviv -#define more_xpviv S_more_xpviv -#define S_more_xpvnv CPerlObj::S_more_xpvnv -#define more_xpvnv S_more_xpvnv -#define S_more_xpvcv CPerlObj::S_more_xpvcv -#define more_xpvcv S_more_xpvcv -#define S_more_xpvav CPerlObj::S_more_xpvav -#define more_xpvav S_more_xpvav -#define S_more_xpvhv CPerlObj::S_more_xpvhv -#define more_xpvhv S_more_xpvhv -#define S_more_xpvmg CPerlObj::S_more_xpvmg -#define more_xpvmg S_more_xpvmg -#define S_more_xpvlv CPerlObj::S_more_xpvlv -#define more_xpvlv S_more_xpvlv -#define S_more_xpvbm CPerlObj::S_more_xpvbm -#define more_xpvbm S_more_xpvbm -#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_xpviv CPerlObj::S_new_xpviv -#define new_xpviv S_new_xpviv -#define S_new_xpvnv CPerlObj::S_new_xpvnv -#define new_xpvnv S_new_xpvnv -#define S_new_xpvcv CPerlObj::S_new_xpvcv -#define new_xpvcv S_new_xpvcv -#define S_new_xpvav CPerlObj::S_new_xpvav -#define new_xpvav S_new_xpvav -#define S_new_xpvhv CPerlObj::S_new_xpvhv -#define new_xpvhv S_new_xpvhv -#define S_new_xpvmg CPerlObj::S_new_xpvmg -#define new_xpvmg S_new_xpvmg -#define S_new_xpvlv CPerlObj::S_new_xpvlv -#define new_xpvlv S_new_xpvlv -#define S_new_xpvbm CPerlObj::S_new_xpvbm -#define new_xpvbm S_new_xpvbm -#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_xpviv CPerlObj::S_del_xpviv -#define del_xpviv S_del_xpviv -#define S_del_xpvnv CPerlObj::S_del_xpvnv -#define del_xpvnv S_del_xpvnv -#define S_del_xpvcv CPerlObj::S_del_xpvcv -#define del_xpvcv S_del_xpvcv -#define S_del_xpvav CPerlObj::S_del_xpvav -#define del_xpvav S_del_xpvav -#define S_del_xpvhv CPerlObj::S_del_xpvhv -#define del_xpvhv S_del_xpvhv -#define S_del_xpvmg CPerlObj::S_del_xpvmg -#define del_xpvmg S_del_xpvmg -#define S_del_xpvlv CPerlObj::S_del_xpvlv -#define del_xpvlv S_del_xpvlv -#define S_del_xpvbm CPerlObj::S_del_xpvbm -#define del_xpvbm S_del_xpvbm -#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_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 -#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 -# ifdef DEBUGGING -#define S_del_sv CPerlObj::S_del_sv -#define del_sv S_del_sv -# endif -# if !defined(NV_PRESERVES_UV) -#define S_sv_2iuv_non_preserve CPerlObj::S_sv_2iuv_non_preserve -#define sv_2iuv_non_preserve S_sv_2iuv_non_preserve -# endif -#define S_expect_number CPerlObj::S_expect_number -#define expect_number S_expect_number -# if defined(USE_ITHREADS) -#define S_gv_share CPerlObj::S_gv_share -#define gv_share S_gv_share -# endif -#endif -#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_pending_ident CPerlObj::S_pending_ident -#define pending_ident S_pending_ident -#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_swallow_bom CPerlObj::S_swallow_bom -#define swallow_bom S_swallow_bom -#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_find_in_my_stash CPerlObj::S_find_in_my_stash -#define find_in_my_stash S_find_in_my_stash -#define S_new_constant CPerlObj::S_new_constant -#define new_constant S_new_constant -# if defined(DEBUGGING) -#define S_tokereport CPerlObj::S_tokereport -#define tokereport S_tokereport -# endif -#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 -#if 0 -#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 -#endif -# if defined(CRIPPLED_CC) -#define S_uni CPerlObj::S_uni -#define uni S_uni -# endif -# if defined(PERL_CR_FILTER) -#define S_cr_textfilter CPerlObj::S_cr_textfilter -#define cr_textfilter S_cr_textfilter -# endif -#endif -#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_LOCALE_C) || defined(PERL_DECL_PROT) -#define S_stdize_locale CPerlObj::S_stdize_locale -#define stdize_locale S_stdize_locale -#endif -#if defined(PERL_IN_UTIL_C) || defined(PERL_DECL_PROT) -#define S_closest_cop CPerlObj::S_closest_cop -#define closest_cop S_closest_cop -#define S_mess_alloc CPerlObj::S_mess_alloc -#define mess_alloc S_mess_alloc -# if defined(LEAKTEST) -#define S_xstat CPerlObj::S_xstat -#define xstat S_xstat -# endif -#endif -#if defined(PERL_OBJECT) -#endif -#define Perl_sv_setsv_flags CPerlObj::Perl_sv_setsv_flags -#define sv_setsv_flags Perl_sv_setsv_flags -#define Perl_sv_catpvn_flags CPerlObj::Perl_sv_catpvn_flags -#define sv_catpvn_flags Perl_sv_catpvn_flags -#define Perl_sv_catsv_flags CPerlObj::Perl_sv_catsv_flags -#define sv_catsv_flags Perl_sv_catsv_flags -#define Perl_sv_utf8_upgrade_flags CPerlObj::Perl_sv_utf8_upgrade_flags -#define sv_utf8_upgrade_flags Perl_sv_utf8_upgrade_flags -#define Perl_sv_pvn_force_flags CPerlObj::Perl_sv_pvn_force_flags -#define sv_pvn_force_flags Perl_sv_pvn_force_flags -#define Perl_sv_2pv_flags CPerlObj::Perl_sv_2pv_flags -#define sv_2pv_flags Perl_sv_2pv_flags -#define Perl_my_atof2 CPerlObj::Perl_my_atof2 -#define my_atof2 Perl_my_atof2 -#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_exit CPerlObj::Perl_ck_exit -#define ck_exit Perl_ck_exit -#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_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_join CPerlObj::Perl_ck_join -#define ck_join Perl_ck_join -#define Perl_ck_lengthconst CPerlObj::Perl_ck_lengthconst -#define ck_lengthconst Perl_ck_lengthconst -#define Perl_ck_lfun CPerlObj::Perl_ck_lfun -#define ck_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_method CPerlObj::Perl_ck_method -#define ck_method Perl_ck_method -#define Perl_ck_null CPerlObj::Perl_ck_null -#define ck_null Perl_ck_null -#define Perl_ck_open CPerlObj::Perl_ck_open -#define ck_open Perl_ck_open -#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_return CPerlObj::Perl_ck_return -#define ck_return Perl_ck_return -#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_sassign CPerlObj::Perl_ck_sassign -#define ck_sassign Perl_ck_sassign -#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_substr CPerlObj::Perl_ck_substr -#define ck_substr Perl_ck_substr -#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_leavesublv CPerlObj::Perl_pp_leavesublv -#define pp_leavesublv Perl_pp_leavesublv -#define Perl_pp_leavetry CPerlObj::Perl_pp_leavetry -#define pp_leavetry Perl_pp_leavetry -#define Perl_pp_leavewrite CPerlObj::Perl_pp_leavewrite -#define pp_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_method_named CPerlObj::Perl_pp_method_named -#define pp_method_named Perl_pp_method_named -#define Perl_pp_mkdir CPerlObj::Perl_pp_mkdir -#define pp_mkdir Perl_pp_mkdir -#define Perl_pp_modulo CPerlObj::Perl_pp_modulo -#define pp_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_setstate CPerlObj::Perl_pp_setstate -#define pp_setstate Perl_pp_setstate -#define Perl_pp_sge CPerlObj::Perl_pp_sge -#define pp_sge Perl_pp_sge -#define Perl_pp_sgrent CPerlObj::Perl_pp_sgrent -#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 */ - -/* Compatibility stubs. Compile extensions with -DPERL_NOCOMPAT to - disable them. - */ - -#if !defined(PERL_CORE) -# define sv_setptrobj(rv,ptr,name) sv_setref_iv(rv,name,PTR2IV(ptr)) -# define sv_setptrref(rv,ptr) sv_setref_iv(rv,Nullch,PTR2IV(ptr)) -#endif - -#if !defined(PERL_CORE) && !defined(PERL_NOCOMPAT) && !defined(PERL_BINCOMPAT_5005) - -/* Compatibility for various misnamed functions. All functions - in the API that begin with "perl_" (not "Perl_") take an explicit - interpreter context pointer. - The following are not like that, but since they had a "perl_" - prefix in previous versions, we provide compatibility macros. - */ -# define perl_atexit(a,b) call_atexit(a,b) -# define perl_call_argv(a,b,c) call_argv(a,b,c) -# define perl_call_pv(a,b) call_pv(a,b) -# define perl_call_method(a,b) call_method(a,b) -# define perl_call_sv(a,b) call_sv(a,b) -# define perl_eval_sv(a,b) eval_sv(a,b) -# define perl_eval_pv(a,b) eval_pv(a,b) -# define perl_require_pv(a) require_pv(a) -# define perl_get_sv(a,b) get_sv(a,b) -# define perl_get_av(a,b) get_av(a,b) -# define perl_get_hv(a,b) get_hv(a,b) -# define perl_get_cv(a,b) get_cv(a,b) -# define perl_init_i18nl10n(a) init_i18nl10n(a) -# define perl_init_i18nl14n(a) init_i18nl14n(a) -# define perl_new_ctype(a) new_ctype(a) -# define perl_new_collate(a) new_collate(a) -# define perl_new_numeric(a) new_numeric(a) - -/* varargs functions can't be handled with CPP macros. :-( - This provides a set of compatibility functions that don't take - an extra argument but grab the context pointer using the macro - dTHX. - */ -#if defined(PERL_IMPLICIT_CONTEXT) && !defined(PERL_OBJECT) # define croak Perl_croak_nocontext # define deb Perl_deb_nocontext # define die Perl_die_nocontext diff --git a/embed.pl b/embed.pl index 3788e2e..8460561 100755 --- a/embed.pl +++ b/embed.pl @@ -266,7 +266,7 @@ sub hide ($$) { sub bincompat_var ($$) { my ($pfx, $sym) = @_; - my $arg = ($pfx eq 'G' ? 'NULL' : 'aTHXo'); + my $arg = ($pfx eq 'G' ? 'NULL' : 'aTHX'); undefine("PL_$sym") . hide("PL_$sym", "(*Perl_${pfx}${sym}_ptr($arg))"); } @@ -331,7 +331,6 @@ print EM <<'END'; /* Hide global symbols */ -#if !defined(PERL_OBJECT) #if !defined(PERL_IMPLICIT_CONTEXT) END @@ -425,43 +424,11 @@ for $sym (sort keys %ppsym) { print EM <<'END'; #endif /* PERL_IMPLICIT_CONTEXT */ -#else /* PERL_OBJECT */ END -walk_table { - my $ret = ""; - if (@_ == 1) { - my $arg = shift; - $ret .= "$arg\n" if $arg =~ /^#\s*(if|ifn?def|else|endif)\b/; - } - else { - my ($flags,$retval,$func,@args) = @_; - if ($flags =~ /s/) { - $ret .= hide("S_$func","CPerlObj::S_$func") if $flags !~ /j/; - $ret .= hide($func,"S_$func"); - } - elsif ($flags =~ /p/) { - $ret .= hide("Perl_$func","CPerlObj::Perl_$func") if $flags !~ /j/; - $ret .= hide($func,"Perl_$func"); - } - else { - $ret .= hide($func,"CPerlObj::$func") if $flags !~ /j/; - } - } - $ret; -} \*EM; - -for $sym (sort keys %ppsym) { - $sym =~ s/^Perl_//; - print EM hide("Perl_$sym", "CPerlObj::Perl_$sym"); - print EM hide($sym, "Perl_$sym"); -} - print EM <<'END'; -#endif /* PERL_OBJECT */ - /* Compatibility stubs. Compile extensions with -DPERL_NOCOMPAT to disable them. */ @@ -502,7 +469,7 @@ print EM <<'END'; an extra argument but grab the context pointer using the macro dTHX. */ -#if defined(PERL_IMPLICIT_CONTEXT) && !defined(PERL_OBJECT) +#if defined(PERL_IMPLICIT_CONTEXT) # define croak Perl_croak_nocontext # define deb Perl_deb_nocontext # define die Perl_die_nocontext @@ -554,14 +521,13 @@ print EM <<'END'; /* (Doing namespace management portably in C is really gross.) */ /* - The following combinations of MULTIPLICITY, USE_5005THREADS, PERL_OBJECT + The following combinations of MULTIPLICITY, USE_5005THREADS and PERL_IMPLICIT_CONTEXT are supported: 1) none 2) MULTIPLICITY # supported for compatibility 3) MULTIPLICITY && PERL_IMPLICIT_CONTEXT 4) USE_5005THREADS && PERL_IMPLICIT_CONTEXT 5) MULTIPLICITY && USE_5005THREADS && PERL_IMPLICIT_CONTEXT - 6) PERL_OBJECT && PERL_IMPLICIT_CONTEXT All other combinations of these flags are errors. @@ -586,10 +552,6 @@ for $sym (sort keys %thread) { print EM <<'END'; -# if defined(PERL_OBJECT) -# include "error: PERL_OBJECT + MULTIPLICITY don't go together" -# endif - # if defined(USE_5005THREADS) /* case 5 above */ @@ -616,24 +578,6 @@ print EM <<'END'; #else /* !MULTIPLICITY */ -# if defined(PERL_OBJECT) -/* case 6 above */ - -END - -for $sym (sort keys %thread) { - print EM multon($sym,'T','aTHXo->interp.'); -} - - -for $sym (sort keys %intrp) { - print EM multon($sym,'I','aTHXo->interp.'); -} - -print EM <<'END'; - -# else /* !PERL_OBJECT */ - /* cases 1 and 4 above */ END @@ -644,7 +588,7 @@ for $sym (sort keys %intrp) { print EM <<'END'; -# if defined(USE_5005THREADS) +# if defined(USE_5005THREADS) /* case 4 above */ END @@ -655,7 +599,7 @@ for $sym (sort keys %thread) { print EM <<'END'; -# else /* !USE_5005THREADS */ +# else /* !USE_5005THREADS */ /* case 1 above */ END @@ -666,8 +610,7 @@ for $sym (sort keys %thread) { print EM <<'END'; -# endif /* USE_5005THREADS */ -# endif /* PERL_OBJECT */ +# endif /* USE_5005THREADS */ #endif /* MULTIPLICITY */ #if defined(PERL_GLOBAL_STRUCT) @@ -707,63 +650,6 @@ END close(EM); -unlink 'objXSUB.h'; -open(OBX, '> objXSUB.h') - or die "Can't create objXSUB.h: $!\n"; - -print OBX <<'EOT'; -/* !!!!!!! DO NOT EDIT THIS FILE !!!!!!! - This file is built by embed.pl from data in embed.pl, pp.sym, intrpvar.h, - perlvars.h and thrdvar.h. Any changes made here will be lost! -*/ - -#ifndef __objXSUB_h__ -#define __objXSUB_h__ - -/* method calls via pPerl (static functions without a "this" pointer need these) */ - -#if defined(PERL_CORE) && defined(PERL_OBJECT) - -/* XXX soon to be eliminated, only a few things in PERLCORE need these now */ - -EOT - -walk_table { - my $ret = ""; - if (@_ == 1) { - my $arg = shift; - $ret .= "$arg\n" if $arg =~ /^#\s*(if|ifn?def|else|endif)\b/; - } - else { - my ($flags,$retval,$func,@args) = @_; - if ($flags =~ /A/ && $flags !~ /j/) { # API function needing macros - 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"); - } - } - } - $ret; -} \*OBX; - -# NOTE: not part of API -#for $sym (sort keys %ppsym) { -# $sym =~ s/^Perl_//; -# print OBX undefine("Perl_$sym") . hide("Perl_$sym", "pPerl->Perl_$sym"); -# print OBX undefine($sym) . hide($sym, "Perl_$sym"); -#} - -print OBX <<'EOT'; - -#endif /* PERL_CORE && PERL_OBJECT */ -#endif /* __objXSUB_h__ */ -EOT - -close(OBX); - unlink 'perlapi.h'; unlink 'perlapi.c'; open(CAPI, '> perlapi.c') or die "Can't create perlapi.c: $!\n"; @@ -779,14 +665,7 @@ print CAPIH <<'EOT'; #ifndef __perlapi_h__ #define __perlapi_h__ -#if defined(PERL_OBJECT) || defined (MULTIPLICITY) - -#if defined(PERL_OBJECT) -# undef aTHXo -# define aTHXo pPerl -# undef aTHXo_ -# define aTHXo_ aTHXo, -#endif /* PERL_OBJECT */ +#if defined (MULTIPLICITY) START_EXTERN_C @@ -794,9 +673,9 @@ START_EXTERN_C #undef PERLVARA #undef PERLVARI #undef PERLVARIC -#define PERLVAR(v,t) EXTERN_C t* Perl_##v##_ptr(pTHXo); +#define PERLVAR(v,t) EXTERN_C t* Perl_##v##_ptr(pTHX); #define PERLVARA(v,n,t) typedef t PL_##v##_t[n]; \ - EXTERN_C PL_##v##_t* Perl_##v##_ptr(pTHXo); + EXTERN_C PL_##v##_t* Perl_##v##_ptr(pTHX); #define PERLVARI(v,t,i) PERLVAR(v,t) #define PERLVARIC(v,t,i) PERLVAR(v, const t) @@ -846,7 +725,7 @@ EXT void *PL_force_link_funcs[] = { }; #endif /* DOINIT */ -START_EXTERN_C +END_EXTERN_C #endif /* PERL_NO_FORCE_LINK */ @@ -869,7 +748,7 @@ foreach $sym (sort keys %globvar) { print CAPIH <<'EOT'; #endif /* !PERL_CORE */ -#endif /* PERL_OBJECT || MULTIPLICITY */ +#endif /* MULTIPLICITY */ #endif /* __perlapi_h__ */ @@ -886,7 +765,7 @@ print CAPI <<'EOT'; #include "perl.h" #include "perlapi.h" -#if defined(PERL_OBJECT) || defined (MULTIPLICITY) +#if defined (MULTIPLICITY) /* accessor functions for Perl variables (provides binary compatibility) */ START_EXTERN_C @@ -896,17 +775,10 @@ START_EXTERN_C #undef PERLVARI #undef PERLVARIC -#if defined(PERL_OBJECT) -#define PERLVAR(v,t) t* Perl_##v##_ptr(pTHXo) \ - { return &(aTHXo->interp.v); } -#define PERLVARA(v,n,t) PL_##v##_t* Perl_##v##_ptr(pTHXo) \ - { return &(aTHXo->interp.v); } -#else /* MULTIPLICITY */ #define PERLVAR(v,t) t* Perl_##v##_ptr(pTHX) \ { return &(aTHX->v); } #define PERLVARA(v,n,t) PL_##v##_t* Perl_##v##_ptr(pTHX) \ { return &(aTHX->v); } -#endif #define PERLVARI(v,t,i) PERLVAR(v,t) #define PERLVARIC(v,t,i) PERLVAR(v, const t) @@ -916,12 +788,12 @@ START_EXTERN_C #undef PERLVAR #undef PERLVARA -#define PERLVAR(v,t) t* Perl_##v##_ptr(pTHXo) \ +#define PERLVAR(v,t) t* Perl_##v##_ptr(pTHX) \ { return &(PL_##v); } -#define PERLVARA(v,n,t) PL_##v##_t* Perl_##v##_ptr(pTHXo) \ +#define PERLVARA(v,n,t) PL_##v##_t* Perl_##v##_ptr(pTHX) \ { return &(PL_##v); } #undef PERLVARIC -#define PERLVARIC(v,t,i) const t* Perl_##v##_ptr(pTHXo) \ +#define PERLVARIC(v,t,i) const t* Perl_##v##_ptr(pTHX) \ { return (const t *)&(PL_##v); } #include "perlvars.h" @@ -930,14 +802,16 @@ START_EXTERN_C #undef PERLVARI #undef PERLVARIC -#if defined(PERL_OBJECT) - -/* C-API layer for PERL_OBJECT */ +END_EXTERN_C +#endif /* MULTIPLICITY */ EOT +close(CAPI); + # functions that take va_list* for implementing vararg functions # NOTE: makedef.pl must be updated if you add symbols to %vfuncs +# XXX %vfuncs currently unused my %vfuncs = qw( Perl_croak Perl_vcroak Perl_warn Perl_vwarn @@ -956,138 +830,6 @@ my %vfuncs = qw( Perl_default_protect Perl_vdefault_protect ); -sub emit_func { - my ($addcontext, $rettype,$func,@args) = @_; - my @aargs = @args; - my $a; - for $a (@aargs) { $a =~ s/^.*\b(\w+)$/$1/ } - my $ctxarg = ''; - if (not $addcontext) { - $ctxarg = 'pTHXo'; - $ctxarg .= '_ ' if @args; - } - my $decl = ''; - if ($addcontext) { - $decl .= " dTHXo;\n"; - } - local $" = ', '; - my $return = ($rettype =~ /^\s*(void|Free_t|Signal_t)\s*$/ - ? '' : 'return '); - my $emitval = ''; - if (@args and $args[$#args] =~ /\.\.\./) { - pop @aargs; - my $retarg = ''; - my $ctxfunc = $func; - $ctxfunc =~ s/_nocontext$//; - return $emitval unless exists $vfuncs{$ctxfunc}; - if (length $return) { - $decl .= " $rettype retval;\n"; - $retarg .= "retval = "; - $return = "\n " . $return . "retval;\n"; - } - $emitval .= <$vfuncs{$ctxfunc}(@aargs, &args); - va_end(args);$return -} -EOT - } - else { - $emitval .= <$func(@aargs); -} -EOT - } - $emitval; -} - -# XXXX temporary hack -for $sym (qw( - perl_construct - perl_destruct - perl_free - perl_run - perl_parse - )) -{ - $skipapi_funcs{$sym}++; -} - -walk_table { - my $ret = ""; - if (@_ == 1) { - my $arg = shift; - $ret .= "$arg\n" if $arg =~ /^#\s*(if|ifn?def|else|endif)\b/; - } - else { - my ($flags,$retval,$func,@args) = @_; - return $ret if exists $skipapi_funcs{$func}; - if ($flags =~ /A/ && $flags !~ /j/) { # in public API, needed for XSUBS - $ret .= "\n"; - my $addctx = 1 if $flags =~ /n/; - if ($flags =~ /p/) { - $ret .= undefine("Perl_$func"); - $ret .= emit_func($addctx,$retval,"Perl_$func",@args); - } - else { - $ret .= undefine($func); - $ret .= emit_func($addctx,$retval,$func,@args); - } - } - } - $ret; -} \*CAPI; - -# NOTE: not part of the API -#for $sym (sort keys %ppsym) { -# $sym =~ s/^Perl_//; -# print CAPI "\n"; -# print CAPI undefine("Perl_$sym"); -# if ($sym =~ /^ck_/) { -# print CAPI emit_func(0, 'OP *',"Perl_$sym",'OP *o'); -# } -# else { # pp_foo -# print CAPI emit_func(0, 'OP *',"Perl_$sym"); -# } -#} - -print CAPI <<'EOT'; - -#undef Perl_fprintf_nocontext -int -Perl_fprintf_nocontext(PerlIO *stream, const char *format, ...) -{ - dTHXo; - va_list(arglist); - va_start(arglist, format); - return (*PL_StdIO->pVprintf)(PL_StdIO, stream, format, arglist); -} - -#undef Perl_printf_nocontext -int -Perl_printf_nocontext(const char *format, ...) -{ - dTHXo; - va_list(arglist); - va_start(arglist, format); - return (*PL_StdIO->pVprintf)(PL_StdIO, PerlIO_stdout(), format, arglist); -} - -END_EXTERN_C - -#endif /* PERL_OBJECT */ -#endif /* PERL_OBJECT || MULTIPLICITY */ -EOT - -close(CAPI); - # autogenerate documentation from comments in source files my %apidocs; @@ -1318,7 +1060,6 @@ __END__ : f function takes printf style format string, varargs : r function never returns : o has no compatibility macro (#define foo Perl_foo) -: j not a member of CPerlObj : x not exported : M may change : @@ -1330,24 +1071,24 @@ __END__ START_EXTERN_C #if defined(PERL_IMPLICIT_SYS) -Ajno |PerlInterpreter* |perl_alloc_using \ +Ano |PerlInterpreter* |perl_alloc_using \ |struct IPerlMem* m|struct IPerlMem* ms \ |struct IPerlMem* mp|struct IPerlEnv* e \ |struct IPerlStdIO* io|struct IPerlLIO* lio \ |struct IPerlDir* d|struct IPerlSock* s \ |struct IPerlProc* p #endif -Ajnod |PerlInterpreter* |perl_alloc -Ajnod |void |perl_construct |PerlInterpreter* interp -Ajnod |int |perl_destruct |PerlInterpreter* interp -Ajnod |void |perl_free |PerlInterpreter* interp -Ajnod |int |perl_run |PerlInterpreter* interp -Ajnod |int |perl_parse |PerlInterpreter* interp|XSINIT_t xsinit \ +Anod |PerlInterpreter* |perl_alloc +Anod |void |perl_construct |PerlInterpreter* interp +Anod |int |perl_destruct |PerlInterpreter* interp +Anod |void |perl_free |PerlInterpreter* interp +Anod |int |perl_run |PerlInterpreter* interp +Anod |int |perl_parse |PerlInterpreter* interp|XSINIT_t xsinit \ |int argc|char** argv|char** env #if defined(USE_ITHREADS) -Ajnod |PerlInterpreter*|perl_clone|PerlInterpreter* interp, UV flags +Anod |PerlInterpreter*|perl_clone|PerlInterpreter* interp, UV flags # if defined(PERL_IMPLICIT_SYS) -Ajno |PerlInterpreter*|perl_clone_using|PerlInterpreter *interp|UV flags \ +Ano |PerlInterpreter*|perl_clone_using|PerlInterpreter *interp|UV flags \ |struct IPerlMem* m|struct IPerlMem* ms \ |struct IPerlMem* mp|struct IPerlEnv* e \ |struct IPerlStdIO* io|struct IPerlLIO* lio \ @@ -1356,37 +1097,21 @@ Ajno |PerlInterpreter*|perl_clone_using|PerlInterpreter *interp|UV flags \ # endif #endif -Ajnop |Malloc_t|malloc |MEM_SIZE nbytes -Ajnop |Malloc_t|calloc |MEM_SIZE elements|MEM_SIZE size -Ajnop |Malloc_t|realloc |Malloc_t where|MEM_SIZE nbytes -Ajnop |Free_t |mfree |Malloc_t where +Anop |Malloc_t|malloc |MEM_SIZE nbytes +Anop |Malloc_t|calloc |MEM_SIZE elements|MEM_SIZE size +Anop |Malloc_t|realloc |Malloc_t where|MEM_SIZE nbytes +Anop |Free_t |mfree |Malloc_t where #if defined(MYMALLOC) -jnp |MEM_SIZE|malloced_size |void *p +np |MEM_SIZE|malloced_size |void *p #endif -Ajnp |void* |get_context -Ajnp |void |set_context |void *thx +Anp |void* |get_context +Anp |void |set_context |void *thx END_EXTERN_C /* functions with flag 'n' should come before here */ -#if defined(PERL_OBJECT) -class CPerlObj { -public: - struct interpreter interp; - CPerlObj(IPerlMem*, IPerlMem*, IPerlMem*, IPerlEnv*, IPerlStdIO*, - IPerlLIO*, IPerlDir*, IPerlSock*, IPerlProc*); - void* operator new(size_t nSize, IPerlMem *pvtbl); -#ifndef __BORLANDC__ - static void operator delete(void* pPerl, IPerlMem *pvtbl); -#endif - int do_aspawn (void *vreally, void **vmark, void **vsp); -#endif -#if defined(PERL_OBJECT) -public: -#else START_EXTERN_C -#endif # include "pp_proto.h" Ap |SV* |amagic_call |SV* left|SV* right|int method|int dir Ap |bool |Gv_AMupdate |HV* stash @@ -1775,11 +1500,9 @@ Anp |I32 |my_memcmp |const char* s1|const char* s2|I32 len #if !defined(HAS_MEMSET) Anp |void* |my_memset |char* loc|I32 ch|I32 len #endif -#if !defined(PERL_OBJECT) Ap |I32 |my_pclose |PerlIO* ptr Ap |PerlIO*|my_popen |char* cmd|char* mode Ap |PerlIO*|my_popen_list |char* mode|int n|SV ** args -#endif Ap |void |my_setenv |char* nam|char* val Ap |I32 |my_stat Ap |char * |my_strftime |char *fmt|int sec|int min|int hour|int mday|int mon|int year|int wday|int yday|int isdst @@ -1862,14 +1585,6 @@ p |void |pad_reset p |void |pad_swipe |PADOFFSET po p |void |peep |OP* o dopM |PerlIO*|start_glob |SV* pattern|IO *io -#if defined(PERL_OBJECT) -Aox |void |Perl_construct -Aox |void |Perl_destruct -Aox |void |Perl_free -Aox |int |Perl_run -Aox |int |Perl_parse |XSINIT_t xsinit \ - |int argc|char** argv|char** env -#endif #if defined(USE_5005THREADS) Ap |struct perl_thread* |new_struct_thread|struct perl_thread *t #endif @@ -2253,11 +1968,7 @@ Ap |char * |custom_op_name|OP* op Ap |char * |custom_op_desc|OP* op #endif -#if defined(PERL_OBJECT) -protected: -#else END_EXTERN_C -#endif #if defined(PERL_IN_AV_C) || defined(PERL_DECL_PROT) s |I32 |avhv_index_sv |SV* sv @@ -2614,10 +2325,6 @@ s |void |xstat |int # endif #endif -#if defined(PERL_OBJECT) -}; -#endif - START_EXTERN_C Apd |void |sv_setsv_flags |SV* dsv|SV* ssv|I32 flags diff --git a/embedvar.h b/embedvar.h index 9198d2e..4fa56ac 100644 --- a/embedvar.h +++ b/embedvar.h @@ -6,14 +6,13 @@ /* (Doing namespace management portably in C is really gross.) */ /* - The following combinations of MULTIPLICITY, USE_5005THREADS, PERL_OBJECT + The following combinations of MULTIPLICITY, USE_5005THREADS and PERL_IMPLICIT_CONTEXT are supported: 1) none 2) MULTIPLICITY # supported for compatibility 3) MULTIPLICITY && PERL_IMPLICIT_CONTEXT 4) USE_5005THREADS && PERL_IMPLICIT_CONTEXT 5) MULTIPLICITY && USE_5005THREADS && PERL_IMPLICIT_CONTEXT - 6) PERL_OBJECT && PERL_IMPLICIT_CONTEXT All other combinations of these flags are errors. @@ -166,10 +165,6 @@ #define PL_watchaddr (vTHX->Twatchaddr) #define PL_watchok (vTHX->Twatchok) -# if defined(PERL_OBJECT) -# include "error: PERL_OBJECT + MULTIPLICITY don't go together" -# endif - # if defined(USE_5005THREADS) /* case 5 above */ @@ -750,431 +745,6 @@ #else /* !MULTIPLICITY */ -# if defined(PERL_OBJECT) -/* case 6 above */ - -#define PL_Sv (aTHXo->interp.TSv) -#define PL_Xpv (aTHXo->interp.TXpv) -#define PL_av_fetch_sv (aTHXo->interp.Tav_fetch_sv) -#define PL_bodytarget (aTHXo->interp.Tbodytarget) -#define PL_bostr (aTHXo->interp.Tbostr) -#define PL_chopset (aTHXo->interp.Tchopset) -#define PL_colors (aTHXo->interp.Tcolors) -#define PL_colorset (aTHXo->interp.Tcolorset) -#define PL_curcop (aTHXo->interp.Tcurcop) -#define PL_curpad (aTHXo->interp.Tcurpad) -#define PL_curpm (aTHXo->interp.Tcurpm) -#define PL_curstack (aTHXo->interp.Tcurstack) -#define PL_curstackinfo (aTHXo->interp.Tcurstackinfo) -#define PL_curstash (aTHXo->interp.Tcurstash) -#define PL_defoutgv (aTHXo->interp.Tdefoutgv) -#define PL_defstash (aTHXo->interp.Tdefstash) -#define PL_delaymagic (aTHXo->interp.Tdelaymagic) -#define PL_dirty (aTHXo->interp.Tdirty) -#define PL_dumpindent (aTHXo->interp.Tdumpindent) -#define PL_efloatbuf (aTHXo->interp.Tefloatbuf) -#define PL_efloatsize (aTHXo->interp.Tefloatsize) -#define PL_errors (aTHXo->interp.Terrors) -#define PL_extralen (aTHXo->interp.Textralen) -#define PL_firstgv (aTHXo->interp.Tfirstgv) -#define PL_formtarget (aTHXo->interp.Tformtarget) -#define PL_hv_fetch_ent_mh (aTHXo->interp.Thv_fetch_ent_mh) -#define PL_hv_fetch_sv (aTHXo->interp.Thv_fetch_sv) -#define PL_in_eval (aTHXo->interp.Tin_eval) -#define PL_last_in_gv (aTHXo->interp.Tlast_in_gv) -#define PL_lastgotoprobe (aTHXo->interp.Tlastgotoprobe) -#define PL_lastscream (aTHXo->interp.Tlastscream) -#define PL_localizing (aTHXo->interp.Tlocalizing) -#define PL_mainstack (aTHXo->interp.Tmainstack) -#define PL_markstack (aTHXo->interp.Tmarkstack) -#define PL_markstack_max (aTHXo->interp.Tmarkstack_max) -#define PL_markstack_ptr (aTHXo->interp.Tmarkstack_ptr) -#define PL_maxscream (aTHXo->interp.Tmaxscream) -#define PL_modcount (aTHXo->interp.Tmodcount) -#define PL_na (aTHXo->interp.Tna) -#define PL_nrs (aTHXo->interp.Tnrs) -#define PL_ofs_sv (aTHXo->interp.Tofs_sv) -#define PL_op (aTHXo->interp.Top) -#define PL_opsave (aTHXo->interp.Topsave) -#define PL_peepp (aTHXo->interp.Tpeepp) -#define PL_protect (aTHXo->interp.Tprotect) -#define PL_reg_call_cc (aTHXo->interp.Treg_call_cc) -#define PL_reg_curpm (aTHXo->interp.Treg_curpm) -#define PL_reg_eval_set (aTHXo->interp.Treg_eval_set) -#define PL_reg_flags (aTHXo->interp.Treg_flags) -#define PL_reg_ganch (aTHXo->interp.Treg_ganch) -#define PL_reg_leftiter (aTHXo->interp.Treg_leftiter) -#define PL_reg_magic (aTHXo->interp.Treg_magic) -#define PL_reg_maxiter (aTHXo->interp.Treg_maxiter) -#define PL_reg_oldcurpm (aTHXo->interp.Treg_oldcurpm) -#define PL_reg_oldpos (aTHXo->interp.Treg_oldpos) -#define PL_reg_oldsaved (aTHXo->interp.Treg_oldsaved) -#define PL_reg_oldsavedlen (aTHXo->interp.Treg_oldsavedlen) -#define PL_reg_poscache (aTHXo->interp.Treg_poscache) -#define PL_reg_poscache_size (aTHXo->interp.Treg_poscache_size) -#define PL_reg_re (aTHXo->interp.Treg_re) -#define PL_reg_start_tmp (aTHXo->interp.Treg_start_tmp) -#define PL_reg_start_tmpl (aTHXo->interp.Treg_start_tmpl) -#define PL_reg_starttry (aTHXo->interp.Treg_starttry) -#define PL_reg_sv (aTHXo->interp.Treg_sv) -#define PL_reg_sv_utf8 (aTHXo->interp.Treg_sv_utf8) -#define PL_reg_whilem_seen (aTHXo->interp.Treg_whilem_seen) -#define PL_regbol (aTHXo->interp.Tregbol) -#define PL_regcc (aTHXo->interp.Tregcc) -#define PL_regcode (aTHXo->interp.Tregcode) -#define PL_regcomp_parse (aTHXo->interp.Tregcomp_parse) -#define PL_regcomp_rx (aTHXo->interp.Tregcomp_rx) -#define PL_regcompat1 (aTHXo->interp.Tregcompat1) -#define PL_regcompp (aTHXo->interp.Tregcompp) -#define PL_regdata (aTHXo->interp.Tregdata) -#define PL_regdummy (aTHXo->interp.Tregdummy) -#define PL_regendp (aTHXo->interp.Tregendp) -#define PL_regeol (aTHXo->interp.Tregeol) -#define PL_regexecp (aTHXo->interp.Tregexecp) -#define PL_regflags (aTHXo->interp.Tregflags) -#define PL_regfree (aTHXo->interp.Tregfree) -#define PL_regindent (aTHXo->interp.Tregindent) -#define PL_reginput (aTHXo->interp.Treginput) -#define PL_regint_start (aTHXo->interp.Tregint_start) -#define PL_regint_string (aTHXo->interp.Tregint_string) -#define PL_reginterp_cnt (aTHXo->interp.Treginterp_cnt) -#define PL_reglastcloseparen (aTHXo->interp.Treglastcloseparen) -#define PL_reglastparen (aTHXo->interp.Treglastparen) -#define PL_regnarrate (aTHXo->interp.Tregnarrate) -#define PL_regnaughty (aTHXo->interp.Tregnaughty) -#define PL_regnpar (aTHXo->interp.Tregnpar) -#define PL_regprecomp (aTHXo->interp.Tregprecomp) -#define PL_regprogram (aTHXo->interp.Tregprogram) -#define PL_regsawback (aTHXo->interp.Tregsawback) -#define PL_regseen (aTHXo->interp.Tregseen) -#define PL_regsize (aTHXo->interp.Tregsize) -#define PL_regstartp (aTHXo->interp.Tregstartp) -#define PL_regtill (aTHXo->interp.Tregtill) -#define PL_regxend (aTHXo->interp.Tregxend) -#define PL_restartop (aTHXo->interp.Trestartop) -#define PL_retstack (aTHXo->interp.Tretstack) -#define PL_retstack_ix (aTHXo->interp.Tretstack_ix) -#define PL_retstack_max (aTHXo->interp.Tretstack_max) -#define PL_rs (aTHXo->interp.Trs) -#define PL_savestack (aTHXo->interp.Tsavestack) -#define PL_savestack_ix (aTHXo->interp.Tsavestack_ix) -#define PL_savestack_max (aTHXo->interp.Tsavestack_max) -#define PL_scopestack (aTHXo->interp.Tscopestack) -#define PL_scopestack_ix (aTHXo->interp.Tscopestack_ix) -#define PL_scopestack_max (aTHXo->interp.Tscopestack_max) -#define PL_screamfirst (aTHXo->interp.Tscreamfirst) -#define PL_screamnext (aTHXo->interp.Tscreamnext) -#define PL_secondgv (aTHXo->interp.Tsecondgv) -#define PL_seen_evals (aTHXo->interp.Tseen_evals) -#define PL_seen_zerolen (aTHXo->interp.Tseen_zerolen) -#define PL_sortcop (aTHXo->interp.Tsortcop) -#define PL_sortcxix (aTHXo->interp.Tsortcxix) -#define PL_sortstash (aTHXo->interp.Tsortstash) -#define PL_stack_base (aTHXo->interp.Tstack_base) -#define PL_stack_max (aTHXo->interp.Tstack_max) -#define PL_stack_sp (aTHXo->interp.Tstack_sp) -#define PL_start_env (aTHXo->interp.Tstart_env) -#define PL_statbuf (aTHXo->interp.Tstatbuf) -#define PL_statcache (aTHXo->interp.Tstatcache) -#define PL_statgv (aTHXo->interp.Tstatgv) -#define PL_statname (aTHXo->interp.Tstatname) -#define PL_tainted (aTHXo->interp.Ttainted) -#define PL_timesbuf (aTHXo->interp.Ttimesbuf) -#define PL_tmps_floor (aTHXo->interp.Ttmps_floor) -#define PL_tmps_ix (aTHXo->interp.Ttmps_ix) -#define PL_tmps_max (aTHXo->interp.Ttmps_max) -#define PL_tmps_stack (aTHXo->interp.Ttmps_stack) -#define PL_top_env (aTHXo->interp.Ttop_env) -#define PL_toptarget (aTHXo->interp.Ttoptarget) -#define PL_watchaddr (aTHXo->interp.Twatchaddr) -#define PL_watchok (aTHXo->interp.Twatchok) -#define PL_Argv (aTHXo->interp.IArgv) -#define PL_Cmd (aTHXo->interp.ICmd) -#define PL_DBcv (aTHXo->interp.IDBcv) -#define PL_DBgv (aTHXo->interp.IDBgv) -#define PL_DBline (aTHXo->interp.IDBline) -#define PL_DBsignal (aTHXo->interp.IDBsignal) -#define PL_DBsingle (aTHXo->interp.IDBsingle) -#define PL_DBsub (aTHXo->interp.IDBsub) -#define PL_DBtrace (aTHXo->interp.IDBtrace) -#define PL_Dir (aTHXo->interp.IDir) -#define PL_Env (aTHXo->interp.IEnv) -#define PL_LIO (aTHXo->interp.ILIO) -#define PL_Mem (aTHXo->interp.IMem) -#define PL_MemParse (aTHXo->interp.IMemParse) -#define PL_MemShared (aTHXo->interp.IMemShared) -#define PL_Proc (aTHXo->interp.IProc) -#define PL_Sock (aTHXo->interp.ISock) -#define PL_StdIO (aTHXo->interp.IStdIO) -#define PL_amagic_generation (aTHXo->interp.Iamagic_generation) -#define PL_an (aTHXo->interp.Ian) -#define PL_argvgv (aTHXo->interp.Iargvgv) -#define PL_argvout_stack (aTHXo->interp.Iargvout_stack) -#define PL_argvoutgv (aTHXo->interp.Iargvoutgv) -#define PL_basetime (aTHXo->interp.Ibasetime) -#define PL_beginav (aTHXo->interp.Ibeginav) -#define PL_beginav_save (aTHXo->interp.Ibeginav_save) -#define PL_bitcount (aTHXo->interp.Ibitcount) -#define PL_bufend (aTHXo->interp.Ibufend) -#define PL_bufptr (aTHXo->interp.Ibufptr) -#define PL_checkav (aTHXo->interp.Icheckav) -#define PL_collation_ix (aTHXo->interp.Icollation_ix) -#define PL_collation_name (aTHXo->interp.Icollation_name) -#define PL_collation_standard (aTHXo->interp.Icollation_standard) -#define PL_collxfrm_base (aTHXo->interp.Icollxfrm_base) -#define PL_collxfrm_mult (aTHXo->interp.Icollxfrm_mult) -#define PL_compcv (aTHXo->interp.Icompcv) -#define PL_compiling (aTHXo->interp.Icompiling) -#define PL_comppad (aTHXo->interp.Icomppad) -#define PL_comppad_name (aTHXo->interp.Icomppad_name) -#define PL_comppad_name_fill (aTHXo->interp.Icomppad_name_fill) -#define PL_comppad_name_floor (aTHXo->interp.Icomppad_name_floor) -#define PL_cop_seqmax (aTHXo->interp.Icop_seqmax) -#define PL_copline (aTHXo->interp.Icopline) -#define PL_cred_mutex (aTHXo->interp.Icred_mutex) -#define PL_cryptseen (aTHXo->interp.Icryptseen) -#define PL_cshlen (aTHXo->interp.Icshlen) -#define PL_cshname (aTHXo->interp.Icshname) -#define PL_curcopdb (aTHXo->interp.Icurcopdb) -#define PL_curstname (aTHXo->interp.Icurstname) -#define PL_curthr (aTHXo->interp.Icurthr) -#define PL_custom_op_descs (aTHXo->interp.Icustom_op_descs) -#define PL_custom_op_names (aTHXo->interp.Icustom_op_names) -#define PL_dbargs (aTHXo->interp.Idbargs) -#define PL_debstash (aTHXo->interp.Idebstash) -#define PL_debug (aTHXo->interp.Idebug) -#define PL_defgv (aTHXo->interp.Idefgv) -#define PL_diehook (aTHXo->interp.Idiehook) -#define PL_doextract (aTHXo->interp.Idoextract) -#define PL_doswitches (aTHXo->interp.Idoswitches) -#define PL_dowarn (aTHXo->interp.Idowarn) -#define PL_e_script (aTHXo->interp.Ie_script) -#define PL_egid (aTHXo->interp.Iegid) -#define PL_endav (aTHXo->interp.Iendav) -#define PL_envgv (aTHXo->interp.Ienvgv) -#define PL_errgv (aTHXo->interp.Ierrgv) -#define PL_error_count (aTHXo->interp.Ierror_count) -#define PL_euid (aTHXo->interp.Ieuid) -#define PL_eval_cond (aTHXo->interp.Ieval_cond) -#define PL_eval_mutex (aTHXo->interp.Ieval_mutex) -#define PL_eval_owner (aTHXo->interp.Ieval_owner) -#define PL_eval_root (aTHXo->interp.Ieval_root) -#define PL_eval_start (aTHXo->interp.Ieval_start) -#define PL_evalseq (aTHXo->interp.Ievalseq) -#define PL_exit_flags (aTHXo->interp.Iexit_flags) -#define PL_exitlist (aTHXo->interp.Iexitlist) -#define PL_exitlistlen (aTHXo->interp.Iexitlistlen) -#define PL_expect (aTHXo->interp.Iexpect) -#define PL_fdpid (aTHXo->interp.Ifdpid) -#define PL_fdpid_mutex (aTHXo->interp.Ifdpid_mutex) -#define PL_filemode (aTHXo->interp.Ifilemode) -#define PL_forkprocess (aTHXo->interp.Iforkprocess) -#define PL_formfeed (aTHXo->interp.Iformfeed) -#define PL_generation (aTHXo->interp.Igeneration) -#define PL_gensym (aTHXo->interp.Igensym) -#define PL_gid (aTHXo->interp.Igid) -#define PL_glob_index (aTHXo->interp.Iglob_index) -#define PL_globalstash (aTHXo->interp.Iglobalstash) -#define PL_he_arenaroot (aTHXo->interp.Ihe_arenaroot) -#define PL_he_root (aTHXo->interp.Ihe_root) -#define PL_hintgv (aTHXo->interp.Ihintgv) -#define PL_hints (aTHXo->interp.Ihints) -#define PL_in_clean_all (aTHXo->interp.Iin_clean_all) -#define PL_in_clean_objs (aTHXo->interp.Iin_clean_objs) -#define PL_in_my (aTHXo->interp.Iin_my) -#define PL_in_my_stash (aTHXo->interp.Iin_my_stash) -#define PL_incgv (aTHXo->interp.Iincgv) -#define PL_initav (aTHXo->interp.Iinitav) -#define PL_inplace (aTHXo->interp.Iinplace) -#define PL_last_lop (aTHXo->interp.Ilast_lop) -#define PL_last_lop_op (aTHXo->interp.Ilast_lop_op) -#define PL_last_swash_hv (aTHXo->interp.Ilast_swash_hv) -#define PL_last_swash_key (aTHXo->interp.Ilast_swash_key) -#define PL_last_swash_klen (aTHXo->interp.Ilast_swash_klen) -#define PL_last_swash_slen (aTHXo->interp.Ilast_swash_slen) -#define PL_last_swash_tmps (aTHXo->interp.Ilast_swash_tmps) -#define PL_last_uni (aTHXo->interp.Ilast_uni) -#define PL_lastfd (aTHXo->interp.Ilastfd) -#define PL_laststatval (aTHXo->interp.Ilaststatval) -#define PL_laststype (aTHXo->interp.Ilaststype) -#define PL_lex_brackets (aTHXo->interp.Ilex_brackets) -#define PL_lex_brackstack (aTHXo->interp.Ilex_brackstack) -#define PL_lex_casemods (aTHXo->interp.Ilex_casemods) -#define PL_lex_casestack (aTHXo->interp.Ilex_casestack) -#define PL_lex_defer (aTHXo->interp.Ilex_defer) -#define PL_lex_dojoin (aTHXo->interp.Ilex_dojoin) -#define PL_lex_expect (aTHXo->interp.Ilex_expect) -#define PL_lex_formbrack (aTHXo->interp.Ilex_formbrack) -#define PL_lex_inpat (aTHXo->interp.Ilex_inpat) -#define PL_lex_inwhat (aTHXo->interp.Ilex_inwhat) -#define PL_lex_op (aTHXo->interp.Ilex_op) -#define PL_lex_repl (aTHXo->interp.Ilex_repl) -#define PL_lex_starts (aTHXo->interp.Ilex_starts) -#define PL_lex_state (aTHXo->interp.Ilex_state) -#define PL_lex_stuff (aTHXo->interp.Ilex_stuff) -#define PL_lineary (aTHXo->interp.Ilineary) -#define PL_linestart (aTHXo->interp.Ilinestart) -#define PL_linestr (aTHXo->interp.Ilinestr) -#define PL_localpatches (aTHXo->interp.Ilocalpatches) -#define PL_main_cv (aTHXo->interp.Imain_cv) -#define PL_main_root (aTHXo->interp.Imain_root) -#define PL_main_start (aTHXo->interp.Imain_start) -#define PL_max_intro_pending (aTHXo->interp.Imax_intro_pending) -#define PL_maxo (aTHXo->interp.Imaxo) -#define PL_maxsysfd (aTHXo->interp.Imaxsysfd) -#define PL_mess_sv (aTHXo->interp.Imess_sv) -#define PL_min_intro_pending (aTHXo->interp.Imin_intro_pending) -#define PL_minus_F (aTHXo->interp.Iminus_F) -#define PL_minus_a (aTHXo->interp.Iminus_a) -#define PL_minus_c (aTHXo->interp.Iminus_c) -#define PL_minus_l (aTHXo->interp.Iminus_l) -#define PL_minus_n (aTHXo->interp.Iminus_n) -#define PL_minus_p (aTHXo->interp.Iminus_p) -#define PL_modglobal (aTHXo->interp.Imodglobal) -#define PL_multi_close (aTHXo->interp.Imulti_close) -#define PL_multi_end (aTHXo->interp.Imulti_end) -#define PL_multi_open (aTHXo->interp.Imulti_open) -#define PL_multi_start (aTHXo->interp.Imulti_start) -#define PL_multiline (aTHXo->interp.Imultiline) -#define PL_nexttoke (aTHXo->interp.Inexttoke) -#define PL_nexttype (aTHXo->interp.Inexttype) -#define PL_nextval (aTHXo->interp.Inextval) -#define PL_nice_chunk (aTHXo->interp.Inice_chunk) -#define PL_nice_chunk_size (aTHXo->interp.Inice_chunk_size) -#define PL_nomemok (aTHXo->interp.Inomemok) -#define PL_nthreads (aTHXo->interp.Inthreads) -#define PL_nthreads_cond (aTHXo->interp.Inthreads_cond) -#define PL_nullstash (aTHXo->interp.Inullstash) -#define PL_numeric_compat1 (aTHXo->interp.Inumeric_compat1) -#define PL_numeric_local (aTHXo->interp.Inumeric_local) -#define PL_numeric_name (aTHXo->interp.Inumeric_name) -#define PL_numeric_radix_sv (aTHXo->interp.Inumeric_radix_sv) -#define PL_numeric_standard (aTHXo->interp.Inumeric_standard) -#define PL_ofmt (aTHXo->interp.Iofmt) -#define PL_oldbufptr (aTHXo->interp.Ioldbufptr) -#define PL_oldname (aTHXo->interp.Ioldname) -#define PL_oldoldbufptr (aTHXo->interp.Ioldoldbufptr) -#define PL_op_mask (aTHXo->interp.Iop_mask) -#define PL_op_seqmax (aTHXo->interp.Iop_seqmax) -#define PL_origalen (aTHXo->interp.Iorigalen) -#define PL_origargc (aTHXo->interp.Iorigargc) -#define PL_origargv (aTHXo->interp.Iorigargv) -#define PL_origenviron (aTHXo->interp.Iorigenviron) -#define PL_origfilename (aTHXo->interp.Iorigfilename) -#define PL_ors_sv (aTHXo->interp.Iors_sv) -#define PL_osname (aTHXo->interp.Iosname) -#define PL_pad_reset_pending (aTHXo->interp.Ipad_reset_pending) -#define PL_padix (aTHXo->interp.Ipadix) -#define PL_padix_floor (aTHXo->interp.Ipadix_floor) -#define PL_patchlevel (aTHXo->interp.Ipatchlevel) -#define PL_pending_ident (aTHXo->interp.Ipending_ident) -#define PL_perl_destruct_level (aTHXo->interp.Iperl_destruct_level) -#define PL_perldb (aTHXo->interp.Iperldb) -#define PL_pidstatus (aTHXo->interp.Ipidstatus) -#define PL_preambleav (aTHXo->interp.Ipreambleav) -#define PL_preambled (aTHXo->interp.Ipreambled) -#define PL_preprocess (aTHXo->interp.Ipreprocess) -#define PL_profiledata (aTHXo->interp.Iprofiledata) -#define PL_psig_name (aTHXo->interp.Ipsig_name) -#define PL_psig_pend (aTHXo->interp.Ipsig_pend) -#define PL_psig_ptr (aTHXo->interp.Ipsig_ptr) -#define PL_ptr_table (aTHXo->interp.Iptr_table) -#define PL_reentrant_buffer (aTHXo->interp.Ireentrant_buffer) -#define PL_regex_pad (aTHXo->interp.Iregex_pad) -#define PL_regex_padav (aTHXo->interp.Iregex_padav) -#define PL_replgv (aTHXo->interp.Ireplgv) -#define PL_rsfp (aTHXo->interp.Irsfp) -#define PL_rsfp_filters (aTHXo->interp.Irsfp_filters) -#define PL_runops (aTHXo->interp.Irunops) -#define PL_savebegin (aTHXo->interp.Isavebegin) -#define PL_sawampersand (aTHXo->interp.Isawampersand) -#define PL_sh_path (aTHXo->interp.Ish_path) -#define PL_sig_pending (aTHXo->interp.Isig_pending) -#define PL_sighandlerp (aTHXo->interp.Isighandlerp) -#define PL_splitstr (aTHXo->interp.Isplitstr) -#define PL_srand_called (aTHXo->interp.Isrand_called) -#define PL_statusvalue (aTHXo->interp.Istatusvalue) -#define PL_statusvalue_vms (aTHXo->interp.Istatusvalue_vms) -#define PL_stderrgv (aTHXo->interp.Istderrgv) -#define PL_stdingv (aTHXo->interp.Istdingv) -#define PL_strtab (aTHXo->interp.Istrtab) -#define PL_strtab_mutex (aTHXo->interp.Istrtab_mutex) -#define PL_sub_generation (aTHXo->interp.Isub_generation) -#define PL_sublex_info (aTHXo->interp.Isublex_info) -#define PL_subline (aTHXo->interp.Isubline) -#define PL_subname (aTHXo->interp.Isubname) -#define PL_sv_arenaroot (aTHXo->interp.Isv_arenaroot) -#define PL_sv_count (aTHXo->interp.Isv_count) -#define PL_sv_lock_mutex (aTHXo->interp.Isv_lock_mutex) -#define PL_sv_mutex (aTHXo->interp.Isv_mutex) -#define PL_sv_no (aTHXo->interp.Isv_no) -#define PL_sv_objcount (aTHXo->interp.Isv_objcount) -#define PL_sv_root (aTHXo->interp.Isv_root) -#define PL_sv_undef (aTHXo->interp.Isv_undef) -#define PL_sv_yes (aTHXo->interp.Isv_yes) -#define PL_svref_mutex (aTHXo->interp.Isvref_mutex) -#define PL_sys_intern (aTHXo->interp.Isys_intern) -#define PL_tainting (aTHXo->interp.Itainting) -#define PL_threadnum (aTHXo->interp.Ithreadnum) -#define PL_threads_mutex (aTHXo->interp.Ithreads_mutex) -#define PL_threadsv_names (aTHXo->interp.Ithreadsv_names) -#define PL_thrsv (aTHXo->interp.Ithrsv) -#define PL_tokenbuf (aTHXo->interp.Itokenbuf) -#define PL_uid (aTHXo->interp.Iuid) -#define PL_unsafe (aTHXo->interp.Iunsafe) -#define PL_utf8_alnum (aTHXo->interp.Iutf8_alnum) -#define PL_utf8_alnumc (aTHXo->interp.Iutf8_alnumc) -#define PL_utf8_alpha (aTHXo->interp.Iutf8_alpha) -#define PL_utf8_ascii (aTHXo->interp.Iutf8_ascii) -#define PL_utf8_cntrl (aTHXo->interp.Iutf8_cntrl) -#define PL_utf8_digit (aTHXo->interp.Iutf8_digit) -#define PL_utf8_graph (aTHXo->interp.Iutf8_graph) -#define PL_utf8_lower (aTHXo->interp.Iutf8_lower) -#define PL_utf8_mark (aTHXo->interp.Iutf8_mark) -#define PL_utf8_print (aTHXo->interp.Iutf8_print) -#define PL_utf8_punct (aTHXo->interp.Iutf8_punct) -#define PL_utf8_space (aTHXo->interp.Iutf8_space) -#define PL_utf8_tolower (aTHXo->interp.Iutf8_tolower) -#define PL_utf8_totitle (aTHXo->interp.Iutf8_totitle) -#define PL_utf8_toupper (aTHXo->interp.Iutf8_toupper) -#define PL_utf8_upper (aTHXo->interp.Iutf8_upper) -#define PL_utf8_xdigit (aTHXo->interp.Iutf8_xdigit) -#define PL_uudmap (aTHXo->interp.Iuudmap) -#define PL_warnhook (aTHXo->interp.Iwarnhook) -#define PL_widesyscalls (aTHXo->interp.Iwidesyscalls) -#define PL_xiv_arenaroot (aTHXo->interp.Ixiv_arenaroot) -#define PL_xiv_root (aTHXo->interp.Ixiv_root) -#define PL_xnv_arenaroot (aTHXo->interp.Ixnv_arenaroot) -#define PL_xnv_root (aTHXo->interp.Ixnv_root) -#define PL_xpv_arenaroot (aTHXo->interp.Ixpv_arenaroot) -#define PL_xpv_root (aTHXo->interp.Ixpv_root) -#define PL_xpvav_arenaroot (aTHXo->interp.Ixpvav_arenaroot) -#define PL_xpvav_root (aTHXo->interp.Ixpvav_root) -#define PL_xpvbm_arenaroot (aTHXo->interp.Ixpvbm_arenaroot) -#define PL_xpvbm_root (aTHXo->interp.Ixpvbm_root) -#define PL_xpvcv_arenaroot (aTHXo->interp.Ixpvcv_arenaroot) -#define PL_xpvcv_root (aTHXo->interp.Ixpvcv_root) -#define PL_xpvhv_arenaroot (aTHXo->interp.Ixpvhv_arenaroot) -#define PL_xpvhv_root (aTHXo->interp.Ixpvhv_root) -#define PL_xpviv_arenaroot (aTHXo->interp.Ixpviv_arenaroot) -#define PL_xpviv_root (aTHXo->interp.Ixpviv_root) -#define PL_xpvlv_arenaroot (aTHXo->interp.Ixpvlv_arenaroot) -#define PL_xpvlv_root (aTHXo->interp.Ixpvlv_root) -#define PL_xpvmg_arenaroot (aTHXo->interp.Ixpvmg_arenaroot) -#define PL_xpvmg_root (aTHXo->interp.Ixpvmg_root) -#define PL_xpvnv_arenaroot (aTHXo->interp.Ixpvnv_arenaroot) -#define PL_xpvnv_root (aTHXo->interp.Ixpvnv_root) -#define PL_xrv_arenaroot (aTHXo->interp.Ixrv_arenaroot) -#define PL_xrv_root (aTHXo->interp.Ixrv_root) -#define PL_yychar (aTHXo->interp.Iyychar) -#define PL_yydebug (aTHXo->interp.Iyydebug) -#define PL_yyerrflag (aTHXo->interp.Iyyerrflag) -#define PL_yylval (aTHXo->interp.Iyylval) -#define PL_yynerrs (aTHXo->interp.Iyynerrs) -#define PL_yyval (aTHXo->interp.Iyyval) - -# else /* !PERL_OBJECT */ - /* cases 1 and 4 above */ #define PL_IArgv PL_Argv @@ -1462,7 +1032,7 @@ #define PL_Iyynerrs PL_yynerrs #define PL_Iyyval PL_yyval -# if defined(USE_5005THREADS) +# if defined(USE_5005THREADS) /* case 4 above */ #define PL_Sv (aTHX->TSv) @@ -1601,7 +1171,7 @@ #define PL_watchaddr (aTHX->Twatchaddr) #define PL_watchok (aTHX->Twatchok) -# else /* !USE_5005THREADS */ +# else /* !USE_5005THREADS */ /* case 1 above */ #define PL_TSv PL_Sv @@ -1740,8 +1310,7 @@ #define PL_Twatchaddr PL_watchaddr #define PL_Twatchok PL_watchok -# endif /* USE_5005THREADS */ -# endif /* PERL_OBJECT */ +# endif /* USE_5005THREADS */ #endif /* MULTIPLICITY */ #if defined(PERL_GLOBAL_STRUCT) diff --git a/epoc/epoc.c b/epoc/epoc.c index 6652ef0..e5496ea 100644 --- a/epoc/epoc.c +++ b/epoc/epoc.c @@ -99,7 +99,7 @@ __fixunsdfsi (a) int do_spawn( char *cmd) { - dTHXo; + dTHX; char *argv0, *ptr; char *cmdptr = cmd; int ret; @@ -125,7 +125,7 @@ do_spawn( char *cmd) { int do_aspawn ( void *vreally, void **vmark, void **vsp) { - dTHXo; + dTHX; SV *really = (SV*)vreally; SV **mark = (SV**)vmark; @@ -232,7 +232,7 @@ XS(epoc_getcwd) /* more or less stolen from win32.c */ void Perl_init_os_extras(void) { - dTHXo; + dTHX; char *file = __FILE__; newXS("EPOC::getcwd", epoc_getcwd, file); } diff --git a/ext/B/B.xs b/ext/B/B.xs index f27f347..0a95d98 100644 --- a/ext/B/B.xs +++ b/ext/B/B.xs @@ -12,15 +12,6 @@ #include "perl.h" #include "XSUB.h" -#ifdef PERL_OBJECT -#undef PL_op_name -#undef PL_opargs -#undef PL_op_desc -#define PL_op_name (get_op_names()) -#define PL_opargs (get_opargs()) -#define PL_op_desc (get_op_descs()) -#endif - #ifdef PerlIO typedef PerlIO * InputStream; #else diff --git a/ext/B/B/C.pm b/ext/B/B/C.pm index 71b76b5..bcc6f93 100644 --- a/ext/B/B/C.pm +++ b/ext/B/B/C.pm @@ -1055,7 +1055,7 @@ typedef struct { HV * xcv_stash; OP * xcv_start; OP * xcv_root; - void (*xcv_xsub) (pTHXo_ CV*); + void (*xcv_xsub) (pTHX_ CV*); ANY xcv_xsubany; GV * xcv_gv; char * xcv_file; diff --git a/ext/ByteLoader/ByteLoader.xs b/ext/ByteLoader/ByteLoader.xs index d8b15c1..d559bfe 100644 --- a/ext/ByteLoader/ByteLoader.xs +++ b/ext/ByteLoader/ByteLoader.xs @@ -75,7 +75,7 @@ bl_read(struct byteloader_fdata *data, char *buf, size_t size, size_t n) } static I32 -byteloader_filter(pTHXo_ int idx, SV *buf_sv, int maxlen) +byteloader_filter(pTHX_ int idx, SV *buf_sv, int maxlen) { OP *saveroot = PL_main_root; OP *savestart = PL_main_start; @@ -92,7 +92,7 @@ byteloader_filter(pTHXo_ int idx, SV *buf_sv, int maxlen) bstate.bs_sv = Nullsv; bstate.bs_iv_overflows = 0; - byterun(aTHXo_ &bstate); + byterun(aTHX_ &bstate); if (PL_in_eval) { OP *o; diff --git a/ext/ByteLoader/bytecode.h b/ext/ByteLoader/bytecode.h index ca9509f..7ce3e07 100644 --- a/ext/ByteLoader/bytecode.h +++ b/ext/ByteLoader/bytecode.h @@ -204,7 +204,7 @@ typedef IV IV64; } STMT_END #define BSET_OBJ_STORE(obj, ix) \ (I32)ix > bstate->bs_obj_list_fill ? \ - bset_obj_store(aTHXo_ bstate, obj, (I32)ix) : (bstate->bs_obj_list[ix] = obj) + bset_obj_store(aTHX_ bstate, obj, (I32)ix) : (bstate->bs_obj_list[ix] = obj) /* NOTE: the bytecode header only sanity-checks the bytecode. If a script cares about * what version of Perl it's being called under, it should do a 'require 5.6.0' or diff --git a/ext/ByteLoader/byterun.c b/ext/ByteLoader/byterun.c index 71cd8aa..94d7ce8 100644 --- a/ext/ByteLoader/byterun.c +++ b/ext/ByteLoader/byterun.c @@ -15,13 +15,6 @@ #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" @@ -41,7 +34,7 @@ static const int optype_size[] = { }; void * -bset_obj_store(pTHXo_ struct byteloader_state *bstate, void *obj, I32 ix) +bset_obj_store(pTHX_ struct byteloader_state *bstate, void *obj, I32 ix) { if (ix > bstate->bs_obj_list_fill) { Renew(bstate->bs_obj_list, ix + 32, void*); @@ -52,7 +45,7 @@ bset_obj_store(pTHXo_ struct byteloader_state *bstate, void *obj, I32 ix) } void -byterun(pTHXo_ register struct byteloader_state *bstate) +byterun(pTHX_ register struct byteloader_state *bstate) { register int insn; U32 ix; diff --git a/ext/DynaLoader/dlutils.c b/ext/DynaLoader/dlutils.c index bb06fe4..081b9ab 100644 --- a/ext/DynaLoader/dlutils.c +++ b/ext/DynaLoader/dlutils.c @@ -30,7 +30,7 @@ static int dl_debug = 0; /* value copied from $DynaLoader::dl_debug */ #ifdef DL_UNLOAD_ALL_AT_EXIT /* Close all dlopen'd files */ static void -dl_unload_all_files(pTHXo_ void *unused) +dl_unload_all_files(pTHX_ void *unused) { CV *sub; AV *dl_librefs; @@ -54,7 +54,7 @@ dl_unload_all_files(pTHXo_ void *unused) #endif static void -dl_generic_private_init(pTHXo) /* called by dl_*.xs dl_private_init() */ +dl_generic_private_init(pTHX) /* called by dl_*.xs dl_private_init() */ { char *perl_dl_nonlazy; #ifdef DEBUGGING @@ -77,7 +77,7 @@ dl_generic_private_init(pTHXo) /* called by dl_*.xs dl_private_init() */ /* SaveError() takes printf style args and saves the result in LastError */ static void -SaveError(pTHXo_ char* pat, ...) +SaveError(pTHX_ char* pat, ...) { va_list args; SV *msv; diff --git a/ext/Opcode/Opcode.xs b/ext/Opcode/Opcode.xs index 6c58312..22f022b 100644 --- a/ext/Opcode/Opcode.xs +++ b/ext/Opcode/Opcode.xs @@ -205,13 +205,11 @@ opmask_addlocal(pTHX_ SV *opset, char *op_mask_buf) /* Localise PL_op_mask then { char *orig_op_mask = PL_op_mask; SAVEVPTR(PL_op_mask); -#if !defined(PERL_OBJECT) /* XXX casting to an ordinary function ptr from a member function ptr * is disallowed by Borland */ if (opcode_debug >= 2) SAVEDESTRUCTOR((void(*)(void*))Perl_warn,"PL_op_mask restored"); -#endif PL_op_mask = &op_mask_buf[0]; if (orig_op_mask) Copy(orig_op_mask, PL_op_mask, PL_maxo, char); diff --git a/ext/POSIX/POSIX.xs b/ext/POSIX/POSIX.xs index ccb1486..60469a3 100644 --- a/ext/POSIX/POSIX.xs +++ b/ext/POSIX/POSIX.xs @@ -19,7 +19,7 @@ #define PERLIO_NOT_STDIO 1 #include "perl.h" #include "XSUB.h" -#if defined(PERL_OBJECT) || defined(PERL_CAPI) || defined(PERL_IMPLICIT_SYS) +#if defined(PERL_IMPLICIT_SYS) # undef signal # undef open # undef setmode diff --git a/globals.c b/globals.c index 6368f28..3c9c940 100644 --- a/globals.c +++ b/globals.c @@ -2,74 +2,6 @@ #define PERL_IN_GLOBALS_C #include "perl.h" -#ifdef PERL_OBJECT - -#undef PERLVAR -#define PERLVAR(x, y) -#undef PERLVARA -#define PERLVARA(x, n, y) -#undef PERLVARI -#define PERLVARI(x, y, z) interp.x = z; -#undef PERLVARIC -#define PERLVARIC(x, y, z) interp.x = z; - -CPerlObj::CPerlObj(IPerlMem* ipM, IPerlMem* ipMS, IPerlMem* ipMP, - IPerlEnv* ipE, IPerlStdIO* ipStd, - IPerlLIO* ipLIO, IPerlDir* ipD, IPerlSock* ipS, - IPerlProc* ipP) -{ - memset(((char*)this)+sizeof(void*), 0, sizeof(CPerlObj)-sizeof(void*)); - -#include "thrdvar.h" -#include "intrpvar.h" - - PL_Mem = ipM; - PL_MemShared = ipMS; - PL_MemParse = ipMP; - PL_Env = ipE; - PL_StdIO = ipStd; - PL_LIO = ipLIO; - PL_Dir = ipD; - PL_Sock = ipS; - PL_Proc = ipP; -} - -void* -CPerlObj::operator new(size_t nSize, IPerlMem *pvtbl) -{ - if(pvtbl) - return pvtbl->pMalloc(pvtbl, nSize); -#ifndef __MINGW32__ - /* operator new is supposed to throw std::bad_alloc */ - return NULL; -#endif -} - -#ifndef __BORLANDC__ -void -CPerlObj::operator delete(void *pPerl, IPerlMem *pvtbl) -{ - if(pvtbl) - pvtbl->pFree(pvtbl, pPerl); -} -#endif - -#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 */ - int Perl_fprintf_nocontext(PerlIO *stream, const char *format, ...) { diff --git a/iperlsys.h b/iperlsys.h index 89b551b..298f82a 100644 --- a/iperlsys.h +++ b/iperlsys.h @@ -7,11 +7,6 @@ * that can be #defined to the system-level function (or a wrapper * provided elsewhere). * - * When using C++ with -DPERL_OBJECT, this definition is in the - * form of a set of virtual base classes which must be subclassed to - * provide a real implementation. The Perl Object will use instances - * of this implementation to use the system-level functionality. - * * GSAR 21-JUN-98 */ diff --git a/lib/ExtUtils/Embed.pm b/lib/ExtUtils/Embed.pm index 224b00c..fc1e985 100644 --- a/lib/ExtUtils/Embed.pm +++ b/lib/ExtUtils/Embed.pm @@ -44,15 +44,11 @@ sub my_return { } } -sub is_perl_object { - $Config{ccflags} =~ /-DPERL_OBJECT/; -} - sub xsinit { my($file, $std, $mods) = @_; my($fh,@mods,%seen); $file ||= "perlxsi.c"; - my $xsinit_proto = "pTHXo"; + my $xsinit_proto = "pTHX"; if (@_) { @mods = @$mods if $mods; @@ -96,7 +92,7 @@ EOF sub xsi_protos { my(@exts) = @_; my(@retval,%seen); - my $boot_proto = "pTHXo_ CV* cv"; + my $boot_proto = "pTHX_ CV* cv"; foreach $_ (@exts){ my($pname) = canon('/', $_); my($mname, $cname); diff --git a/lib/ExtUtils/MM_NW5.pm b/lib/ExtUtils/MM_NW5.pm index 70dafe8..870a64b 100644 --- a/lib/ExtUtils/MM_NW5.pm +++ b/lib/ExtUtils/MM_NW5.pm @@ -34,7 +34,6 @@ $GCC = 1 if $Config{'cc'} =~ /^gcc/i; $DMAKE = 1 if $Config{'make'} =~ /^dmake/i; $NMAKE = 1 if $Config{'make'} =~ /^nmake/i; $PERLMAKE = 1 if $Config{'make'} =~ /^pmake/i; -$OBJ = 1 if $Config{'ccflags'} =~ /PERL_OBJECT/i; # a few workarounds for command.com (very basic) { diff --git a/lib/ExtUtils/MM_Unix.pm b/lib/ExtUtils/MM_Unix.pm index c335b72..8a15f84 100644 --- a/lib/ExtUtils/MM_Unix.pm +++ b/lib/ExtUtils/MM_Unix.pm @@ -7,7 +7,7 @@ use Config; use File::Basename qw(basename dirname fileparse); use DirHandle; use strict; -our ($Is_Mac,$Is_OS2,$Is_VMS,$Is_Win32,$Is_Dos,$Is_PERL_OBJECT, +our ($Is_Mac,$Is_OS2,$Is_VMS,$Is_Win32,$Is_Dos, $Verbose,%pm,%static,$Xsubpp_Version); our $VERSION = '1.12603'; @@ -20,8 +20,6 @@ $Is_Mac = $^O eq 'MacOS'; $Is_Win32 = $^O eq 'MSWin32'; $Is_Dos = $^O eq 'dos'; -$Is_PERL_OBJECT = $Config{'ccflags'} =~ /-DPERL_OBJECT/; - if ($Is_VMS = $^O eq 'VMS') { require VMS::Filespec; import VMS::Filespec qw( &vmsify ); @@ -388,27 +386,6 @@ sub cflags { $self->{uc $_} ||= $cflags{$_} } - if ($Is_PERL_OBJECT) { - $self->{CCFLAGS} =~ s/-DPERL_OBJECT(\b|$)/-DPERL_CAPI/g; - if ($Is_Win32) { - if ($Config{'cc'} =~ /^cl/i) { - # Turn off C++ mode of the MSC compiler - $self->{CCFLAGS} =~ s/-TP(\s|$)//g; - $self->{OPTIMIZE} =~ s/-TP(\s|$)//g; - } - elsif ($Config{'cc'} =~ /^bcc32/i) { - # Turn off C++ mode of the Borland compiler - $self->{CCFLAGS} =~ s/-P(\s|$)//g; - $self->{OPTIMIZE} =~ s/-P(\s|$)//g; - } - elsif ($Config{'cc'} =~ /^gcc/i) { - # Turn off C++ mode of the GCC compiler - $self->{CCFLAGS} =~ s/-xc\+\+(\s|$)//g; - $self->{OPTIMIZE} =~ s/-xc\+\+(\s|$)//g; - } - } - } - if ($self->{POLLUTE}) { $self->{CCFLAGS} .= ' -DPERL_POLLUTE '; } @@ -2956,7 +2933,6 @@ PERL_HDRS = \ $(PERL_INC)/keywords.h \ $(PERL_INC)/mg.h \ $(PERL_INC)/nostdio.h \ - $(PERL_INC)/objXSUB.h \ $(PERL_INC)/op.h \ $(PERL_INC)/opcode.h \ $(PERL_INC)/opnames.h \ diff --git a/lib/ExtUtils/MM_Win32.pm b/lib/ExtUtils/MM_Win32.pm index b7a8f81..592e7c1 100644 --- a/lib/ExtUtils/MM_Win32.pm +++ b/lib/ExtUtils/MM_Win32.pm @@ -36,7 +36,6 @@ $GCC = 1 if $Config{'cc'} =~ /^gcc/i; $DMAKE = 1 if $Config{'make'} =~ /^dmake/i; $NMAKE = 1 if $Config{'make'} =~ /^nmake/i; $PERLMAKE = 1 if $Config{'make'} =~ /^pmake/i; -$OBJ = 1 if $Config{'ccflags'} =~ /PERL_OBJECT/i; # a few workarounds for command.com (very basic) { diff --git a/lib/ExtUtils/MakeMaker.pm b/lib/ExtUtils/MakeMaker.pm index 7f6bf1a..aa5c663 100644 --- a/lib/ExtUtils/MakeMaker.pm +++ b/lib/ExtUtils/MakeMaker.pm @@ -414,7 +414,7 @@ sub ExtUtils::MakeMaker::new { } if ($self->{PARENT}) { $self->{PARENT}->{CHILDREN}->{$newclass} = $self; - foreach my $opt (qw(CAPI POLLUTE PERL_CORE)) { + foreach my $opt (qw(POLLUTE PERL_CORE)) { if (exists $self->{PARENT}->{$opt} and not exists $self->{$opt}) { @@ -1234,17 +1234,6 @@ Ref to array of *.c file names. Initialised from a directory scan and the values portion of the XS attribute hash. This is not currently used by MakeMaker but may be handy in Makefile.PLs. -=item CAPI - -[This attribute is obsolete in Perl 5.6. PERL_OBJECT builds are C-compatible -by default.] - -Switch to force usage of the Perl C API even when compiling for PERL_OBJECT. - -Note that this attribute is passed through to any recursive build, -but if and only if the submodule's Makefile.PL itself makes no mention -of the 'CAPI' attribute. - =item CCFLAGS String that will be included in the compiler call command line between diff --git a/lib/ExtUtils/xsubpp b/lib/ExtUtils/xsubpp index bc4d6ae..77e6dba 100755 --- a/lib/ExtUtils/xsubpp +++ b/lib/ExtUtils/xsubpp @@ -125,8 +125,6 @@ $FH = 'File0000' ; $usage = "Usage: xsubpp [-v] [-C++] [-except] [-prototypes] [-noversioncheck] [-nolinenumbers] [-nooptimize] [-noinout] [-noargtypes] [-s pattern] [-typemap typemap]... file.xs\n"; $proto_re = "[" . quotemeta('\$%&*@;') . "]" ; -# mjn -$OBJ = 1 if $Config{'ccflags'} =~ /PERL_OBJECT/i; $except = ""; $WantPrototypes = -1 ; @@ -148,7 +146,7 @@ SWITCH: while (@ARGV and $ARGV[0] =~ /^-./) { $WantVersionChk = 0, next SWITCH if $flag eq 'noversioncheck'; $WantVersionChk = 1, next SWITCH if $flag eq 'versioncheck'; # XXX left this in for compat - $WantCAPI = 1, next SWITCH if $flag eq 'object_capi'; + next SWITCH if $flag eq 'object_capi'; $except = " TRY", next SWITCH if $flag eq 'except'; push(@tm,shift), next SWITCH if $flag eq 'typemap'; $WantLineNumbers = 0, next SWITCH if $flag eq 'nolinenumbers'; @@ -877,9 +875,6 @@ while (<$FH>) { last if ($Module, $Package, $Prefix) = /^MODULE\s*=\s*([\w:]+)(?:\s+PACKAGE\s*=\s*([\w:]+))?(?:\s+PREFIX\s*=\s*(\S+))?\s*$/; - if ($OBJ) { - s/#if(?:def\s|\s+defined)\s*(\(__cplusplus\)|__cplusplus)/#if defined(__cplusplus) && !defined(PERL_OBJECT)/; - } print $_; } &Exit unless defined $_; diff --git a/makedef.pl b/makedef.pl index ed1204e..88a858b 100644 --- a/makedef.pl +++ b/makedef.pl @@ -116,7 +116,7 @@ close(CFG); # perl.h logic duplication begins if ($define{USE_ITHREADS}) { - if (!$define{MULTIPLICITY} && !$define{PERL_OBJECT}) { + if (!$define{MULTIPLICITY}) { $define{MULTIPLICITY} = 1; } } @@ -126,18 +126,6 @@ $define{PERL_IMPLICIT_CONTEXT} ||= $define{USE_5005THREADS} || $define{MULTIPLICITY} ; -if ($define{PERL_CAPI}) { - delete $define{PERL_OBJECT}; - $define{MULTIPLICITY} = 1; - $define{PERL_IMPLICIT_CONTEXT} = 1; - $define{PERL_IMPLICIT_SYS} = 1; -} - -if ($define{PERL_OBJECT}) { - $define{PERL_IMPLICIT_CONTEXT} = 1; - $define{PERL_IMPLICIT_SYS} = 1; -} - # perl.h logic duplication ends if ($PLATFORM eq 'win32') { @@ -205,7 +193,7 @@ sub emit_symbols { foreach my $symbol (@$list) { my $skipsym = $symbol; # XXX hack - if ($define{PERL_OBJECT} || $define{MULTIPLICITY}) { + if ($define{MULTIPLICITY}) { $skipsym =~ s/^Perl_[GIT](\w+)_ptr$/PL_$1/; } emit_symbol($symbol) unless exists $skip{$skipsym}; @@ -739,7 +727,7 @@ for my $syms (@syms) { # variables -if ($define{'PERL_OBJECT'} || $define{'MULTIPLICITY'}) { +if ($define{'MULTIPLICITY'}) { for my $f ($perlvars_h, $intrpvar_h, $thrdvar_h) { my $glob = readvar($f, sub { "Perl_" . $_[1] . $_[2] . "_ptr" }); emit_symbols $glob; diff --git a/mg.c b/mg.c index af8e9a0..5511c09 100644 --- a/mg.c +++ b/mg.c @@ -25,8 +25,8 @@ # endif #endif -static void restore_magic(pTHXo_ void *p); -static void unwind_handler_stack(pTHXo_ void *p); +static void restore_magic(pTHX_ void *p); +static void unwind_handler_stack(pTHX_ void *p); /* * Use the "DESTRUCTOR" scope cleanup to reinstate magic. @@ -134,7 +134,7 @@ Perl_mg_get(pTHX_ SV *sv) } } - restore_magic(aTHXo_ INT2PTR(void *, (IV)mgs_ix)); + restore_magic(aTHX_ INT2PTR(void *, (IV)mgs_ix)); return 0; } @@ -167,7 +167,7 @@ Perl_mg_set(pTHX_ SV *sv) CALL_FPTR(vtbl->svt_set)(aTHX_ sv, mg); } - restore_magic(aTHXo_ INT2PTR(void*, (IV)mgs_ix)); + restore_magic(aTHX_ INT2PTR(void*, (IV)mgs_ix)); return 0; } @@ -194,7 +194,7 @@ Perl_mg_length(pTHX_ SV *sv) save_magic(mgs_ix, sv); /* omit MGf_GSKIP -- not changed here */ len = CALL_FPTR(vtbl->svt_len)(aTHX_ sv, mg); - restore_magic(aTHXo_ INT2PTR(void*, (IV)mgs_ix)); + restore_magic(aTHX_ INT2PTR(void*, (IV)mgs_ix)); return len; } } @@ -224,7 +224,7 @@ Perl_mg_size(pTHX_ SV *sv) save_magic(mgs_ix, sv); /* omit MGf_GSKIP -- not changed here */ len = CALL_FPTR(vtbl->svt_len)(aTHX_ sv, mg); - restore_magic(aTHXo_ INT2PTR(void*, (IV)mgs_ix)); + restore_magic(aTHX_ INT2PTR(void*, (IV)mgs_ix)); return len; } } @@ -267,7 +267,7 @@ Perl_mg_clear(pTHX_ SV *sv) CALL_FPTR(vtbl->svt_clear)(aTHX_ sv, mg); } - restore_magic(aTHXo_ INT2PTR(void*, (IV)mgs_ix)); + restore_magic(aTHX_ INT2PTR(void*, (IV)mgs_ix)); return 0; } @@ -2224,7 +2224,7 @@ Signal_t Perl_sighandler(int sig) { #if defined(WIN32) && defined(PERL_IMPLICIT_CONTEXT) - dTHXoa(PL_curinterp); /* fake TLS, because signals don't do TLS */ + dTHXa(PL_curinterp); /* fake TLS, because signals don't do TLS */ #else dTHX; #endif @@ -2238,7 +2238,7 @@ Perl_sighandler(int sig) XPV *tXpv = PL_Xpv; #if defined(WIN32) && defined(PERL_IMPLICIT_CONTEXT) - PERL_SET_THX(aTHXo); /* fake TLS, see above */ + PERL_SET_THX(aTHX); /* fake TLS, see above */ #endif if (PL_savestack_ix + 15 <= PL_savestack_max) @@ -2338,12 +2338,8 @@ cleanup: } -#ifdef PERL_OBJECT -#include "XSUB.h" -#endif - static void -restore_magic(pTHXo_ void *p) +restore_magic(pTHX_ void *p) { MGS* mgs = SSPTR(PTR2IV(p), MGS*); SV* sv = mgs->mgs_sv; @@ -2384,7 +2380,7 @@ restore_magic(pTHXo_ void *p) } static void -unwind_handler_stack(pTHXo_ void *p) +unwind_handler_stack(pTHX_ void *p) { U32 flags = *(U32*)p; diff --git a/objXSUB.h b/objXSUB.h deleted file mode 100644 index d9d73b7..0000000 --- a/objXSUB.h +++ /dev/null @@ -1,2493 +0,0 @@ -/* !!!!!!! DO NOT EDIT THIS FILE !!!!!!! - This file is built by embed.pl from data in embed.pl, pp.sym, intrpvar.h, - perlvars.h and thrdvar.h. Any changes made here will be lost! -*/ - -#ifndef __objXSUB_h__ -#define __objXSUB_h__ - -/* method calls via pPerl (static functions without a "this" pointer need these) */ - -#if defined(PERL_CORE) && defined(PERL_OBJECT) - -/* XXX soon to be eliminated, only a few things in PERLCORE need these now */ - -#if defined(PERL_IMPLICIT_SYS) -#endif -#if defined(USE_ITHREADS) -# if defined(PERL_IMPLICIT_SYS) -# endif -#endif -#if defined(MYMALLOC) -#endif -#if defined(PERL_OBJECT) -#ifndef __BORLANDC__ -#endif -#endif -#if defined(PERL_OBJECT) -#else -#endif -#undef Perl_amagic_call -#define Perl_amagic_call pPerl->Perl_amagic_call -#undef 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 Perl_Gv_AMupdate -#undef Perl_gv_handler -#define Perl_gv_handler pPerl->Perl_gv_handler -#undef gv_handler -#define gv_handler Perl_gv_handler -#undef Perl_apply_attrs_string -#define Perl_apply_attrs_string pPerl->Perl_apply_attrs_string -#undef apply_attrs_string -#define apply_attrs_string Perl_apply_attrs_string -#undef Perl_avhv_delete_ent -#define Perl_avhv_delete_ent pPerl->Perl_avhv_delete_ent -#undef avhv_delete_ent -#define avhv_delete_ent Perl_avhv_delete_ent -#undef Perl_avhv_exists_ent -#define Perl_avhv_exists_ent pPerl->Perl_avhv_exists_ent -#undef 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 Perl_avhv_fetch_ent -#undef Perl_avhv_store_ent -#define Perl_avhv_store_ent pPerl->Perl_avhv_store_ent -#undef avhv_store_ent -#define avhv_store_ent Perl_avhv_store_ent -#undef Perl_avhv_iternext -#define Perl_avhv_iternext pPerl->Perl_avhv_iternext -#undef 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 Perl_avhv_iterval -#undef Perl_avhv_keys -#define Perl_avhv_keys pPerl->Perl_avhv_keys -#undef 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 Perl_av_clear -#undef Perl_av_delete -#define Perl_av_delete pPerl->Perl_av_delete -#undef av_delete -#define av_delete Perl_av_delete -#undef Perl_av_exists -#define Perl_av_exists pPerl->Perl_av_exists -#undef av_exists -#define av_exists Perl_av_exists -#undef Perl_av_extend -#define Perl_av_extend pPerl->Perl_av_extend -#undef av_extend -#define av_extend Perl_av_extend -#undef Perl_av_fetch -#define Perl_av_fetch pPerl->Perl_av_fetch -#undef 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 Perl_av_fill -#undef Perl_av_len -#define Perl_av_len pPerl->Perl_av_len -#undef 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 Perl_av_make -#undef Perl_av_pop -#define Perl_av_pop pPerl->Perl_av_pop -#undef 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 Perl_av_push -#undef Perl_av_shift -#define Perl_av_shift pPerl->Perl_av_shift -#undef 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 Perl_av_store -#undef Perl_av_undef -#define Perl_av_undef pPerl->Perl_av_undef -#undef 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 Perl_av_unshift -#undef Perl_block_gimme -#define Perl_block_gimme pPerl->Perl_block_gimme -#undef block_gimme -#define block_gimme Perl_block_gimme -#undef Perl_call_list -#define Perl_call_list pPerl->Perl_call_list -#undef call_list -#define call_list Perl_call_list -#undef Perl_cast_ulong -#define Perl_cast_ulong pPerl->Perl_cast_ulong -#undef 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 Perl_cast_i32 -#undef Perl_cast_iv -#define Perl_cast_iv pPerl->Perl_cast_iv -#undef 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 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 Perl_my_chsize -#endif -#if defined(USE_5005THREADS) -#undef Perl_condpair_magic -#define Perl_condpair_magic pPerl->Perl_condpair_magic -#undef condpair_magic -#define condpair_magic Perl_condpair_magic -#endif -#undef Perl_croak -#define Perl_croak pPerl->Perl_croak -#undef croak -#define croak Perl_croak -#undef Perl_vcroak -#define Perl_vcroak pPerl->Perl_vcroak -#undef vcroak -#define vcroak Perl_vcroak -#if defined(PERL_IMPLICIT_CONTEXT) -#undef Perl_croak_nocontext -#define Perl_croak_nocontext pPerl->Perl_croak_nocontext -#undef 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 Perl_die_nocontext -#undef Perl_deb_nocontext -#define Perl_deb_nocontext pPerl->Perl_deb_nocontext -#undef deb_nocontext -#define deb_nocontext Perl_deb_nocontext -#undef Perl_form_nocontext -#define Perl_form_nocontext pPerl->Perl_form_nocontext -#undef form_nocontext -#define form_nocontext Perl_form_nocontext -#undef Perl_load_module_nocontext -#define Perl_load_module_nocontext pPerl->Perl_load_module_nocontext -#undef load_module_nocontext -#define load_module_nocontext Perl_load_module_nocontext -#undef Perl_mess_nocontext -#define Perl_mess_nocontext pPerl->Perl_mess_nocontext -#undef mess_nocontext -#define mess_nocontext Perl_mess_nocontext -#undef Perl_warn_nocontext -#define Perl_warn_nocontext pPerl->Perl_warn_nocontext -#undef warn_nocontext -#define warn_nocontext Perl_warn_nocontext -#undef Perl_warner_nocontext -#define Perl_warner_nocontext pPerl->Perl_warner_nocontext -#undef warner_nocontext -#define warner_nocontext Perl_warner_nocontext -#undef Perl_newSVpvf_nocontext -#define Perl_newSVpvf_nocontext pPerl->Perl_newSVpvf_nocontext -#undef 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 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 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 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 Perl_sv_setpvf_mg_nocontext -#undef Perl_fprintf_nocontext -#define Perl_fprintf_nocontext pPerl->Perl_fprintf_nocontext -#undef fprintf_nocontext -#define fprintf_nocontext Perl_fprintf_nocontext -#undef Perl_printf_nocontext -#define Perl_printf_nocontext pPerl->Perl_printf_nocontext -#undef printf_nocontext -#define printf_nocontext Perl_printf_nocontext -#endif -#undef Perl_cv_const_sv -#define Perl_cv_const_sv pPerl->Perl_cv_const_sv -#undef cv_const_sv -#define cv_const_sv Perl_cv_const_sv -#undef Perl_cv_undef -#define Perl_cv_undef pPerl->Perl_cv_undef -#undef 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 Perl_cx_dump -#undef Perl_filter_add -#define Perl_filter_add pPerl->Perl_filter_add -#undef 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 Perl_filter_del -#undef Perl_filter_read -#define Perl_filter_read pPerl->Perl_filter_read -#undef 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 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 Perl_get_op_names -#undef Perl_get_ppaddr -#define Perl_get_ppaddr pPerl->Perl_get_ppaddr -#undef get_ppaddr -#define get_ppaddr Perl_get_ppaddr -#undef Perl_deb -#define Perl_deb pPerl->Perl_deb -#undef deb -#define deb Perl_deb -#undef Perl_vdeb -#define Perl_vdeb pPerl->Perl_vdeb -#undef vdeb -#define vdeb Perl_vdeb -#undef Perl_debprofdump -#define Perl_debprofdump pPerl->Perl_debprofdump -#undef debprofdump -#define debprofdump Perl_debprofdump -#undef Perl_debop -#define Perl_debop pPerl->Perl_debop -#undef debop -#define debop Perl_debop -#undef Perl_debstack -#define Perl_debstack pPerl->Perl_debstack -#undef debstack -#define debstack Perl_debstack -#undef Perl_debstackptrs -#define Perl_debstackptrs pPerl->Perl_debstackptrs -#undef debstackptrs -#define debstackptrs Perl_debstackptrs -#undef Perl_delimcpy -#define Perl_delimcpy pPerl->Perl_delimcpy -#undef delimcpy -#define delimcpy Perl_delimcpy -#undef Perl_die -#define Perl_die pPerl->Perl_die -#undef die -#define die Perl_die -#undef Perl_dounwind -#define Perl_dounwind pPerl->Perl_dounwind -#undef dounwind -#define dounwind Perl_dounwind -#undef Perl_do_binmode -#define Perl_do_binmode pPerl->Perl_do_binmode -#undef do_binmode -#define do_binmode Perl_do_binmode -#undef Perl_do_close -#define Perl_do_close pPerl->Perl_do_close -#undef do_close -#define do_close Perl_do_close -#if !defined(WIN32) -#endif -#if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM) -#endif -#undef Perl_do_join -#define Perl_do_join pPerl->Perl_do_join -#undef do_join -#define do_join Perl_do_join -#undef Perl_do_open -#define Perl_do_open pPerl->Perl_do_open -#undef do_open -#define do_open Perl_do_open -#undef Perl_do_open9 -#define Perl_do_open9 pPerl->Perl_do_open9 -#undef do_open9 -#define do_open9 Perl_do_open9 -#undef Perl_do_openn -#define Perl_do_openn pPerl->Perl_do_openn -#undef do_openn -#define do_openn Perl_do_openn -#undef Perl_dowantarray -#define Perl_dowantarray pPerl->Perl_dowantarray -#undef dowantarray -#define dowantarray Perl_dowantarray -#undef Perl_dump_all -#define Perl_dump_all pPerl->Perl_dump_all -#undef 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 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 Perl_dump_fds -#endif -#undef Perl_dump_form -#define Perl_dump_form pPerl->Perl_dump_form -#undef 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 Perl_gv_dump -#undef Perl_op_dump -#define Perl_op_dump pPerl->Perl_op_dump -#undef 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 Perl_pmop_dump -#undef Perl_dump_packsubs -#define Perl_dump_packsubs pPerl->Perl_dump_packsubs -#undef 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 Perl_dump_sub -#undef Perl_fbm_compile -#define Perl_fbm_compile pPerl->Perl_fbm_compile -#undef 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 Perl_fbm_instr -#if defined(USE_5005THREADS) -#endif -#undef Perl_form -#define Perl_form pPerl->Perl_form -#undef form -#define form Perl_form -#undef Perl_vform -#define Perl_vform pPerl->Perl_vform -#undef vform -#define vform Perl_vform -#undef Perl_free_tmps -#define Perl_free_tmps pPerl->Perl_free_tmps -#undef free_tmps -#define free_tmps Perl_free_tmps -#if !defined(HAS_GETENV_LEN) -#endif -#undef Perl_gp_free -#define Perl_gp_free pPerl->Perl_gp_free -#undef 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 Perl_gp_ref -#undef Perl_gv_AVadd -#define Perl_gv_AVadd pPerl->Perl_gv_AVadd -#undef 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 Perl_gv_HVadd -#undef Perl_gv_IOadd -#define Perl_gv_IOadd pPerl->Perl_gv_IOadd -#undef 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 Perl_gv_autoload4 -#undef Perl_gv_check -#define Perl_gv_check pPerl->Perl_gv_check -#undef 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 Perl_gv_efullname -#undef Perl_gv_efullname3 -#define Perl_gv_efullname3 pPerl->Perl_gv_efullname3 -#undef gv_efullname3 -#define gv_efullname3 Perl_gv_efullname3 -#undef Perl_gv_efullname4 -#define Perl_gv_efullname4 pPerl->Perl_gv_efullname4 -#undef gv_efullname4 -#define gv_efullname4 Perl_gv_efullname4 -#undef Perl_gv_fetchfile -#define Perl_gv_fetchfile pPerl->Perl_gv_fetchfile -#undef 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 Perl_gv_fetchmeth -#undef Perl_gv_fetchmethod -#define Perl_gv_fetchmethod pPerl->Perl_gv_fetchmethod -#undef 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 Perl_gv_fetchmethod_autoload -#undef Perl_gv_fetchpv -#define Perl_gv_fetchpv pPerl->Perl_gv_fetchpv -#undef 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 Perl_gv_fullname -#undef Perl_gv_fullname3 -#define Perl_gv_fullname3 pPerl->Perl_gv_fullname3 -#undef gv_fullname3 -#define gv_fullname3 Perl_gv_fullname3 -#undef Perl_gv_fullname4 -#define Perl_gv_fullname4 pPerl->Perl_gv_fullname4 -#undef gv_fullname4 -#define gv_fullname4 Perl_gv_fullname4 -#undef Perl_gv_init -#define Perl_gv_init pPerl->Perl_gv_init -#undef 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 Perl_gv_stashpv -#undef Perl_gv_stashpvn -#define Perl_gv_stashpvn pPerl->Perl_gv_stashpvn -#undef 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 Perl_gv_stashsv -#undef Perl_hv_clear -#define Perl_hv_clear pPerl->Perl_hv_clear -#undef 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 Perl_hv_delayfree_ent -#undef Perl_hv_delete -#define Perl_hv_delete pPerl->Perl_hv_delete -#undef 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 Perl_hv_delete_ent -#undef Perl_hv_exists -#define Perl_hv_exists pPerl->Perl_hv_exists -#undef 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 Perl_hv_exists_ent -#undef Perl_hv_fetch -#define Perl_hv_fetch pPerl->Perl_hv_fetch -#undef 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 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 Perl_hv_free_ent -#undef Perl_hv_iterinit -#define Perl_hv_iterinit pPerl->Perl_hv_iterinit -#undef 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 Perl_hv_iterkey -#undef Perl_hv_iterkeysv -#define Perl_hv_iterkeysv pPerl->Perl_hv_iterkeysv -#undef 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 Perl_hv_iternext -#undef Perl_hv_iternextsv -#define Perl_hv_iternextsv pPerl->Perl_hv_iternextsv -#undef 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 Perl_hv_iterval -#undef Perl_hv_ksplit -#define Perl_hv_ksplit pPerl->Perl_hv_ksplit -#undef 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 Perl_hv_magic -#undef Perl_hv_store -#define Perl_hv_store pPerl->Perl_hv_store -#undef 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 Perl_hv_store_ent -#undef Perl_hv_undef -#define Perl_hv_undef pPerl->Perl_hv_undef -#undef hv_undef -#define hv_undef Perl_hv_undef -#undef Perl_ibcmp -#define Perl_ibcmp pPerl->Perl_ibcmp -#undef ibcmp -#define ibcmp Perl_ibcmp -#undef Perl_ibcmp_locale -#define Perl_ibcmp_locale pPerl->Perl_ibcmp_locale -#undef ibcmp_locale -#define ibcmp_locale Perl_ibcmp_locale -#undef Perl_init_stacks -#define Perl_init_stacks pPerl->Perl_init_stacks -#undef init_stacks -#define init_stacks Perl_init_stacks -#undef Perl_init_tm -#define Perl_init_tm pPerl->Perl_init_tm -#undef init_tm -#define init_tm Perl_init_tm -#undef Perl_instr -#define Perl_instr pPerl->Perl_instr -#undef instr -#define instr Perl_instr -#undef Perl_is_uni_alnum -#define Perl_is_uni_alnum pPerl->Perl_is_uni_alnum -#undef is_uni_alnum -#define is_uni_alnum Perl_is_uni_alnum -#undef Perl_is_uni_alnumc -#define Perl_is_uni_alnumc pPerl->Perl_is_uni_alnumc -#undef is_uni_alnumc -#define is_uni_alnumc Perl_is_uni_alnumc -#undef Perl_is_uni_idfirst -#define Perl_is_uni_idfirst pPerl->Perl_is_uni_idfirst -#undef 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 Perl_is_uni_alpha -#undef Perl_is_uni_ascii -#define Perl_is_uni_ascii pPerl->Perl_is_uni_ascii -#undef is_uni_ascii -#define is_uni_ascii Perl_is_uni_ascii -#undef Perl_is_uni_space -#define Perl_is_uni_space pPerl->Perl_is_uni_space -#undef is_uni_space -#define is_uni_space Perl_is_uni_space -#undef Perl_is_uni_cntrl -#define Perl_is_uni_cntrl pPerl->Perl_is_uni_cntrl -#undef is_uni_cntrl -#define is_uni_cntrl Perl_is_uni_cntrl -#undef Perl_is_uni_graph -#define Perl_is_uni_graph pPerl->Perl_is_uni_graph -#undef is_uni_graph -#define is_uni_graph Perl_is_uni_graph -#undef Perl_is_uni_digit -#define Perl_is_uni_digit pPerl->Perl_is_uni_digit -#undef 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 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 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 Perl_is_uni_print -#undef Perl_is_uni_punct -#define Perl_is_uni_punct pPerl->Perl_is_uni_punct -#undef is_uni_punct -#define is_uni_punct Perl_is_uni_punct -#undef Perl_is_uni_xdigit -#define Perl_is_uni_xdigit pPerl->Perl_is_uni_xdigit -#undef is_uni_xdigit -#define is_uni_xdigit Perl_is_uni_xdigit -#undef Perl_to_uni_upper -#define Perl_to_uni_upper pPerl->Perl_to_uni_upper -#undef 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 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 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 Perl_is_uni_alnum_lc -#undef Perl_is_uni_alnumc_lc -#define Perl_is_uni_alnumc_lc pPerl->Perl_is_uni_alnumc_lc -#undef is_uni_alnumc_lc -#define is_uni_alnumc_lc Perl_is_uni_alnumc_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 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 Perl_is_uni_alpha_lc -#undef Perl_is_uni_ascii_lc -#define Perl_is_uni_ascii_lc pPerl->Perl_is_uni_ascii_lc -#undef is_uni_ascii_lc -#define is_uni_ascii_lc Perl_is_uni_ascii_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 Perl_is_uni_space_lc -#undef Perl_is_uni_cntrl_lc -#define Perl_is_uni_cntrl_lc pPerl->Perl_is_uni_cntrl_lc -#undef is_uni_cntrl_lc -#define is_uni_cntrl_lc Perl_is_uni_cntrl_lc -#undef Perl_is_uni_graph_lc -#define Perl_is_uni_graph_lc pPerl->Perl_is_uni_graph_lc -#undef is_uni_graph_lc -#define is_uni_graph_lc Perl_is_uni_graph_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 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 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 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 Perl_is_uni_print_lc -#undef Perl_is_uni_punct_lc -#define Perl_is_uni_punct_lc pPerl->Perl_is_uni_punct_lc -#undef is_uni_punct_lc -#define is_uni_punct_lc Perl_is_uni_punct_lc -#undef Perl_is_uni_xdigit_lc -#define Perl_is_uni_xdigit_lc pPerl->Perl_is_uni_xdigit_lc -#undef is_uni_xdigit_lc -#define is_uni_xdigit_lc Perl_is_uni_xdigit_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 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 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 Perl_to_uni_lower_lc -#undef Perl_is_utf8_char -#define Perl_is_utf8_char pPerl->Perl_is_utf8_char -#undef is_utf8_char -#define is_utf8_char Perl_is_utf8_char -#undef Perl_is_utf8_string -#define Perl_is_utf8_string pPerl->Perl_is_utf8_string -#undef is_utf8_string -#define is_utf8_string Perl_is_utf8_string -#undef Perl_is_utf8_alnum -#define Perl_is_utf8_alnum pPerl->Perl_is_utf8_alnum -#undef is_utf8_alnum -#define is_utf8_alnum Perl_is_utf8_alnum -#undef Perl_is_utf8_alnumc -#define Perl_is_utf8_alnumc pPerl->Perl_is_utf8_alnumc -#undef is_utf8_alnumc -#define is_utf8_alnumc Perl_is_utf8_alnumc -#undef Perl_is_utf8_idfirst -#define Perl_is_utf8_idfirst pPerl->Perl_is_utf8_idfirst -#undef 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 Perl_is_utf8_alpha -#undef Perl_is_utf8_ascii -#define Perl_is_utf8_ascii pPerl->Perl_is_utf8_ascii -#undef is_utf8_ascii -#define is_utf8_ascii Perl_is_utf8_ascii -#undef Perl_is_utf8_space -#define Perl_is_utf8_space pPerl->Perl_is_utf8_space -#undef is_utf8_space -#define is_utf8_space Perl_is_utf8_space -#undef Perl_is_utf8_cntrl -#define Perl_is_utf8_cntrl pPerl->Perl_is_utf8_cntrl -#undef is_utf8_cntrl -#define is_utf8_cntrl Perl_is_utf8_cntrl -#undef Perl_is_utf8_digit -#define Perl_is_utf8_digit pPerl->Perl_is_utf8_digit -#undef is_utf8_digit -#define is_utf8_digit Perl_is_utf8_digit -#undef Perl_is_utf8_graph -#define Perl_is_utf8_graph pPerl->Perl_is_utf8_graph -#undef is_utf8_graph -#define is_utf8_graph Perl_is_utf8_graph -#undef Perl_is_utf8_upper -#define Perl_is_utf8_upper pPerl->Perl_is_utf8_upper -#undef 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 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 Perl_is_utf8_print -#undef Perl_is_utf8_punct -#define Perl_is_utf8_punct pPerl->Perl_is_utf8_punct -#undef is_utf8_punct -#define is_utf8_punct Perl_is_utf8_punct -#undef Perl_is_utf8_xdigit -#define Perl_is_utf8_xdigit pPerl->Perl_is_utf8_xdigit -#undef is_utf8_xdigit -#define is_utf8_xdigit Perl_is_utf8_xdigit -#undef Perl_is_utf8_mark -#define Perl_is_utf8_mark pPerl->Perl_is_utf8_mark -#undef is_utf8_mark -#define is_utf8_mark Perl_is_utf8_mark -#undef Perl_leave_scope -#define Perl_leave_scope pPerl->Perl_leave_scope -#undef leave_scope -#define leave_scope Perl_leave_scope -#undef Perl_op_null -#define Perl_op_null pPerl->Perl_op_null -#undef op_null -#define op_null Perl_op_null -#undef Perl_load_module -#define Perl_load_module pPerl->Perl_load_module -#undef load_module -#define load_module Perl_load_module -#undef Perl_vload_module -#define Perl_vload_module pPerl->Perl_vload_module -#undef vload_module -#define vload_module Perl_vload_module -#undef Perl_looks_like_number -#define Perl_looks_like_number pPerl->Perl_looks_like_number -#undef looks_like_number -#define looks_like_number Perl_looks_like_number -#undef Perl_grok_number -#define Perl_grok_number pPerl->Perl_grok_number -#undef grok_number -#define grok_number Perl_grok_number -#undef Perl_grok_numeric_radix -#define Perl_grok_numeric_radix pPerl->Perl_grok_numeric_radix -#undef grok_numeric_radix -#define grok_numeric_radix Perl_grok_numeric_radix -#if defined(USE_5005THREADS) -#endif -#if defined(USE_LOCALE_COLLATE) -#endif -#undef Perl_markstack_grow -#define Perl_markstack_grow pPerl->Perl_markstack_grow -#undef markstack_grow -#define markstack_grow Perl_markstack_grow -#if defined(USE_LOCALE_COLLATE) -#endif -#undef Perl_mess -#define Perl_mess pPerl->Perl_mess -#undef mess -#define mess Perl_mess -#undef Perl_vmess -#define Perl_vmess pPerl->Perl_vmess -#undef vmess -#define vmess Perl_vmess -#undef Perl_mg_clear -#define Perl_mg_clear pPerl->Perl_mg_clear -#undef 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 Perl_mg_copy -#undef Perl_mg_find -#define Perl_mg_find pPerl->Perl_mg_find -#undef 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 Perl_mg_free -#undef Perl_mg_get -#define Perl_mg_get pPerl->Perl_mg_get -#undef 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 Perl_mg_length -#undef Perl_mg_magical -#define Perl_mg_magical pPerl->Perl_mg_magical -#undef 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 Perl_mg_set -#undef Perl_mg_size -#define Perl_mg_size pPerl->Perl_mg_size -#undef mg_size -#define mg_size Perl_mg_size -#undef Perl_mini_mktime -#define Perl_mini_mktime pPerl->Perl_mini_mktime -#undef mini_mktime -#define mini_mktime Perl_mini_mktime -#undef Perl_moreswitches -#define Perl_moreswitches pPerl->Perl_moreswitches -#undef moreswitches -#define moreswitches Perl_moreswitches -#undef Perl_my_atof -#define Perl_my_atof pPerl->Perl_my_atof -#undef my_atof -#define my_atof Perl_my_atof -#if (!defined(HAS_MEMCPY) && !defined(HAS_BCOPY)) || (!defined(HAS_MEMMOVE) && !defined(HAS_SAFE_MEMCPY) && !defined(HAS_SAFE_BCOPY)) -#undef Perl_my_bcopy -#define Perl_my_bcopy pPerl->Perl_my_bcopy -#undef 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 Perl_my_bzero -#endif -#undef Perl_my_exit -#define Perl_my_exit pPerl->Perl_my_exit -#undef 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 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 Perl_my_fflush_all -#undef Perl_my_fork -#define Perl_my_fork pPerl->Perl_my_fork -#undef my_fork -#define my_fork Perl_my_fork -#undef Perl_atfork_lock -#define Perl_atfork_lock pPerl->Perl_atfork_lock -#undef atfork_lock -#define atfork_lock Perl_atfork_lock -#undef Perl_atfork_unlock -#define Perl_atfork_unlock pPerl->Perl_atfork_unlock -#undef atfork_unlock -#define atfork_unlock Perl_atfork_unlock -#undef Perl_my_lstat -#define Perl_my_lstat pPerl->Perl_my_lstat -#undef 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 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 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 Perl_my_pclose -#undef Perl_my_popen -#define Perl_my_popen pPerl->Perl_my_popen -#undef my_popen -#define my_popen Perl_my_popen -#undef Perl_my_popen_list -#define Perl_my_popen_list pPerl->Perl_my_popen_list -#undef my_popen_list -#define my_popen_list Perl_my_popen_list -#endif -#undef Perl_my_setenv -#define Perl_my_setenv pPerl->Perl_my_setenv -#undef 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 Perl_my_stat -#undef Perl_my_strftime -#define Perl_my_strftime pPerl->Perl_my_strftime -#undef my_strftime -#define my_strftime Perl_my_strftime -#if defined(MYSWAP) -#undef Perl_my_swap -#define Perl_my_swap pPerl->Perl_my_swap -#undef 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 Perl_my_htonl -#undef Perl_my_ntohl -#define Perl_my_ntohl pPerl->Perl_my_ntohl -#undef my_ntohl -#define my_ntohl Perl_my_ntohl -#endif -#undef Perl_newANONLIST -#define Perl_newANONLIST pPerl->Perl_newANONLIST -#undef newANONLIST -#define newANONLIST Perl_newANONLIST -#undef Perl_newANONHASH -#define Perl_newANONHASH pPerl->Perl_newANONHASH -#undef newANONHASH -#define newANONHASH Perl_newANONHASH -#undef Perl_newANONSUB -#define Perl_newANONSUB pPerl->Perl_newANONSUB -#undef newANONSUB -#define newANONSUB Perl_newANONSUB -#undef Perl_newASSIGNOP -#define Perl_newASSIGNOP pPerl->Perl_newASSIGNOP -#undef newASSIGNOP -#define newASSIGNOP Perl_newASSIGNOP -#undef Perl_newCONDOP -#define Perl_newCONDOP pPerl->Perl_newCONDOP -#undef newCONDOP -#define newCONDOP Perl_newCONDOP -#undef Perl_newCONSTSUB -#define Perl_newCONSTSUB pPerl->Perl_newCONSTSUB -#undef newCONSTSUB -#define newCONSTSUB Perl_newCONSTSUB -#undef Perl_newFORM -#define Perl_newFORM pPerl->Perl_newFORM -#undef newFORM -#define newFORM Perl_newFORM -#undef Perl_newFOROP -#define Perl_newFOROP pPerl->Perl_newFOROP -#undef newFOROP -#define newFOROP Perl_newFOROP -#undef Perl_newLOGOP -#define Perl_newLOGOP pPerl->Perl_newLOGOP -#undef newLOGOP -#define newLOGOP Perl_newLOGOP -#undef Perl_newLOOPEX -#define Perl_newLOOPEX pPerl->Perl_newLOOPEX -#undef newLOOPEX -#define newLOOPEX Perl_newLOOPEX -#undef Perl_newLOOPOP -#define Perl_newLOOPOP pPerl->Perl_newLOOPOP -#undef newLOOPOP -#define newLOOPOP Perl_newLOOPOP -#undef Perl_newNULLLIST -#define Perl_newNULLLIST pPerl->Perl_newNULLLIST -#undef newNULLLIST -#define newNULLLIST Perl_newNULLLIST -#undef Perl_newOP -#define Perl_newOP pPerl->Perl_newOP -#undef newOP -#define newOP Perl_newOP -#undef Perl_newPROG -#define Perl_newPROG pPerl->Perl_newPROG -#undef newPROG -#define newPROG Perl_newPROG -#undef Perl_newRANGE -#define Perl_newRANGE pPerl->Perl_newRANGE -#undef newRANGE -#define newRANGE Perl_newRANGE -#undef Perl_newSLICEOP -#define Perl_newSLICEOP pPerl->Perl_newSLICEOP -#undef newSLICEOP -#define newSLICEOP Perl_newSLICEOP -#undef Perl_newSTATEOP -#define Perl_newSTATEOP pPerl->Perl_newSTATEOP -#undef newSTATEOP -#define newSTATEOP Perl_newSTATEOP -#undef Perl_newSUB -#define Perl_newSUB pPerl->Perl_newSUB -#undef newSUB -#define newSUB Perl_newSUB -#undef Perl_newXS -#define Perl_newXS pPerl->Perl_newXS -#undef newXS -#define newXS Perl_newXS -#undef Perl_newAV -#define Perl_newAV pPerl->Perl_newAV -#undef newAV -#define newAV Perl_newAV -#undef Perl_newAVREF -#define Perl_newAVREF pPerl->Perl_newAVREF -#undef newAVREF -#define newAVREF Perl_newAVREF -#undef Perl_newBINOP -#define Perl_newBINOP pPerl->Perl_newBINOP -#undef newBINOP -#define newBINOP Perl_newBINOP -#undef Perl_newCVREF -#define Perl_newCVREF pPerl->Perl_newCVREF -#undef newCVREF -#define newCVREF Perl_newCVREF -#undef Perl_newGVOP -#define Perl_newGVOP pPerl->Perl_newGVOP -#undef newGVOP -#define newGVOP Perl_newGVOP -#undef Perl_newGVgen -#define Perl_newGVgen pPerl->Perl_newGVgen -#undef newGVgen -#define newGVgen Perl_newGVgen -#undef Perl_newGVREF -#define Perl_newGVREF pPerl->Perl_newGVREF -#undef newGVREF -#define newGVREF Perl_newGVREF -#undef Perl_newHVREF -#define Perl_newHVREF pPerl->Perl_newHVREF -#undef newHVREF -#define newHVREF Perl_newHVREF -#undef Perl_newHV -#define Perl_newHV pPerl->Perl_newHV -#undef newHV -#define newHV Perl_newHV -#undef Perl_newHVhv -#define Perl_newHVhv pPerl->Perl_newHVhv -#undef newHVhv -#define newHVhv Perl_newHVhv -#undef Perl_newIO -#define Perl_newIO pPerl->Perl_newIO -#undef newIO -#define newIO Perl_newIO -#undef Perl_newLISTOP -#define Perl_newLISTOP pPerl->Perl_newLISTOP -#undef newLISTOP -#define newLISTOP Perl_newLISTOP -#undef Perl_newPADOP -#define Perl_newPADOP pPerl->Perl_newPADOP -#undef newPADOP -#define newPADOP Perl_newPADOP -#undef Perl_newPMOP -#define Perl_newPMOP pPerl->Perl_newPMOP -#undef newPMOP -#define newPMOP Perl_newPMOP -#undef Perl_newPVOP -#define Perl_newPVOP pPerl->Perl_newPVOP -#undef newPVOP -#define newPVOP Perl_newPVOP -#undef Perl_newRV -#define Perl_newRV pPerl->Perl_newRV -#undef newRV -#define newRV Perl_newRV -#undef Perl_newRV_noinc -#define Perl_newRV_noinc pPerl->Perl_newRV_noinc -#undef newRV_noinc -#define newRV_noinc Perl_newRV_noinc -#undef Perl_newSV -#define Perl_newSV pPerl->Perl_newSV -#undef newSV -#define newSV Perl_newSV -#undef Perl_newSVREF -#define Perl_newSVREF pPerl->Perl_newSVREF -#undef newSVREF -#define newSVREF Perl_newSVREF -#undef Perl_newSVOP -#define Perl_newSVOP pPerl->Perl_newSVOP -#undef newSVOP -#define newSVOP Perl_newSVOP -#undef Perl_newSViv -#define Perl_newSViv pPerl->Perl_newSViv -#undef newSViv -#define newSViv Perl_newSViv -#undef Perl_newSVuv -#define Perl_newSVuv pPerl->Perl_newSVuv -#undef newSVuv -#define newSVuv Perl_newSVuv -#undef Perl_newSVnv -#define Perl_newSVnv pPerl->Perl_newSVnv -#undef newSVnv -#define newSVnv Perl_newSVnv -#undef Perl_newSVpv -#define Perl_newSVpv pPerl->Perl_newSVpv -#undef newSVpv -#define newSVpv Perl_newSVpv -#undef Perl_newSVpvn -#define Perl_newSVpvn pPerl->Perl_newSVpvn -#undef newSVpvn -#define newSVpvn Perl_newSVpvn -#undef Perl_newSVpvn_share -#define Perl_newSVpvn_share pPerl->Perl_newSVpvn_share -#undef newSVpvn_share -#define newSVpvn_share Perl_newSVpvn_share -#undef Perl_newSVpvf -#define Perl_newSVpvf pPerl->Perl_newSVpvf -#undef newSVpvf -#define newSVpvf Perl_newSVpvf -#undef Perl_vnewSVpvf -#define Perl_vnewSVpvf pPerl->Perl_vnewSVpvf -#undef vnewSVpvf -#define vnewSVpvf Perl_vnewSVpvf -#undef Perl_newSVrv -#define Perl_newSVrv pPerl->Perl_newSVrv -#undef newSVrv -#define newSVrv Perl_newSVrv -#undef Perl_newSVsv -#define Perl_newSVsv pPerl->Perl_newSVsv -#undef newSVsv -#define newSVsv Perl_newSVsv -#undef Perl_newUNOP -#define Perl_newUNOP pPerl->Perl_newUNOP -#undef newUNOP -#define newUNOP Perl_newUNOP -#undef Perl_newWHILEOP -#define Perl_newWHILEOP pPerl->Perl_newWHILEOP -#undef newWHILEOP -#define newWHILEOP Perl_newWHILEOP -#undef Perl_new_stackinfo -#define Perl_new_stackinfo pPerl->Perl_new_stackinfo -#undef new_stackinfo -#define new_stackinfo Perl_new_stackinfo -#undef Perl_ninstr -#define Perl_ninstr pPerl->Perl_ninstr -#undef ninstr -#define ninstr Perl_ninstr -#undef Perl_op_free -#define Perl_op_free pPerl->Perl_op_free -#undef op_free -#define op_free Perl_op_free -#undef Perl_pad_sv -#define Perl_pad_sv pPerl->Perl_pad_sv -#undef pad_sv -#define pad_sv Perl_pad_sv -#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 -#endif -#if defined(USE_5005THREADS) -#undef Perl_new_struct_thread -#define Perl_new_struct_thread pPerl->Perl_new_struct_thread -#undef new_struct_thread -#define new_struct_thread Perl_new_struct_thread -#endif -#undef Perl_call_atexit -#define Perl_call_atexit pPerl->Perl_call_atexit -#undef 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 Perl_call_argv -#undef Perl_call_method -#define Perl_call_method pPerl->Perl_call_method -#undef 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 Perl_call_pv -#undef Perl_call_sv -#define Perl_call_sv pPerl->Perl_call_sv -#undef 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 Perl_eval_pv -#undef Perl_eval_sv -#define Perl_eval_sv pPerl->Perl_eval_sv -#undef 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 Perl_get_sv -#undef Perl_get_av -#define Perl_get_av pPerl->Perl_get_av -#undef 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 Perl_get_hv -#undef Perl_get_cv -#define Perl_get_cv pPerl->Perl_get_cv -#undef 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 Perl_init_i18nl10n -#undef Perl_init_i18nl14n -#define Perl_init_i18nl14n pPerl->Perl_init_i18nl14n -#undef 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 Perl_new_collate -#undef Perl_new_ctype -#define Perl_new_ctype pPerl->Perl_new_ctype -#undef 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 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 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 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 Perl_set_numeric_standard -#undef Perl_require_pv -#define Perl_require_pv pPerl->Perl_require_pv -#undef require_pv -#define require_pv Perl_require_pv -#undef Perl_pmflag -#define Perl_pmflag pPerl->Perl_pmflag -#undef pmflag -#define pmflag Perl_pmflag -#undef Perl_pop_scope -#define Perl_pop_scope pPerl->Perl_pop_scope -#undef pop_scope -#define pop_scope Perl_pop_scope -#undef Perl_push_scope -#define Perl_push_scope pPerl->Perl_push_scope -#undef push_scope -#define push_scope Perl_push_scope -#undef Perl_regdump -#define Perl_regdump pPerl->Perl_regdump -#undef regdump -#define regdump Perl_regdump -#undef Perl_regclass_swash -#define Perl_regclass_swash pPerl->Perl_regclass_swash -#undef regclass_swash -#define regclass_swash Perl_regclass_swash -#undef Perl_pregexec -#define Perl_pregexec pPerl->Perl_pregexec -#undef pregexec -#define pregexec Perl_pregexec -#undef Perl_pregfree -#define Perl_pregfree pPerl->Perl_pregfree -#undef pregfree -#define pregfree Perl_pregfree -#undef Perl_pregcomp -#define Perl_pregcomp pPerl->Perl_pregcomp -#undef pregcomp -#define pregcomp Perl_pregcomp -#undef Perl_re_intuit_start -#define Perl_re_intuit_start pPerl->Perl_re_intuit_start -#undef re_intuit_start -#define re_intuit_start Perl_re_intuit_start -#undef Perl_re_intuit_string -#define Perl_re_intuit_string pPerl->Perl_re_intuit_string -#undef re_intuit_string -#define re_intuit_string Perl_re_intuit_string -#undef Perl_regexec_flags -#define Perl_regexec_flags pPerl->Perl_regexec_flags -#undef regexec_flags -#define regexec_flags Perl_regexec_flags -#undef Perl_regnext -#define Perl_regnext pPerl->Perl_regnext -#undef regnext -#define regnext Perl_regnext -#undef Perl_repeatcpy -#define Perl_repeatcpy pPerl->Perl_repeatcpy -#undef repeatcpy -#define repeatcpy Perl_repeatcpy -#undef Perl_rninstr -#define Perl_rninstr pPerl->Perl_rninstr -#undef rninstr -#define rninstr Perl_rninstr -#undef Perl_rsignal -#define Perl_rsignal pPerl->Perl_rsignal -#undef rsignal -#define rsignal Perl_rsignal -#undef Perl_rsignal_state -#define Perl_rsignal_state pPerl->Perl_rsignal_state -#undef rsignal_state -#define rsignal_state Perl_rsignal_state -#if !defined(HAS_RENAME) -#endif -#undef Perl_savepv -#define Perl_savepv pPerl->Perl_savepv -#undef savepv -#define savepv Perl_savepv -#undef Perl_savepvn -#define Perl_savepvn pPerl->Perl_savepvn -#undef savepvn -#define savepvn Perl_savepvn -#undef Perl_savestack_grow -#define Perl_savestack_grow pPerl->Perl_savestack_grow -#undef 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 Perl_save_aelem -#undef Perl_save_alloc -#define Perl_save_alloc pPerl->Perl_save_alloc -#undef 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 Perl_save_aptr -#undef Perl_save_ary -#define Perl_save_ary pPerl->Perl_save_ary -#undef 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 Perl_save_clearsv -#undef Perl_save_delete -#define Perl_save_delete pPerl->Perl_save_delete -#undef 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 Perl_save_destructor -#undef Perl_save_destructor_x -#define Perl_save_destructor_x pPerl->Perl_save_destructor_x -#undef save_destructor_x -#define save_destructor_x Perl_save_destructor_x -#undef Perl_save_freesv -#define Perl_save_freesv pPerl->Perl_save_freesv -#undef save_freesv -#define save_freesv Perl_save_freesv -#undef Perl_save_freepv -#define Perl_save_freepv pPerl->Perl_save_freepv -#undef 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 Perl_save_generic_svref -#undef Perl_save_generic_pvref -#define Perl_save_generic_pvref pPerl->Perl_save_generic_pvref -#undef save_generic_pvref -#define save_generic_pvref Perl_save_generic_pvref -#undef Perl_save_gp -#define Perl_save_gp pPerl->Perl_save_gp -#undef 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 Perl_save_hash -#undef Perl_save_helem -#define Perl_save_helem pPerl->Perl_save_helem -#undef 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 Perl_save_hints -#undef Perl_save_hptr -#define Perl_save_hptr pPerl->Perl_save_hptr -#undef 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 Perl_save_I16 -#undef Perl_save_I32 -#define Perl_save_I32 pPerl->Perl_save_I32 -#undef save_I32 -#define save_I32 Perl_save_I32 -#undef Perl_save_I8 -#define Perl_save_I8 pPerl->Perl_save_I8 -#undef save_I8 -#define save_I8 Perl_save_I8 -#undef Perl_save_int -#define Perl_save_int pPerl->Perl_save_int -#undef 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 Perl_save_item -#undef Perl_save_iv -#define Perl_save_iv pPerl->Perl_save_iv -#undef 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 Perl_save_list -#undef Perl_save_long -#define Perl_save_long pPerl->Perl_save_long -#undef save_long -#define save_long Perl_save_long -#undef Perl_save_mortalizesv -#define Perl_save_mortalizesv pPerl->Perl_save_mortalizesv -#undef save_mortalizesv -#define save_mortalizesv Perl_save_mortalizesv -#undef Perl_save_nogv -#define Perl_save_nogv pPerl->Perl_save_nogv -#undef save_nogv -#define save_nogv Perl_save_nogv -#undef Perl_save_scalar -#define Perl_save_scalar pPerl->Perl_save_scalar -#undef 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 Perl_save_pptr -#undef Perl_save_vptr -#define Perl_save_vptr pPerl->Perl_save_vptr -#undef save_vptr -#define save_vptr Perl_save_vptr -#undef Perl_save_re_context -#define Perl_save_re_context pPerl->Perl_save_re_context -#undef save_re_context -#define save_re_context Perl_save_re_context -#undef Perl_save_padsv -#define Perl_save_padsv pPerl->Perl_save_padsv -#undef save_padsv -#define save_padsv Perl_save_padsv -#undef Perl_save_sptr -#define Perl_save_sptr pPerl->Perl_save_sptr -#undef 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 Perl_save_svref -#undef Perl_save_threadsv -#define Perl_save_threadsv pPerl->Perl_save_threadsv -#undef save_threadsv -#define save_threadsv Perl_save_threadsv -#undef Perl_scan_bin -#define Perl_scan_bin pPerl->Perl_scan_bin -#undef 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 Perl_scan_hex -#undef Perl_scan_num -#define Perl_scan_num pPerl->Perl_scan_num -#undef 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 Perl_scan_oct -#undef Perl_screaminstr -#define Perl_screaminstr pPerl->Perl_screaminstr -#undef screaminstr -#define screaminstr Perl_screaminstr -#if !defined(VMS) -#endif -#undef Perl_sharepvn -#define Perl_sharepvn pPerl->Perl_sharepvn -#undef sharepvn -#define sharepvn Perl_sharepvn -#undef Perl_stack_grow -#define Perl_stack_grow pPerl->Perl_stack_grow -#undef 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 Perl_start_subparse -#undef Perl_sv_2bool -#define Perl_sv_2bool pPerl->Perl_sv_2bool -#undef 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 Perl_sv_2cv -#undef Perl_sv_2io -#define Perl_sv_2io pPerl->Perl_sv_2io -#undef 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 Perl_sv_2iv -#undef Perl_sv_2mortal -#define Perl_sv_2mortal pPerl->Perl_sv_2mortal -#undef 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 Perl_sv_2nv -#undef Perl_sv_2pv -#define Perl_sv_2pv pPerl->Perl_sv_2pv -#undef sv_2pv -#define sv_2pv Perl_sv_2pv -#undef Perl_sv_2pvutf8 -#define Perl_sv_2pvutf8 pPerl->Perl_sv_2pvutf8 -#undef sv_2pvutf8 -#define sv_2pvutf8 Perl_sv_2pvutf8 -#undef Perl_sv_2pvbyte -#define Perl_sv_2pvbyte pPerl->Perl_sv_2pvbyte -#undef sv_2pvbyte -#define sv_2pvbyte Perl_sv_2pvbyte -#undef Perl_sv_2uv -#define Perl_sv_2uv pPerl->Perl_sv_2uv -#undef 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 Perl_sv_iv -#undef Perl_sv_uv -#define Perl_sv_uv pPerl->Perl_sv_uv -#undef 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 Perl_sv_nv -#undef Perl_sv_pvn -#define Perl_sv_pvn pPerl->Perl_sv_pvn -#undef sv_pvn -#define sv_pvn Perl_sv_pvn -#undef Perl_sv_pvutf8n -#define Perl_sv_pvutf8n pPerl->Perl_sv_pvutf8n -#undef sv_pvutf8n -#define sv_pvutf8n Perl_sv_pvutf8n -#undef Perl_sv_pvbyten -#define Perl_sv_pvbyten pPerl->Perl_sv_pvbyten -#undef sv_pvbyten -#define sv_pvbyten Perl_sv_pvbyten -#undef Perl_sv_true -#define Perl_sv_true pPerl->Perl_sv_true -#undef sv_true -#define sv_true Perl_sv_true -#undef Perl_sv_backoff -#define Perl_sv_backoff pPerl->Perl_sv_backoff -#undef 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 Perl_sv_bless -#undef Perl_sv_catpvf -#define Perl_sv_catpvf pPerl->Perl_sv_catpvf -#undef sv_catpvf -#define sv_catpvf Perl_sv_catpvf -#undef Perl_sv_vcatpvf -#define Perl_sv_vcatpvf pPerl->Perl_sv_vcatpvf -#undef sv_vcatpvf -#define sv_vcatpvf Perl_sv_vcatpvf -#undef Perl_sv_catpv -#define Perl_sv_catpv pPerl->Perl_sv_catpv -#undef 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 Perl_sv_catpvn -#undef Perl_sv_catsv -#define Perl_sv_catsv pPerl->Perl_sv_catsv -#undef 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 Perl_sv_chop -#undef Perl_sv_clear -#define Perl_sv_clear pPerl->Perl_sv_clear -#undef 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 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 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 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 Perl_sv_compile_2op -#undef Perl_getcwd_sv -#define Perl_getcwd_sv pPerl->Perl_getcwd_sv -#undef getcwd_sv -#define getcwd_sv Perl_getcwd_sv -#undef Perl_sv_dec -#define Perl_sv_dec pPerl->Perl_sv_dec -#undef 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 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 Perl_sv_derived_from -#undef Perl_sv_eq -#define Perl_sv_eq pPerl->Perl_sv_eq -#undef 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 Perl_sv_free -#undef Perl_sv_gets -#define Perl_sv_gets pPerl->Perl_sv_gets -#undef 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 Perl_sv_grow -#undef Perl_sv_inc -#define Perl_sv_inc pPerl->Perl_sv_inc -#undef 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 Perl_sv_insert -#undef Perl_sv_isa -#define Perl_sv_isa pPerl->Perl_sv_isa -#undef 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 Perl_sv_isobject -#undef Perl_sv_len -#define Perl_sv_len pPerl->Perl_sv_len -#undef 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 Perl_sv_len_utf8 -#undef Perl_sv_magic -#define Perl_sv_magic pPerl->Perl_sv_magic -#undef 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 Perl_sv_mortalcopy -#undef Perl_sv_newmortal -#define Perl_sv_newmortal pPerl->Perl_sv_newmortal -#undef 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 Perl_sv_newref -#undef Perl_sv_peek -#define Perl_sv_peek pPerl->Perl_sv_peek -#undef 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 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 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 Perl_sv_pvn_force -#undef Perl_sv_pvutf8n_force -#define Perl_sv_pvutf8n_force pPerl->Perl_sv_pvutf8n_force -#undef sv_pvutf8n_force -#define sv_pvutf8n_force Perl_sv_pvutf8n_force -#undef Perl_sv_pvbyten_force -#define Perl_sv_pvbyten_force pPerl->Perl_sv_pvbyten_force -#undef sv_pvbyten_force -#define sv_pvbyten_force Perl_sv_pvbyten_force -#undef Perl_sv_reftype -#define Perl_sv_reftype pPerl->Perl_sv_reftype -#undef 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 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 Perl_sv_report_used -#undef Perl_sv_reset -#define Perl_sv_reset pPerl->Perl_sv_reset -#undef 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 Perl_sv_setpvf -#undef Perl_sv_vsetpvf -#define Perl_sv_vsetpvf pPerl->Perl_sv_vsetpvf -#undef sv_vsetpvf -#define sv_vsetpvf Perl_sv_vsetpvf -#undef Perl_sv_setiv -#define Perl_sv_setiv pPerl->Perl_sv_setiv -#undef 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 Perl_sv_setpviv -#undef Perl_sv_setuv -#define Perl_sv_setuv pPerl->Perl_sv_setuv -#undef 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 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 Perl_sv_setref_iv -#undef Perl_sv_setref_uv -#define Perl_sv_setref_uv pPerl->Perl_sv_setref_uv -#undef sv_setref_uv -#define sv_setref_uv Perl_sv_setref_uv -#undef Perl_sv_setref_nv -#define Perl_sv_setref_nv pPerl->Perl_sv_setref_nv -#undef 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 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 Perl_sv_setref_pvn -#undef Perl_sv_setpv -#define Perl_sv_setpv pPerl->Perl_sv_setpv -#undef 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 Perl_sv_setpvn -#undef Perl_sv_setsv -#define Perl_sv_setsv pPerl->Perl_sv_setsv -#undef 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 Perl_sv_taint -#undef Perl_sv_tainted -#define Perl_sv_tainted pPerl->Perl_sv_tainted -#undef 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 Perl_sv_unmagic -#undef Perl_sv_unref -#define Perl_sv_unref pPerl->Perl_sv_unref -#undef sv_unref -#define sv_unref Perl_sv_unref -#undef Perl_sv_unref_flags -#define Perl_sv_unref_flags pPerl->Perl_sv_unref_flags -#undef sv_unref_flags -#define sv_unref_flags Perl_sv_unref_flags -#undef Perl_sv_untaint -#define Perl_sv_untaint pPerl->Perl_sv_untaint -#undef 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 Perl_sv_upgrade -#undef Perl_sv_usepvn -#define Perl_sv_usepvn pPerl->Perl_sv_usepvn -#undef 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 Perl_sv_vcatpvfn -#undef Perl_sv_vsetpvfn -#define Perl_sv_vsetpvfn pPerl->Perl_sv_vsetpvfn -#undef sv_vsetpvfn -#define sv_vsetpvfn Perl_sv_vsetpvfn -#undef Perl_str_to_version -#define Perl_str_to_version pPerl->Perl_str_to_version -#undef str_to_version -#define str_to_version Perl_str_to_version -#undef Perl_swash_init -#define Perl_swash_init pPerl->Perl_swash_init -#undef 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 Perl_swash_fetch -#undef Perl_taint_env -#define Perl_taint_env pPerl->Perl_taint_env -#undef 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 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 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 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 Perl_to_utf8_title -#if defined(UNLINK_ALL_VERSIONS) -#undef Perl_unlnk -#define Perl_unlnk pPerl->Perl_unlnk -#undef unlnk -#define unlnk Perl_unlnk -#endif -#if defined(USE_5005THREADS) -#undef Perl_unlock_condpair -#define Perl_unlock_condpair pPerl->Perl_unlock_condpair -#undef unlock_condpair -#define unlock_condpair Perl_unlock_condpair -#endif -#undef Perl_unsharepvn -#define Perl_unsharepvn pPerl->Perl_unsharepvn -#undef unsharepvn -#define unsharepvn Perl_unsharepvn -#undef Perl_utf16_to_utf8 -#define Perl_utf16_to_utf8 pPerl->Perl_utf16_to_utf8 -#undef 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 Perl_utf16_to_utf8_reversed -#undef Perl_utf8_length -#define Perl_utf8_length pPerl->Perl_utf8_length -#undef utf8_length -#define utf8_length Perl_utf8_length -#undef Perl_utf8_distance -#define Perl_utf8_distance pPerl->Perl_utf8_distance -#undef 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 Perl_utf8_hop -#undef Perl_utf8_to_bytes -#define Perl_utf8_to_bytes pPerl->Perl_utf8_to_bytes -#undef utf8_to_bytes -#define utf8_to_bytes Perl_utf8_to_bytes -#undef Perl_bytes_from_utf8 -#define Perl_bytes_from_utf8 pPerl->Perl_bytes_from_utf8 -#undef bytes_from_utf8 -#define bytes_from_utf8 Perl_bytes_from_utf8 -#undef Perl_bytes_to_utf8 -#define Perl_bytes_to_utf8 pPerl->Perl_bytes_to_utf8 -#undef bytes_to_utf8 -#define bytes_to_utf8 Perl_bytes_to_utf8 -#undef Perl_utf8_to_uvchr -#define Perl_utf8_to_uvchr pPerl->Perl_utf8_to_uvchr -#undef utf8_to_uvchr -#define utf8_to_uvchr Perl_utf8_to_uvchr -#undef Perl_utf8_to_uvuni -#define Perl_utf8_to_uvuni pPerl->Perl_utf8_to_uvuni -#undef utf8_to_uvuni -#define utf8_to_uvuni Perl_utf8_to_uvuni -#undef Perl_utf8n_to_uvchr -#define Perl_utf8n_to_uvchr pPerl->Perl_utf8n_to_uvchr -#undef utf8n_to_uvchr -#define utf8n_to_uvchr Perl_utf8n_to_uvchr -#undef Perl_utf8n_to_uvuni -#define Perl_utf8n_to_uvuni pPerl->Perl_utf8n_to_uvuni -#undef utf8n_to_uvuni -#define utf8n_to_uvuni Perl_utf8n_to_uvuni -#undef Perl_uvchr_to_utf8 -#define Perl_uvchr_to_utf8 pPerl->Perl_uvchr_to_utf8 -#undef uvchr_to_utf8 -#define uvchr_to_utf8 Perl_uvchr_to_utf8 -#undef Perl_uvuni_to_utf8 -#define Perl_uvuni_to_utf8 pPerl->Perl_uvuni_to_utf8 -#undef uvuni_to_utf8 -#define uvuni_to_utf8 Perl_uvuni_to_utf8 -#undef Perl_warn -#define Perl_warn pPerl->Perl_warn -#undef warn -#define warn Perl_warn -#undef Perl_vwarn -#define Perl_vwarn pPerl->Perl_vwarn -#undef vwarn -#define vwarn Perl_vwarn -#undef Perl_warner -#define Perl_warner pPerl->Perl_warner -#undef warner -#define warner Perl_warner -#undef Perl_vwarner -#define Perl_vwarner pPerl->Perl_vwarner -#undef vwarner -#define vwarner Perl_vwarner -#undef Perl_whichsig -#define Perl_whichsig pPerl->Perl_whichsig -#undef whichsig -#define whichsig Perl_whichsig -#ifdef USE_PURE_BISON -#endif -#if defined(MYMALLOC) -#undef Perl_dump_mstats -#define Perl_dump_mstats pPerl->Perl_dump_mstats -#undef dump_mstats -#define dump_mstats Perl_dump_mstats -#undef Perl_get_mstats -#define Perl_get_mstats pPerl->Perl_get_mstats -#undef get_mstats -#define get_mstats Perl_get_mstats -#endif -#undef Perl_safesysmalloc -#define Perl_safesysmalloc pPerl->Perl_safesysmalloc -#undef safesysmalloc -#define safesysmalloc Perl_safesysmalloc -#undef Perl_safesyscalloc -#define Perl_safesyscalloc pPerl->Perl_safesyscalloc -#undef safesyscalloc -#define safesyscalloc Perl_safesyscalloc -#undef Perl_safesysrealloc -#define Perl_safesysrealloc pPerl->Perl_safesysrealloc -#undef safesysrealloc -#define safesysrealloc Perl_safesysrealloc -#undef Perl_safesysfree -#define Perl_safesysfree pPerl->Perl_safesysfree -#undef safesysfree -#define safesysfree Perl_safesysfree -#if defined(LEAKTEST) -#undef Perl_safexmalloc -#define Perl_safexmalloc pPerl->Perl_safexmalloc -#undef safexmalloc -#define safexmalloc Perl_safexmalloc -#undef Perl_safexcalloc -#define Perl_safexcalloc pPerl->Perl_safexcalloc -#undef safexcalloc -#define safexcalloc Perl_safexcalloc -#undef Perl_safexrealloc -#define Perl_safexrealloc pPerl->Perl_safexrealloc -#undef safexrealloc -#define safexrealloc Perl_safexrealloc -#undef Perl_safexfree -#define Perl_safexfree pPerl->Perl_safexfree -#undef safexfree -#define safexfree Perl_safexfree -#endif -#if defined(PERL_GLOBAL_STRUCT) -#undef Perl_GetVars -#define Perl_GetVars pPerl->Perl_GetVars -#undef GetVars -#define GetVars Perl_GetVars -#endif -#undef Perl_runops_standard -#define Perl_runops_standard pPerl->Perl_runops_standard -#undef 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 Perl_runops_debug -#if defined(USE_5005THREADS) -#undef Perl_sv_lock -#define Perl_sv_lock pPerl->Perl_sv_lock -#undef sv_lock -#define sv_lock Perl_sv_lock -#endif -#undef Perl_sv_catpvf_mg -#define Perl_sv_catpvf_mg pPerl->Perl_sv_catpvf_mg -#undef sv_catpvf_mg -#define sv_catpvf_mg Perl_sv_catpvf_mg -#undef Perl_sv_vcatpvf_mg -#define Perl_sv_vcatpvf_mg pPerl->Perl_sv_vcatpvf_mg -#undef sv_vcatpvf_mg -#define sv_vcatpvf_mg Perl_sv_vcatpvf_mg -#undef Perl_sv_catpv_mg -#define Perl_sv_catpv_mg pPerl->Perl_sv_catpv_mg -#undef 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 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 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 Perl_sv_setpvf_mg -#undef Perl_sv_vsetpvf_mg -#define Perl_sv_vsetpvf_mg pPerl->Perl_sv_vsetpvf_mg -#undef sv_vsetpvf_mg -#define sv_vsetpvf_mg Perl_sv_vsetpvf_mg -#undef Perl_sv_setiv_mg -#define Perl_sv_setiv_mg pPerl->Perl_sv_setiv_mg -#undef 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 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 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 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 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 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 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 Perl_sv_usepvn_mg -#undef Perl_get_vtbl -#define Perl_get_vtbl pPerl->Perl_get_vtbl -#undef get_vtbl -#define get_vtbl Perl_get_vtbl -#undef Perl_dump_indent -#define Perl_dump_indent pPerl->Perl_dump_indent -#undef dump_indent -#define dump_indent Perl_dump_indent -#undef Perl_dump_vindent -#define Perl_dump_vindent pPerl->Perl_dump_vindent -#undef dump_vindent -#define dump_vindent Perl_dump_vindent -#undef Perl_do_gv_dump -#define Perl_do_gv_dump pPerl->Perl_do_gv_dump -#undef 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 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 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 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 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 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 Perl_do_sv_dump -#undef Perl_magic_dump -#define Perl_magic_dump pPerl->Perl_magic_dump -#undef magic_dump -#define magic_dump Perl_magic_dump -#if defined(PERL_FLEXIBLE_EXCEPTIONS) -#undef Perl_default_protect -#define Perl_default_protect pPerl->Perl_default_protect -#undef default_protect -#define default_protect Perl_default_protect -#undef Perl_vdefault_protect -#define Perl_vdefault_protect pPerl->Perl_vdefault_protect -#undef vdefault_protect -#define vdefault_protect Perl_vdefault_protect -#endif -#undef Perl_reginitcolors -#define Perl_reginitcolors pPerl->Perl_reginitcolors -#undef 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 Perl_sv_2pv_nolen -#undef Perl_sv_2pvutf8_nolen -#define Perl_sv_2pvutf8_nolen pPerl->Perl_sv_2pvutf8_nolen -#undef sv_2pvutf8_nolen -#define sv_2pvutf8_nolen Perl_sv_2pvutf8_nolen -#undef Perl_sv_2pvbyte_nolen -#define Perl_sv_2pvbyte_nolen pPerl->Perl_sv_2pvbyte_nolen -#undef sv_2pvbyte_nolen -#define sv_2pvbyte_nolen Perl_sv_2pvbyte_nolen -#undef Perl_sv_pv -#define Perl_sv_pv pPerl->Perl_sv_pv -#undef sv_pv -#define sv_pv Perl_sv_pv -#undef Perl_sv_pvutf8 -#define Perl_sv_pvutf8 pPerl->Perl_sv_pvutf8 -#undef sv_pvutf8 -#define sv_pvutf8 Perl_sv_pvutf8 -#undef Perl_sv_pvbyte -#define Perl_sv_pvbyte pPerl->Perl_sv_pvbyte -#undef sv_pvbyte -#define sv_pvbyte Perl_sv_pvbyte -#undef Perl_sv_utf8_upgrade -#define Perl_sv_utf8_upgrade pPerl->Perl_sv_utf8_upgrade -#undef sv_utf8_upgrade -#define sv_utf8_upgrade Perl_sv_utf8_upgrade -#undef Perl_sv_utf8_downgrade -#define Perl_sv_utf8_downgrade pPerl->Perl_sv_utf8_downgrade -#undef sv_utf8_downgrade -#define sv_utf8_downgrade Perl_sv_utf8_downgrade -#undef Perl_sv_utf8_encode -#define Perl_sv_utf8_encode pPerl->Perl_sv_utf8_encode -#undef sv_utf8_encode -#define sv_utf8_encode Perl_sv_utf8_encode -#undef Perl_sv_utf8_decode -#define Perl_sv_utf8_decode pPerl->Perl_sv_utf8_decode -#undef sv_utf8_decode -#define sv_utf8_decode Perl_sv_utf8_decode -#undef Perl_sv_force_normal -#define Perl_sv_force_normal pPerl->Perl_sv_force_normal -#undef sv_force_normal -#define sv_force_normal Perl_sv_force_normal -#undef Perl_sv_force_normal_flags -#define Perl_sv_force_normal_flags pPerl->Perl_sv_force_normal_flags -#undef sv_force_normal_flags -#define sv_force_normal_flags Perl_sv_force_normal_flags -#undef Perl_tmps_grow -#define Perl_tmps_grow pPerl->Perl_tmps_grow -#undef 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 Perl_sv_rvweaken -#undef Perl_newANONATTRSUB -#define Perl_newANONATTRSUB pPerl->Perl_newANONATTRSUB -#undef newANONATTRSUB -#define newANONATTRSUB Perl_newANONATTRSUB -#undef Perl_newATTRSUB -#define Perl_newATTRSUB pPerl->Perl_newATTRSUB -#undef newATTRSUB -#define newATTRSUB Perl_newATTRSUB -#undef Perl_newMYSUB -#define Perl_newMYSUB pPerl->Perl_newMYSUB -#undef newMYSUB -#define newMYSUB Perl_newMYSUB -#if defined(USE_ITHREADS) -#undef Perl_cx_dup -#define Perl_cx_dup pPerl->Perl_cx_dup -#undef cx_dup -#define cx_dup Perl_cx_dup -#undef Perl_si_dup -#define Perl_si_dup pPerl->Perl_si_dup -#undef si_dup -#define si_dup Perl_si_dup -#undef Perl_ss_dup -#define Perl_ss_dup pPerl->Perl_ss_dup -#undef ss_dup -#define ss_dup Perl_ss_dup -#undef Perl_any_dup -#define Perl_any_dup pPerl->Perl_any_dup -#undef any_dup -#define any_dup Perl_any_dup -#undef Perl_he_dup -#define Perl_he_dup pPerl->Perl_he_dup -#undef he_dup -#define he_dup Perl_he_dup -#undef Perl_re_dup -#define Perl_re_dup pPerl->Perl_re_dup -#undef re_dup -#define re_dup Perl_re_dup -#undef Perl_fp_dup -#define Perl_fp_dup pPerl->Perl_fp_dup -#undef fp_dup -#define fp_dup Perl_fp_dup -#undef Perl_dirp_dup -#define Perl_dirp_dup pPerl->Perl_dirp_dup -#undef dirp_dup -#define dirp_dup Perl_dirp_dup -#undef Perl_gp_dup -#define Perl_gp_dup pPerl->Perl_gp_dup -#undef gp_dup -#define gp_dup Perl_gp_dup -#undef Perl_mg_dup -#define Perl_mg_dup pPerl->Perl_mg_dup -#undef mg_dup -#define mg_dup Perl_mg_dup -#undef Perl_sv_dup -#define Perl_sv_dup pPerl->Perl_sv_dup -#undef sv_dup -#define sv_dup Perl_sv_dup -#if defined(HAVE_INTERP_INTERN) -#undef Perl_sys_intern_dup -#define Perl_sys_intern_dup pPerl->Perl_sys_intern_dup -#undef sys_intern_dup -#define sys_intern_dup Perl_sys_intern_dup -#endif -#undef Perl_ptr_table_new -#define Perl_ptr_table_new pPerl->Perl_ptr_table_new -#undef ptr_table_new -#define ptr_table_new Perl_ptr_table_new -#undef Perl_ptr_table_fetch -#define Perl_ptr_table_fetch pPerl->Perl_ptr_table_fetch -#undef ptr_table_fetch -#define ptr_table_fetch Perl_ptr_table_fetch -#undef Perl_ptr_table_store -#define Perl_ptr_table_store pPerl->Perl_ptr_table_store -#undef ptr_table_store -#define ptr_table_store Perl_ptr_table_store -#undef Perl_ptr_table_split -#define Perl_ptr_table_split pPerl->Perl_ptr_table_split -#undef ptr_table_split -#define ptr_table_split Perl_ptr_table_split -#undef Perl_ptr_table_clear -#define Perl_ptr_table_clear pPerl->Perl_ptr_table_clear -#undef ptr_table_clear -#define ptr_table_clear Perl_ptr_table_clear -#undef Perl_ptr_table_free -#define Perl_ptr_table_free pPerl->Perl_ptr_table_free -#undef ptr_table_free -#define ptr_table_free Perl_ptr_table_free -#endif -#if defined(HAVE_INTERP_INTERN) -#undef Perl_sys_intern_clear -#define Perl_sys_intern_clear pPerl->Perl_sys_intern_clear -#undef sys_intern_clear -#define sys_intern_clear Perl_sys_intern_clear -#undef Perl_sys_intern_init -#define Perl_sys_intern_init pPerl->Perl_sys_intern_init -#undef sys_intern_init -#define sys_intern_init Perl_sys_intern_init -#endif -#if defined(PERL_CUSTOM_OPS) -#undef Perl_custom_op_name -#define Perl_custom_op_name pPerl->Perl_custom_op_name -#undef custom_op_name -#define custom_op_name Perl_custom_op_name -#undef Perl_custom_op_desc -#define Perl_custom_op_desc pPerl->Perl_custom_op_desc -#undef custom_op_desc -#define custom_op_desc Perl_custom_op_desc -#endif -#if defined(PERL_OBJECT) -#else -#endif -#if defined(PERL_IN_AV_C) || defined(PERL_DECL_PROT) -#endif -#if defined(PERL_IN_DOOP_C) || defined(PERL_DECL_PROT) -#endif -#if defined(PERL_IN_GV_C) || defined(PERL_DECL_PROT) -#endif -#if defined(PERL_IN_HV_C) || defined(PERL_DECL_PROT) -#endif -#if defined(PERL_IN_MG_C) || defined(PERL_DECL_PROT) -#endif -#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT) -# if defined(DEBUG_CLOSURES) -# endif -# if defined(PL_OP_SLAB_ALLOC) -# endif -#endif -#if defined(PERL_IN_PERL_C) || defined(PERL_DECL_PROT) -# if defined(IAMSUID) -# endif -#if defined(PERL_FLEXIBLE_EXCEPTIONS) -#endif -# if defined(USE_5005THREADS) -# endif -#endif -#if defined(PERL_IN_PP_C) || defined(PERL_DECL_PROT) -#endif -#if defined(PERL_IN_PP_PACK_C) || defined(PERL_DECL_PROT) -#endif -#if defined(PERL_IN_PP_CTL_C) || defined(PERL_DECL_PROT) -#if defined(PERL_FLEXIBLE_EXCEPTIONS) -#endif -#endif -#if defined(PERL_IN_PP_HOT_C) || defined(PERL_DECL_PROT) -#endif -#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) || defined(PERL_DECL_PROT) -# ifdef DEBUGGING -# endif -#endif -#if defined(PERL_IN_REGEXEC_C) || defined(PERL_DECL_PROT) -#endif -#if defined(PERL_IN_RUN_C) || defined(PERL_DECL_PROT) -# ifdef DEBUGGING -# endif -#endif -#if defined(PERL_IN_SCOPE_C) || defined(PERL_DECL_PROT) -#endif -#if defined(USE_ITHREADS) && (defined(PERL_IN_SHAREDSV_C) || defined(PERL_DECL_PROT)) -#undef Perl_sharedsv_init -#define Perl_sharedsv_init pPerl->Perl_sharedsv_init -#undef sharedsv_init -#define sharedsv_init Perl_sharedsv_init -#undef Perl_sharedsv_new -#define Perl_sharedsv_new pPerl->Perl_sharedsv_new -#undef sharedsv_new -#define sharedsv_new Perl_sharedsv_new -#undef Perl_sharedsv_find -#define Perl_sharedsv_find pPerl->Perl_sharedsv_find -#undef sharedsv_find -#define sharedsv_find Perl_sharedsv_find -#undef Perl_sharedsv_lock -#define Perl_sharedsv_lock pPerl->Perl_sharedsv_lock -#undef sharedsv_lock -#define sharedsv_lock Perl_sharedsv_lock -#undef Perl_sharedsv_unlock -#define Perl_sharedsv_unlock pPerl->Perl_sharedsv_unlock -#undef sharedsv_unlock -#define sharedsv_unlock Perl_sharedsv_unlock -#undef Perl_sharedsv_thrcnt_inc -#define Perl_sharedsv_thrcnt_inc pPerl->Perl_sharedsv_thrcnt_inc -#undef sharedsv_thrcnt_inc -#define sharedsv_thrcnt_inc Perl_sharedsv_thrcnt_inc -#undef Perl_sharedsv_thrcnt_dec -#define Perl_sharedsv_thrcnt_dec pPerl->Perl_sharedsv_thrcnt_dec -#undef sharedsv_thrcnt_dec -#define sharedsv_thrcnt_dec Perl_sharedsv_thrcnt_dec -#endif -#if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT) -# ifdef DEBUGGING -# endif -# if !defined(NV_PRESERVES_UV) -# endif -# if defined(USE_ITHREADS) -# endif -#endif -#if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT) -# if defined(DEBUGGING) -# endif -#if 0 -#endif -# if defined(CRIPPLED_CC) -# endif -# if defined(PERL_CR_FILTER) -# endif -#endif -#if defined(PERL_IN_UNIVERSAL_C) || defined(PERL_DECL_PROT) -#endif -#if defined(PERL_IN_LOCALE_C) || defined(PERL_DECL_PROT) -#endif -#if defined(PERL_IN_UTIL_C) || defined(PERL_DECL_PROT) -# if defined(LEAKTEST) -# endif -#endif -#if defined(PERL_OBJECT) -#endif -#undef Perl_sv_setsv_flags -#define Perl_sv_setsv_flags pPerl->Perl_sv_setsv_flags -#undef sv_setsv_flags -#define sv_setsv_flags Perl_sv_setsv_flags -#undef Perl_sv_catpvn_flags -#define Perl_sv_catpvn_flags pPerl->Perl_sv_catpvn_flags -#undef sv_catpvn_flags -#define sv_catpvn_flags Perl_sv_catpvn_flags -#undef Perl_sv_catsv_flags -#define Perl_sv_catsv_flags pPerl->Perl_sv_catsv_flags -#undef sv_catsv_flags -#define sv_catsv_flags Perl_sv_catsv_flags -#undef Perl_sv_utf8_upgrade_flags -#define Perl_sv_utf8_upgrade_flags pPerl->Perl_sv_utf8_upgrade_flags -#undef sv_utf8_upgrade_flags -#define sv_utf8_upgrade_flags Perl_sv_utf8_upgrade_flags -#undef Perl_sv_pvn_force_flags -#define Perl_sv_pvn_force_flags pPerl->Perl_sv_pvn_force_flags -#undef sv_pvn_force_flags -#define sv_pvn_force_flags Perl_sv_pvn_force_flags -#undef Perl_sv_2pv_flags -#define Perl_sv_2pv_flags pPerl->Perl_sv_2pv_flags -#undef sv_2pv_flags -#define sv_2pv_flags Perl_sv_2pv_flags -#undef Perl_my_atof2 -#define Perl_my_atof2 pPerl->Perl_my_atof2 -#undef my_atof2 -#define my_atof2 Perl_my_atof2 - -#endif /* PERL_CORE && PERL_OBJECT */ -#endif /* __objXSUB_h__ */ diff --git a/op.c b/op.c index b19abea..d86f47b 100644 --- a/op.c +++ b/op.c @@ -4515,7 +4515,7 @@ Perl_cv_ckproto(pTHX_ CV *cv, GV *gv, char *p) } } -static void const_sv_xsub(pTHXo_ CV* cv); +static void const_sv_xsub(pTHX_ CV* cv); /* =for apidoc cv_const_sv @@ -7142,7 +7142,7 @@ char* custom_op_desc(pTHX_ OP* o) /* Efficient sub that returns a constant scalar value. */ static void -const_sv_xsub(pTHXo_ CV* cv) +const_sv_xsub(pTHX_ CV* cv) { dXSARGS; if (items != 0) { diff --git a/perl.c b/perl.c index 820f65d..f78d9b7 100644 --- a/perl.c +++ b/perl.c @@ -25,7 +25,7 @@ char *getenv (char *); /* Usually in */ #endif -static I32 read_e_script(pTHXo_ int idx, SV *buf_sv, int maxlen); +static I32 read_e_script(pTHX_ int idx, SV *buf_sv, int maxlen); #ifdef IAMSUID #ifndef DOSUID @@ -39,14 +39,6 @@ static I32 read_e_script(pTHXo_ int idx, SV *buf_sv, int maxlen); #endif #endif -#ifdef PERL_OBJECT -#define perl_construct Perl_construct -#define perl_parse Perl_parse -#define perl_run Perl_run -#define perl_destruct Perl_destruct -#define perl_free Perl_free -#endif - #if defined(USE_5005THREADS) # define INIT_TLS_AND_INTERP \ STMT_START { \ @@ -91,11 +83,6 @@ perl_alloc_using(struct IPerlMem* ipM, struct IPerlMem* ipMS, struct IPerlProc* ipP) { PerlInterpreter *my_perl; -#ifdef PERL_OBJECT - my_perl = (PerlInterpreter*)new(ipM) CPerlObj(ipM, ipMS, ipMP, ipE, ipStd, - ipLIO, ipD, ipS, ipP); - INIT_TLS_AND_INTERP; -#else /* New() needs interpreter, so call malloc() instead */ my_perl = (PerlInterpreter*)(*ipM->pMalloc)(ipM, sizeof(PerlInterpreter)); INIT_TLS_AND_INTERP; @@ -109,7 +96,6 @@ perl_alloc_using(struct IPerlMem* ipM, struct IPerlMem* ipMS, PL_Dir = ipD; PL_Sock = ipS; PL_Proc = ipP; -#endif return my_perl; } @@ -212,12 +198,7 @@ perl_construct(pTHXx) SvREFCNT(&PL_sv_yes) = (~(U32)0)/2; } -#ifdef PERL_OBJECT - /* TODO: */ - /* PL_sighandlerp = sighandler; */ -#else PL_sighandlerp = Perl_sighandler; -#endif PL_pidstatus = newHV(); #ifdef MSDOS @@ -450,7 +431,7 @@ perl_destruct(pTHXx) /* call exit list functions */ while (PL_exitlistlen-- > 0) - PL_exitlist[PL_exitlistlen].fn(aTHXo_ PL_exitlist[PL_exitlistlen].ptr); + PL_exitlist[PL_exitlistlen].fn(aTHX_ PL_exitlist[PL_exitlistlen].ptr); Safefree(PL_exitlist); @@ -874,34 +855,30 @@ Releases a Perl interpreter. See L. void perl_free(pTHXx) { -#if defined(PERL_OBJECT) - PerlMem_free(this); -#else -# if defined(WIN32) || defined(NETWARE) +#if defined(WIN32) || defined(NETWARE) # if defined(PERL_IMPLICIT_SYS) - #ifdef NETWARE - void *host = nw_internal_host; - #else - void *host = w32_internal_host; - #endif - #ifndef NETWARE - if (PerlProc_lasthost()) { +# ifdef NETWARE + void *host = nw_internal_host; +# else + void *host = w32_internal_host; +# endif +# ifndef NETWARE + if (PerlProc_lasthost()) { PerlIO_cleanup(); - } - #endif - PerlMem_free(aTHXx); - #ifdef NETWARE - nw5_delete_internal_host(host); - #else - win32_delete_internal_host(host); - #endif -#else - PerlIO_cleanup(); + } +# endif PerlMem_free(aTHXx); -#endif +# ifdef NETWARE + nw5_delete_internal_host(host); +# else + win32_delete_internal_host(host); +# endif # else + PerlIO_cleanup(); PerlMem_free(aTHXx); # endif +#else + PerlMem_free(aTHXx); #endif } @@ -1195,9 +1172,6 @@ S_parse_body(pTHX_ char **env, XSINIT_t xsinit) # ifdef USE_SOCKS sv_catpv(PL_Sv," USE_SOCKS"); # endif -# ifdef PERL_OBJECT - sv_catpv(PL_Sv," PERL_OBJECT"); -# endif # ifdef PERL_IMPLICIT_CONTEXT sv_catpv(PL_Sv," PERL_IMPLICIT_CONTEXT"); # endif @@ -1398,7 +1372,7 @@ print \" \\@INC:\\n @INC\\n\";"); #endif if (xsinit) - (*xsinit)(aTHXo); /* in case linked C routines want magical variables */ + (*xsinit)(aTHX); /* in case linked C routines want magical variables */ #ifndef PERL_MICRO #if defined(VMS) || defined(WIN32) || defined(DJGPP) || defined(__CYGWIN__) || defined(EPOC) init_os_extras(); @@ -2561,77 +2535,42 @@ STATIC void S_init_interp(pTHX) { -#ifdef PERL_OBJECT /* XXX kludge */ -#define I_REINIT \ - STMT_START { \ - PL_chopset = " \n-"; \ - PL_copline = NOLINE; \ - PL_curcop = &PL_compiling;\ - PL_curcopdb = NULL; \ - PL_dbargs = 0; \ - PL_dumpindent = 4; \ - PL_laststatval = -1; \ - PL_laststype = OP_STAT; \ - PL_maxscream = -1; \ - PL_maxsysfd = MAXSYSFD; \ - PL_statname = Nullsv; \ - PL_tmps_floor = -1; \ - PL_tmps_ix = -1; \ - PL_op_mask = NULL; \ - PL_laststatval = -1; \ - PL_laststype = OP_STAT; \ - PL_mess_sv = Nullsv; \ - PL_splitstr = " "; \ - PL_generation = 100; \ - PL_exitlist = NULL; \ - PL_exitlistlen = 0; \ - PL_regindent = 0; \ - PL_in_clean_objs = FALSE; \ - PL_in_clean_all = FALSE; \ - PL_profiledata = NULL; \ - PL_rsfp = Nullfp; \ - PL_rsfp_filters = Nullav; \ - PL_dirty = FALSE; \ - } STMT_END - I_REINIT; -#else -# ifdef MULTIPLICITY -# define PERLVAR(var,type) -# define PERLVARA(var,n,type) -# if defined(PERL_IMPLICIT_CONTEXT) -# if defined(USE_5005THREADS) -# define PERLVARI(var,type,init) PERL_GET_INTERP->var = init; -# define PERLVARIC(var,type,init) PERL_GET_INTERP->var = init; -# else /* !USE_5005THREADS */ -# define PERLVARI(var,type,init) aTHX->var = init; -# define PERLVARIC(var,type,init) aTHX->var = init; -# endif /* USE_5005THREADS */ -# else -# define PERLVARI(var,type,init) PERL_GET_INTERP->var = init; +#ifdef MULTIPLICITY +# define PERLVAR(var,type) +# define PERLVARA(var,n,type) +# if defined(PERL_IMPLICIT_CONTEXT) +# if defined(USE_5005THREADS) +# define PERLVARI(var,type,init) PERL_GET_INTERP->var = init; # define PERLVARIC(var,type,init) PERL_GET_INTERP->var = init; -# endif -# include "intrpvar.h" -# ifndef USE_5005THREADS -# include "thrdvar.h" -# endif -# undef PERLVAR -# undef PERLVARA -# undef PERLVARI -# undef PERLVARIC +# else /* !USE_5005THREADS */ +# define PERLVARI(var,type,init) aTHX->var = init; +# define PERLVARIC(var,type,init) aTHX->var = init; +# endif /* USE_5005THREADS */ # else -# define PERLVAR(var,type) -# define PERLVARA(var,n,type) -# define PERLVARI(var,type,init) PL_##var = init; -# define PERLVARIC(var,type,init) PL_##var = init; -# include "intrpvar.h" -# ifndef USE_5005THREADS -# include "thrdvar.h" -# endif -# undef PERLVAR -# undef PERLVARA -# undef PERLVARI -# undef PERLVARIC +# define PERLVARI(var,type,init) PERL_GET_INTERP->var = init; +# define PERLVARIC(var,type,init) PERL_GET_INTERP->var = init; # endif +# include "intrpvar.h" +# ifndef USE_5005THREADS +# include "thrdvar.h" +# endif +# undef PERLVAR +# undef PERLVARA +# undef PERLVARI +# undef PERLVARIC +#else +# define PERLVAR(var,type) +# define PERLVARA(var,n,type) +# define PERLVARI(var,type,init) PL_##var = init; +# define PERLVARIC(var,type,init) PL_##var = init; +# include "intrpvar.h" +# ifndef USE_5005THREADS +# include "thrdvar.h" +# endif +# undef PERLVAR +# undef PERLVARA +# undef PERLVARI +# undef PERLVARIC #endif } @@ -4045,12 +3984,8 @@ S_my_exit_jump(pTHX) JMPENV_JUMP(2); } -#ifdef PERL_OBJECT -#include "XSUB.h" -#endif - static I32 -read_e_script(pTHXo_ int idx, SV *buf_sv, int maxlen) +read_e_script(pTHX_ int idx, SV *buf_sv, int maxlen) { char *p, *nl; p = SvPVX(PL_e_script); diff --git a/perl.h b/perl.h index a699fd1..94eb55a 100644 --- a/perl.h +++ b/perl.h @@ -42,7 +42,7 @@ * PERL_IMPLICIT_CONTEXT and PERL_IMPLICIT_SYS */ #ifdef USE_ITHREADS -# if !defined(MULTIPLICITY) && !defined(PERL_OBJECT) +# if !defined(MULTIPLICITY) # define MULTIPLICITY # endif #endif @@ -59,125 +59,6 @@ # endif #endif -#ifdef PERL_CAPI -# undef PERL_OBJECT -# ifndef MULTIPLICITY -# define MULTIPLICITY -# endif -# ifndef PERL_IMPLICIT_CONTEXT -# define PERL_IMPLICIT_CONTEXT -# endif -# ifndef PERL_IMPLICIT_SYS -# define PERL_IMPLICIT_SYS -# endif -#endif - -#ifdef PERL_OBJECT -# ifndef PERL_IMPLICIT_CONTEXT -# define PERL_IMPLICIT_CONTEXT -# endif -# ifndef PERL_IMPLICIT_SYS -# define PERL_IMPLICIT_SYS -# endif -#endif - -#ifdef PERL_OBJECT - -/* PERL_OBJECT explained - DickH and DougL @ ActiveState.com - -Defining PERL_OBJECT turns on creation of a C++ object that -contains all writable core perl global variables and functions. -Stated another way, all necessary global variables and functions -are members of a big C++ object. This object's class is CPerlObj. -This allows a Perl Host to have multiple, independent perl -interpreters in the same process space. This is very important on -Win32 systems as the overhead of process creation is quite high -- -this could be even higher than the script compile and execute time -for small scripts. - -The perl executable implementation on Win32 is composed of perl.exe -(the Perl Host) and perlX.dll. (the Perl Core). This allows the -same Perl Core to easily be embedded in other applications that use -the perl interpreter. - -+-----------+ -| Perl Host | -+-----------+ - ^ - | - v -+-----------+ +-----------+ -| Perl Core |<->| Extension | -+-----------+ +-----------+ ... - -Defining PERL_OBJECT has the following effects: - -PERL CORE -1. CPerlObj is defined (this is the PERL_OBJECT) -2. all static functions that needed to access either global -variables or functions needed are made member functions -3. all writable static variables are made member variables -4. all global variables and functions are defined as: - #define var CPerlObj::PL_var - #define func CPerlObj::Perl_func - * these are in embed.h -This necessitated renaming some local variables and functions that -had the same name as a global variable or function. This was -probably a _good_ thing anyway. - - -EXTENSIONS -1. Access to global variables and perl functions is through a -pointer to the PERL_OBJECT. This pointer type is CPerlObj*. This is -made transparent to extension developers by the following macros: - #define var pPerl->PL_var - #define func pPerl->Perl_func - * these are done in objXSUB.h -This requires that the extension be compiled as C++, which means -that the code must be ANSI C and not K&R C. For K&R extensions, -please see the C API notes located in Win32/GenCAPI.pl. This script -creates a perlCAPI.lib that provides a K & R compatible C interface -to the PERL_OBJECT. -2. Local variables and functions cannot have the same name as perl's -variables or functions since the macros will redefine these. Look for -this if you get some strange error message and it does not look like -the code that you had written. This often happens with variables that -are local to a function. - -PERL HOST -1. The perl host is linked with perlX.lib to get perl_alloc. This -function will return a pointer to CPerlObj (the PERL_OBJECT). It -takes pointers to the various PerlXXX_YYY interfaces (see iperlsys.h -for more information on this). -2. The perl host calls the same functions as normally would be -called in setting up and running a perl script, except that the -functions are now member functions of the PERL_OBJECT. - -*/ - - -class CPerlObj; - -#define STATIC -#define CPERLscope(x) CPerlObj::x -#define CALL_FPTR(fptr) (aTHXo->*fptr) - -#define pTHXo CPerlObj *pPerl -#define pTHXo_ pTHXo, -#define aTHXo this -#define aTHXo_ this, -#define PERL_OBJECT_THIS aTHXo -#define PERL_OBJECT_THIS_ aTHXo_ -#define dTHXoa(a) pTHXo = (CPerlObj*)a -#define dTHXo pTHXo = PERL_GET_THX - -#define pTHXx void -#define pTHXx_ -#define aTHXx -#define aTHXx_ - -#else /* !PERL_OBJECT */ - #ifdef PERL_IMPLICIT_CONTEXT # ifdef USE_5005THREADS struct perl_thread; @@ -212,8 +93,6 @@ struct perl_thread; #define PERL_OBJECT_THIS_ #define CALL_FPTR(fptr) (*fptr) -#endif /* PERL_OBJECT */ - #define CALLRUNOPS CALL_FPTR(PL_runops) #define CALLREGCOMP CALL_FPTR(PL_regcompp) #define CALLREGEXEC CALL_FPTR(PL_regexecp) @@ -749,7 +628,7 @@ typedef struct perl_mstats perl_mstats_t; #include -#if defined(WIN32) && (defined(PERL_OBJECT) || defined(PERL_IMPLICIT_SYS) || defined(PERL_CAPI)) +#if defined(WIN32) && defined(PERL_IMPLICIT_SYS) # define WIN32SCK_IS_STDSCK /* don't pull in custom wsock layer */ #endif @@ -2111,10 +1990,6 @@ typedef pthread_key_t perl_key; # else # ifdef MULTIPLICITY # define PERL_GET_THX ((PerlInterpreter *)PERL_GET_CONTEXT) -# else -# ifdef PERL_OBJECT -# define PERL_GET_THX ((CPerlObj *)PERL_GET_CONTEXT) -# endif # endif # endif # define PERL_SET_THX(t) PERL_SET_CONTEXT(t) @@ -2185,7 +2060,7 @@ union any { IV any_iv; long any_long; void (*any_dptr) (void*); - void (*any_dxptr) (pTHXo_ void*); + void (*any_dxptr) (pTHX_ void*); }; #endif @@ -2195,7 +2070,7 @@ union any { #define ARGSproto #endif /* USE_5005THREADS */ -typedef I32 (*filter_t) (pTHXo_ int, SV *, int); +typedef I32 (*filter_t) (pTHX_ int, SV *, int); #define FILTER_READ(idx, sv, len) filter_read(idx, sv, len) #define FILTER_DATA(idx) (AvARRAY(PL_rsfp_filters)[idx]) @@ -2463,16 +2338,12 @@ Gid_t getegid (void); # define DEBUG_c(a) if (DEBUG_c_TEST) a # define DEBUG_P(a) if (DEBUG_P_TEST) a -# if defined(PERL_OBJECT) -# define DEBUG_m(a) if (DEBUG_m_TEST) a -# else /* Temporarily turn off memory debugging in case the a * does memory allocation, either directly or indirectly. */ -# define DEBUG_m(a) \ +# define DEBUG_m(a) \ STMT_START { \ if (PERL_GET_INTERP) { dTHX; if (DEBUG_m_TEST) {PL_debug&=~DEBUG_m_FLAG; a; PL_debug|=DEBUG_m_FLAG;} } \ } STMT_END -# endif # define DEBUG__(t, a) \ STMT_START { \ @@ -3207,12 +3078,12 @@ typedef SV* (CPERLscope(*re_intuit_string_t)) (pTHX_ regexp *prog); typedef void (CPERLscope(*regfree_t)) (pTHX_ struct regexp* r); typedef void (*DESTRUCTORFUNC_NOCONTEXT_t) (void*); -typedef void (*DESTRUCTORFUNC_t) (pTHXo_ void*); -typedef void (*SVFUNC_t) (pTHXo_ SV*); -typedef I32 (*SVCOMPARE_t) (pTHXo_ SV*, SV*); -typedef void (*XSINIT_t) (pTHXo); -typedef void (*ATEXIT_t) (pTHXo_ void*); -typedef void (*XSUBADDR_t) (pTHXo_ CV *); +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 *); /* Set up PERLVAR macros for populating structs */ #define PERLVAR(var,type) type var; @@ -3222,7 +3093,7 @@ typedef void (*XSUBADDR_t) (pTHXo_ CV *); /* Interpreter exitlist entry */ typedef struct exitlistentry { - void (*fn) (pTHXo_ void*); + void (*fn) (pTHX_ void*); void *ptr; } PerlExitListEntry; @@ -3244,7 +3115,7 @@ struct perl_vars *PL_VarsPtr; # endif /* PERL_CORE */ #endif /* PERL_GLOBAL_STRUCT */ -#if defined(MULTIPLICITY) || defined(PERL_OBJECT) +#if defined(MULTIPLICITY) /* If we have multiple interpreters define a struct holding variables which must be per-interpreter If we don't have threads anything that would have @@ -3258,7 +3129,7 @@ struct interpreter { # include "intrpvar.h" /* * The following is a buffer where new variables must - * be defined to maintain binary compatibility with PERL_OBJECT + * be defined to maintain binary compatibility with previous versions */ PERLVARA(object_compatibility,30, char) }; @@ -3267,7 +3138,7 @@ PERLVARA(object_compatibility,30, char) struct interpreter { char broiled; }; -#endif /* MULTIPLICITY || PERL_OBJECT */ +#endif /* MULTIPLICITY */ #ifdef USE_5005THREADS /* If we have threads define a struct with all the variables @@ -3307,10 +3178,6 @@ typedef void *Thread; # endif #endif -#ifdef PERL_OBJECT -# define PERL_DECL_PROT -#endif - #undef PERL_CKDEF #undef PERL_PPDEF #define PERL_CKDEF(s) OP *s (pTHX_ OP *o); @@ -3318,14 +3185,8 @@ typedef void *Thread; #include "proto.h" -#ifdef PERL_OBJECT -# undef PERL_DECL_PROT -#endif - -#ifndef PERL_OBJECT /* this has structure inits, so it cannot be included before here */ -# include "opcode.h" -#endif +#include "opcode.h" /* The following must follow proto.h as #defines mess up syntax */ @@ -3343,7 +3204,7 @@ typedef void *Thread; #define PERLVARI(var,type,init) EXT type PL_##var INIT(init); #define PERLVARIC(var,type,init) EXTCONST type PL_##var INIT(init); -#if !defined(MULTIPLICITY) && !defined(PERL_OBJECT) +#if !defined(MULTIPLICITY) START_EXTERN_C # include "intrpvar.h" # ifndef USE_5005THREADS @@ -3352,23 +3213,9 @@ START_EXTERN_C END_EXTERN_C #endif -#ifdef PERL_OBJECT +#if defined(WIN32) # include "embed.h" - -# ifdef DOINIT -# include "INTERN.h" -# else -# include "EXTERN.h" -# endif - -/* this has structure inits, so it cannot be included before here */ -# include "opcode.h" - -#else -# if defined(WIN32) -# include "embed.h" -# endif -#endif /* PERL_OBJECT */ +#endif #ifndef PERL_GLOBAL_STRUCT START_EXTERN_C diff --git a/perlapi.c b/perlapi.c index 64f9378..91d4f15 100644 --- a/perlapi.c +++ b/perlapi.c @@ -7,7 +7,7 @@ #include "perl.h" #include "perlapi.h" -#if defined(PERL_OBJECT) || defined (MULTIPLICITY) +#if defined (MULTIPLICITY) /* accessor functions for Perl variables (provides binary compatibility) */ START_EXTERN_C @@ -17,17 +17,10 @@ START_EXTERN_C #undef PERLVARI #undef PERLVARIC -#if defined(PERL_OBJECT) -#define PERLVAR(v,t) t* Perl_##v##_ptr(pTHXo) \ - { return &(aTHXo->interp.v); } -#define PERLVARA(v,n,t) PL_##v##_t* Perl_##v##_ptr(pTHXo) \ - { return &(aTHXo->interp.v); } -#else /* MULTIPLICITY */ #define PERLVAR(v,t) t* Perl_##v##_ptr(pTHX) \ { return &(aTHX->v); } #define PERLVARA(v,n,t) PL_##v##_t* Perl_##v##_ptr(pTHX) \ { return &(aTHX->v); } -#endif #define PERLVARI(v,t,i) PERLVAR(v,t) #define PERLVARIC(v,t,i) PERLVAR(v, const t) @@ -37,12 +30,12 @@ START_EXTERN_C #undef PERLVAR #undef PERLVARA -#define PERLVAR(v,t) t* Perl_##v##_ptr(pTHXo) \ +#define PERLVAR(v,t) t* Perl_##v##_ptr(pTHX) \ { return &(PL_##v); } -#define PERLVARA(v,n,t) PL_##v##_t* Perl_##v##_ptr(pTHXo) \ +#define PERLVARA(v,n,t) PL_##v##_t* Perl_##v##_ptr(pTHX) \ { return &(PL_##v); } #undef PERLVARIC -#define PERLVARIC(v,t,i) const t* Perl_##v##_ptr(pTHXo) \ +#define PERLVARIC(v,t,i) const t* Perl_##v##_ptr(pTHX) \ { return (const t *)&(PL_##v); } #include "perlvars.h" @@ -51,4387 +44,6 @@ START_EXTERN_C #undef PERLVARI #undef PERLVARIC -#if defined(PERL_OBJECT) - -/* C-API layer for PERL_OBJECT */ - -#if defined(PERL_IMPLICIT_SYS) -#endif -#if defined(USE_ITHREADS) -# if defined(PERL_IMPLICIT_SYS) -# endif -#endif -#if defined(MYMALLOC) -#endif -#if defined(PERL_OBJECT) -#ifndef __BORLANDC__ -#endif -#endif -#if defined(PERL_OBJECT) -#else -#endif - -#undef Perl_amagic_call -SV* -Perl_amagic_call(pTHXo_ SV* left, SV* right, int method, int dir) -{ - return ((CPerlObj*)pPerl)->Perl_amagic_call(left, right, method, dir); -} - -#undef Perl_Gv_AMupdate -bool -Perl_Gv_AMupdate(pTHXo_ HV* stash) -{ - return ((CPerlObj*)pPerl)->Perl_Gv_AMupdate(stash); -} - -#undef Perl_gv_handler -CV* -Perl_gv_handler(pTHXo_ HV* stash, I32 id) -{ - return ((CPerlObj*)pPerl)->Perl_gv_handler(stash, id); -} - -#undef Perl_apply_attrs_string -void -Perl_apply_attrs_string(pTHXo_ char *stashpv, CV *cv, char *attrstr, STRLEN len) -{ - ((CPerlObj*)pPerl)->Perl_apply_attrs_string(stashpv, cv, attrstr, len); -} - -#undef Perl_avhv_delete_ent -SV* -Perl_avhv_delete_ent(pTHXo_ AV *ar, SV* keysv, I32 flags, U32 hash) -{ - return ((CPerlObj*)pPerl)->Perl_avhv_delete_ent(ar, keysv, flags, hash); -} - -#undef Perl_avhv_exists_ent -bool -Perl_avhv_exists_ent(pTHXo_ AV *ar, SV* keysv, U32 hash) -{ - return ((CPerlObj*)pPerl)->Perl_avhv_exists_ent(ar, keysv, hash); -} - -#undef Perl_avhv_fetch_ent -SV** -Perl_avhv_fetch_ent(pTHXo_ AV *ar, SV* keysv, I32 lval, U32 hash) -{ - return ((CPerlObj*)pPerl)->Perl_avhv_fetch_ent(ar, keysv, lval, hash); -} - -#undef Perl_avhv_store_ent -SV** -Perl_avhv_store_ent(pTHXo_ AV *ar, SV* keysv, SV* val, U32 hash) -{ - return ((CPerlObj*)pPerl)->Perl_avhv_store_ent(ar, keysv, val, hash); -} - -#undef Perl_avhv_iternext -HE* -Perl_avhv_iternext(pTHXo_ AV *ar) -{ - return ((CPerlObj*)pPerl)->Perl_avhv_iternext(ar); -} - -#undef Perl_avhv_iterval -SV* -Perl_avhv_iterval(pTHXo_ AV *ar, HE* entry) -{ - return ((CPerlObj*)pPerl)->Perl_avhv_iterval(ar, entry); -} - -#undef Perl_avhv_keys -HV* -Perl_avhv_keys(pTHXo_ AV *ar) -{ - return ((CPerlObj*)pPerl)->Perl_avhv_keys(ar); -} - -#undef Perl_av_clear -void -Perl_av_clear(pTHXo_ AV* ar) -{ - ((CPerlObj*)pPerl)->Perl_av_clear(ar); -} - -#undef Perl_av_delete -SV* -Perl_av_delete(pTHXo_ AV* ar, I32 key, I32 flags) -{ - return ((CPerlObj*)pPerl)->Perl_av_delete(ar, key, flags); -} - -#undef Perl_av_exists -bool -Perl_av_exists(pTHXo_ AV* ar, I32 key) -{ - return ((CPerlObj*)pPerl)->Perl_av_exists(ar, key); -} - -#undef Perl_av_extend -void -Perl_av_extend(pTHXo_ AV* ar, I32 key) -{ - ((CPerlObj*)pPerl)->Perl_av_extend(ar, key); -} - -#undef Perl_av_fetch -SV** -Perl_av_fetch(pTHXo_ AV* ar, I32 key, I32 lval) -{ - return ((CPerlObj*)pPerl)->Perl_av_fetch(ar, key, lval); -} - -#undef Perl_av_fill -void -Perl_av_fill(pTHXo_ AV* ar, I32 fill) -{ - ((CPerlObj*)pPerl)->Perl_av_fill(ar, fill); -} - -#undef Perl_av_len -I32 -Perl_av_len(pTHXo_ AV* ar) -{ - return ((CPerlObj*)pPerl)->Perl_av_len(ar); -} - -#undef Perl_av_make -AV* -Perl_av_make(pTHXo_ I32 size, SV** svp) -{ - return ((CPerlObj*)pPerl)->Perl_av_make(size, svp); -} - -#undef Perl_av_pop -SV* -Perl_av_pop(pTHXo_ AV* ar) -{ - return ((CPerlObj*)pPerl)->Perl_av_pop(ar); -} - -#undef Perl_av_push -void -Perl_av_push(pTHXo_ AV* ar, SV* val) -{ - ((CPerlObj*)pPerl)->Perl_av_push(ar, val); -} - -#undef Perl_av_shift -SV* -Perl_av_shift(pTHXo_ AV* ar) -{ - return ((CPerlObj*)pPerl)->Perl_av_shift(ar); -} - -#undef Perl_av_store -SV** -Perl_av_store(pTHXo_ AV* ar, I32 key, SV* val) -{ - return ((CPerlObj*)pPerl)->Perl_av_store(ar, key, val); -} - -#undef Perl_av_undef -void -Perl_av_undef(pTHXo_ AV* ar) -{ - ((CPerlObj*)pPerl)->Perl_av_undef(ar); -} - -#undef Perl_av_unshift -void -Perl_av_unshift(pTHXo_ AV* ar, I32 num) -{ - ((CPerlObj*)pPerl)->Perl_av_unshift(ar, num); -} - -#undef Perl_block_gimme -I32 -Perl_block_gimme(pTHXo) -{ - return ((CPerlObj*)pPerl)->Perl_block_gimme(); -} - -#undef Perl_call_list -void -Perl_call_list(pTHXo_ I32 oldscope, AV* av_list) -{ - ((CPerlObj*)pPerl)->Perl_call_list(oldscope, av_list); -} - -#undef Perl_cast_ulong -U32 -Perl_cast_ulong(pTHXo_ NV f) -{ - return ((CPerlObj*)pPerl)->Perl_cast_ulong(f); -} - -#undef Perl_cast_i32 -I32 -Perl_cast_i32(pTHXo_ NV f) -{ - return ((CPerlObj*)pPerl)->Perl_cast_i32(f); -} - -#undef Perl_cast_iv -IV -Perl_cast_iv(pTHXo_ NV f) -{ - return ((CPerlObj*)pPerl)->Perl_cast_iv(f); -} - -#undef Perl_cast_uv -UV -Perl_cast_uv(pTHXo_ NV f) -{ - return ((CPerlObj*)pPerl)->Perl_cast_uv(f); -} -#if !defined(HAS_TRUNCATE) && !defined(HAS_CHSIZE) && defined(F_FREESP) - -#undef Perl_my_chsize -I32 -Perl_my_chsize(pTHXo_ int fd, Off_t length) -{ - return ((CPerlObj*)pPerl)->Perl_my_chsize(fd, length); -} -#endif -#if defined(USE_5005THREADS) - -#undef Perl_condpair_magic -MAGIC* -Perl_condpair_magic(pTHXo_ SV *sv) -{ - return ((CPerlObj*)pPerl)->Perl_condpair_magic(sv); -} -#endif - -#undef Perl_croak -void -Perl_croak(pTHXo_ const char* pat, ...) -{ - va_list args; - va_start(args, pat); - ((CPerlObj*)pPerl)->Perl_vcroak(pat, &args); - va_end(args); -} - -#undef Perl_vcroak -void -Perl_vcroak(pTHXo_ const char* pat, va_list* args) -{ - ((CPerlObj*)pPerl)->Perl_vcroak(pat, args); -} -#if defined(PERL_IMPLICIT_CONTEXT) - -#undef Perl_croak_nocontext -void -Perl_croak_nocontext(const char* pat, ...) -{ - dTHXo; - va_list args; - va_start(args, pat); - ((CPerlObj*)pPerl)->Perl_vcroak(pat, &args); - va_end(args); -} - -#undef Perl_die_nocontext -OP* -Perl_die_nocontext(const char* pat, ...) -{ - dTHXo; - OP* retval; - va_list args; - va_start(args, pat); - retval = ((CPerlObj*)pPerl)->Perl_vdie(pat, &args); - va_end(args); - return retval; - -} - -#undef Perl_deb_nocontext -void -Perl_deb_nocontext(const char* pat, ...) -{ - dTHXo; - va_list args; - va_start(args, pat); - ((CPerlObj*)pPerl)->Perl_vdeb(pat, &args); - va_end(args); -} - -#undef Perl_form_nocontext -char* -Perl_form_nocontext(const char* pat, ...) -{ - dTHXo; - char* retval; - va_list args; - va_start(args, pat); - retval = ((CPerlObj*)pPerl)->Perl_vform(pat, &args); - va_end(args); - return retval; - -} - -#undef Perl_load_module_nocontext -void -Perl_load_module_nocontext(U32 flags, SV* name, SV* ver, ...) -{ - dTHXo; - va_list args; - va_start(args, ver); - ((CPerlObj*)pPerl)->Perl_vload_module(flags, name, ver, &args); - va_end(args); -} - -#undef Perl_mess_nocontext -SV* -Perl_mess_nocontext(const char* pat, ...) -{ - dTHXo; - SV* retval; - va_list args; - va_start(args, pat); - retval = ((CPerlObj*)pPerl)->Perl_vmess(pat, &args); - va_end(args); - return retval; - -} - -#undef Perl_warn_nocontext -void -Perl_warn_nocontext(const char* pat, ...) -{ - dTHXo; - va_list args; - va_start(args, pat); - ((CPerlObj*)pPerl)->Perl_vwarn(pat, &args); - va_end(args); -} - -#undef Perl_warner_nocontext -void -Perl_warner_nocontext(U32 err, const char* pat, ...) -{ - dTHXo; - va_list args; - va_start(args, pat); - ((CPerlObj*)pPerl)->Perl_vwarner(err, pat, &args); - va_end(args); -} - -#undef Perl_newSVpvf_nocontext -SV* -Perl_newSVpvf_nocontext(const char* pat, ...) -{ - dTHXo; - SV* retval; - va_list args; - va_start(args, pat); - retval = ((CPerlObj*)pPerl)->Perl_vnewSVpvf(pat, &args); - va_end(args); - return retval; - -} - -#undef Perl_sv_catpvf_nocontext -void -Perl_sv_catpvf_nocontext(SV* sv, const char* pat, ...) -{ - dTHXo; - va_list args; - va_start(args, pat); - ((CPerlObj*)pPerl)->Perl_sv_vcatpvf(sv, pat, &args); - va_end(args); -} - -#undef Perl_sv_setpvf_nocontext -void -Perl_sv_setpvf_nocontext(SV* sv, const char* pat, ...) -{ - dTHXo; - va_list args; - va_start(args, pat); - ((CPerlObj*)pPerl)->Perl_sv_vsetpvf(sv, pat, &args); - va_end(args); -} - -#undef Perl_sv_catpvf_mg_nocontext -void -Perl_sv_catpvf_mg_nocontext(SV* sv, const char* pat, ...) -{ - dTHXo; - va_list args; - va_start(args, pat); - ((CPerlObj*)pPerl)->Perl_sv_vcatpvf_mg(sv, pat, &args); - va_end(args); -} - -#undef Perl_sv_setpvf_mg_nocontext -void -Perl_sv_setpvf_mg_nocontext(SV* sv, const char* pat, ...) -{ - dTHXo; - va_list args; - va_start(args, pat); - ((CPerlObj*)pPerl)->Perl_sv_vsetpvf_mg(sv, pat, &args); - va_end(args); -} - -#undef Perl_fprintf_nocontext - -#undef Perl_printf_nocontext -#endif - -#undef Perl_cv_const_sv -SV* -Perl_cv_const_sv(pTHXo_ CV* cv) -{ - return ((CPerlObj*)pPerl)->Perl_cv_const_sv(cv); -} - -#undef Perl_cv_undef -void -Perl_cv_undef(pTHXo_ CV* cv) -{ - ((CPerlObj*)pPerl)->Perl_cv_undef(cv); -} - -#undef Perl_cx_dump -void -Perl_cx_dump(pTHXo_ PERL_CONTEXT* cs) -{ - ((CPerlObj*)pPerl)->Perl_cx_dump(cs); -} - -#undef Perl_filter_add -SV* -Perl_filter_add(pTHXo_ filter_t funcp, SV* datasv) -{ - return ((CPerlObj*)pPerl)->Perl_filter_add(funcp, datasv); -} - -#undef Perl_filter_del -void -Perl_filter_del(pTHXo_ filter_t funcp) -{ - ((CPerlObj*)pPerl)->Perl_filter_del(funcp); -} - -#undef Perl_filter_read -I32 -Perl_filter_read(pTHXo_ int idx, SV* buffer, int maxlen) -{ - return ((CPerlObj*)pPerl)->Perl_filter_read(idx, buffer, maxlen); -} - -#undef Perl_get_op_descs -char** -Perl_get_op_descs(pTHXo) -{ - return ((CPerlObj*)pPerl)->Perl_get_op_descs(); -} - -#undef Perl_get_op_names -char** -Perl_get_op_names(pTHXo) -{ - return ((CPerlObj*)pPerl)->Perl_get_op_names(); -} - -#undef Perl_get_ppaddr -PPADDR_t* -Perl_get_ppaddr(pTHXo) -{ - return ((CPerlObj*)pPerl)->Perl_get_ppaddr(); -} - -#undef Perl_deb -void -Perl_deb(pTHXo_ const char* pat, ...) -{ - va_list args; - va_start(args, pat); - ((CPerlObj*)pPerl)->Perl_vdeb(pat, &args); - va_end(args); -} - -#undef Perl_vdeb -void -Perl_vdeb(pTHXo_ const char* pat, va_list* args) -{ - ((CPerlObj*)pPerl)->Perl_vdeb(pat, args); -} - -#undef Perl_debprofdump -void -Perl_debprofdump(pTHXo) -{ - ((CPerlObj*)pPerl)->Perl_debprofdump(); -} - -#undef Perl_debop -I32 -Perl_debop(pTHXo_ OP* o) -{ - return ((CPerlObj*)pPerl)->Perl_debop(o); -} - -#undef Perl_debstack -I32 -Perl_debstack(pTHXo) -{ - return ((CPerlObj*)pPerl)->Perl_debstack(); -} - -#undef Perl_debstackptrs -I32 -Perl_debstackptrs(pTHXo) -{ - return ((CPerlObj*)pPerl)->Perl_debstackptrs(); -} - -#undef Perl_delimcpy -char* -Perl_delimcpy(pTHXo_ char* to, char* toend, char* from, char* fromend, int delim, I32* retlen) -{ - return ((CPerlObj*)pPerl)->Perl_delimcpy(to, toend, from, fromend, delim, retlen); -} - -#undef Perl_die -OP* -Perl_die(pTHXo_ const char* pat, ...) -{ - OP* retval; - va_list args; - va_start(args, pat); - retval = ((CPerlObj*)pPerl)->Perl_vdie(pat, &args); - va_end(args); - return retval; - -} - -#undef Perl_dounwind -void -Perl_dounwind(pTHXo_ I32 cxix) -{ - ((CPerlObj*)pPerl)->Perl_dounwind(cxix); -} - -#undef Perl_do_binmode -int -Perl_do_binmode(pTHXo_ PerlIO *fp, int iotype, int mode) -{ - return ((CPerlObj*)pPerl)->Perl_do_binmode(fp, iotype, mode); -} - -#undef Perl_do_close -bool -Perl_do_close(pTHXo_ GV* gv, bool not_implicit) -{ - return ((CPerlObj*)pPerl)->Perl_do_close(gv, not_implicit); -} -#if !defined(WIN32) -#endif -#if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM) -#endif - -#undef Perl_do_join -void -Perl_do_join(pTHXo_ SV* sv, SV* del, SV** mark, SV** sp) -{ - ((CPerlObj*)pPerl)->Perl_do_join(sv, del, mark, sp); -} - -#undef Perl_do_open -bool -Perl_do_open(pTHXo_ GV* gv, char* name, I32 len, int as_raw, int rawmode, int rawperm, PerlIO* supplied_fp) -{ - return ((CPerlObj*)pPerl)->Perl_do_open(gv, name, len, as_raw, rawmode, rawperm, supplied_fp); -} - -#undef Perl_do_open9 -bool -Perl_do_open9(pTHXo_ GV *gv, char *name, I32 len, int as_raw, int rawmode, int rawperm, PerlIO *supplied_fp, SV *svs, I32 num) -{ - return ((CPerlObj*)pPerl)->Perl_do_open9(gv, name, len, as_raw, rawmode, rawperm, supplied_fp, svs, num); -} - -#undef Perl_do_openn -bool -Perl_do_openn(pTHXo_ GV *gv, char *name, I32 len, int as_raw, int rawmode, int rawperm, PerlIO *supplied_fp, SV **svp, I32 num) -{ - return ((CPerlObj*)pPerl)->Perl_do_openn(gv, name, len, as_raw, rawmode, rawperm, supplied_fp, svp, num); -} - -#undef Perl_dowantarray -I32 -Perl_dowantarray(pTHXo) -{ - return ((CPerlObj*)pPerl)->Perl_dowantarray(); -} - -#undef Perl_dump_all -void -Perl_dump_all(pTHXo) -{ - ((CPerlObj*)pPerl)->Perl_dump_all(); -} - -#undef Perl_dump_eval -void -Perl_dump_eval(pTHXo) -{ - ((CPerlObj*)pPerl)->Perl_dump_eval(); -} -#if defined(DUMP_FDS) - -#undef Perl_dump_fds -void -Perl_dump_fds(pTHXo_ char* s) -{ - ((CPerlObj*)pPerl)->Perl_dump_fds(s); -} -#endif - -#undef Perl_dump_form -void -Perl_dump_form(pTHXo_ GV* gv) -{ - ((CPerlObj*)pPerl)->Perl_dump_form(gv); -} - -#undef Perl_gv_dump -void -Perl_gv_dump(pTHXo_ GV* gv) -{ - ((CPerlObj*)pPerl)->Perl_gv_dump(gv); -} - -#undef Perl_op_dump -void -Perl_op_dump(pTHXo_ OP* arg) -{ - ((CPerlObj*)pPerl)->Perl_op_dump(arg); -} - -#undef Perl_pmop_dump -void -Perl_pmop_dump(pTHXo_ PMOP* pm) -{ - ((CPerlObj*)pPerl)->Perl_pmop_dump(pm); -} - -#undef Perl_dump_packsubs -void -Perl_dump_packsubs(pTHXo_ HV* stash) -{ - ((CPerlObj*)pPerl)->Perl_dump_packsubs(stash); -} - -#undef Perl_dump_sub -void -Perl_dump_sub(pTHXo_ GV* gv) -{ - ((CPerlObj*)pPerl)->Perl_dump_sub(gv); -} - -#undef Perl_fbm_compile -void -Perl_fbm_compile(pTHXo_ SV* sv, U32 flags) -{ - ((CPerlObj*)pPerl)->Perl_fbm_compile(sv, flags); -} - -#undef Perl_fbm_instr -char* -Perl_fbm_instr(pTHXo_ unsigned char* big, unsigned char* bigend, SV* littlesv, U32 flags) -{ - return ((CPerlObj*)pPerl)->Perl_fbm_instr(big, bigend, littlesv, flags); -} -#if defined(USE_5005THREADS) -#endif - -#undef Perl_form -char* -Perl_form(pTHXo_ const char* pat, ...) -{ - char* retval; - va_list args; - va_start(args, pat); - retval = ((CPerlObj*)pPerl)->Perl_vform(pat, &args); - va_end(args); - return retval; - -} - -#undef Perl_vform -char* -Perl_vform(pTHXo_ const char* pat, va_list* args) -{ - return ((CPerlObj*)pPerl)->Perl_vform(pat, args); -} - -#undef Perl_free_tmps -void -Perl_free_tmps(pTHXo) -{ - ((CPerlObj*)pPerl)->Perl_free_tmps(); -} -#if !defined(HAS_GETENV_LEN) -#endif - -#undef Perl_gp_free -void -Perl_gp_free(pTHXo_ GV* gv) -{ - ((CPerlObj*)pPerl)->Perl_gp_free(gv); -} - -#undef Perl_gp_ref -GP* -Perl_gp_ref(pTHXo_ GP* gp) -{ - return ((CPerlObj*)pPerl)->Perl_gp_ref(gp); -} - -#undef Perl_gv_AVadd -GV* -Perl_gv_AVadd(pTHXo_ GV* gv) -{ - return ((CPerlObj*)pPerl)->Perl_gv_AVadd(gv); -} - -#undef Perl_gv_HVadd -GV* -Perl_gv_HVadd(pTHXo_ GV* gv) -{ - return ((CPerlObj*)pPerl)->Perl_gv_HVadd(gv); -} - -#undef Perl_gv_IOadd -GV* -Perl_gv_IOadd(pTHXo_ GV* gv) -{ - return ((CPerlObj*)pPerl)->Perl_gv_IOadd(gv); -} - -#undef Perl_gv_autoload4 -GV* -Perl_gv_autoload4(pTHXo_ HV* stash, const char* name, STRLEN len, I32 method) -{ - return ((CPerlObj*)pPerl)->Perl_gv_autoload4(stash, name, len, method); -} - -#undef Perl_gv_check -void -Perl_gv_check(pTHXo_ HV* stash) -{ - ((CPerlObj*)pPerl)->Perl_gv_check(stash); -} - -#undef Perl_gv_efullname -void -Perl_gv_efullname(pTHXo_ SV* sv, GV* gv) -{ - ((CPerlObj*)pPerl)->Perl_gv_efullname(sv, gv); -} - -#undef Perl_gv_efullname3 -void -Perl_gv_efullname3(pTHXo_ SV* sv, GV* gv, const char* prefix) -{ - ((CPerlObj*)pPerl)->Perl_gv_efullname3(sv, gv, prefix); -} - -#undef Perl_gv_efullname4 -void -Perl_gv_efullname4(pTHXo_ SV* sv, GV* gv, const char* prefix, bool keepmain) -{ - ((CPerlObj*)pPerl)->Perl_gv_efullname4(sv, gv, prefix, keepmain); -} - -#undef Perl_gv_fetchfile -GV* -Perl_gv_fetchfile(pTHXo_ const char* name) -{ - return ((CPerlObj*)pPerl)->Perl_gv_fetchfile(name); -} - -#undef Perl_gv_fetchmeth -GV* -Perl_gv_fetchmeth(pTHXo_ HV* stash, const char* name, STRLEN len, I32 level) -{ - return ((CPerlObj*)pPerl)->Perl_gv_fetchmeth(stash, name, len, level); -} - -#undef Perl_gv_fetchmethod -GV* -Perl_gv_fetchmethod(pTHXo_ HV* stash, const char* name) -{ - return ((CPerlObj*)pPerl)->Perl_gv_fetchmethod(stash, name); -} - -#undef Perl_gv_fetchmethod_autoload -GV* -Perl_gv_fetchmethod_autoload(pTHXo_ HV* stash, const char* name, I32 autoload) -{ - return ((CPerlObj*)pPerl)->Perl_gv_fetchmethod_autoload(stash, name, autoload); -} - -#undef Perl_gv_fetchpv -GV* -Perl_gv_fetchpv(pTHXo_ const char* name, I32 add, I32 sv_type) -{ - return ((CPerlObj*)pPerl)->Perl_gv_fetchpv(name, add, sv_type); -} - -#undef Perl_gv_fullname -void -Perl_gv_fullname(pTHXo_ SV* sv, GV* gv) -{ - ((CPerlObj*)pPerl)->Perl_gv_fullname(sv, gv); -} - -#undef Perl_gv_fullname3 -void -Perl_gv_fullname3(pTHXo_ SV* sv, GV* gv, const char* prefix) -{ - ((CPerlObj*)pPerl)->Perl_gv_fullname3(sv, gv, prefix); -} - -#undef Perl_gv_fullname4 -void -Perl_gv_fullname4(pTHXo_ SV* sv, GV* gv, const char* prefix, bool keepmain) -{ - ((CPerlObj*)pPerl)->Perl_gv_fullname4(sv, gv, prefix, keepmain); -} - -#undef Perl_gv_init -void -Perl_gv_init(pTHXo_ GV* gv, HV* stash, const char* name, STRLEN len, int multi) -{ - ((CPerlObj*)pPerl)->Perl_gv_init(gv, stash, name, len, multi); -} - -#undef Perl_gv_stashpv -HV* -Perl_gv_stashpv(pTHXo_ const char* name, I32 create) -{ - return ((CPerlObj*)pPerl)->Perl_gv_stashpv(name, create); -} - -#undef Perl_gv_stashpvn -HV* -Perl_gv_stashpvn(pTHXo_ const char* name, U32 namelen, I32 create) -{ - return ((CPerlObj*)pPerl)->Perl_gv_stashpvn(name, namelen, create); -} - -#undef Perl_gv_stashsv -HV* -Perl_gv_stashsv(pTHXo_ SV* sv, I32 create) -{ - return ((CPerlObj*)pPerl)->Perl_gv_stashsv(sv, create); -} - -#undef Perl_hv_clear -void -Perl_hv_clear(pTHXo_ HV* tb) -{ - ((CPerlObj*)pPerl)->Perl_hv_clear(tb); -} - -#undef Perl_hv_delayfree_ent -void -Perl_hv_delayfree_ent(pTHXo_ HV* hv, HE* entry) -{ - ((CPerlObj*)pPerl)->Perl_hv_delayfree_ent(hv, entry); -} - -#undef Perl_hv_delete -SV* -Perl_hv_delete(pTHXo_ HV* tb, const char* key, I32 klen, I32 flags) -{ - return ((CPerlObj*)pPerl)->Perl_hv_delete(tb, key, klen, flags); -} - -#undef Perl_hv_delete_ent -SV* -Perl_hv_delete_ent(pTHXo_ HV* tb, SV* key, I32 flags, U32 hash) -{ - return ((CPerlObj*)pPerl)->Perl_hv_delete_ent(tb, key, flags, hash); -} - -#undef Perl_hv_exists -bool -Perl_hv_exists(pTHXo_ HV* tb, const char* key, I32 klen) -{ - return ((CPerlObj*)pPerl)->Perl_hv_exists(tb, key, klen); -} - -#undef Perl_hv_exists_ent -bool -Perl_hv_exists_ent(pTHXo_ HV* tb, SV* key, U32 hash) -{ - return ((CPerlObj*)pPerl)->Perl_hv_exists_ent(tb, key, hash); -} - -#undef Perl_hv_fetch -SV** -Perl_hv_fetch(pTHXo_ HV* tb, const char* key, I32 klen, I32 lval) -{ - return ((CPerlObj*)pPerl)->Perl_hv_fetch(tb, key, klen, lval); -} - -#undef Perl_hv_fetch_ent -HE* -Perl_hv_fetch_ent(pTHXo_ HV* tb, SV* key, I32 lval, U32 hash) -{ - return ((CPerlObj*)pPerl)->Perl_hv_fetch_ent(tb, key, lval, hash); -} - -#undef Perl_hv_free_ent -void -Perl_hv_free_ent(pTHXo_ HV* hv, HE* entry) -{ - ((CPerlObj*)pPerl)->Perl_hv_free_ent(hv, entry); -} - -#undef Perl_hv_iterinit -I32 -Perl_hv_iterinit(pTHXo_ HV* tb) -{ - return ((CPerlObj*)pPerl)->Perl_hv_iterinit(tb); -} - -#undef Perl_hv_iterkey -char* -Perl_hv_iterkey(pTHXo_ HE* entry, I32* retlen) -{ - return ((CPerlObj*)pPerl)->Perl_hv_iterkey(entry, retlen); -} - -#undef Perl_hv_iterkeysv -SV* -Perl_hv_iterkeysv(pTHXo_ HE* entry) -{ - return ((CPerlObj*)pPerl)->Perl_hv_iterkeysv(entry); -} - -#undef Perl_hv_iternext -HE* -Perl_hv_iternext(pTHXo_ HV* tb) -{ - return ((CPerlObj*)pPerl)->Perl_hv_iternext(tb); -} - -#undef Perl_hv_iternextsv -SV* -Perl_hv_iternextsv(pTHXo_ HV* hv, char** key, I32* retlen) -{ - return ((CPerlObj*)pPerl)->Perl_hv_iternextsv(hv, key, retlen); -} - -#undef Perl_hv_iterval -SV* -Perl_hv_iterval(pTHXo_ HV* tb, HE* entry) -{ - return ((CPerlObj*)pPerl)->Perl_hv_iterval(tb, entry); -} - -#undef Perl_hv_ksplit -void -Perl_hv_ksplit(pTHXo_ HV* hv, IV newmax) -{ - ((CPerlObj*)pPerl)->Perl_hv_ksplit(hv, newmax); -} - -#undef Perl_hv_magic -void -Perl_hv_magic(pTHXo_ HV* hv, GV* gv, int how) -{ - ((CPerlObj*)pPerl)->Perl_hv_magic(hv, gv, how); -} - -#undef Perl_hv_store -SV** -Perl_hv_store(pTHXo_ HV* tb, const char* key, I32 klen, SV* val, U32 hash) -{ - return ((CPerlObj*)pPerl)->Perl_hv_store(tb, key, klen, val, hash); -} - -#undef Perl_hv_store_ent -HE* -Perl_hv_store_ent(pTHXo_ HV* tb, SV* key, SV* val, U32 hash) -{ - return ((CPerlObj*)pPerl)->Perl_hv_store_ent(tb, key, val, hash); -} - -#undef Perl_hv_undef -void -Perl_hv_undef(pTHXo_ HV* tb) -{ - ((CPerlObj*)pPerl)->Perl_hv_undef(tb); -} - -#undef Perl_ibcmp -I32 -Perl_ibcmp(pTHXo_ const char* a, const char* b, I32 len) -{ - return ((CPerlObj*)pPerl)->Perl_ibcmp(a, b, len); -} - -#undef Perl_ibcmp_locale -I32 -Perl_ibcmp_locale(pTHXo_ const char* a, const char* b, I32 len) -{ - return ((CPerlObj*)pPerl)->Perl_ibcmp_locale(a, b, len); -} - -#undef Perl_init_stacks -void -Perl_init_stacks(pTHXo) -{ - ((CPerlObj*)pPerl)->Perl_init_stacks(); -} - -#undef Perl_init_tm -void -Perl_init_tm(pTHXo_ struct tm *ptm) -{ - ((CPerlObj*)pPerl)->Perl_init_tm(ptm); -} - -#undef Perl_instr -char* -Perl_instr(pTHXo_ const char* big, const char* little) -{ - return ((CPerlObj*)pPerl)->Perl_instr(big, little); -} - -#undef Perl_is_uni_alnum -bool -Perl_is_uni_alnum(pTHXo_ U32 c) -{ - return ((CPerlObj*)pPerl)->Perl_is_uni_alnum(c); -} - -#undef Perl_is_uni_alnumc -bool -Perl_is_uni_alnumc(pTHXo_ U32 c) -{ - return ((CPerlObj*)pPerl)->Perl_is_uni_alnumc(c); -} - -#undef Perl_is_uni_idfirst -bool -Perl_is_uni_idfirst(pTHXo_ U32 c) -{ - return ((CPerlObj*)pPerl)->Perl_is_uni_idfirst(c); -} - -#undef Perl_is_uni_alpha -bool -Perl_is_uni_alpha(pTHXo_ U32 c) -{ - return ((CPerlObj*)pPerl)->Perl_is_uni_alpha(c); -} - -#undef Perl_is_uni_ascii -bool -Perl_is_uni_ascii(pTHXo_ U32 c) -{ - return ((CPerlObj*)pPerl)->Perl_is_uni_ascii(c); -} - -#undef Perl_is_uni_space -bool -Perl_is_uni_space(pTHXo_ U32 c) -{ - return ((CPerlObj*)pPerl)->Perl_is_uni_space(c); -} - -#undef Perl_is_uni_cntrl -bool -Perl_is_uni_cntrl(pTHXo_ U32 c) -{ - return ((CPerlObj*)pPerl)->Perl_is_uni_cntrl(c); -} - -#undef Perl_is_uni_graph -bool -Perl_is_uni_graph(pTHXo_ U32 c) -{ - return ((CPerlObj*)pPerl)->Perl_is_uni_graph(c); -} - -#undef Perl_is_uni_digit -bool -Perl_is_uni_digit(pTHXo_ U32 c) -{ - return ((CPerlObj*)pPerl)->Perl_is_uni_digit(c); -} - -#undef Perl_is_uni_upper -bool -Perl_is_uni_upper(pTHXo_ U32 c) -{ - return ((CPerlObj*)pPerl)->Perl_is_uni_upper(c); -} - -#undef Perl_is_uni_lower -bool -Perl_is_uni_lower(pTHXo_ U32 c) -{ - return ((CPerlObj*)pPerl)->Perl_is_uni_lower(c); -} - -#undef Perl_is_uni_print -bool -Perl_is_uni_print(pTHXo_ U32 c) -{ - return ((CPerlObj*)pPerl)->Perl_is_uni_print(c); -} - -#undef Perl_is_uni_punct -bool -Perl_is_uni_punct(pTHXo_ U32 c) -{ - return ((CPerlObj*)pPerl)->Perl_is_uni_punct(c); -} - -#undef Perl_is_uni_xdigit -bool -Perl_is_uni_xdigit(pTHXo_ U32 c) -{ - return ((CPerlObj*)pPerl)->Perl_is_uni_xdigit(c); -} - -#undef Perl_to_uni_upper -U32 -Perl_to_uni_upper(pTHXo_ U32 c) -{ - return ((CPerlObj*)pPerl)->Perl_to_uni_upper(c); -} - -#undef Perl_to_uni_title -U32 -Perl_to_uni_title(pTHXo_ U32 c) -{ - return ((CPerlObj*)pPerl)->Perl_to_uni_title(c); -} - -#undef Perl_to_uni_lower -U32 -Perl_to_uni_lower(pTHXo_ U32 c) -{ - return ((CPerlObj*)pPerl)->Perl_to_uni_lower(c); -} - -#undef Perl_is_uni_alnum_lc -bool -Perl_is_uni_alnum_lc(pTHXo_ U32 c) -{ - return ((CPerlObj*)pPerl)->Perl_is_uni_alnum_lc(c); -} - -#undef Perl_is_uni_alnumc_lc -bool -Perl_is_uni_alnumc_lc(pTHXo_ U32 c) -{ - return ((CPerlObj*)pPerl)->Perl_is_uni_alnumc_lc(c); -} - -#undef Perl_is_uni_idfirst_lc -bool -Perl_is_uni_idfirst_lc(pTHXo_ U32 c) -{ - return ((CPerlObj*)pPerl)->Perl_is_uni_idfirst_lc(c); -} - -#undef Perl_is_uni_alpha_lc -bool -Perl_is_uni_alpha_lc(pTHXo_ U32 c) -{ - return ((CPerlObj*)pPerl)->Perl_is_uni_alpha_lc(c); -} - -#undef Perl_is_uni_ascii_lc -bool -Perl_is_uni_ascii_lc(pTHXo_ U32 c) -{ - return ((CPerlObj*)pPerl)->Perl_is_uni_ascii_lc(c); -} - -#undef Perl_is_uni_space_lc -bool -Perl_is_uni_space_lc(pTHXo_ U32 c) -{ - return ((CPerlObj*)pPerl)->Perl_is_uni_space_lc(c); -} - -#undef Perl_is_uni_cntrl_lc -bool -Perl_is_uni_cntrl_lc(pTHXo_ U32 c) -{ - return ((CPerlObj*)pPerl)->Perl_is_uni_cntrl_lc(c); -} - -#undef Perl_is_uni_graph_lc -bool -Perl_is_uni_graph_lc(pTHXo_ U32 c) -{ - return ((CPerlObj*)pPerl)->Perl_is_uni_graph_lc(c); -} - -#undef Perl_is_uni_digit_lc -bool -Perl_is_uni_digit_lc(pTHXo_ U32 c) -{ - return ((CPerlObj*)pPerl)->Perl_is_uni_digit_lc(c); -} - -#undef Perl_is_uni_upper_lc -bool -Perl_is_uni_upper_lc(pTHXo_ U32 c) -{ - return ((CPerlObj*)pPerl)->Perl_is_uni_upper_lc(c); -} - -#undef Perl_is_uni_lower_lc -bool -Perl_is_uni_lower_lc(pTHXo_ U32 c) -{ - return ((CPerlObj*)pPerl)->Perl_is_uni_lower_lc(c); -} - -#undef Perl_is_uni_print_lc -bool -Perl_is_uni_print_lc(pTHXo_ U32 c) -{ - return ((CPerlObj*)pPerl)->Perl_is_uni_print_lc(c); -} - -#undef Perl_is_uni_punct_lc -bool -Perl_is_uni_punct_lc(pTHXo_ U32 c) -{ - return ((CPerlObj*)pPerl)->Perl_is_uni_punct_lc(c); -} - -#undef Perl_is_uni_xdigit_lc -bool -Perl_is_uni_xdigit_lc(pTHXo_ U32 c) -{ - return ((CPerlObj*)pPerl)->Perl_is_uni_xdigit_lc(c); -} - -#undef Perl_to_uni_upper_lc -U32 -Perl_to_uni_upper_lc(pTHXo_ U32 c) -{ - return ((CPerlObj*)pPerl)->Perl_to_uni_upper_lc(c); -} - -#undef Perl_to_uni_title_lc -U32 -Perl_to_uni_title_lc(pTHXo_ U32 c) -{ - return ((CPerlObj*)pPerl)->Perl_to_uni_title_lc(c); -} - -#undef Perl_to_uni_lower_lc -U32 -Perl_to_uni_lower_lc(pTHXo_ U32 c) -{ - return ((CPerlObj*)pPerl)->Perl_to_uni_lower_lc(c); -} - -#undef Perl_is_utf8_char -STRLEN -Perl_is_utf8_char(pTHXo_ U8 *p) -{ - return ((CPerlObj*)pPerl)->Perl_is_utf8_char(p); -} - -#undef Perl_is_utf8_string -bool -Perl_is_utf8_string(pTHXo_ U8 *s, STRLEN len) -{ - return ((CPerlObj*)pPerl)->Perl_is_utf8_string(s, len); -} - -#undef Perl_is_utf8_alnum -bool -Perl_is_utf8_alnum(pTHXo_ U8 *p) -{ - return ((CPerlObj*)pPerl)->Perl_is_utf8_alnum(p); -} - -#undef Perl_is_utf8_alnumc -bool -Perl_is_utf8_alnumc(pTHXo_ U8 *p) -{ - return ((CPerlObj*)pPerl)->Perl_is_utf8_alnumc(p); -} - -#undef Perl_is_utf8_idfirst -bool -Perl_is_utf8_idfirst(pTHXo_ U8 *p) -{ - return ((CPerlObj*)pPerl)->Perl_is_utf8_idfirst(p); -} - -#undef Perl_is_utf8_alpha -bool -Perl_is_utf8_alpha(pTHXo_ U8 *p) -{ - return ((CPerlObj*)pPerl)->Perl_is_utf8_alpha(p); -} - -#undef Perl_is_utf8_ascii -bool -Perl_is_utf8_ascii(pTHXo_ U8 *p) -{ - return ((CPerlObj*)pPerl)->Perl_is_utf8_ascii(p); -} - -#undef Perl_is_utf8_space -bool -Perl_is_utf8_space(pTHXo_ U8 *p) -{ - return ((CPerlObj*)pPerl)->Perl_is_utf8_space(p); -} - -#undef Perl_is_utf8_cntrl -bool -Perl_is_utf8_cntrl(pTHXo_ U8 *p) -{ - return ((CPerlObj*)pPerl)->Perl_is_utf8_cntrl(p); -} - -#undef Perl_is_utf8_digit -bool -Perl_is_utf8_digit(pTHXo_ U8 *p) -{ - return ((CPerlObj*)pPerl)->Perl_is_utf8_digit(p); -} - -#undef Perl_is_utf8_graph -bool -Perl_is_utf8_graph(pTHXo_ U8 *p) -{ - return ((CPerlObj*)pPerl)->Perl_is_utf8_graph(p); -} - -#undef Perl_is_utf8_upper -bool -Perl_is_utf8_upper(pTHXo_ U8 *p) -{ - return ((CPerlObj*)pPerl)->Perl_is_utf8_upper(p); -} - -#undef Perl_is_utf8_lower -bool -Perl_is_utf8_lower(pTHXo_ U8 *p) -{ - return ((CPerlObj*)pPerl)->Perl_is_utf8_lower(p); -} - -#undef Perl_is_utf8_print -bool -Perl_is_utf8_print(pTHXo_ U8 *p) -{ - return ((CPerlObj*)pPerl)->Perl_is_utf8_print(p); -} - -#undef Perl_is_utf8_punct -bool -Perl_is_utf8_punct(pTHXo_ U8 *p) -{ - return ((CPerlObj*)pPerl)->Perl_is_utf8_punct(p); -} - -#undef Perl_is_utf8_xdigit -bool -Perl_is_utf8_xdigit(pTHXo_ U8 *p) -{ - return ((CPerlObj*)pPerl)->Perl_is_utf8_xdigit(p); -} - -#undef Perl_is_utf8_mark -bool -Perl_is_utf8_mark(pTHXo_ U8 *p) -{ - return ((CPerlObj*)pPerl)->Perl_is_utf8_mark(p); -} - -#undef Perl_leave_scope -void -Perl_leave_scope(pTHXo_ I32 base) -{ - ((CPerlObj*)pPerl)->Perl_leave_scope(base); -} - -#undef Perl_op_null -void -Perl_op_null(pTHXo_ OP* o) -{ - ((CPerlObj*)pPerl)->Perl_op_null(o); -} - -#undef Perl_load_module -void -Perl_load_module(pTHXo_ U32 flags, SV* name, SV* ver, ...) -{ - va_list args; - va_start(args, ver); - ((CPerlObj*)pPerl)->Perl_vload_module(flags, name, ver, &args); - va_end(args); -} - -#undef Perl_vload_module -void -Perl_vload_module(pTHXo_ U32 flags, SV* name, SV* ver, va_list* args) -{ - ((CPerlObj*)pPerl)->Perl_vload_module(flags, name, ver, args); -} - -#undef Perl_looks_like_number -I32 -Perl_looks_like_number(pTHXo_ SV* sv) -{ - return ((CPerlObj*)pPerl)->Perl_looks_like_number(sv); -} - -#undef Perl_grok_number -int -Perl_grok_number(pTHXo_ const char *pv, STRLEN len, UV *valuep) -{ - return ((CPerlObj*)pPerl)->Perl_grok_number(pv, len, valuep); -} - -#undef Perl_grok_numeric_radix -bool -Perl_grok_numeric_radix(pTHXo_ const char **sp, const char *send) -{ - return ((CPerlObj*)pPerl)->Perl_grok_numeric_radix(sp, send); -} -#if defined(USE_5005THREADS) -#endif -#if defined(USE_LOCALE_COLLATE) -#endif - -#undef Perl_markstack_grow -void -Perl_markstack_grow(pTHXo) -{ - ((CPerlObj*)pPerl)->Perl_markstack_grow(); -} -#if defined(USE_LOCALE_COLLATE) -#endif - -#undef Perl_mess -SV* -Perl_mess(pTHXo_ const char* pat, ...) -{ - SV* retval; - va_list args; - va_start(args, pat); - retval = ((CPerlObj*)pPerl)->Perl_vmess(pat, &args); - va_end(args); - return retval; - -} - -#undef Perl_vmess -SV* -Perl_vmess(pTHXo_ const char* pat, va_list* args) -{ - return ((CPerlObj*)pPerl)->Perl_vmess(pat, args); -} - -#undef Perl_mg_clear -int -Perl_mg_clear(pTHXo_ SV* sv) -{ - return ((CPerlObj*)pPerl)->Perl_mg_clear(sv); -} - -#undef Perl_mg_copy -int -Perl_mg_copy(pTHXo_ SV* sv, SV* nsv, const char* key, I32 klen) -{ - return ((CPerlObj*)pPerl)->Perl_mg_copy(sv, nsv, key, klen); -} - -#undef Perl_mg_find -MAGIC* -Perl_mg_find(pTHXo_ SV* sv, int type) -{ - return ((CPerlObj*)pPerl)->Perl_mg_find(sv, type); -} - -#undef Perl_mg_free -int -Perl_mg_free(pTHXo_ SV* sv) -{ - return ((CPerlObj*)pPerl)->Perl_mg_free(sv); -} - -#undef Perl_mg_get -int -Perl_mg_get(pTHXo_ SV* sv) -{ - return ((CPerlObj*)pPerl)->Perl_mg_get(sv); -} - -#undef Perl_mg_length -U32 -Perl_mg_length(pTHXo_ SV* sv) -{ - return ((CPerlObj*)pPerl)->Perl_mg_length(sv); -} - -#undef Perl_mg_magical -void -Perl_mg_magical(pTHXo_ SV* sv) -{ - ((CPerlObj*)pPerl)->Perl_mg_magical(sv); -} - -#undef Perl_mg_set -int -Perl_mg_set(pTHXo_ SV* sv) -{ - return ((CPerlObj*)pPerl)->Perl_mg_set(sv); -} - -#undef Perl_mg_size -I32 -Perl_mg_size(pTHXo_ SV* sv) -{ - return ((CPerlObj*)pPerl)->Perl_mg_size(sv); -} - -#undef Perl_mini_mktime -void -Perl_mini_mktime(pTHXo_ struct tm *pm) -{ - ((CPerlObj*)pPerl)->Perl_mini_mktime(pm); -} - -#undef Perl_moreswitches -char* -Perl_moreswitches(pTHXo_ char* s) -{ - return ((CPerlObj*)pPerl)->Perl_moreswitches(s); -} - -#undef Perl_my_atof -NV -Perl_my_atof(pTHXo_ const char *s) -{ - return ((CPerlObj*)pPerl)->Perl_my_atof(s); -} -#if (!defined(HAS_MEMCPY) && !defined(HAS_BCOPY)) || (!defined(HAS_MEMMOVE) && !defined(HAS_SAFE_MEMCPY) && !defined(HAS_SAFE_BCOPY)) - -#undef Perl_my_bcopy -char* -Perl_my_bcopy(const char* from, char* to, I32 len) -{ - dTHXo; - return ((CPerlObj*)pPerl)->Perl_my_bcopy(from, to, len); -} -#endif -#if !defined(HAS_BZERO) && !defined(HAS_MEMSET) - -#undef Perl_my_bzero -char* -Perl_my_bzero(char* loc, I32 len) -{ - dTHXo; - return ((CPerlObj*)pPerl)->Perl_my_bzero(loc, len); -} -#endif - -#undef Perl_my_exit -void -Perl_my_exit(pTHXo_ U32 status) -{ - ((CPerlObj*)pPerl)->Perl_my_exit(status); -} - -#undef Perl_my_failure_exit -void -Perl_my_failure_exit(pTHXo) -{ - ((CPerlObj*)pPerl)->Perl_my_failure_exit(); -} - -#undef Perl_my_fflush_all -I32 -Perl_my_fflush_all(pTHXo) -{ - return ((CPerlObj*)pPerl)->Perl_my_fflush_all(); -} - -#undef Perl_my_fork -Pid_t -Perl_my_fork() -{ - dTHXo; - return ((CPerlObj*)pPerl)->Perl_my_fork(); -} - -#undef Perl_atfork_lock -void -Perl_atfork_lock() -{ - dTHXo; - ((CPerlObj*)pPerl)->Perl_atfork_lock(); -} - -#undef Perl_atfork_unlock -void -Perl_atfork_unlock() -{ - dTHXo; - ((CPerlObj*)pPerl)->Perl_atfork_unlock(); -} - -#undef Perl_my_lstat -I32 -Perl_my_lstat(pTHXo) -{ - return ((CPerlObj*)pPerl)->Perl_my_lstat(); -} -#if !defined(HAS_MEMCMP) || !defined(HAS_SANE_MEMCMP) - -#undef Perl_my_memcmp -I32 -Perl_my_memcmp(const char* s1, const char* s2, I32 len) -{ - dTHXo; - return ((CPerlObj*)pPerl)->Perl_my_memcmp(s1, s2, len); -} -#endif -#if !defined(HAS_MEMSET) - -#undef Perl_my_memset -void* -Perl_my_memset(char* loc, I32 ch, I32 len) -{ - dTHXo; - return ((CPerlObj*)pPerl)->Perl_my_memset(loc, ch, len); -} -#endif -#if !defined(PERL_OBJECT) - -#undef Perl_my_pclose -I32 -Perl_my_pclose(pTHXo_ PerlIO* ptr) -{ - return ((CPerlObj*)pPerl)->Perl_my_pclose(ptr); -} - -#undef Perl_my_popen -PerlIO* -Perl_my_popen(pTHXo_ char* cmd, char* mode) -{ - return ((CPerlObj*)pPerl)->Perl_my_popen(cmd, mode); -} - -#undef Perl_my_popen_list -PerlIO* -Perl_my_popen_list(pTHXo_ char* mode, int n, SV ** args) -{ - return ((CPerlObj*)pPerl)->Perl_my_popen_list(mode, n, args); -} -#endif - -#undef Perl_my_setenv -void -Perl_my_setenv(pTHXo_ char* nam, char* val) -{ - ((CPerlObj*)pPerl)->Perl_my_setenv(nam, val); -} - -#undef Perl_my_stat -I32 -Perl_my_stat(pTHXo) -{ - return ((CPerlObj*)pPerl)->Perl_my_stat(); -} - -#undef Perl_my_strftime -char * -Perl_my_strftime(pTHXo_ char *fmt, int sec, int min, int hour, int mday, int mon, int year, int wday, int yday, int isdst) -{ - return ((CPerlObj*)pPerl)->Perl_my_strftime(fmt, sec, min, hour, mday, mon, year, wday, yday, isdst); -} -#if defined(MYSWAP) - -#undef Perl_my_swap -short -Perl_my_swap(pTHXo_ short s) -{ - return ((CPerlObj*)pPerl)->Perl_my_swap(s); -} - -#undef Perl_my_htonl -long -Perl_my_htonl(pTHXo_ long l) -{ - return ((CPerlObj*)pPerl)->Perl_my_htonl(l); -} - -#undef Perl_my_ntohl -long -Perl_my_ntohl(pTHXo_ long l) -{ - return ((CPerlObj*)pPerl)->Perl_my_ntohl(l); -} -#endif - -#undef Perl_newANONLIST -OP* -Perl_newANONLIST(pTHXo_ OP* o) -{ - return ((CPerlObj*)pPerl)->Perl_newANONLIST(o); -} - -#undef Perl_newANONHASH -OP* -Perl_newANONHASH(pTHXo_ OP* o) -{ - return ((CPerlObj*)pPerl)->Perl_newANONHASH(o); -} - -#undef Perl_newANONSUB -OP* -Perl_newANONSUB(pTHXo_ I32 floor, OP* proto, OP* block) -{ - return ((CPerlObj*)pPerl)->Perl_newANONSUB(floor, proto, block); -} - -#undef Perl_newASSIGNOP -OP* -Perl_newASSIGNOP(pTHXo_ I32 flags, OP* left, I32 optype, OP* right) -{ - return ((CPerlObj*)pPerl)->Perl_newASSIGNOP(flags, left, optype, right); -} - -#undef Perl_newCONDOP -OP* -Perl_newCONDOP(pTHXo_ I32 flags, OP* expr, OP* trueop, OP* falseop) -{ - return ((CPerlObj*)pPerl)->Perl_newCONDOP(flags, expr, trueop, falseop); -} - -#undef Perl_newCONSTSUB -CV* -Perl_newCONSTSUB(pTHXo_ HV* stash, char* name, SV* sv) -{ - return ((CPerlObj*)pPerl)->Perl_newCONSTSUB(stash, name, sv); -} - -#undef Perl_newFORM -void -Perl_newFORM(pTHXo_ I32 floor, OP* o, OP* block) -{ - ((CPerlObj*)pPerl)->Perl_newFORM(floor, o, block); -} - -#undef Perl_newFOROP -OP* -Perl_newFOROP(pTHXo_ I32 flags, char* label, line_t forline, OP* sclr, OP* expr, OP*block, OP*cont) -{ - return ((CPerlObj*)pPerl)->Perl_newFOROP(flags, label, forline, sclr, expr, block, cont); -} - -#undef Perl_newLOGOP -OP* -Perl_newLOGOP(pTHXo_ I32 optype, I32 flags, OP* left, OP* right) -{ - return ((CPerlObj*)pPerl)->Perl_newLOGOP(optype, flags, left, right); -} - -#undef Perl_newLOOPEX -OP* -Perl_newLOOPEX(pTHXo_ I32 type, OP* label) -{ - return ((CPerlObj*)pPerl)->Perl_newLOOPEX(type, label); -} - -#undef Perl_newLOOPOP -OP* -Perl_newLOOPOP(pTHXo_ I32 flags, I32 debuggable, OP* expr, OP* block) -{ - return ((CPerlObj*)pPerl)->Perl_newLOOPOP(flags, debuggable, expr, block); -} - -#undef Perl_newNULLLIST -OP* -Perl_newNULLLIST(pTHXo) -{ - return ((CPerlObj*)pPerl)->Perl_newNULLLIST(); -} - -#undef Perl_newOP -OP* -Perl_newOP(pTHXo_ I32 optype, I32 flags) -{ - return ((CPerlObj*)pPerl)->Perl_newOP(optype, flags); -} - -#undef Perl_newPROG -void -Perl_newPROG(pTHXo_ OP* o) -{ - ((CPerlObj*)pPerl)->Perl_newPROG(o); -} - -#undef Perl_newRANGE -OP* -Perl_newRANGE(pTHXo_ I32 flags, OP* left, OP* right) -{ - return ((CPerlObj*)pPerl)->Perl_newRANGE(flags, left, right); -} - -#undef Perl_newSLICEOP -OP* -Perl_newSLICEOP(pTHXo_ I32 flags, OP* subscript, OP* listop) -{ - return ((CPerlObj*)pPerl)->Perl_newSLICEOP(flags, subscript, listop); -} - -#undef Perl_newSTATEOP -OP* -Perl_newSTATEOP(pTHXo_ I32 flags, char* label, OP* o) -{ - return ((CPerlObj*)pPerl)->Perl_newSTATEOP(flags, label, o); -} - -#undef Perl_newSUB -CV* -Perl_newSUB(pTHXo_ I32 floor, OP* o, OP* proto, OP* block) -{ - return ((CPerlObj*)pPerl)->Perl_newSUB(floor, o, proto, block); -} - -#undef Perl_newXS -CV* -Perl_newXS(pTHXo_ char* name, XSUBADDR_t f, char* filename) -{ - return ((CPerlObj*)pPerl)->Perl_newXS(name, f, filename); -} - -#undef Perl_newAV -AV* -Perl_newAV(pTHXo) -{ - return ((CPerlObj*)pPerl)->Perl_newAV(); -} - -#undef Perl_newAVREF -OP* -Perl_newAVREF(pTHXo_ OP* o) -{ - return ((CPerlObj*)pPerl)->Perl_newAVREF(o); -} - -#undef Perl_newBINOP -OP* -Perl_newBINOP(pTHXo_ I32 type, I32 flags, OP* first, OP* last) -{ - return ((CPerlObj*)pPerl)->Perl_newBINOP(type, flags, first, last); -} - -#undef Perl_newCVREF -OP* -Perl_newCVREF(pTHXo_ I32 flags, OP* o) -{ - return ((CPerlObj*)pPerl)->Perl_newCVREF(flags, o); -} - -#undef Perl_newGVOP -OP* -Perl_newGVOP(pTHXo_ I32 type, I32 flags, GV* gv) -{ - return ((CPerlObj*)pPerl)->Perl_newGVOP(type, flags, gv); -} - -#undef Perl_newGVgen -GV* -Perl_newGVgen(pTHXo_ char* pack) -{ - return ((CPerlObj*)pPerl)->Perl_newGVgen(pack); -} - -#undef Perl_newGVREF -OP* -Perl_newGVREF(pTHXo_ I32 type, OP* o) -{ - return ((CPerlObj*)pPerl)->Perl_newGVREF(type, o); -} - -#undef Perl_newHVREF -OP* -Perl_newHVREF(pTHXo_ OP* o) -{ - return ((CPerlObj*)pPerl)->Perl_newHVREF(o); -} - -#undef Perl_newHV -HV* -Perl_newHV(pTHXo) -{ - return ((CPerlObj*)pPerl)->Perl_newHV(); -} - -#undef Perl_newHVhv -HV* -Perl_newHVhv(pTHXo_ HV* hv) -{ - return ((CPerlObj*)pPerl)->Perl_newHVhv(hv); -} - -#undef Perl_newIO -IO* -Perl_newIO(pTHXo) -{ - return ((CPerlObj*)pPerl)->Perl_newIO(); -} - -#undef Perl_newLISTOP -OP* -Perl_newLISTOP(pTHXo_ I32 type, I32 flags, OP* first, OP* last) -{ - return ((CPerlObj*)pPerl)->Perl_newLISTOP(type, flags, first, last); -} - -#undef Perl_newPADOP -OP* -Perl_newPADOP(pTHXo_ I32 type, I32 flags, SV* sv) -{ - return ((CPerlObj*)pPerl)->Perl_newPADOP(type, flags, sv); -} - -#undef Perl_newPMOP -OP* -Perl_newPMOP(pTHXo_ I32 type, I32 flags) -{ - return ((CPerlObj*)pPerl)->Perl_newPMOP(type, flags); -} - -#undef Perl_newPVOP -OP* -Perl_newPVOP(pTHXo_ I32 type, I32 flags, char* pv) -{ - return ((CPerlObj*)pPerl)->Perl_newPVOP(type, flags, pv); -} - -#undef Perl_newRV -SV* -Perl_newRV(pTHXo_ SV* pref) -{ - return ((CPerlObj*)pPerl)->Perl_newRV(pref); -} - -#undef Perl_newRV_noinc -SV* -Perl_newRV_noinc(pTHXo_ SV *sv) -{ - return ((CPerlObj*)pPerl)->Perl_newRV_noinc(sv); -} - -#undef Perl_newSV -SV* -Perl_newSV(pTHXo_ STRLEN len) -{ - return ((CPerlObj*)pPerl)->Perl_newSV(len); -} - -#undef Perl_newSVREF -OP* -Perl_newSVREF(pTHXo_ OP* o) -{ - return ((CPerlObj*)pPerl)->Perl_newSVREF(o); -} - -#undef Perl_newSVOP -OP* -Perl_newSVOP(pTHXo_ I32 type, I32 flags, SV* sv) -{ - return ((CPerlObj*)pPerl)->Perl_newSVOP(type, flags, sv); -} - -#undef Perl_newSViv -SV* -Perl_newSViv(pTHXo_ IV i) -{ - return ((CPerlObj*)pPerl)->Perl_newSViv(i); -} - -#undef Perl_newSVuv -SV* -Perl_newSVuv(pTHXo_ UV u) -{ - return ((CPerlObj*)pPerl)->Perl_newSVuv(u); -} - -#undef Perl_newSVnv -SV* -Perl_newSVnv(pTHXo_ NV n) -{ - return ((CPerlObj*)pPerl)->Perl_newSVnv(n); -} - -#undef Perl_newSVpv -SV* -Perl_newSVpv(pTHXo_ const char* s, STRLEN len) -{ - return ((CPerlObj*)pPerl)->Perl_newSVpv(s, len); -} - -#undef Perl_newSVpvn -SV* -Perl_newSVpvn(pTHXo_ const char* s, STRLEN len) -{ - return ((CPerlObj*)pPerl)->Perl_newSVpvn(s, len); -} - -#undef Perl_newSVpvn_share -SV* -Perl_newSVpvn_share(pTHXo_ const char* s, I32 len, U32 hash) -{ - return ((CPerlObj*)pPerl)->Perl_newSVpvn_share(s, len, hash); -} - -#undef Perl_newSVpvf -SV* -Perl_newSVpvf(pTHXo_ const char* pat, ...) -{ - SV* retval; - va_list args; - va_start(args, pat); - retval = ((CPerlObj*)pPerl)->Perl_vnewSVpvf(pat, &args); - va_end(args); - return retval; - -} - -#undef Perl_vnewSVpvf -SV* -Perl_vnewSVpvf(pTHXo_ const char* pat, va_list* args) -{ - return ((CPerlObj*)pPerl)->Perl_vnewSVpvf(pat, args); -} - -#undef Perl_newSVrv -SV* -Perl_newSVrv(pTHXo_ SV* rv, const char* classname) -{ - return ((CPerlObj*)pPerl)->Perl_newSVrv(rv, classname); -} - -#undef Perl_newSVsv -SV* -Perl_newSVsv(pTHXo_ SV* old) -{ - return ((CPerlObj*)pPerl)->Perl_newSVsv(old); -} - -#undef Perl_newUNOP -OP* -Perl_newUNOP(pTHXo_ I32 type, I32 flags, OP* first) -{ - return ((CPerlObj*)pPerl)->Perl_newUNOP(type, flags, first); -} - -#undef Perl_newWHILEOP -OP* -Perl_newWHILEOP(pTHXo_ I32 flags, I32 debuggable, LOOP* loop, I32 whileline, OP* expr, OP* block, OP* cont) -{ - return ((CPerlObj*)pPerl)->Perl_newWHILEOP(flags, debuggable, loop, whileline, expr, block, cont); -} - -#undef Perl_new_stackinfo -PERL_SI* -Perl_new_stackinfo(pTHXo_ I32 stitems, I32 cxitems) -{ - return ((CPerlObj*)pPerl)->Perl_new_stackinfo(stitems, cxitems); -} - -#undef Perl_ninstr -char* -Perl_ninstr(pTHXo_ const char* big, const char* bigend, const char* little, const char* lend) -{ - return ((CPerlObj*)pPerl)->Perl_ninstr(big, bigend, little, lend); -} - -#undef Perl_op_free -void -Perl_op_free(pTHXo_ OP* arg) -{ - ((CPerlObj*)pPerl)->Perl_op_free(arg); -} - -#undef Perl_pad_sv -SV* -Perl_pad_sv(pTHXo_ PADOFFSET po) -{ - return ((CPerlObj*)pPerl)->Perl_pad_sv(po); -} -#if defined(PERL_OBJECT) - -#undef Perl_construct -void -Perl_construct(pTHXo) -{ - ((CPerlObj*)pPerl)->Perl_construct(); -} - -#undef Perl_destruct -void -Perl_destruct(pTHXo) -{ - ((CPerlObj*)pPerl)->Perl_destruct(); -} - -#undef Perl_free -void -Perl_free(pTHXo) -{ - ((CPerlObj*)pPerl)->Perl_free(); -} - -#undef Perl_run -int -Perl_run(pTHXo) -{ - return ((CPerlObj*)pPerl)->Perl_run(); -} - -#undef Perl_parse -int -Perl_parse(pTHXo_ XSINIT_t xsinit, int argc, char** argv, char** env) -{ - return ((CPerlObj*)pPerl)->Perl_parse(xsinit, argc, argv, env); -} -#endif -#if defined(USE_5005THREADS) - -#undef Perl_new_struct_thread -struct perl_thread* -Perl_new_struct_thread(pTHXo_ struct perl_thread *t) -{ - return ((CPerlObj*)pPerl)->Perl_new_struct_thread(t); -} -#endif - -#undef Perl_call_atexit -void -Perl_call_atexit(pTHXo_ ATEXIT_t fn, void *ptr) -{ - ((CPerlObj*)pPerl)->Perl_call_atexit(fn, ptr); -} - -#undef Perl_call_argv -I32 -Perl_call_argv(pTHXo_ const char* sub_name, I32 flags, char** argv) -{ - return ((CPerlObj*)pPerl)->Perl_call_argv(sub_name, flags, argv); -} - -#undef Perl_call_method -I32 -Perl_call_method(pTHXo_ const char* methname, I32 flags) -{ - return ((CPerlObj*)pPerl)->Perl_call_method(methname, flags); -} - -#undef Perl_call_pv -I32 -Perl_call_pv(pTHXo_ const char* sub_name, I32 flags) -{ - return ((CPerlObj*)pPerl)->Perl_call_pv(sub_name, flags); -} - -#undef Perl_call_sv -I32 -Perl_call_sv(pTHXo_ SV* sv, I32 flags) -{ - return ((CPerlObj*)pPerl)->Perl_call_sv(sv, flags); -} - -#undef Perl_eval_pv -SV* -Perl_eval_pv(pTHXo_ const char* p, I32 croak_on_error) -{ - return ((CPerlObj*)pPerl)->Perl_eval_pv(p, croak_on_error); -} - -#undef Perl_eval_sv -I32 -Perl_eval_sv(pTHXo_ SV* sv, I32 flags) -{ - return ((CPerlObj*)pPerl)->Perl_eval_sv(sv, flags); -} - -#undef Perl_get_sv -SV* -Perl_get_sv(pTHXo_ const char* name, I32 create) -{ - return ((CPerlObj*)pPerl)->Perl_get_sv(name, create); -} - -#undef Perl_get_av -AV* -Perl_get_av(pTHXo_ const char* name, I32 create) -{ - return ((CPerlObj*)pPerl)->Perl_get_av(name, create); -} - -#undef Perl_get_hv -HV* -Perl_get_hv(pTHXo_ const char* name, I32 create) -{ - return ((CPerlObj*)pPerl)->Perl_get_hv(name, create); -} - -#undef Perl_get_cv -CV* -Perl_get_cv(pTHXo_ const char* name, I32 create) -{ - return ((CPerlObj*)pPerl)->Perl_get_cv(name, create); -} - -#undef Perl_init_i18nl10n -int -Perl_init_i18nl10n(pTHXo_ int printwarn) -{ - return ((CPerlObj*)pPerl)->Perl_init_i18nl10n(printwarn); -} - -#undef Perl_init_i18nl14n -int -Perl_init_i18nl14n(pTHXo_ int printwarn) -{ - return ((CPerlObj*)pPerl)->Perl_init_i18nl14n(printwarn); -} - -#undef Perl_new_collate -void -Perl_new_collate(pTHXo_ char* newcoll) -{ - ((CPerlObj*)pPerl)->Perl_new_collate(newcoll); -} - -#undef Perl_new_ctype -void -Perl_new_ctype(pTHXo_ char* newctype) -{ - ((CPerlObj*)pPerl)->Perl_new_ctype(newctype); -} - -#undef Perl_new_numeric -void -Perl_new_numeric(pTHXo_ char* newcoll) -{ - ((CPerlObj*)pPerl)->Perl_new_numeric(newcoll); -} - -#undef Perl_set_numeric_local -void -Perl_set_numeric_local(pTHXo) -{ - ((CPerlObj*)pPerl)->Perl_set_numeric_local(); -} - -#undef Perl_set_numeric_radix -void -Perl_set_numeric_radix(pTHXo) -{ - ((CPerlObj*)pPerl)->Perl_set_numeric_radix(); -} - -#undef Perl_set_numeric_standard -void -Perl_set_numeric_standard(pTHXo) -{ - ((CPerlObj*)pPerl)->Perl_set_numeric_standard(); -} - -#undef Perl_require_pv -void -Perl_require_pv(pTHXo_ const char* pv) -{ - ((CPerlObj*)pPerl)->Perl_require_pv(pv); -} - -#undef Perl_pmflag -void -Perl_pmflag(pTHXo_ U16* pmfl, int ch) -{ - ((CPerlObj*)pPerl)->Perl_pmflag(pmfl, ch); -} - -#undef Perl_pop_scope -void -Perl_pop_scope(pTHXo) -{ - ((CPerlObj*)pPerl)->Perl_pop_scope(); -} - -#undef Perl_push_scope -void -Perl_push_scope(pTHXo) -{ - ((CPerlObj*)pPerl)->Perl_push_scope(); -} - -#undef Perl_regdump -void -Perl_regdump(pTHXo_ regexp* r) -{ - ((CPerlObj*)pPerl)->Perl_regdump(r); -} - -#undef Perl_regclass_swash -SV* -Perl_regclass_swash(pTHXo_ struct regnode *n, bool doinit, SV **initsvp) -{ - return ((CPerlObj*)pPerl)->Perl_regclass_swash(n, doinit, initsvp); -} - -#undef Perl_pregexec -I32 -Perl_pregexec(pTHXo_ regexp* prog, char* stringarg, char* strend, char* strbeg, I32 minend, SV* screamer, U32 nosave) -{ - return ((CPerlObj*)pPerl)->Perl_pregexec(prog, stringarg, strend, strbeg, minend, screamer, nosave); -} - -#undef Perl_pregfree -void -Perl_pregfree(pTHXo_ struct regexp* r) -{ - ((CPerlObj*)pPerl)->Perl_pregfree(r); -} - -#undef Perl_pregcomp -regexp* -Perl_pregcomp(pTHXo_ char* exp, char* xend, PMOP* pm) -{ - return ((CPerlObj*)pPerl)->Perl_pregcomp(exp, xend, pm); -} - -#undef Perl_re_intuit_start -char* -Perl_re_intuit_start(pTHXo_ regexp* prog, SV* sv, char* strpos, char* strend, U32 flags, struct re_scream_pos_data_s *data) -{ - return ((CPerlObj*)pPerl)->Perl_re_intuit_start(prog, sv, strpos, strend, flags, data); -} - -#undef Perl_re_intuit_string -SV* -Perl_re_intuit_string(pTHXo_ regexp* prog) -{ - return ((CPerlObj*)pPerl)->Perl_re_intuit_string(prog); -} - -#undef Perl_regexec_flags -I32 -Perl_regexec_flags(pTHXo_ regexp* prog, char* stringarg, char* strend, char* strbeg, I32 minend, SV* screamer, void* data, U32 flags) -{ - return ((CPerlObj*)pPerl)->Perl_regexec_flags(prog, stringarg, strend, strbeg, minend, screamer, data, flags); -} - -#undef Perl_regnext -regnode* -Perl_regnext(pTHXo_ regnode* p) -{ - return ((CPerlObj*)pPerl)->Perl_regnext(p); -} - -#undef Perl_repeatcpy -void -Perl_repeatcpy(pTHXo_ char* to, const char* from, I32 len, I32 count) -{ - ((CPerlObj*)pPerl)->Perl_repeatcpy(to, from, len, count); -} - -#undef Perl_rninstr -char* -Perl_rninstr(pTHXo_ const char* big, const char* bigend, const char* little, const char* lend) -{ - return ((CPerlObj*)pPerl)->Perl_rninstr(big, bigend, little, lend); -} - -#undef Perl_rsignal -Sighandler_t -Perl_rsignal(pTHXo_ int i, Sighandler_t t) -{ - return ((CPerlObj*)pPerl)->Perl_rsignal(i, t); -} - -#undef Perl_rsignal_state -Sighandler_t -Perl_rsignal_state(pTHXo_ int i) -{ - return ((CPerlObj*)pPerl)->Perl_rsignal_state(i); -} -#if !defined(HAS_RENAME) -#endif - -#undef Perl_savepv -char* -Perl_savepv(pTHXo_ const char* sv) -{ - return ((CPerlObj*)pPerl)->Perl_savepv(sv); -} - -#undef Perl_savepvn -char* -Perl_savepvn(pTHXo_ const char* sv, I32 len) -{ - return ((CPerlObj*)pPerl)->Perl_savepvn(sv, len); -} - -#undef Perl_savestack_grow -void -Perl_savestack_grow(pTHXo) -{ - ((CPerlObj*)pPerl)->Perl_savestack_grow(); -} - -#undef Perl_save_aelem -void -Perl_save_aelem(pTHXo_ AV* av, I32 idx, SV **sptr) -{ - ((CPerlObj*)pPerl)->Perl_save_aelem(av, idx, sptr); -} - -#undef Perl_save_alloc -I32 -Perl_save_alloc(pTHXo_ I32 size, I32 pad) -{ - return ((CPerlObj*)pPerl)->Perl_save_alloc(size, pad); -} - -#undef Perl_save_aptr -void -Perl_save_aptr(pTHXo_ AV** aptr) -{ - ((CPerlObj*)pPerl)->Perl_save_aptr(aptr); -} - -#undef Perl_save_ary -AV* -Perl_save_ary(pTHXo_ GV* gv) -{ - return ((CPerlObj*)pPerl)->Perl_save_ary(gv); -} - -#undef Perl_save_clearsv -void -Perl_save_clearsv(pTHXo_ SV** svp) -{ - ((CPerlObj*)pPerl)->Perl_save_clearsv(svp); -} - -#undef Perl_save_delete -void -Perl_save_delete(pTHXo_ HV* hv, char* key, I32 klen) -{ - ((CPerlObj*)pPerl)->Perl_save_delete(hv, key, klen); -} - -#undef Perl_save_destructor -void -Perl_save_destructor(pTHXo_ DESTRUCTORFUNC_NOCONTEXT_t f, void* p) -{ - ((CPerlObj*)pPerl)->Perl_save_destructor(f, p); -} - -#undef Perl_save_destructor_x -void -Perl_save_destructor_x(pTHXo_ DESTRUCTORFUNC_t f, void* p) -{ - ((CPerlObj*)pPerl)->Perl_save_destructor_x(f, p); -} - -#undef Perl_save_freesv -void -Perl_save_freesv(pTHXo_ SV* sv) -{ - ((CPerlObj*)pPerl)->Perl_save_freesv(sv); -} - -#undef Perl_save_freepv -void -Perl_save_freepv(pTHXo_ char* pv) -{ - ((CPerlObj*)pPerl)->Perl_save_freepv(pv); -} - -#undef Perl_save_generic_svref -void -Perl_save_generic_svref(pTHXo_ SV** sptr) -{ - ((CPerlObj*)pPerl)->Perl_save_generic_svref(sptr); -} - -#undef Perl_save_generic_pvref -void -Perl_save_generic_pvref(pTHXo_ char** str) -{ - ((CPerlObj*)pPerl)->Perl_save_generic_pvref(str); -} - -#undef Perl_save_gp -void -Perl_save_gp(pTHXo_ GV* gv, I32 empty) -{ - ((CPerlObj*)pPerl)->Perl_save_gp(gv, empty); -} - -#undef Perl_save_hash -HV* -Perl_save_hash(pTHXo_ GV* gv) -{ - return ((CPerlObj*)pPerl)->Perl_save_hash(gv); -} - -#undef Perl_save_helem -void -Perl_save_helem(pTHXo_ HV* hv, SV *key, SV **sptr) -{ - ((CPerlObj*)pPerl)->Perl_save_helem(hv, key, sptr); -} - -#undef Perl_save_hints -void -Perl_save_hints(pTHXo) -{ - ((CPerlObj*)pPerl)->Perl_save_hints(); -} - -#undef Perl_save_hptr -void -Perl_save_hptr(pTHXo_ HV** hptr) -{ - ((CPerlObj*)pPerl)->Perl_save_hptr(hptr); -} - -#undef Perl_save_I16 -void -Perl_save_I16(pTHXo_ I16* intp) -{ - ((CPerlObj*)pPerl)->Perl_save_I16(intp); -} - -#undef Perl_save_I32 -void -Perl_save_I32(pTHXo_ I32* intp) -{ - ((CPerlObj*)pPerl)->Perl_save_I32(intp); -} - -#undef Perl_save_I8 -void -Perl_save_I8(pTHXo_ I8* bytep) -{ - ((CPerlObj*)pPerl)->Perl_save_I8(bytep); -} - -#undef Perl_save_int -void -Perl_save_int(pTHXo_ int* intp) -{ - ((CPerlObj*)pPerl)->Perl_save_int(intp); -} - -#undef Perl_save_item -void -Perl_save_item(pTHXo_ SV* item) -{ - ((CPerlObj*)pPerl)->Perl_save_item(item); -} - -#undef Perl_save_iv -void -Perl_save_iv(pTHXo_ IV* iv) -{ - ((CPerlObj*)pPerl)->Perl_save_iv(iv); -} - -#undef Perl_save_list -void -Perl_save_list(pTHXo_ SV** sarg, I32 maxsarg) -{ - ((CPerlObj*)pPerl)->Perl_save_list(sarg, maxsarg); -} - -#undef Perl_save_long -void -Perl_save_long(pTHXo_ long* longp) -{ - ((CPerlObj*)pPerl)->Perl_save_long(longp); -} - -#undef Perl_save_mortalizesv -void -Perl_save_mortalizesv(pTHXo_ SV* sv) -{ - ((CPerlObj*)pPerl)->Perl_save_mortalizesv(sv); -} - -#undef Perl_save_nogv -void -Perl_save_nogv(pTHXo_ GV* gv) -{ - ((CPerlObj*)pPerl)->Perl_save_nogv(gv); -} - -#undef Perl_save_scalar -SV* -Perl_save_scalar(pTHXo_ GV* gv) -{ - return ((CPerlObj*)pPerl)->Perl_save_scalar(gv); -} - -#undef Perl_save_pptr -void -Perl_save_pptr(pTHXo_ char** pptr) -{ - ((CPerlObj*)pPerl)->Perl_save_pptr(pptr); -} - -#undef Perl_save_vptr -void -Perl_save_vptr(pTHXo_ void* pptr) -{ - ((CPerlObj*)pPerl)->Perl_save_vptr(pptr); -} - -#undef Perl_save_re_context -void -Perl_save_re_context(pTHXo) -{ - ((CPerlObj*)pPerl)->Perl_save_re_context(); -} - -#undef Perl_save_padsv -void -Perl_save_padsv(pTHXo_ PADOFFSET off) -{ - ((CPerlObj*)pPerl)->Perl_save_padsv(off); -} - -#undef Perl_save_sptr -void -Perl_save_sptr(pTHXo_ SV** sptr) -{ - ((CPerlObj*)pPerl)->Perl_save_sptr(sptr); -} - -#undef Perl_save_svref -SV* -Perl_save_svref(pTHXo_ SV** sptr) -{ - return ((CPerlObj*)pPerl)->Perl_save_svref(sptr); -} - -#undef Perl_save_threadsv -SV** -Perl_save_threadsv(pTHXo_ PADOFFSET i) -{ - return ((CPerlObj*)pPerl)->Perl_save_threadsv(i); -} - -#undef Perl_scan_bin -NV -Perl_scan_bin(pTHXo_ char* start, STRLEN len, STRLEN* retlen) -{ - return ((CPerlObj*)pPerl)->Perl_scan_bin(start, len, retlen); -} - -#undef Perl_scan_hex -NV -Perl_scan_hex(pTHXo_ char* start, STRLEN len, STRLEN* retlen) -{ - return ((CPerlObj*)pPerl)->Perl_scan_hex(start, len, retlen); -} - -#undef Perl_scan_num -char* -Perl_scan_num(pTHXo_ char* s, YYSTYPE *lvalp) -{ - return ((CPerlObj*)pPerl)->Perl_scan_num(s, lvalp); -} - -#undef Perl_scan_oct -NV -Perl_scan_oct(pTHXo_ char* start, STRLEN len, STRLEN* retlen) -{ - return ((CPerlObj*)pPerl)->Perl_scan_oct(start, len, retlen); -} - -#undef Perl_screaminstr -char* -Perl_screaminstr(pTHXo_ SV* bigsv, SV* littlesv, I32 start_shift, I32 end_shift, I32 *state, I32 last) -{ - return ((CPerlObj*)pPerl)->Perl_screaminstr(bigsv, littlesv, start_shift, end_shift, state, last); -} -#if !defined(VMS) -#endif - -#undef Perl_sharepvn -char* -Perl_sharepvn(pTHXo_ const char* sv, I32 len, U32 hash) -{ - return ((CPerlObj*)pPerl)->Perl_sharepvn(sv, len, hash); -} - -#undef Perl_stack_grow -SV** -Perl_stack_grow(pTHXo_ SV** sp, SV**p, int n) -{ - return ((CPerlObj*)pPerl)->Perl_stack_grow(sp, p, n); -} - -#undef Perl_start_subparse -I32 -Perl_start_subparse(pTHXo_ I32 is_format, U32 flags) -{ - return ((CPerlObj*)pPerl)->Perl_start_subparse(is_format, flags); -} - -#undef Perl_sv_2bool -bool -Perl_sv_2bool(pTHXo_ SV* sv) -{ - return ((CPerlObj*)pPerl)->Perl_sv_2bool(sv); -} - -#undef Perl_sv_2cv -CV* -Perl_sv_2cv(pTHXo_ SV* sv, HV** st, GV** gvp, I32 lref) -{ - return ((CPerlObj*)pPerl)->Perl_sv_2cv(sv, st, gvp, lref); -} - -#undef Perl_sv_2io -IO* -Perl_sv_2io(pTHXo_ SV* sv) -{ - return ((CPerlObj*)pPerl)->Perl_sv_2io(sv); -} - -#undef Perl_sv_2iv -IV -Perl_sv_2iv(pTHXo_ SV* sv) -{ - return ((CPerlObj*)pPerl)->Perl_sv_2iv(sv); -} - -#undef Perl_sv_2mortal -SV* -Perl_sv_2mortal(pTHXo_ SV* sv) -{ - return ((CPerlObj*)pPerl)->Perl_sv_2mortal(sv); -} - -#undef Perl_sv_2nv -NV -Perl_sv_2nv(pTHXo_ SV* sv) -{ - return ((CPerlObj*)pPerl)->Perl_sv_2nv(sv); -} - -#undef Perl_sv_2pv -char* -Perl_sv_2pv(pTHXo_ SV* sv, STRLEN* lp) -{ - return ((CPerlObj*)pPerl)->Perl_sv_2pv(sv, lp); -} - -#undef Perl_sv_2pvutf8 -char* -Perl_sv_2pvutf8(pTHXo_ SV* sv, STRLEN* lp) -{ - return ((CPerlObj*)pPerl)->Perl_sv_2pvutf8(sv, lp); -} - -#undef Perl_sv_2pvbyte -char* -Perl_sv_2pvbyte(pTHXo_ SV* sv, STRLEN* lp) -{ - return ((CPerlObj*)pPerl)->Perl_sv_2pvbyte(sv, lp); -} - -#undef Perl_sv_2uv -UV -Perl_sv_2uv(pTHXo_ SV* sv) -{ - return ((CPerlObj*)pPerl)->Perl_sv_2uv(sv); -} - -#undef Perl_sv_iv -IV -Perl_sv_iv(pTHXo_ SV* sv) -{ - return ((CPerlObj*)pPerl)->Perl_sv_iv(sv); -} - -#undef Perl_sv_uv -UV -Perl_sv_uv(pTHXo_ SV* sv) -{ - return ((CPerlObj*)pPerl)->Perl_sv_uv(sv); -} - -#undef Perl_sv_nv -NV -Perl_sv_nv(pTHXo_ SV* sv) -{ - return ((CPerlObj*)pPerl)->Perl_sv_nv(sv); -} - -#undef Perl_sv_pvn -char* -Perl_sv_pvn(pTHXo_ SV *sv, STRLEN *len) -{ - return ((CPerlObj*)pPerl)->Perl_sv_pvn(sv, len); -} - -#undef Perl_sv_pvutf8n -char* -Perl_sv_pvutf8n(pTHXo_ SV *sv, STRLEN *len) -{ - return ((CPerlObj*)pPerl)->Perl_sv_pvutf8n(sv, len); -} - -#undef Perl_sv_pvbyten -char* -Perl_sv_pvbyten(pTHXo_ SV *sv, STRLEN *len) -{ - return ((CPerlObj*)pPerl)->Perl_sv_pvbyten(sv, len); -} - -#undef Perl_sv_true -I32 -Perl_sv_true(pTHXo_ SV *sv) -{ - return ((CPerlObj*)pPerl)->Perl_sv_true(sv); -} - -#undef Perl_sv_backoff -int -Perl_sv_backoff(pTHXo_ SV* sv) -{ - return ((CPerlObj*)pPerl)->Perl_sv_backoff(sv); -} - -#undef Perl_sv_bless -SV* -Perl_sv_bless(pTHXo_ SV* sv, HV* stash) -{ - return ((CPerlObj*)pPerl)->Perl_sv_bless(sv, stash); -} - -#undef Perl_sv_catpvf -void -Perl_sv_catpvf(pTHXo_ SV* sv, const char* pat, ...) -{ - va_list args; - va_start(args, pat); - ((CPerlObj*)pPerl)->Perl_sv_vcatpvf(sv, pat, &args); - va_end(args); -} - -#undef Perl_sv_vcatpvf -void -Perl_sv_vcatpvf(pTHXo_ SV* sv, const char* pat, va_list* args) -{ - ((CPerlObj*)pPerl)->Perl_sv_vcatpvf(sv, pat, args); -} - -#undef Perl_sv_catpv -void -Perl_sv_catpv(pTHXo_ SV* sv, const char* ptr) -{ - ((CPerlObj*)pPerl)->Perl_sv_catpv(sv, ptr); -} - -#undef Perl_sv_catpvn -void -Perl_sv_catpvn(pTHXo_ SV* sv, const char* ptr, STRLEN len) -{ - ((CPerlObj*)pPerl)->Perl_sv_catpvn(sv, ptr, len); -} - -#undef Perl_sv_catsv -void -Perl_sv_catsv(pTHXo_ SV* dsv, SV* ssv) -{ - ((CPerlObj*)pPerl)->Perl_sv_catsv(dsv, ssv); -} - -#undef Perl_sv_chop -void -Perl_sv_chop(pTHXo_ SV* sv, char* ptr) -{ - ((CPerlObj*)pPerl)->Perl_sv_chop(sv, ptr); -} - -#undef Perl_sv_clear -void -Perl_sv_clear(pTHXo_ SV* sv) -{ - ((CPerlObj*)pPerl)->Perl_sv_clear(sv); -} - -#undef Perl_sv_cmp -I32 -Perl_sv_cmp(pTHXo_ SV* sv1, SV* sv2) -{ - return ((CPerlObj*)pPerl)->Perl_sv_cmp(sv1, sv2); -} - -#undef Perl_sv_cmp_locale -I32 -Perl_sv_cmp_locale(pTHXo_ SV* sv1, SV* sv2) -{ - return ((CPerlObj*)pPerl)->Perl_sv_cmp_locale(sv1, sv2); -} -#if defined(USE_LOCALE_COLLATE) - -#undef Perl_sv_collxfrm -char* -Perl_sv_collxfrm(pTHXo_ SV* sv, STRLEN* nxp) -{ - return ((CPerlObj*)pPerl)->Perl_sv_collxfrm(sv, nxp); -} -#endif - -#undef Perl_sv_compile_2op -OP* -Perl_sv_compile_2op(pTHXo_ SV* sv, OP** startp, char* code, AV** avp) -{ - return ((CPerlObj*)pPerl)->Perl_sv_compile_2op(sv, startp, code, avp); -} - -#undef Perl_getcwd_sv -int -Perl_getcwd_sv(pTHXo_ SV* sv) -{ - return ((CPerlObj*)pPerl)->Perl_getcwd_sv(sv); -} - -#undef Perl_sv_dec -void -Perl_sv_dec(pTHXo_ SV* sv) -{ - ((CPerlObj*)pPerl)->Perl_sv_dec(sv); -} - -#undef Perl_sv_dump -void -Perl_sv_dump(pTHXo_ SV* sv) -{ - ((CPerlObj*)pPerl)->Perl_sv_dump(sv); -} - -#undef Perl_sv_derived_from -bool -Perl_sv_derived_from(pTHXo_ SV* sv, const char* name) -{ - return ((CPerlObj*)pPerl)->Perl_sv_derived_from(sv, name); -} - -#undef Perl_sv_eq -I32 -Perl_sv_eq(pTHXo_ SV* sv1, SV* sv2) -{ - return ((CPerlObj*)pPerl)->Perl_sv_eq(sv1, sv2); -} - -#undef Perl_sv_free -void -Perl_sv_free(pTHXo_ SV* sv) -{ - ((CPerlObj*)pPerl)->Perl_sv_free(sv); -} - -#undef Perl_sv_gets -char* -Perl_sv_gets(pTHXo_ SV* sv, PerlIO* fp, I32 append) -{ - return ((CPerlObj*)pPerl)->Perl_sv_gets(sv, fp, append); -} - -#undef Perl_sv_grow -char* -Perl_sv_grow(pTHXo_ SV* sv, STRLEN newlen) -{ - return ((CPerlObj*)pPerl)->Perl_sv_grow(sv, newlen); -} - -#undef Perl_sv_inc -void -Perl_sv_inc(pTHXo_ SV* sv) -{ - ((CPerlObj*)pPerl)->Perl_sv_inc(sv); -} - -#undef Perl_sv_insert -void -Perl_sv_insert(pTHXo_ SV* bigsv, STRLEN offset, STRLEN len, char* little, STRLEN littlelen) -{ - ((CPerlObj*)pPerl)->Perl_sv_insert(bigsv, offset, len, little, littlelen); -} - -#undef Perl_sv_isa -int -Perl_sv_isa(pTHXo_ SV* sv, const char* name) -{ - return ((CPerlObj*)pPerl)->Perl_sv_isa(sv, name); -} - -#undef Perl_sv_isobject -int -Perl_sv_isobject(pTHXo_ SV* sv) -{ - return ((CPerlObj*)pPerl)->Perl_sv_isobject(sv); -} - -#undef Perl_sv_len -STRLEN -Perl_sv_len(pTHXo_ SV* sv) -{ - return ((CPerlObj*)pPerl)->Perl_sv_len(sv); -} - -#undef Perl_sv_len_utf8 -STRLEN -Perl_sv_len_utf8(pTHXo_ SV* sv) -{ - return ((CPerlObj*)pPerl)->Perl_sv_len_utf8(sv); -} - -#undef Perl_sv_magic -void -Perl_sv_magic(pTHXo_ SV* sv, SV* obj, int how, const char* name, I32 namlen) -{ - ((CPerlObj*)pPerl)->Perl_sv_magic(sv, obj, how, name, namlen); -} - -#undef Perl_sv_mortalcopy -SV* -Perl_sv_mortalcopy(pTHXo_ SV* oldsv) -{ - return ((CPerlObj*)pPerl)->Perl_sv_mortalcopy(oldsv); -} - -#undef Perl_sv_newmortal -SV* -Perl_sv_newmortal(pTHXo) -{ - return ((CPerlObj*)pPerl)->Perl_sv_newmortal(); -} - -#undef Perl_sv_newref -SV* -Perl_sv_newref(pTHXo_ SV* sv) -{ - return ((CPerlObj*)pPerl)->Perl_sv_newref(sv); -} - -#undef Perl_sv_peek -char* -Perl_sv_peek(pTHXo_ SV* sv) -{ - return ((CPerlObj*)pPerl)->Perl_sv_peek(sv); -} - -#undef Perl_sv_pos_u2b -void -Perl_sv_pos_u2b(pTHXo_ SV* sv, I32* offsetp, I32* lenp) -{ - ((CPerlObj*)pPerl)->Perl_sv_pos_u2b(sv, offsetp, lenp); -} - -#undef Perl_sv_pos_b2u -void -Perl_sv_pos_b2u(pTHXo_ SV* sv, I32* offsetp) -{ - ((CPerlObj*)pPerl)->Perl_sv_pos_b2u(sv, offsetp); -} - -#undef Perl_sv_pvn_force -char* -Perl_sv_pvn_force(pTHXo_ SV* sv, STRLEN* lp) -{ - return ((CPerlObj*)pPerl)->Perl_sv_pvn_force(sv, lp); -} - -#undef Perl_sv_pvutf8n_force -char* -Perl_sv_pvutf8n_force(pTHXo_ SV* sv, STRLEN* lp) -{ - return ((CPerlObj*)pPerl)->Perl_sv_pvutf8n_force(sv, lp); -} - -#undef Perl_sv_pvbyten_force -char* -Perl_sv_pvbyten_force(pTHXo_ SV* sv, STRLEN* lp) -{ - return ((CPerlObj*)pPerl)->Perl_sv_pvbyten_force(sv, lp); -} - -#undef Perl_sv_reftype -char* -Perl_sv_reftype(pTHXo_ SV* sv, int ob) -{ - return ((CPerlObj*)pPerl)->Perl_sv_reftype(sv, ob); -} - -#undef Perl_sv_replace -void -Perl_sv_replace(pTHXo_ SV* sv, SV* nsv) -{ - ((CPerlObj*)pPerl)->Perl_sv_replace(sv, nsv); -} - -#undef Perl_sv_report_used -void -Perl_sv_report_used(pTHXo) -{ - ((CPerlObj*)pPerl)->Perl_sv_report_used(); -} - -#undef Perl_sv_reset -void -Perl_sv_reset(pTHXo_ char* s, HV* stash) -{ - ((CPerlObj*)pPerl)->Perl_sv_reset(s, stash); -} - -#undef Perl_sv_setpvf -void -Perl_sv_setpvf(pTHXo_ SV* sv, const char* pat, ...) -{ - va_list args; - va_start(args, pat); - ((CPerlObj*)pPerl)->Perl_sv_vsetpvf(sv, pat, &args); - va_end(args); -} - -#undef Perl_sv_vsetpvf -void -Perl_sv_vsetpvf(pTHXo_ SV* sv, const char* pat, va_list* args) -{ - ((CPerlObj*)pPerl)->Perl_sv_vsetpvf(sv, pat, args); -} - -#undef Perl_sv_setiv -void -Perl_sv_setiv(pTHXo_ SV* sv, IV num) -{ - ((CPerlObj*)pPerl)->Perl_sv_setiv(sv, num); -} - -#undef Perl_sv_setpviv -void -Perl_sv_setpviv(pTHXo_ SV* sv, IV num) -{ - ((CPerlObj*)pPerl)->Perl_sv_setpviv(sv, num); -} - -#undef Perl_sv_setuv -void -Perl_sv_setuv(pTHXo_ SV* sv, UV num) -{ - ((CPerlObj*)pPerl)->Perl_sv_setuv(sv, num); -} - -#undef Perl_sv_setnv -void -Perl_sv_setnv(pTHXo_ SV* sv, NV num) -{ - ((CPerlObj*)pPerl)->Perl_sv_setnv(sv, num); -} - -#undef Perl_sv_setref_iv -SV* -Perl_sv_setref_iv(pTHXo_ SV* rv, const char* classname, IV iv) -{ - return ((CPerlObj*)pPerl)->Perl_sv_setref_iv(rv, classname, iv); -} - -#undef Perl_sv_setref_uv -SV* -Perl_sv_setref_uv(pTHXo_ SV* rv, const char* classname, UV uv) -{ - return ((CPerlObj*)pPerl)->Perl_sv_setref_uv(rv, classname, uv); -} - -#undef Perl_sv_setref_nv -SV* -Perl_sv_setref_nv(pTHXo_ SV* rv, const char* classname, NV nv) -{ - return ((CPerlObj*)pPerl)->Perl_sv_setref_nv(rv, classname, nv); -} - -#undef Perl_sv_setref_pv -SV* -Perl_sv_setref_pv(pTHXo_ SV* rv, const char* classname, void* pv) -{ - return ((CPerlObj*)pPerl)->Perl_sv_setref_pv(rv, classname, pv); -} - -#undef Perl_sv_setref_pvn -SV* -Perl_sv_setref_pvn(pTHXo_ SV* rv, const char* classname, char* pv, STRLEN n) -{ - return ((CPerlObj*)pPerl)->Perl_sv_setref_pvn(rv, classname, pv, n); -} - -#undef Perl_sv_setpv -void -Perl_sv_setpv(pTHXo_ SV* sv, const char* ptr) -{ - ((CPerlObj*)pPerl)->Perl_sv_setpv(sv, ptr); -} - -#undef Perl_sv_setpvn -void -Perl_sv_setpvn(pTHXo_ SV* sv, const char* ptr, STRLEN len) -{ - ((CPerlObj*)pPerl)->Perl_sv_setpvn(sv, ptr, len); -} - -#undef Perl_sv_setsv -void -Perl_sv_setsv(pTHXo_ SV* dsv, SV* ssv) -{ - ((CPerlObj*)pPerl)->Perl_sv_setsv(dsv, ssv); -} - -#undef Perl_sv_taint -void -Perl_sv_taint(pTHXo_ SV* sv) -{ - ((CPerlObj*)pPerl)->Perl_sv_taint(sv); -} - -#undef Perl_sv_tainted -bool -Perl_sv_tainted(pTHXo_ SV* sv) -{ - return ((CPerlObj*)pPerl)->Perl_sv_tainted(sv); -} - -#undef Perl_sv_unmagic -int -Perl_sv_unmagic(pTHXo_ SV* sv, int type) -{ - return ((CPerlObj*)pPerl)->Perl_sv_unmagic(sv, type); -} - -#undef Perl_sv_unref -void -Perl_sv_unref(pTHXo_ SV* sv) -{ - ((CPerlObj*)pPerl)->Perl_sv_unref(sv); -} - -#undef Perl_sv_unref_flags -void -Perl_sv_unref_flags(pTHXo_ SV* sv, U32 flags) -{ - ((CPerlObj*)pPerl)->Perl_sv_unref_flags(sv, flags); -} - -#undef Perl_sv_untaint -void -Perl_sv_untaint(pTHXo_ SV* sv) -{ - ((CPerlObj*)pPerl)->Perl_sv_untaint(sv); -} - -#undef Perl_sv_upgrade -bool -Perl_sv_upgrade(pTHXo_ SV* sv, U32 mt) -{ - return ((CPerlObj*)pPerl)->Perl_sv_upgrade(sv, mt); -} - -#undef Perl_sv_usepvn -void -Perl_sv_usepvn(pTHXo_ SV* sv, char* ptr, STRLEN len) -{ - ((CPerlObj*)pPerl)->Perl_sv_usepvn(sv, ptr, len); -} - -#undef Perl_sv_vcatpvfn -void -Perl_sv_vcatpvfn(pTHXo_ SV* sv, const char* pat, STRLEN patlen, va_list* args, SV** svargs, I32 svmax, bool *maybe_tainted) -{ - ((CPerlObj*)pPerl)->Perl_sv_vcatpvfn(sv, pat, patlen, args, svargs, svmax, maybe_tainted); -} - -#undef Perl_sv_vsetpvfn -void -Perl_sv_vsetpvfn(pTHXo_ SV* sv, const char* pat, STRLEN patlen, va_list* args, SV** svargs, I32 svmax, bool *maybe_tainted) -{ - ((CPerlObj*)pPerl)->Perl_sv_vsetpvfn(sv, pat, patlen, args, svargs, svmax, maybe_tainted); -} - -#undef Perl_str_to_version -NV -Perl_str_to_version(pTHXo_ SV *sv) -{ - return ((CPerlObj*)pPerl)->Perl_str_to_version(sv); -} - -#undef Perl_swash_init -SV* -Perl_swash_init(pTHXo_ char* pkg, char* name, SV* listsv, I32 minbits, I32 none) -{ - return ((CPerlObj*)pPerl)->Perl_swash_init(pkg, name, listsv, minbits, none); -} - -#undef Perl_swash_fetch -UV -Perl_swash_fetch(pTHXo_ SV *sv, U8 *ptr, bool do_utf8) -{ - return ((CPerlObj*)pPerl)->Perl_swash_fetch(sv, ptr, do_utf8); -} - -#undef Perl_taint_env -void -Perl_taint_env(pTHXo) -{ - ((CPerlObj*)pPerl)->Perl_taint_env(); -} - -#undef Perl_taint_proper -void -Perl_taint_proper(pTHXo_ const char* f, const char* s) -{ - ((CPerlObj*)pPerl)->Perl_taint_proper(f, s); -} - -#undef Perl_to_utf8_lower -UV -Perl_to_utf8_lower(pTHXo_ U8 *p) -{ - return ((CPerlObj*)pPerl)->Perl_to_utf8_lower(p); -} - -#undef Perl_to_utf8_upper -UV -Perl_to_utf8_upper(pTHXo_ U8 *p) -{ - return ((CPerlObj*)pPerl)->Perl_to_utf8_upper(p); -} - -#undef Perl_to_utf8_title -UV -Perl_to_utf8_title(pTHXo_ U8 *p) -{ - return ((CPerlObj*)pPerl)->Perl_to_utf8_title(p); -} -#if defined(UNLINK_ALL_VERSIONS) - -#undef Perl_unlnk -I32 -Perl_unlnk(pTHXo_ char* f) -{ - return ((CPerlObj*)pPerl)->Perl_unlnk(f); -} -#endif -#if defined(USE_5005THREADS) - -#undef Perl_unlock_condpair -void -Perl_unlock_condpair(pTHXo_ void* svv) -{ - ((CPerlObj*)pPerl)->Perl_unlock_condpair(svv); -} -#endif - -#undef Perl_unsharepvn -void -Perl_unsharepvn(pTHXo_ const char* sv, I32 len, U32 hash) -{ - ((CPerlObj*)pPerl)->Perl_unsharepvn(sv, len, hash); -} - -#undef Perl_utf16_to_utf8 -U8* -Perl_utf16_to_utf8(pTHXo_ U8* p, U8 *d, I32 bytelen, I32 *newlen) -{ - return ((CPerlObj*)pPerl)->Perl_utf16_to_utf8(p, d, bytelen, newlen); -} - -#undef Perl_utf16_to_utf8_reversed -U8* -Perl_utf16_to_utf8_reversed(pTHXo_ U8* p, U8 *d, I32 bytelen, I32 *newlen) -{ - return ((CPerlObj*)pPerl)->Perl_utf16_to_utf8_reversed(p, d, bytelen, newlen); -} - -#undef Perl_utf8_length -STRLEN -Perl_utf8_length(pTHXo_ U8* s, U8 *e) -{ - return ((CPerlObj*)pPerl)->Perl_utf8_length(s, e); -} - -#undef Perl_utf8_distance -IV -Perl_utf8_distance(pTHXo_ U8 *a, U8 *b) -{ - return ((CPerlObj*)pPerl)->Perl_utf8_distance(a, b); -} - -#undef Perl_utf8_hop -U8* -Perl_utf8_hop(pTHXo_ U8 *s, I32 off) -{ - return ((CPerlObj*)pPerl)->Perl_utf8_hop(s, off); -} - -#undef Perl_utf8_to_bytes -U8* -Perl_utf8_to_bytes(pTHXo_ U8 *s, STRLEN *len) -{ - return ((CPerlObj*)pPerl)->Perl_utf8_to_bytes(s, len); -} - -#undef Perl_bytes_from_utf8 -U8* -Perl_bytes_from_utf8(pTHXo_ U8 *s, STRLEN *len, bool *is_utf8) -{ - return ((CPerlObj*)pPerl)->Perl_bytes_from_utf8(s, len, is_utf8); -} - -#undef Perl_bytes_to_utf8 -U8* -Perl_bytes_to_utf8(pTHXo_ U8 *s, STRLEN *len) -{ - return ((CPerlObj*)pPerl)->Perl_bytes_to_utf8(s, len); -} - -#undef Perl_utf8_to_uvchr -UV -Perl_utf8_to_uvchr(pTHXo_ U8 *s, STRLEN* retlen) -{ - return ((CPerlObj*)pPerl)->Perl_utf8_to_uvchr(s, retlen); -} - -#undef Perl_utf8_to_uvuni -UV -Perl_utf8_to_uvuni(pTHXo_ U8 *s, STRLEN* retlen) -{ - return ((CPerlObj*)pPerl)->Perl_utf8_to_uvuni(s, retlen); -} - -#undef Perl_utf8n_to_uvchr -UV -Perl_utf8n_to_uvchr(pTHXo_ U8 *s, STRLEN curlen, STRLEN* retlen, U32 flags) -{ - return ((CPerlObj*)pPerl)->Perl_utf8n_to_uvchr(s, curlen, retlen, flags); -} - -#undef Perl_utf8n_to_uvuni -UV -Perl_utf8n_to_uvuni(pTHXo_ U8 *s, STRLEN curlen, STRLEN* retlen, U32 flags) -{ - return ((CPerlObj*)pPerl)->Perl_utf8n_to_uvuni(s, curlen, retlen, flags); -} - -#undef Perl_uvchr_to_utf8 -U8* -Perl_uvchr_to_utf8(pTHXo_ U8 *d, UV uv) -{ - return ((CPerlObj*)pPerl)->Perl_uvchr_to_utf8(d, uv); -} - -#undef Perl_uvuni_to_utf8 -U8* -Perl_uvuni_to_utf8(pTHXo_ U8 *d, UV uv) -{ - return ((CPerlObj*)pPerl)->Perl_uvuni_to_utf8(d, uv); -} - -#undef Perl_warn -void -Perl_warn(pTHXo_ const char* pat, ...) -{ - va_list args; - va_start(args, pat); - ((CPerlObj*)pPerl)->Perl_vwarn(pat, &args); - va_end(args); -} - -#undef Perl_vwarn -void -Perl_vwarn(pTHXo_ const char* pat, va_list* args) -{ - ((CPerlObj*)pPerl)->Perl_vwarn(pat, args); -} - -#undef Perl_warner -void -Perl_warner(pTHXo_ U32 err, const char* pat, ...) -{ - va_list args; - va_start(args, pat); - ((CPerlObj*)pPerl)->Perl_vwarner(err, pat, &args); - va_end(args); -} - -#undef Perl_vwarner -void -Perl_vwarner(pTHXo_ U32 err, const char* pat, va_list* args) -{ - ((CPerlObj*)pPerl)->Perl_vwarner(err, pat, args); -} - -#undef Perl_whichsig -I32 -Perl_whichsig(pTHXo_ char* sig) -{ - return ((CPerlObj*)pPerl)->Perl_whichsig(sig); -} -#ifdef USE_PURE_BISON -#endif -#if defined(MYMALLOC) - -#undef Perl_dump_mstats -void -Perl_dump_mstats(pTHXo_ char* s) -{ - ((CPerlObj*)pPerl)->Perl_dump_mstats(s); -} - -#undef Perl_get_mstats -int -Perl_get_mstats(pTHXo_ perl_mstats_t *buf, int buflen, int level) -{ - return ((CPerlObj*)pPerl)->Perl_get_mstats(buf, buflen, level); -} -#endif - -#undef Perl_safesysmalloc -Malloc_t -Perl_safesysmalloc(MEM_SIZE nbytes) -{ - dTHXo; - return ((CPerlObj*)pPerl)->Perl_safesysmalloc(nbytes); -} - -#undef Perl_safesyscalloc -Malloc_t -Perl_safesyscalloc(MEM_SIZE elements, MEM_SIZE size) -{ - dTHXo; - return ((CPerlObj*)pPerl)->Perl_safesyscalloc(elements, size); -} - -#undef Perl_safesysrealloc -Malloc_t -Perl_safesysrealloc(Malloc_t where, MEM_SIZE nbytes) -{ - dTHXo; - return ((CPerlObj*)pPerl)->Perl_safesysrealloc(where, nbytes); -} - -#undef Perl_safesysfree -Free_t -Perl_safesysfree(Malloc_t where) -{ - dTHXo; - ((CPerlObj*)pPerl)->Perl_safesysfree(where); -} -#if defined(LEAKTEST) - -#undef Perl_safexmalloc -Malloc_t -Perl_safexmalloc(I32 x, MEM_SIZE size) -{ - dTHXo; - return ((CPerlObj*)pPerl)->Perl_safexmalloc(x, size); -} - -#undef Perl_safexcalloc -Malloc_t -Perl_safexcalloc(I32 x, MEM_SIZE elements, MEM_SIZE size) -{ - dTHXo; - return ((CPerlObj*)pPerl)->Perl_safexcalloc(x, elements, size); -} - -#undef Perl_safexrealloc -Malloc_t -Perl_safexrealloc(Malloc_t where, MEM_SIZE size) -{ - dTHXo; - return ((CPerlObj*)pPerl)->Perl_safexrealloc(where, size); -} - -#undef Perl_safexfree -void -Perl_safexfree(Malloc_t where) -{ - dTHXo; - ((CPerlObj*)pPerl)->Perl_safexfree(where); -} -#endif -#if defined(PERL_GLOBAL_STRUCT) - -#undef Perl_GetVars -struct perl_vars * -Perl_GetVars(pTHXo) -{ - return ((CPerlObj*)pPerl)->Perl_GetVars(); -} -#endif - -#undef Perl_runops_standard -int -Perl_runops_standard(pTHXo) -{ - return ((CPerlObj*)pPerl)->Perl_runops_standard(); -} - -#undef Perl_runops_debug -int -Perl_runops_debug(pTHXo) -{ - return ((CPerlObj*)pPerl)->Perl_runops_debug(); -} -#if defined(USE_5005THREADS) - -#undef Perl_sv_lock -SV* -Perl_sv_lock(pTHXo_ SV *sv) -{ - return ((CPerlObj*)pPerl)->Perl_sv_lock(sv); -} -#endif - -#undef Perl_sv_catpvf_mg -void -Perl_sv_catpvf_mg(pTHXo_ SV *sv, const char* pat, ...) -{ - va_list args; - va_start(args, pat); - ((CPerlObj*)pPerl)->Perl_sv_vcatpvf_mg(sv, pat, &args); - va_end(args); -} - -#undef Perl_sv_vcatpvf_mg -void -Perl_sv_vcatpvf_mg(pTHXo_ SV* sv, const char* pat, va_list* args) -{ - ((CPerlObj*)pPerl)->Perl_sv_vcatpvf_mg(sv, pat, args); -} - -#undef Perl_sv_catpv_mg -void -Perl_sv_catpv_mg(pTHXo_ SV *sv, const char *ptr) -{ - ((CPerlObj*)pPerl)->Perl_sv_catpv_mg(sv, ptr); -} - -#undef Perl_sv_catpvn_mg -void -Perl_sv_catpvn_mg(pTHXo_ SV *sv, const char *ptr, STRLEN len) -{ - ((CPerlObj*)pPerl)->Perl_sv_catpvn_mg(sv, ptr, len); -} - -#undef Perl_sv_catsv_mg -void -Perl_sv_catsv_mg(pTHXo_ SV *dstr, SV *sstr) -{ - ((CPerlObj*)pPerl)->Perl_sv_catsv_mg(dstr, sstr); -} - -#undef Perl_sv_setpvf_mg -void -Perl_sv_setpvf_mg(pTHXo_ SV *sv, const char* pat, ...) -{ - va_list args; - va_start(args, pat); - ((CPerlObj*)pPerl)->Perl_sv_vsetpvf_mg(sv, pat, &args); - va_end(args); -} - -#undef Perl_sv_vsetpvf_mg -void -Perl_sv_vsetpvf_mg(pTHXo_ SV* sv, const char* pat, va_list* args) -{ - ((CPerlObj*)pPerl)->Perl_sv_vsetpvf_mg(sv, pat, args); -} - -#undef Perl_sv_setiv_mg -void -Perl_sv_setiv_mg(pTHXo_ SV *sv, IV i) -{ - ((CPerlObj*)pPerl)->Perl_sv_setiv_mg(sv, i); -} - -#undef Perl_sv_setpviv_mg -void -Perl_sv_setpviv_mg(pTHXo_ SV *sv, IV iv) -{ - ((CPerlObj*)pPerl)->Perl_sv_setpviv_mg(sv, iv); -} - -#undef Perl_sv_setuv_mg -void -Perl_sv_setuv_mg(pTHXo_ SV *sv, UV u) -{ - ((CPerlObj*)pPerl)->Perl_sv_setuv_mg(sv, u); -} - -#undef Perl_sv_setnv_mg -void -Perl_sv_setnv_mg(pTHXo_ SV *sv, NV num) -{ - ((CPerlObj*)pPerl)->Perl_sv_setnv_mg(sv, num); -} - -#undef Perl_sv_setpv_mg -void -Perl_sv_setpv_mg(pTHXo_ SV *sv, const char *ptr) -{ - ((CPerlObj*)pPerl)->Perl_sv_setpv_mg(sv, ptr); -} - -#undef Perl_sv_setpvn_mg -void -Perl_sv_setpvn_mg(pTHXo_ SV *sv, const char *ptr, STRLEN len) -{ - ((CPerlObj*)pPerl)->Perl_sv_setpvn_mg(sv, ptr, len); -} - -#undef Perl_sv_setsv_mg -void -Perl_sv_setsv_mg(pTHXo_ SV *dstr, SV *sstr) -{ - ((CPerlObj*)pPerl)->Perl_sv_setsv_mg(dstr, sstr); -} - -#undef Perl_sv_usepvn_mg -void -Perl_sv_usepvn_mg(pTHXo_ SV *sv, char *ptr, STRLEN len) -{ - ((CPerlObj*)pPerl)->Perl_sv_usepvn_mg(sv, ptr, len); -} - -#undef Perl_get_vtbl -MGVTBL* -Perl_get_vtbl(pTHXo_ int vtbl_id) -{ - return ((CPerlObj*)pPerl)->Perl_get_vtbl(vtbl_id); -} - -#undef Perl_dump_indent -void -Perl_dump_indent(pTHXo_ I32 level, PerlIO *file, const char* pat, ...) -{ - va_list args; - va_start(args, pat); - ((CPerlObj*)pPerl)->Perl_dump_vindent(level, file, pat, &args); - va_end(args); -} - -#undef Perl_dump_vindent -void -Perl_dump_vindent(pTHXo_ I32 level, PerlIO *file, const char* pat, va_list *args) -{ - ((CPerlObj*)pPerl)->Perl_dump_vindent(level, file, pat, args); -} - -#undef Perl_do_gv_dump -void -Perl_do_gv_dump(pTHXo_ I32 level, PerlIO *file, char *name, GV *sv) -{ - ((CPerlObj*)pPerl)->Perl_do_gv_dump(level, file, name, sv); -} - -#undef Perl_do_gvgv_dump -void -Perl_do_gvgv_dump(pTHXo_ I32 level, PerlIO *file, char *name, GV *sv) -{ - ((CPerlObj*)pPerl)->Perl_do_gvgv_dump(level, file, name, sv); -} - -#undef Perl_do_hv_dump -void -Perl_do_hv_dump(pTHXo_ I32 level, PerlIO *file, char *name, HV *sv) -{ - ((CPerlObj*)pPerl)->Perl_do_hv_dump(level, file, name, sv); -} - -#undef Perl_do_magic_dump -void -Perl_do_magic_dump(pTHXo_ I32 level, PerlIO *file, MAGIC *mg, I32 nest, I32 maxnest, bool dumpops, STRLEN pvlim) -{ - ((CPerlObj*)pPerl)->Perl_do_magic_dump(level, file, mg, nest, maxnest, dumpops, pvlim); -} - -#undef Perl_do_op_dump -void -Perl_do_op_dump(pTHXo_ I32 level, PerlIO *file, OP *o) -{ - ((CPerlObj*)pPerl)->Perl_do_op_dump(level, file, o); -} - -#undef Perl_do_pmop_dump -void -Perl_do_pmop_dump(pTHXo_ I32 level, PerlIO *file, PMOP *pm) -{ - ((CPerlObj*)pPerl)->Perl_do_pmop_dump(level, file, pm); -} - -#undef Perl_do_sv_dump -void -Perl_do_sv_dump(pTHXo_ I32 level, PerlIO *file, SV *sv, I32 nest, I32 maxnest, bool dumpops, STRLEN pvlim) -{ - ((CPerlObj*)pPerl)->Perl_do_sv_dump(level, file, sv, nest, maxnest, dumpops, pvlim); -} - -#undef Perl_magic_dump -void -Perl_magic_dump(pTHXo_ MAGIC *mg) -{ - ((CPerlObj*)pPerl)->Perl_magic_dump(mg); -} -#if defined(PERL_FLEXIBLE_EXCEPTIONS) - -#undef Perl_default_protect -void* -Perl_default_protect(pTHXo_ volatile JMPENV *je, int *excpt, protect_body_t body, ...) -{ - void* retval; - va_list args; - va_start(args, body); - retval = ((CPerlObj*)pPerl)->Perl_vdefault_protect(je, excpt, body, &args); - va_end(args); - return retval; - -} - -#undef Perl_vdefault_protect -void* -Perl_vdefault_protect(pTHXo_ volatile JMPENV *je, int *excpt, protect_body_t body, va_list *args) -{ - return ((CPerlObj*)pPerl)->Perl_vdefault_protect(je, excpt, body, args); -} -#endif - -#undef Perl_reginitcolors -void -Perl_reginitcolors(pTHXo) -{ - ((CPerlObj*)pPerl)->Perl_reginitcolors(); -} - -#undef Perl_sv_2pv_nolen -char* -Perl_sv_2pv_nolen(pTHXo_ SV* sv) -{ - return ((CPerlObj*)pPerl)->Perl_sv_2pv_nolen(sv); -} - -#undef Perl_sv_2pvutf8_nolen -char* -Perl_sv_2pvutf8_nolen(pTHXo_ SV* sv) -{ - return ((CPerlObj*)pPerl)->Perl_sv_2pvutf8_nolen(sv); -} - -#undef Perl_sv_2pvbyte_nolen -char* -Perl_sv_2pvbyte_nolen(pTHXo_ SV* sv) -{ - return ((CPerlObj*)pPerl)->Perl_sv_2pvbyte_nolen(sv); -} - -#undef Perl_sv_pv -char* -Perl_sv_pv(pTHXo_ SV *sv) -{ - return ((CPerlObj*)pPerl)->Perl_sv_pv(sv); -} - -#undef Perl_sv_pvutf8 -char* -Perl_sv_pvutf8(pTHXo_ SV *sv) -{ - return ((CPerlObj*)pPerl)->Perl_sv_pvutf8(sv); -} - -#undef Perl_sv_pvbyte -char* -Perl_sv_pvbyte(pTHXo_ SV *sv) -{ - return ((CPerlObj*)pPerl)->Perl_sv_pvbyte(sv); -} - -#undef Perl_sv_utf8_upgrade -STRLEN -Perl_sv_utf8_upgrade(pTHXo_ SV *sv) -{ - return ((CPerlObj*)pPerl)->Perl_sv_utf8_upgrade(sv); -} - -#undef Perl_sv_utf8_downgrade -bool -Perl_sv_utf8_downgrade(pTHXo_ SV *sv, bool fail_ok) -{ - return ((CPerlObj*)pPerl)->Perl_sv_utf8_downgrade(sv, fail_ok); -} - -#undef Perl_sv_utf8_encode -void -Perl_sv_utf8_encode(pTHXo_ SV *sv) -{ - ((CPerlObj*)pPerl)->Perl_sv_utf8_encode(sv); -} - -#undef Perl_sv_utf8_decode -bool -Perl_sv_utf8_decode(pTHXo_ SV *sv) -{ - return ((CPerlObj*)pPerl)->Perl_sv_utf8_decode(sv); -} - -#undef Perl_sv_force_normal -void -Perl_sv_force_normal(pTHXo_ SV *sv) -{ - ((CPerlObj*)pPerl)->Perl_sv_force_normal(sv); -} - -#undef Perl_sv_force_normal_flags -void -Perl_sv_force_normal_flags(pTHXo_ SV *sv, U32 flags) -{ - ((CPerlObj*)pPerl)->Perl_sv_force_normal_flags(sv, flags); -} - -#undef Perl_tmps_grow -void -Perl_tmps_grow(pTHXo_ I32 n) -{ - ((CPerlObj*)pPerl)->Perl_tmps_grow(n); -} - -#undef Perl_sv_rvweaken -SV* -Perl_sv_rvweaken(pTHXo_ SV *sv) -{ - return ((CPerlObj*)pPerl)->Perl_sv_rvweaken(sv); -} - -#undef Perl_newANONATTRSUB -OP* -Perl_newANONATTRSUB(pTHXo_ I32 floor, OP *proto, OP *attrs, OP *block) -{ - return ((CPerlObj*)pPerl)->Perl_newANONATTRSUB(floor, proto, attrs, block); -} - -#undef Perl_newATTRSUB -CV* -Perl_newATTRSUB(pTHXo_ I32 floor, OP *o, OP *proto, OP *attrs, OP *block) -{ - return ((CPerlObj*)pPerl)->Perl_newATTRSUB(floor, o, proto, attrs, block); -} - -#undef Perl_newMYSUB -void -Perl_newMYSUB(pTHXo_ I32 floor, OP *o, OP *proto, OP *attrs, OP *block) -{ - ((CPerlObj*)pPerl)->Perl_newMYSUB(floor, o, proto, attrs, block); -} -#if defined(USE_ITHREADS) - -#undef Perl_cx_dup -PERL_CONTEXT* -Perl_cx_dup(pTHXo_ PERL_CONTEXT* cx, I32 ix, I32 max, clone_params* param) -{ - return ((CPerlObj*)pPerl)->Perl_cx_dup(cx, ix, max, param); -} - -#undef Perl_si_dup -PERL_SI* -Perl_si_dup(pTHXo_ PERL_SI* si, clone_params* param) -{ - return ((CPerlObj*)pPerl)->Perl_si_dup(si, param); -} - -#undef Perl_ss_dup -ANY* -Perl_ss_dup(pTHXo_ PerlInterpreter* proto_perl, clone_params* param) -{ - return ((CPerlObj*)pPerl)->Perl_ss_dup(proto_perl, param); -} - -#undef Perl_any_dup -void* -Perl_any_dup(pTHXo_ void* v, PerlInterpreter* proto_perl) -{ - return ((CPerlObj*)pPerl)->Perl_any_dup(v, proto_perl); -} - -#undef Perl_he_dup -HE* -Perl_he_dup(pTHXo_ HE* e, bool shared, clone_params* param) -{ - return ((CPerlObj*)pPerl)->Perl_he_dup(e, shared, param); -} - -#undef Perl_re_dup -REGEXP* -Perl_re_dup(pTHXo_ REGEXP* r, clone_params* param) -{ - return ((CPerlObj*)pPerl)->Perl_re_dup(r, param); -} - -#undef Perl_fp_dup -PerlIO* -Perl_fp_dup(pTHXo_ PerlIO* fp, char type) -{ - return ((CPerlObj*)pPerl)->Perl_fp_dup(fp, type); -} - -#undef Perl_dirp_dup -DIR* -Perl_dirp_dup(pTHXo_ DIR* dp) -{ - return ((CPerlObj*)pPerl)->Perl_dirp_dup(dp); -} - -#undef Perl_gp_dup -GP* -Perl_gp_dup(pTHXo_ GP* gp, clone_params* param) -{ - return ((CPerlObj*)pPerl)->Perl_gp_dup(gp, param); -} - -#undef Perl_mg_dup -MAGIC* -Perl_mg_dup(pTHXo_ MAGIC* mg, clone_params* param) -{ - return ((CPerlObj*)pPerl)->Perl_mg_dup(mg, param); -} - -#undef Perl_sv_dup -SV* -Perl_sv_dup(pTHXo_ SV* sstr, clone_params* param) -{ - return ((CPerlObj*)pPerl)->Perl_sv_dup(sstr, param); -} -#if defined(HAVE_INTERP_INTERN) - -#undef Perl_sys_intern_dup -void -Perl_sys_intern_dup(pTHXo_ struct interp_intern* src, struct interp_intern* dst) -{ - ((CPerlObj*)pPerl)->Perl_sys_intern_dup(src, dst); -} -#endif - -#undef Perl_ptr_table_new -PTR_TBL_t* -Perl_ptr_table_new(pTHXo) -{ - return ((CPerlObj*)pPerl)->Perl_ptr_table_new(); -} - -#undef Perl_ptr_table_fetch -void* -Perl_ptr_table_fetch(pTHXo_ PTR_TBL_t *tbl, void *sv) -{ - return ((CPerlObj*)pPerl)->Perl_ptr_table_fetch(tbl, sv); -} - -#undef Perl_ptr_table_store -void -Perl_ptr_table_store(pTHXo_ PTR_TBL_t *tbl, void *oldsv, void *newsv) -{ - ((CPerlObj*)pPerl)->Perl_ptr_table_store(tbl, oldsv, newsv); -} - -#undef Perl_ptr_table_split -void -Perl_ptr_table_split(pTHXo_ PTR_TBL_t *tbl) -{ - ((CPerlObj*)pPerl)->Perl_ptr_table_split(tbl); -} - -#undef Perl_ptr_table_clear -void -Perl_ptr_table_clear(pTHXo_ PTR_TBL_t *tbl) -{ - ((CPerlObj*)pPerl)->Perl_ptr_table_clear(tbl); -} - -#undef Perl_ptr_table_free -void -Perl_ptr_table_free(pTHXo_ PTR_TBL_t *tbl) -{ - ((CPerlObj*)pPerl)->Perl_ptr_table_free(tbl); -} -#endif -#if defined(HAVE_INTERP_INTERN) - -#undef Perl_sys_intern_clear -void -Perl_sys_intern_clear(pTHXo) -{ - ((CPerlObj*)pPerl)->Perl_sys_intern_clear(); -} - -#undef Perl_sys_intern_init -void -Perl_sys_intern_init(pTHXo) -{ - ((CPerlObj*)pPerl)->Perl_sys_intern_init(); -} -#endif -#if defined(PERL_CUSTOM_OPS) - -#undef Perl_custom_op_name -char * -Perl_custom_op_name(pTHXo_ OP* op) -{ - return ((CPerlObj*)pPerl)->Perl_custom_op_name(op); -} - -#undef Perl_custom_op_desc -char * -Perl_custom_op_desc(pTHXo_ OP* op) -{ - return ((CPerlObj*)pPerl)->Perl_custom_op_desc(op); -} -#endif -#if defined(PERL_OBJECT) -#else -#endif -#if defined(PERL_IN_AV_C) || defined(PERL_DECL_PROT) -#endif -#if defined(PERL_IN_DOOP_C) || defined(PERL_DECL_PROT) -#endif -#if defined(PERL_IN_GV_C) || defined(PERL_DECL_PROT) -#endif -#if defined(PERL_IN_HV_C) || defined(PERL_DECL_PROT) -#endif -#if defined(PERL_IN_MG_C) || defined(PERL_DECL_PROT) -#endif -#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT) -# if defined(DEBUG_CLOSURES) -# endif -# if defined(PL_OP_SLAB_ALLOC) -# endif -#endif -#if defined(PERL_IN_PERL_C) || defined(PERL_DECL_PROT) -# if defined(IAMSUID) -# endif -#if defined(PERL_FLEXIBLE_EXCEPTIONS) -#endif -# if defined(USE_5005THREADS) -# endif -#endif -#if defined(PERL_IN_PP_C) || defined(PERL_DECL_PROT) -#endif -#if defined(PERL_IN_PP_PACK_C) || defined(PERL_DECL_PROT) -#endif -#if defined(PERL_IN_PP_CTL_C) || defined(PERL_DECL_PROT) -#if defined(PERL_FLEXIBLE_EXCEPTIONS) -#endif -#endif -#if defined(PERL_IN_PP_HOT_C) || defined(PERL_DECL_PROT) -#endif -#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) || defined(PERL_DECL_PROT) -# ifdef DEBUGGING -# endif -#endif -#if defined(PERL_IN_REGEXEC_C) || defined(PERL_DECL_PROT) -#endif -#if defined(PERL_IN_RUN_C) || defined(PERL_DECL_PROT) -# ifdef DEBUGGING -# endif -#endif -#if defined(PERL_IN_SCOPE_C) || defined(PERL_DECL_PROT) -#endif -#if defined(USE_ITHREADS) && (defined(PERL_IN_SHAREDSV_C) || defined(PERL_DECL_PROT)) - -#undef Perl_sharedsv_init -void -Perl_sharedsv_init(pTHXo) -{ - ((CPerlObj*)pPerl)->Perl_sharedsv_init(); -} - -#undef Perl_sharedsv_new -shared_sv* -Perl_sharedsv_new(pTHXo) -{ - return ((CPerlObj*)pPerl)->Perl_sharedsv_new(); -} - -#undef Perl_sharedsv_find -shared_sv* -Perl_sharedsv_find(pTHXo_ SV* sv) -{ - return ((CPerlObj*)pPerl)->Perl_sharedsv_find(sv); -} - -#undef Perl_sharedsv_lock -void -Perl_sharedsv_lock(pTHXo_ shared_sv* ssv) -{ - ((CPerlObj*)pPerl)->Perl_sharedsv_lock(ssv); -} - -#undef Perl_sharedsv_unlock -void -Perl_sharedsv_unlock(pTHXo_ shared_sv* ssv) -{ - ((CPerlObj*)pPerl)->Perl_sharedsv_unlock(ssv); -} - -#undef Perl_sharedsv_thrcnt_inc -void -Perl_sharedsv_thrcnt_inc(pTHXo_ shared_sv* ssv) -{ - ((CPerlObj*)pPerl)->Perl_sharedsv_thrcnt_inc(ssv); -} - -#undef Perl_sharedsv_thrcnt_dec -void -Perl_sharedsv_thrcnt_dec(pTHXo_ shared_sv* ssv) -{ - ((CPerlObj*)pPerl)->Perl_sharedsv_thrcnt_dec(ssv); -} -#endif -#if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT) -# ifdef DEBUGGING -# endif -# if !defined(NV_PRESERVES_UV) -# endif -# if defined(USE_ITHREADS) -# endif -#endif -#if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT) -# if defined(DEBUGGING) -# endif -#if 0 -#endif -# if defined(CRIPPLED_CC) -# endif -# if defined(PERL_CR_FILTER) -# endif -#endif -#if defined(PERL_IN_UNIVERSAL_C) || defined(PERL_DECL_PROT) -#endif -#if defined(PERL_IN_LOCALE_C) || defined(PERL_DECL_PROT) -#endif -#if defined(PERL_IN_UTIL_C) || defined(PERL_DECL_PROT) -# if defined(LEAKTEST) -# endif -#endif -#if defined(PERL_OBJECT) -#endif - -#undef Perl_sv_setsv_flags -void -Perl_sv_setsv_flags(pTHXo_ SV* dsv, SV* ssv, I32 flags) -{ - ((CPerlObj*)pPerl)->Perl_sv_setsv_flags(dsv, ssv, flags); -} - -#undef Perl_sv_catpvn_flags -void -Perl_sv_catpvn_flags(pTHXo_ SV* sv, const char* ptr, STRLEN len, I32 flags) -{ - ((CPerlObj*)pPerl)->Perl_sv_catpvn_flags(sv, ptr, len, flags); -} - -#undef Perl_sv_catsv_flags -void -Perl_sv_catsv_flags(pTHXo_ SV* dsv, SV* ssv, I32 flags) -{ - ((CPerlObj*)pPerl)->Perl_sv_catsv_flags(dsv, ssv, flags); -} - -#undef Perl_sv_utf8_upgrade_flags -STRLEN -Perl_sv_utf8_upgrade_flags(pTHXo_ SV *sv, I32 flags) -{ - return ((CPerlObj*)pPerl)->Perl_sv_utf8_upgrade_flags(sv, flags); -} - -#undef Perl_sv_pvn_force_flags -char* -Perl_sv_pvn_force_flags(pTHXo_ SV* sv, STRLEN* lp, I32 flags) -{ - return ((CPerlObj*)pPerl)->Perl_sv_pvn_force_flags(sv, lp, flags); -} - -#undef Perl_sv_2pv_flags -char* -Perl_sv_2pv_flags(pTHXo_ SV* sv, STRLEN* lp, I32 flags) -{ - return ((CPerlObj*)pPerl)->Perl_sv_2pv_flags(sv, lp, flags); -} - -#undef Perl_my_atof2 -char* -Perl_my_atof2(pTHXo_ const char *s, NV* value) -{ - return ((CPerlObj*)pPerl)->Perl_my_atof2(s, value); -} - -#undef Perl_fprintf_nocontext -int -Perl_fprintf_nocontext(PerlIO *stream, const char *format, ...) -{ - dTHXo; - va_list(arglist); - va_start(arglist, format); - return (*PL_StdIO->pVprintf)(PL_StdIO, stream, format, arglist); -} - -#undef Perl_printf_nocontext -int -Perl_printf_nocontext(const char *format, ...) -{ - dTHXo; - va_list(arglist); - va_start(arglist, format); - return (*PL_StdIO->pVprintf)(PL_StdIO, PerlIO_stdout(), format, arglist); -} - END_EXTERN_C -#endif /* PERL_OBJECT */ -#endif /* PERL_OBJECT || MULTIPLICITY */ +#endif /* MULTIPLICITY */ diff --git a/perlapi.h b/perlapi.h index 92d4852..355bf6f 100644 --- a/perlapi.h +++ b/perlapi.h @@ -7,14 +7,7 @@ #ifndef __perlapi_h__ #define __perlapi_h__ -#if defined(PERL_OBJECT) || defined (MULTIPLICITY) - -#if defined(PERL_OBJECT) -# undef aTHXo -# define aTHXo pPerl -# undef aTHXo_ -# define aTHXo_ aTHXo, -#endif /* PERL_OBJECT */ +#if defined (MULTIPLICITY) START_EXTERN_C @@ -22,9 +15,9 @@ START_EXTERN_C #undef PERLVARA #undef PERLVARI #undef PERLVARIC -#define PERLVAR(v,t) EXTERN_C t* Perl_##v##_ptr(pTHXo); +#define PERLVAR(v,t) EXTERN_C t* Perl_##v##_ptr(pTHX); #define PERLVARA(v,n,t) typedef t PL_##v##_t[n]; \ - EXTERN_C PL_##v##_t* Perl_##v##_ptr(pTHXo); + EXTERN_C PL_##v##_t* Perl_##v##_ptr(pTHX); #define PERLVARI(v,t,i) PERLVAR(v,t) #define PERLVARIC(v,t,i) PERLVAR(v, const t) @@ -74,850 +67,850 @@ EXT void *PL_force_link_funcs[] = { }; #endif /* DOINIT */ -START_EXTERN_C +END_EXTERN_C #endif /* PERL_NO_FORCE_LINK */ #else /* !PERL_CORE */ #undef PL_Argv -#define PL_Argv (*Perl_IArgv_ptr(aTHXo)) +#define PL_Argv (*Perl_IArgv_ptr(aTHX)) #undef PL_Cmd -#define PL_Cmd (*Perl_ICmd_ptr(aTHXo)) +#define PL_Cmd (*Perl_ICmd_ptr(aTHX)) #undef PL_DBcv -#define PL_DBcv (*Perl_IDBcv_ptr(aTHXo)) +#define PL_DBcv (*Perl_IDBcv_ptr(aTHX)) #undef PL_DBgv -#define PL_DBgv (*Perl_IDBgv_ptr(aTHXo)) +#define PL_DBgv (*Perl_IDBgv_ptr(aTHX)) #undef PL_DBline -#define PL_DBline (*Perl_IDBline_ptr(aTHXo)) +#define PL_DBline (*Perl_IDBline_ptr(aTHX)) #undef PL_DBsignal -#define PL_DBsignal (*Perl_IDBsignal_ptr(aTHXo)) +#define PL_DBsignal (*Perl_IDBsignal_ptr(aTHX)) #undef PL_DBsingle -#define PL_DBsingle (*Perl_IDBsingle_ptr(aTHXo)) +#define PL_DBsingle (*Perl_IDBsingle_ptr(aTHX)) #undef PL_DBsub -#define PL_DBsub (*Perl_IDBsub_ptr(aTHXo)) +#define PL_DBsub (*Perl_IDBsub_ptr(aTHX)) #undef PL_DBtrace -#define PL_DBtrace (*Perl_IDBtrace_ptr(aTHXo)) +#define PL_DBtrace (*Perl_IDBtrace_ptr(aTHX)) #undef PL_Dir -#define PL_Dir (*Perl_IDir_ptr(aTHXo)) +#define PL_Dir (*Perl_IDir_ptr(aTHX)) #undef PL_Env -#define PL_Env (*Perl_IEnv_ptr(aTHXo)) +#define PL_Env (*Perl_IEnv_ptr(aTHX)) #undef PL_LIO -#define PL_LIO (*Perl_ILIO_ptr(aTHXo)) +#define PL_LIO (*Perl_ILIO_ptr(aTHX)) #undef PL_Mem -#define PL_Mem (*Perl_IMem_ptr(aTHXo)) +#define PL_Mem (*Perl_IMem_ptr(aTHX)) #undef PL_MemParse -#define PL_MemParse (*Perl_IMemParse_ptr(aTHXo)) +#define PL_MemParse (*Perl_IMemParse_ptr(aTHX)) #undef PL_MemShared -#define PL_MemShared (*Perl_IMemShared_ptr(aTHXo)) +#define PL_MemShared (*Perl_IMemShared_ptr(aTHX)) #undef PL_Proc -#define PL_Proc (*Perl_IProc_ptr(aTHXo)) +#define PL_Proc (*Perl_IProc_ptr(aTHX)) #undef PL_Sock -#define PL_Sock (*Perl_ISock_ptr(aTHXo)) +#define PL_Sock (*Perl_ISock_ptr(aTHX)) #undef PL_StdIO -#define PL_StdIO (*Perl_IStdIO_ptr(aTHXo)) +#define PL_StdIO (*Perl_IStdIO_ptr(aTHX)) #undef PL_amagic_generation -#define PL_amagic_generation (*Perl_Iamagic_generation_ptr(aTHXo)) +#define PL_amagic_generation (*Perl_Iamagic_generation_ptr(aTHX)) #undef PL_an -#define PL_an (*Perl_Ian_ptr(aTHXo)) +#define PL_an (*Perl_Ian_ptr(aTHX)) #undef PL_argvgv -#define PL_argvgv (*Perl_Iargvgv_ptr(aTHXo)) +#define PL_argvgv (*Perl_Iargvgv_ptr(aTHX)) #undef PL_argvout_stack -#define PL_argvout_stack (*Perl_Iargvout_stack_ptr(aTHXo)) +#define PL_argvout_stack (*Perl_Iargvout_stack_ptr(aTHX)) #undef PL_argvoutgv -#define PL_argvoutgv (*Perl_Iargvoutgv_ptr(aTHXo)) +#define PL_argvoutgv (*Perl_Iargvoutgv_ptr(aTHX)) #undef PL_basetime -#define PL_basetime (*Perl_Ibasetime_ptr(aTHXo)) +#define PL_basetime (*Perl_Ibasetime_ptr(aTHX)) #undef PL_beginav -#define PL_beginav (*Perl_Ibeginav_ptr(aTHXo)) +#define PL_beginav (*Perl_Ibeginav_ptr(aTHX)) #undef PL_beginav_save -#define PL_beginav_save (*Perl_Ibeginav_save_ptr(aTHXo)) +#define PL_beginav_save (*Perl_Ibeginav_save_ptr(aTHX)) #undef PL_bitcount -#define PL_bitcount (*Perl_Ibitcount_ptr(aTHXo)) +#define PL_bitcount (*Perl_Ibitcount_ptr(aTHX)) #undef PL_bufend -#define PL_bufend (*Perl_Ibufend_ptr(aTHXo)) +#define PL_bufend (*Perl_Ibufend_ptr(aTHX)) #undef PL_bufptr -#define PL_bufptr (*Perl_Ibufptr_ptr(aTHXo)) +#define PL_bufptr (*Perl_Ibufptr_ptr(aTHX)) #undef PL_checkav -#define PL_checkav (*Perl_Icheckav_ptr(aTHXo)) +#define PL_checkav (*Perl_Icheckav_ptr(aTHX)) #undef PL_collation_ix -#define PL_collation_ix (*Perl_Icollation_ix_ptr(aTHXo)) +#define PL_collation_ix (*Perl_Icollation_ix_ptr(aTHX)) #undef PL_collation_name -#define PL_collation_name (*Perl_Icollation_name_ptr(aTHXo)) +#define PL_collation_name (*Perl_Icollation_name_ptr(aTHX)) #undef PL_collation_standard -#define PL_collation_standard (*Perl_Icollation_standard_ptr(aTHXo)) +#define PL_collation_standard (*Perl_Icollation_standard_ptr(aTHX)) #undef PL_collxfrm_base -#define PL_collxfrm_base (*Perl_Icollxfrm_base_ptr(aTHXo)) +#define PL_collxfrm_base (*Perl_Icollxfrm_base_ptr(aTHX)) #undef PL_collxfrm_mult -#define PL_collxfrm_mult (*Perl_Icollxfrm_mult_ptr(aTHXo)) +#define PL_collxfrm_mult (*Perl_Icollxfrm_mult_ptr(aTHX)) #undef PL_compcv -#define PL_compcv (*Perl_Icompcv_ptr(aTHXo)) +#define PL_compcv (*Perl_Icompcv_ptr(aTHX)) #undef PL_compiling -#define PL_compiling (*Perl_Icompiling_ptr(aTHXo)) +#define PL_compiling (*Perl_Icompiling_ptr(aTHX)) #undef PL_comppad -#define PL_comppad (*Perl_Icomppad_ptr(aTHXo)) +#define PL_comppad (*Perl_Icomppad_ptr(aTHX)) #undef PL_comppad_name -#define PL_comppad_name (*Perl_Icomppad_name_ptr(aTHXo)) +#define PL_comppad_name (*Perl_Icomppad_name_ptr(aTHX)) #undef PL_comppad_name_fill -#define PL_comppad_name_fill (*Perl_Icomppad_name_fill_ptr(aTHXo)) +#define PL_comppad_name_fill (*Perl_Icomppad_name_fill_ptr(aTHX)) #undef PL_comppad_name_floor -#define PL_comppad_name_floor (*Perl_Icomppad_name_floor_ptr(aTHXo)) +#define PL_comppad_name_floor (*Perl_Icomppad_name_floor_ptr(aTHX)) #undef PL_cop_seqmax -#define PL_cop_seqmax (*Perl_Icop_seqmax_ptr(aTHXo)) +#define PL_cop_seqmax (*Perl_Icop_seqmax_ptr(aTHX)) #undef PL_copline -#define PL_copline (*Perl_Icopline_ptr(aTHXo)) +#define PL_copline (*Perl_Icopline_ptr(aTHX)) #undef PL_cred_mutex -#define PL_cred_mutex (*Perl_Icred_mutex_ptr(aTHXo)) +#define PL_cred_mutex (*Perl_Icred_mutex_ptr(aTHX)) #undef PL_cryptseen -#define PL_cryptseen (*Perl_Icryptseen_ptr(aTHXo)) +#define PL_cryptseen (*Perl_Icryptseen_ptr(aTHX)) #undef PL_cshlen -#define PL_cshlen (*Perl_Icshlen_ptr(aTHXo)) +#define PL_cshlen (*Perl_Icshlen_ptr(aTHX)) #undef PL_cshname -#define PL_cshname (*Perl_Icshname_ptr(aTHXo)) +#define PL_cshname (*Perl_Icshname_ptr(aTHX)) #undef PL_curcopdb -#define PL_curcopdb (*Perl_Icurcopdb_ptr(aTHXo)) +#define PL_curcopdb (*Perl_Icurcopdb_ptr(aTHX)) #undef PL_curstname -#define PL_curstname (*Perl_Icurstname_ptr(aTHXo)) +#define PL_curstname (*Perl_Icurstname_ptr(aTHX)) #undef PL_curthr -#define PL_curthr (*Perl_Icurthr_ptr(aTHXo)) +#define PL_curthr (*Perl_Icurthr_ptr(aTHX)) #undef PL_custom_op_descs -#define PL_custom_op_descs (*Perl_Icustom_op_descs_ptr(aTHXo)) +#define PL_custom_op_descs (*Perl_Icustom_op_descs_ptr(aTHX)) #undef PL_custom_op_names -#define PL_custom_op_names (*Perl_Icustom_op_names_ptr(aTHXo)) +#define PL_custom_op_names (*Perl_Icustom_op_names_ptr(aTHX)) #undef PL_dbargs -#define PL_dbargs (*Perl_Idbargs_ptr(aTHXo)) +#define PL_dbargs (*Perl_Idbargs_ptr(aTHX)) #undef PL_debstash -#define PL_debstash (*Perl_Idebstash_ptr(aTHXo)) +#define PL_debstash (*Perl_Idebstash_ptr(aTHX)) #undef PL_debug -#define PL_debug (*Perl_Idebug_ptr(aTHXo)) +#define PL_debug (*Perl_Idebug_ptr(aTHX)) #undef PL_defgv -#define PL_defgv (*Perl_Idefgv_ptr(aTHXo)) +#define PL_defgv (*Perl_Idefgv_ptr(aTHX)) #undef PL_diehook -#define PL_diehook (*Perl_Idiehook_ptr(aTHXo)) +#define PL_diehook (*Perl_Idiehook_ptr(aTHX)) #undef PL_doextract -#define PL_doextract (*Perl_Idoextract_ptr(aTHXo)) +#define PL_doextract (*Perl_Idoextract_ptr(aTHX)) #undef PL_doswitches -#define PL_doswitches (*Perl_Idoswitches_ptr(aTHXo)) +#define PL_doswitches (*Perl_Idoswitches_ptr(aTHX)) #undef PL_dowarn -#define PL_dowarn (*Perl_Idowarn_ptr(aTHXo)) +#define PL_dowarn (*Perl_Idowarn_ptr(aTHX)) #undef PL_e_script -#define PL_e_script (*Perl_Ie_script_ptr(aTHXo)) +#define PL_e_script (*Perl_Ie_script_ptr(aTHX)) #undef PL_egid -#define PL_egid (*Perl_Iegid_ptr(aTHXo)) +#define PL_egid (*Perl_Iegid_ptr(aTHX)) #undef PL_endav -#define PL_endav (*Perl_Iendav_ptr(aTHXo)) +#define PL_endav (*Perl_Iendav_ptr(aTHX)) #undef PL_envgv -#define PL_envgv (*Perl_Ienvgv_ptr(aTHXo)) +#define PL_envgv (*Perl_Ienvgv_ptr(aTHX)) #undef PL_errgv -#define PL_errgv (*Perl_Ierrgv_ptr(aTHXo)) +#define PL_errgv (*Perl_Ierrgv_ptr(aTHX)) #undef PL_error_count -#define PL_error_count (*Perl_Ierror_count_ptr(aTHXo)) +#define PL_error_count (*Perl_Ierror_count_ptr(aTHX)) #undef PL_euid -#define PL_euid (*Perl_Ieuid_ptr(aTHXo)) +#define PL_euid (*Perl_Ieuid_ptr(aTHX)) #undef PL_eval_cond -#define PL_eval_cond (*Perl_Ieval_cond_ptr(aTHXo)) +#define PL_eval_cond (*Perl_Ieval_cond_ptr(aTHX)) #undef PL_eval_mutex -#define PL_eval_mutex (*Perl_Ieval_mutex_ptr(aTHXo)) +#define PL_eval_mutex (*Perl_Ieval_mutex_ptr(aTHX)) #undef PL_eval_owner -#define PL_eval_owner (*Perl_Ieval_owner_ptr(aTHXo)) +#define PL_eval_owner (*Perl_Ieval_owner_ptr(aTHX)) #undef PL_eval_root -#define PL_eval_root (*Perl_Ieval_root_ptr(aTHXo)) +#define PL_eval_root (*Perl_Ieval_root_ptr(aTHX)) #undef PL_eval_start -#define PL_eval_start (*Perl_Ieval_start_ptr(aTHXo)) +#define PL_eval_start (*Perl_Ieval_start_ptr(aTHX)) #undef PL_evalseq -#define PL_evalseq (*Perl_Ievalseq_ptr(aTHXo)) +#define PL_evalseq (*Perl_Ievalseq_ptr(aTHX)) #undef PL_exit_flags -#define PL_exit_flags (*Perl_Iexit_flags_ptr(aTHXo)) +#define PL_exit_flags (*Perl_Iexit_flags_ptr(aTHX)) #undef PL_exitlist -#define PL_exitlist (*Perl_Iexitlist_ptr(aTHXo)) +#define PL_exitlist (*Perl_Iexitlist_ptr(aTHX)) #undef PL_exitlistlen -#define PL_exitlistlen (*Perl_Iexitlistlen_ptr(aTHXo)) +#define PL_exitlistlen (*Perl_Iexitlistlen_ptr(aTHX)) #undef PL_expect -#define PL_expect (*Perl_Iexpect_ptr(aTHXo)) +#define PL_expect (*Perl_Iexpect_ptr(aTHX)) #undef PL_fdpid -#define PL_fdpid (*Perl_Ifdpid_ptr(aTHXo)) +#define PL_fdpid (*Perl_Ifdpid_ptr(aTHX)) #undef PL_fdpid_mutex -#define PL_fdpid_mutex (*Perl_Ifdpid_mutex_ptr(aTHXo)) +#define PL_fdpid_mutex (*Perl_Ifdpid_mutex_ptr(aTHX)) #undef PL_filemode -#define PL_filemode (*Perl_Ifilemode_ptr(aTHXo)) +#define PL_filemode (*Perl_Ifilemode_ptr(aTHX)) #undef PL_forkprocess -#define PL_forkprocess (*Perl_Iforkprocess_ptr(aTHXo)) +#define PL_forkprocess (*Perl_Iforkprocess_ptr(aTHX)) #undef PL_formfeed -#define PL_formfeed (*Perl_Iformfeed_ptr(aTHXo)) +#define PL_formfeed (*Perl_Iformfeed_ptr(aTHX)) #undef PL_generation -#define PL_generation (*Perl_Igeneration_ptr(aTHXo)) +#define PL_generation (*Perl_Igeneration_ptr(aTHX)) #undef PL_gensym -#define PL_gensym (*Perl_Igensym_ptr(aTHXo)) +#define PL_gensym (*Perl_Igensym_ptr(aTHX)) #undef PL_gid -#define PL_gid (*Perl_Igid_ptr(aTHXo)) +#define PL_gid (*Perl_Igid_ptr(aTHX)) #undef PL_glob_index -#define PL_glob_index (*Perl_Iglob_index_ptr(aTHXo)) +#define PL_glob_index (*Perl_Iglob_index_ptr(aTHX)) #undef PL_globalstash -#define PL_globalstash (*Perl_Iglobalstash_ptr(aTHXo)) +#define PL_globalstash (*Perl_Iglobalstash_ptr(aTHX)) #undef PL_he_arenaroot -#define PL_he_arenaroot (*Perl_Ihe_arenaroot_ptr(aTHXo)) +#define PL_he_arenaroot (*Perl_Ihe_arenaroot_ptr(aTHX)) #undef PL_he_root -#define PL_he_root (*Perl_Ihe_root_ptr(aTHXo)) +#define PL_he_root (*Perl_Ihe_root_ptr(aTHX)) #undef PL_hintgv -#define PL_hintgv (*Perl_Ihintgv_ptr(aTHXo)) +#define PL_hintgv (*Perl_Ihintgv_ptr(aTHX)) #undef PL_hints -#define PL_hints (*Perl_Ihints_ptr(aTHXo)) +#define PL_hints (*Perl_Ihints_ptr(aTHX)) #undef PL_in_clean_all -#define PL_in_clean_all (*Perl_Iin_clean_all_ptr(aTHXo)) +#define PL_in_clean_all (*Perl_Iin_clean_all_ptr(aTHX)) #undef PL_in_clean_objs -#define PL_in_clean_objs (*Perl_Iin_clean_objs_ptr(aTHXo)) +#define PL_in_clean_objs (*Perl_Iin_clean_objs_ptr(aTHX)) #undef PL_in_my -#define PL_in_my (*Perl_Iin_my_ptr(aTHXo)) +#define PL_in_my (*Perl_Iin_my_ptr(aTHX)) #undef PL_in_my_stash -#define PL_in_my_stash (*Perl_Iin_my_stash_ptr(aTHXo)) +#define PL_in_my_stash (*Perl_Iin_my_stash_ptr(aTHX)) #undef PL_incgv -#define PL_incgv (*Perl_Iincgv_ptr(aTHXo)) +#define PL_incgv (*Perl_Iincgv_ptr(aTHX)) #undef PL_initav -#define PL_initav (*Perl_Iinitav_ptr(aTHXo)) +#define PL_initav (*Perl_Iinitav_ptr(aTHX)) #undef PL_inplace -#define PL_inplace (*Perl_Iinplace_ptr(aTHXo)) +#define PL_inplace (*Perl_Iinplace_ptr(aTHX)) #undef PL_last_lop -#define PL_last_lop (*Perl_Ilast_lop_ptr(aTHXo)) +#define PL_last_lop (*Perl_Ilast_lop_ptr(aTHX)) #undef PL_last_lop_op -#define PL_last_lop_op (*Perl_Ilast_lop_op_ptr(aTHXo)) +#define PL_last_lop_op (*Perl_Ilast_lop_op_ptr(aTHX)) #undef PL_last_swash_hv -#define PL_last_swash_hv (*Perl_Ilast_swash_hv_ptr(aTHXo)) +#define PL_last_swash_hv (*Perl_Ilast_swash_hv_ptr(aTHX)) #undef PL_last_swash_key -#define PL_last_swash_key (*Perl_Ilast_swash_key_ptr(aTHXo)) +#define PL_last_swash_key (*Perl_Ilast_swash_key_ptr(aTHX)) #undef PL_last_swash_klen -#define PL_last_swash_klen (*Perl_Ilast_swash_klen_ptr(aTHXo)) +#define PL_last_swash_klen (*Perl_Ilast_swash_klen_ptr(aTHX)) #undef PL_last_swash_slen -#define PL_last_swash_slen (*Perl_Ilast_swash_slen_ptr(aTHXo)) +#define PL_last_swash_slen (*Perl_Ilast_swash_slen_ptr(aTHX)) #undef PL_last_swash_tmps -#define PL_last_swash_tmps (*Perl_Ilast_swash_tmps_ptr(aTHXo)) +#define PL_last_swash_tmps (*Perl_Ilast_swash_tmps_ptr(aTHX)) #undef PL_last_uni -#define PL_last_uni (*Perl_Ilast_uni_ptr(aTHXo)) +#define PL_last_uni (*Perl_Ilast_uni_ptr(aTHX)) #undef PL_lastfd -#define PL_lastfd (*Perl_Ilastfd_ptr(aTHXo)) +#define PL_lastfd (*Perl_Ilastfd_ptr(aTHX)) #undef PL_laststatval -#define PL_laststatval (*Perl_Ilaststatval_ptr(aTHXo)) +#define PL_laststatval (*Perl_Ilaststatval_ptr(aTHX)) #undef PL_laststype -#define PL_laststype (*Perl_Ilaststype_ptr(aTHXo)) +#define PL_laststype (*Perl_Ilaststype_ptr(aTHX)) #undef PL_lex_brackets -#define PL_lex_brackets (*Perl_Ilex_brackets_ptr(aTHXo)) +#define PL_lex_brackets (*Perl_Ilex_brackets_ptr(aTHX)) #undef PL_lex_brackstack -#define PL_lex_brackstack (*Perl_Ilex_brackstack_ptr(aTHXo)) +#define PL_lex_brackstack (*Perl_Ilex_brackstack_ptr(aTHX)) #undef PL_lex_casemods -#define PL_lex_casemods (*Perl_Ilex_casemods_ptr(aTHXo)) +#define PL_lex_casemods (*Perl_Ilex_casemods_ptr(aTHX)) #undef PL_lex_casestack -#define PL_lex_casestack (*Perl_Ilex_casestack_ptr(aTHXo)) +#define PL_lex_casestack (*Perl_Ilex_casestack_ptr(aTHX)) #undef PL_lex_defer -#define PL_lex_defer (*Perl_Ilex_defer_ptr(aTHXo)) +#define PL_lex_defer (*Perl_Ilex_defer_ptr(aTHX)) #undef PL_lex_dojoin -#define PL_lex_dojoin (*Perl_Ilex_dojoin_ptr(aTHXo)) +#define PL_lex_dojoin (*Perl_Ilex_dojoin_ptr(aTHX)) #undef PL_lex_expect -#define PL_lex_expect (*Perl_Ilex_expect_ptr(aTHXo)) +#define PL_lex_expect (*Perl_Ilex_expect_ptr(aTHX)) #undef PL_lex_formbrack -#define PL_lex_formbrack (*Perl_Ilex_formbrack_ptr(aTHXo)) +#define PL_lex_formbrack (*Perl_Ilex_formbrack_ptr(aTHX)) #undef PL_lex_inpat -#define PL_lex_inpat (*Perl_Ilex_inpat_ptr(aTHXo)) +#define PL_lex_inpat (*Perl_Ilex_inpat_ptr(aTHX)) #undef PL_lex_inwhat -#define PL_lex_inwhat (*Perl_Ilex_inwhat_ptr(aTHXo)) +#define PL_lex_inwhat (*Perl_Ilex_inwhat_ptr(aTHX)) #undef PL_lex_op -#define PL_lex_op (*Perl_Ilex_op_ptr(aTHXo)) +#define PL_lex_op (*Perl_Ilex_op_ptr(aTHX)) #undef PL_lex_repl -#define PL_lex_repl (*Perl_Ilex_repl_ptr(aTHXo)) +#define PL_lex_repl (*Perl_Ilex_repl_ptr(aTHX)) #undef PL_lex_starts -#define PL_lex_starts (*Perl_Ilex_starts_ptr(aTHXo)) +#define PL_lex_starts (*Perl_Ilex_starts_ptr(aTHX)) #undef PL_lex_state -#define PL_lex_state (*Perl_Ilex_state_ptr(aTHXo)) +#define PL_lex_state (*Perl_Ilex_state_ptr(aTHX)) #undef PL_lex_stuff -#define PL_lex_stuff (*Perl_Ilex_stuff_ptr(aTHXo)) +#define PL_lex_stuff (*Perl_Ilex_stuff_ptr(aTHX)) #undef PL_lineary -#define PL_lineary (*Perl_Ilineary_ptr(aTHXo)) +#define PL_lineary (*Perl_Ilineary_ptr(aTHX)) #undef PL_linestart -#define PL_linestart (*Perl_Ilinestart_ptr(aTHXo)) +#define PL_linestart (*Perl_Ilinestart_ptr(aTHX)) #undef PL_linestr -#define PL_linestr (*Perl_Ilinestr_ptr(aTHXo)) +#define PL_linestr (*Perl_Ilinestr_ptr(aTHX)) #undef PL_localpatches -#define PL_localpatches (*Perl_Ilocalpatches_ptr(aTHXo)) +#define PL_localpatches (*Perl_Ilocalpatches_ptr(aTHX)) #undef PL_main_cv -#define PL_main_cv (*Perl_Imain_cv_ptr(aTHXo)) +#define PL_main_cv (*Perl_Imain_cv_ptr(aTHX)) #undef PL_main_root -#define PL_main_root (*Perl_Imain_root_ptr(aTHXo)) +#define PL_main_root (*Perl_Imain_root_ptr(aTHX)) #undef PL_main_start -#define PL_main_start (*Perl_Imain_start_ptr(aTHXo)) +#define PL_main_start (*Perl_Imain_start_ptr(aTHX)) #undef PL_max_intro_pending -#define PL_max_intro_pending (*Perl_Imax_intro_pending_ptr(aTHXo)) +#define PL_max_intro_pending (*Perl_Imax_intro_pending_ptr(aTHX)) #undef PL_maxo -#define PL_maxo (*Perl_Imaxo_ptr(aTHXo)) +#define PL_maxo (*Perl_Imaxo_ptr(aTHX)) #undef PL_maxsysfd -#define PL_maxsysfd (*Perl_Imaxsysfd_ptr(aTHXo)) +#define PL_maxsysfd (*Perl_Imaxsysfd_ptr(aTHX)) #undef PL_mess_sv -#define PL_mess_sv (*Perl_Imess_sv_ptr(aTHXo)) +#define PL_mess_sv (*Perl_Imess_sv_ptr(aTHX)) #undef PL_min_intro_pending -#define PL_min_intro_pending (*Perl_Imin_intro_pending_ptr(aTHXo)) +#define PL_min_intro_pending (*Perl_Imin_intro_pending_ptr(aTHX)) #undef PL_minus_F -#define PL_minus_F (*Perl_Iminus_F_ptr(aTHXo)) +#define PL_minus_F (*Perl_Iminus_F_ptr(aTHX)) #undef PL_minus_a -#define PL_minus_a (*Perl_Iminus_a_ptr(aTHXo)) +#define PL_minus_a (*Perl_Iminus_a_ptr(aTHX)) #undef PL_minus_c -#define PL_minus_c (*Perl_Iminus_c_ptr(aTHXo)) +#define PL_minus_c (*Perl_Iminus_c_ptr(aTHX)) #undef PL_minus_l -#define PL_minus_l (*Perl_Iminus_l_ptr(aTHXo)) +#define PL_minus_l (*Perl_Iminus_l_ptr(aTHX)) #undef PL_minus_n -#define PL_minus_n (*Perl_Iminus_n_ptr(aTHXo)) +#define PL_minus_n (*Perl_Iminus_n_ptr(aTHX)) #undef PL_minus_p -#define PL_minus_p (*Perl_Iminus_p_ptr(aTHXo)) +#define PL_minus_p (*Perl_Iminus_p_ptr(aTHX)) #undef PL_modglobal -#define PL_modglobal (*Perl_Imodglobal_ptr(aTHXo)) +#define PL_modglobal (*Perl_Imodglobal_ptr(aTHX)) #undef PL_multi_close -#define PL_multi_close (*Perl_Imulti_close_ptr(aTHXo)) +#define PL_multi_close (*Perl_Imulti_close_ptr(aTHX)) #undef PL_multi_end -#define PL_multi_end (*Perl_Imulti_end_ptr(aTHXo)) +#define PL_multi_end (*Perl_Imulti_end_ptr(aTHX)) #undef PL_multi_open -#define PL_multi_open (*Perl_Imulti_open_ptr(aTHXo)) +#define PL_multi_open (*Perl_Imulti_open_ptr(aTHX)) #undef PL_multi_start -#define PL_multi_start (*Perl_Imulti_start_ptr(aTHXo)) +#define PL_multi_start (*Perl_Imulti_start_ptr(aTHX)) #undef PL_multiline -#define PL_multiline (*Perl_Imultiline_ptr(aTHXo)) +#define PL_multiline (*Perl_Imultiline_ptr(aTHX)) #undef PL_nexttoke -#define PL_nexttoke (*Perl_Inexttoke_ptr(aTHXo)) +#define PL_nexttoke (*Perl_Inexttoke_ptr(aTHX)) #undef PL_nexttype -#define PL_nexttype (*Perl_Inexttype_ptr(aTHXo)) +#define PL_nexttype (*Perl_Inexttype_ptr(aTHX)) #undef PL_nextval -#define PL_nextval (*Perl_Inextval_ptr(aTHXo)) +#define PL_nextval (*Perl_Inextval_ptr(aTHX)) #undef PL_nice_chunk -#define PL_nice_chunk (*Perl_Inice_chunk_ptr(aTHXo)) +#define PL_nice_chunk (*Perl_Inice_chunk_ptr(aTHX)) #undef PL_nice_chunk_size -#define PL_nice_chunk_size (*Perl_Inice_chunk_size_ptr(aTHXo)) +#define PL_nice_chunk_size (*Perl_Inice_chunk_size_ptr(aTHX)) #undef PL_nomemok -#define PL_nomemok (*Perl_Inomemok_ptr(aTHXo)) +#define PL_nomemok (*Perl_Inomemok_ptr(aTHX)) #undef PL_nthreads -#define PL_nthreads (*Perl_Inthreads_ptr(aTHXo)) +#define PL_nthreads (*Perl_Inthreads_ptr(aTHX)) #undef PL_nthreads_cond -#define PL_nthreads_cond (*Perl_Inthreads_cond_ptr(aTHXo)) +#define PL_nthreads_cond (*Perl_Inthreads_cond_ptr(aTHX)) #undef PL_nullstash -#define PL_nullstash (*Perl_Inullstash_ptr(aTHXo)) +#define PL_nullstash (*Perl_Inullstash_ptr(aTHX)) #undef PL_numeric_compat1 -#define PL_numeric_compat1 (*Perl_Inumeric_compat1_ptr(aTHXo)) +#define PL_numeric_compat1 (*Perl_Inumeric_compat1_ptr(aTHX)) #undef PL_numeric_local -#define PL_numeric_local (*Perl_Inumeric_local_ptr(aTHXo)) +#define PL_numeric_local (*Perl_Inumeric_local_ptr(aTHX)) #undef PL_numeric_name -#define PL_numeric_name (*Perl_Inumeric_name_ptr(aTHXo)) +#define PL_numeric_name (*Perl_Inumeric_name_ptr(aTHX)) #undef PL_numeric_radix_sv -#define PL_numeric_radix_sv (*Perl_Inumeric_radix_sv_ptr(aTHXo)) +#define PL_numeric_radix_sv (*Perl_Inumeric_radix_sv_ptr(aTHX)) #undef PL_numeric_standard -#define PL_numeric_standard (*Perl_Inumeric_standard_ptr(aTHXo)) +#define PL_numeric_standard (*Perl_Inumeric_standard_ptr(aTHX)) #undef PL_ofmt -#define PL_ofmt (*Perl_Iofmt_ptr(aTHXo)) +#define PL_ofmt (*Perl_Iofmt_ptr(aTHX)) #undef PL_oldbufptr -#define PL_oldbufptr (*Perl_Ioldbufptr_ptr(aTHXo)) +#define PL_oldbufptr (*Perl_Ioldbufptr_ptr(aTHX)) #undef PL_oldname -#define PL_oldname (*Perl_Ioldname_ptr(aTHXo)) +#define PL_oldname (*Perl_Ioldname_ptr(aTHX)) #undef PL_oldoldbufptr -#define PL_oldoldbufptr (*Perl_Ioldoldbufptr_ptr(aTHXo)) +#define PL_oldoldbufptr (*Perl_Ioldoldbufptr_ptr(aTHX)) #undef PL_op_mask -#define PL_op_mask (*Perl_Iop_mask_ptr(aTHXo)) +#define PL_op_mask (*Perl_Iop_mask_ptr(aTHX)) #undef PL_op_seqmax -#define PL_op_seqmax (*Perl_Iop_seqmax_ptr(aTHXo)) +#define PL_op_seqmax (*Perl_Iop_seqmax_ptr(aTHX)) #undef PL_origalen -#define PL_origalen (*Perl_Iorigalen_ptr(aTHXo)) +#define PL_origalen (*Perl_Iorigalen_ptr(aTHX)) #undef PL_origargc -#define PL_origargc (*Perl_Iorigargc_ptr(aTHXo)) +#define PL_origargc (*Perl_Iorigargc_ptr(aTHX)) #undef PL_origargv -#define PL_origargv (*Perl_Iorigargv_ptr(aTHXo)) +#define PL_origargv (*Perl_Iorigargv_ptr(aTHX)) #undef PL_origenviron -#define PL_origenviron (*Perl_Iorigenviron_ptr(aTHXo)) +#define PL_origenviron (*Perl_Iorigenviron_ptr(aTHX)) #undef PL_origfilename -#define PL_origfilename (*Perl_Iorigfilename_ptr(aTHXo)) +#define PL_origfilename (*Perl_Iorigfilename_ptr(aTHX)) #undef PL_ors_sv -#define PL_ors_sv (*Perl_Iors_sv_ptr(aTHXo)) +#define PL_ors_sv (*Perl_Iors_sv_ptr(aTHX)) #undef PL_osname -#define PL_osname (*Perl_Iosname_ptr(aTHXo)) +#define PL_osname (*Perl_Iosname_ptr(aTHX)) #undef PL_pad_reset_pending -#define PL_pad_reset_pending (*Perl_Ipad_reset_pending_ptr(aTHXo)) +#define PL_pad_reset_pending (*Perl_Ipad_reset_pending_ptr(aTHX)) #undef PL_padix -#define PL_padix (*Perl_Ipadix_ptr(aTHXo)) +#define PL_padix (*Perl_Ipadix_ptr(aTHX)) #undef PL_padix_floor -#define PL_padix_floor (*Perl_Ipadix_floor_ptr(aTHXo)) +#define PL_padix_floor (*Perl_Ipadix_floor_ptr(aTHX)) #undef PL_patchlevel -#define PL_patchlevel (*Perl_Ipatchlevel_ptr(aTHXo)) +#define PL_patchlevel (*Perl_Ipatchlevel_ptr(aTHX)) #undef PL_pending_ident -#define PL_pending_ident (*Perl_Ipending_ident_ptr(aTHXo)) +#define PL_pending_ident (*Perl_Ipending_ident_ptr(aTHX)) #undef PL_perl_destruct_level -#define PL_perl_destruct_level (*Perl_Iperl_destruct_level_ptr(aTHXo)) +#define PL_perl_destruct_level (*Perl_Iperl_destruct_level_ptr(aTHX)) #undef PL_perldb -#define PL_perldb (*Perl_Iperldb_ptr(aTHXo)) +#define PL_perldb (*Perl_Iperldb_ptr(aTHX)) #undef PL_pidstatus -#define PL_pidstatus (*Perl_Ipidstatus_ptr(aTHXo)) +#define PL_pidstatus (*Perl_Ipidstatus_ptr(aTHX)) #undef PL_preambleav -#define PL_preambleav (*Perl_Ipreambleav_ptr(aTHXo)) +#define PL_preambleav (*Perl_Ipreambleav_ptr(aTHX)) #undef PL_preambled -#define PL_preambled (*Perl_Ipreambled_ptr(aTHXo)) +#define PL_preambled (*Perl_Ipreambled_ptr(aTHX)) #undef PL_preprocess -#define PL_preprocess (*Perl_Ipreprocess_ptr(aTHXo)) +#define PL_preprocess (*Perl_Ipreprocess_ptr(aTHX)) #undef PL_profiledata -#define PL_profiledata (*Perl_Iprofiledata_ptr(aTHXo)) +#define PL_profiledata (*Perl_Iprofiledata_ptr(aTHX)) #undef PL_psig_name -#define PL_psig_name (*Perl_Ipsig_name_ptr(aTHXo)) +#define PL_psig_name (*Perl_Ipsig_name_ptr(aTHX)) #undef PL_psig_pend -#define PL_psig_pend (*Perl_Ipsig_pend_ptr(aTHXo)) +#define PL_psig_pend (*Perl_Ipsig_pend_ptr(aTHX)) #undef PL_psig_ptr -#define PL_psig_ptr (*Perl_Ipsig_ptr_ptr(aTHXo)) +#define PL_psig_ptr (*Perl_Ipsig_ptr_ptr(aTHX)) #undef PL_ptr_table -#define PL_ptr_table (*Perl_Iptr_table_ptr(aTHXo)) +#define PL_ptr_table (*Perl_Iptr_table_ptr(aTHX)) #undef PL_reentrant_buffer -#define PL_reentrant_buffer (*Perl_Ireentrant_buffer_ptr(aTHXo)) +#define PL_reentrant_buffer (*Perl_Ireentrant_buffer_ptr(aTHX)) #undef PL_regex_pad -#define PL_regex_pad (*Perl_Iregex_pad_ptr(aTHXo)) +#define PL_regex_pad (*Perl_Iregex_pad_ptr(aTHX)) #undef PL_regex_padav -#define PL_regex_padav (*Perl_Iregex_padav_ptr(aTHXo)) +#define PL_regex_padav (*Perl_Iregex_padav_ptr(aTHX)) #undef PL_replgv -#define PL_replgv (*Perl_Ireplgv_ptr(aTHXo)) +#define PL_replgv (*Perl_Ireplgv_ptr(aTHX)) #undef PL_rsfp -#define PL_rsfp (*Perl_Irsfp_ptr(aTHXo)) +#define PL_rsfp (*Perl_Irsfp_ptr(aTHX)) #undef PL_rsfp_filters -#define PL_rsfp_filters (*Perl_Irsfp_filters_ptr(aTHXo)) +#define PL_rsfp_filters (*Perl_Irsfp_filters_ptr(aTHX)) #undef PL_runops -#define PL_runops (*Perl_Irunops_ptr(aTHXo)) +#define PL_runops (*Perl_Irunops_ptr(aTHX)) #undef PL_savebegin -#define PL_savebegin (*Perl_Isavebegin_ptr(aTHXo)) +#define PL_savebegin (*Perl_Isavebegin_ptr(aTHX)) #undef PL_sawampersand -#define PL_sawampersand (*Perl_Isawampersand_ptr(aTHXo)) +#define PL_sawampersand (*Perl_Isawampersand_ptr(aTHX)) #undef PL_sh_path -#define PL_sh_path (*Perl_Ish_path_ptr(aTHXo)) +#define PL_sh_path (*Perl_Ish_path_ptr(aTHX)) #undef PL_sig_pending -#define PL_sig_pending (*Perl_Isig_pending_ptr(aTHXo)) +#define PL_sig_pending (*Perl_Isig_pending_ptr(aTHX)) #undef PL_sighandlerp -#define PL_sighandlerp (*Perl_Isighandlerp_ptr(aTHXo)) +#define PL_sighandlerp (*Perl_Isighandlerp_ptr(aTHX)) #undef PL_splitstr -#define PL_splitstr (*Perl_Isplitstr_ptr(aTHXo)) +#define PL_splitstr (*Perl_Isplitstr_ptr(aTHX)) #undef PL_srand_called -#define PL_srand_called (*Perl_Isrand_called_ptr(aTHXo)) +#define PL_srand_called (*Perl_Isrand_called_ptr(aTHX)) #undef PL_statusvalue -#define PL_statusvalue (*Perl_Istatusvalue_ptr(aTHXo)) +#define PL_statusvalue (*Perl_Istatusvalue_ptr(aTHX)) #undef PL_statusvalue_vms -#define PL_statusvalue_vms (*Perl_Istatusvalue_vms_ptr(aTHXo)) +#define PL_statusvalue_vms (*Perl_Istatusvalue_vms_ptr(aTHX)) #undef PL_stderrgv -#define PL_stderrgv (*Perl_Istderrgv_ptr(aTHXo)) +#define PL_stderrgv (*Perl_Istderrgv_ptr(aTHX)) #undef PL_stdingv -#define PL_stdingv (*Perl_Istdingv_ptr(aTHXo)) +#define PL_stdingv (*Perl_Istdingv_ptr(aTHX)) #undef PL_strtab -#define PL_strtab (*Perl_Istrtab_ptr(aTHXo)) +#define PL_strtab (*Perl_Istrtab_ptr(aTHX)) #undef PL_strtab_mutex -#define PL_strtab_mutex (*Perl_Istrtab_mutex_ptr(aTHXo)) +#define PL_strtab_mutex (*Perl_Istrtab_mutex_ptr(aTHX)) #undef PL_sub_generation -#define PL_sub_generation (*Perl_Isub_generation_ptr(aTHXo)) +#define PL_sub_generation (*Perl_Isub_generation_ptr(aTHX)) #undef PL_sublex_info -#define PL_sublex_info (*Perl_Isublex_info_ptr(aTHXo)) +#define PL_sublex_info (*Perl_Isublex_info_ptr(aTHX)) #undef PL_subline -#define PL_subline (*Perl_Isubline_ptr(aTHXo)) +#define PL_subline (*Perl_Isubline_ptr(aTHX)) #undef PL_subname -#define PL_subname (*Perl_Isubname_ptr(aTHXo)) +#define PL_subname (*Perl_Isubname_ptr(aTHX)) #undef PL_sv_arenaroot -#define PL_sv_arenaroot (*Perl_Isv_arenaroot_ptr(aTHXo)) +#define PL_sv_arenaroot (*Perl_Isv_arenaroot_ptr(aTHX)) #undef PL_sv_count -#define PL_sv_count (*Perl_Isv_count_ptr(aTHXo)) +#define PL_sv_count (*Perl_Isv_count_ptr(aTHX)) #undef PL_sv_lock_mutex -#define PL_sv_lock_mutex (*Perl_Isv_lock_mutex_ptr(aTHXo)) +#define PL_sv_lock_mutex (*Perl_Isv_lock_mutex_ptr(aTHX)) #undef PL_sv_mutex -#define PL_sv_mutex (*Perl_Isv_mutex_ptr(aTHXo)) +#define PL_sv_mutex (*Perl_Isv_mutex_ptr(aTHX)) #undef PL_sv_no -#define PL_sv_no (*Perl_Isv_no_ptr(aTHXo)) +#define PL_sv_no (*Perl_Isv_no_ptr(aTHX)) #undef PL_sv_objcount -#define PL_sv_objcount (*Perl_Isv_objcount_ptr(aTHXo)) +#define PL_sv_objcount (*Perl_Isv_objcount_ptr(aTHX)) #undef PL_sv_root -#define PL_sv_root (*Perl_Isv_root_ptr(aTHXo)) +#define PL_sv_root (*Perl_Isv_root_ptr(aTHX)) #undef PL_sv_undef -#define PL_sv_undef (*Perl_Isv_undef_ptr(aTHXo)) +#define PL_sv_undef (*Perl_Isv_undef_ptr(aTHX)) #undef PL_sv_yes -#define PL_sv_yes (*Perl_Isv_yes_ptr(aTHXo)) +#define PL_sv_yes (*Perl_Isv_yes_ptr(aTHX)) #undef PL_svref_mutex -#define PL_svref_mutex (*Perl_Isvref_mutex_ptr(aTHXo)) +#define PL_svref_mutex (*Perl_Isvref_mutex_ptr(aTHX)) #undef PL_sys_intern -#define PL_sys_intern (*Perl_Isys_intern_ptr(aTHXo)) +#define PL_sys_intern (*Perl_Isys_intern_ptr(aTHX)) #undef PL_tainting -#define PL_tainting (*Perl_Itainting_ptr(aTHXo)) +#define PL_tainting (*Perl_Itainting_ptr(aTHX)) #undef PL_threadnum -#define PL_threadnum (*Perl_Ithreadnum_ptr(aTHXo)) +#define PL_threadnum (*Perl_Ithreadnum_ptr(aTHX)) #undef PL_threads_mutex -#define PL_threads_mutex (*Perl_Ithreads_mutex_ptr(aTHXo)) +#define PL_threads_mutex (*Perl_Ithreads_mutex_ptr(aTHX)) #undef PL_threadsv_names -#define PL_threadsv_names (*Perl_Ithreadsv_names_ptr(aTHXo)) +#define PL_threadsv_names (*Perl_Ithreadsv_names_ptr(aTHX)) #undef PL_thrsv -#define PL_thrsv (*Perl_Ithrsv_ptr(aTHXo)) +#define PL_thrsv (*Perl_Ithrsv_ptr(aTHX)) #undef PL_tokenbuf -#define PL_tokenbuf (*Perl_Itokenbuf_ptr(aTHXo)) +#define PL_tokenbuf (*Perl_Itokenbuf_ptr(aTHX)) #undef PL_uid -#define PL_uid (*Perl_Iuid_ptr(aTHXo)) +#define PL_uid (*Perl_Iuid_ptr(aTHX)) #undef PL_unsafe -#define PL_unsafe (*Perl_Iunsafe_ptr(aTHXo)) +#define PL_unsafe (*Perl_Iunsafe_ptr(aTHX)) #undef PL_utf8_alnum -#define PL_utf8_alnum (*Perl_Iutf8_alnum_ptr(aTHXo)) +#define PL_utf8_alnum (*Perl_Iutf8_alnum_ptr(aTHX)) #undef PL_utf8_alnumc -#define PL_utf8_alnumc (*Perl_Iutf8_alnumc_ptr(aTHXo)) +#define PL_utf8_alnumc (*Perl_Iutf8_alnumc_ptr(aTHX)) #undef PL_utf8_alpha -#define PL_utf8_alpha (*Perl_Iutf8_alpha_ptr(aTHXo)) +#define PL_utf8_alpha (*Perl_Iutf8_alpha_ptr(aTHX)) #undef PL_utf8_ascii -#define PL_utf8_ascii (*Perl_Iutf8_ascii_ptr(aTHXo)) +#define PL_utf8_ascii (*Perl_Iutf8_ascii_ptr(aTHX)) #undef PL_utf8_cntrl -#define PL_utf8_cntrl (*Perl_Iutf8_cntrl_ptr(aTHXo)) +#define PL_utf8_cntrl (*Perl_Iutf8_cntrl_ptr(aTHX)) #undef PL_utf8_digit -#define PL_utf8_digit (*Perl_Iutf8_digit_ptr(aTHXo)) +#define PL_utf8_digit (*Perl_Iutf8_digit_ptr(aTHX)) #undef PL_utf8_graph -#define PL_utf8_graph (*Perl_Iutf8_graph_ptr(aTHXo)) +#define PL_utf8_graph (*Perl_Iutf8_graph_ptr(aTHX)) #undef PL_utf8_lower -#define PL_utf8_lower (*Perl_Iutf8_lower_ptr(aTHXo)) +#define PL_utf8_lower (*Perl_Iutf8_lower_ptr(aTHX)) #undef PL_utf8_mark -#define PL_utf8_mark (*Perl_Iutf8_mark_ptr(aTHXo)) +#define PL_utf8_mark (*Perl_Iutf8_mark_ptr(aTHX)) #undef PL_utf8_print -#define PL_utf8_print (*Perl_Iutf8_print_ptr(aTHXo)) +#define PL_utf8_print (*Perl_Iutf8_print_ptr(aTHX)) #undef PL_utf8_punct -#define PL_utf8_punct (*Perl_Iutf8_punct_ptr(aTHXo)) +#define PL_utf8_punct (*Perl_Iutf8_punct_ptr(aTHX)) #undef PL_utf8_space -#define PL_utf8_space (*Perl_Iutf8_space_ptr(aTHXo)) +#define PL_utf8_space (*Perl_Iutf8_space_ptr(aTHX)) #undef PL_utf8_tolower -#define PL_utf8_tolower (*Perl_Iutf8_tolower_ptr(aTHXo)) +#define PL_utf8_tolower (*Perl_Iutf8_tolower_ptr(aTHX)) #undef PL_utf8_totitle -#define PL_utf8_totitle (*Perl_Iutf8_totitle_ptr(aTHXo)) +#define PL_utf8_totitle (*Perl_Iutf8_totitle_ptr(aTHX)) #undef PL_utf8_toupper -#define PL_utf8_toupper (*Perl_Iutf8_toupper_ptr(aTHXo)) +#define PL_utf8_toupper (*Perl_Iutf8_toupper_ptr(aTHX)) #undef PL_utf8_upper -#define PL_utf8_upper (*Perl_Iutf8_upper_ptr(aTHXo)) +#define PL_utf8_upper (*Perl_Iutf8_upper_ptr(aTHX)) #undef PL_utf8_xdigit -#define PL_utf8_xdigit (*Perl_Iutf8_xdigit_ptr(aTHXo)) +#define PL_utf8_xdigit (*Perl_Iutf8_xdigit_ptr(aTHX)) #undef PL_uudmap -#define PL_uudmap (*Perl_Iuudmap_ptr(aTHXo)) +#define PL_uudmap (*Perl_Iuudmap_ptr(aTHX)) #undef PL_warnhook -#define PL_warnhook (*Perl_Iwarnhook_ptr(aTHXo)) +#define PL_warnhook (*Perl_Iwarnhook_ptr(aTHX)) #undef PL_widesyscalls -#define PL_widesyscalls (*Perl_Iwidesyscalls_ptr(aTHXo)) +#define PL_widesyscalls (*Perl_Iwidesyscalls_ptr(aTHX)) #undef PL_xiv_arenaroot -#define PL_xiv_arenaroot (*Perl_Ixiv_arenaroot_ptr(aTHXo)) +#define PL_xiv_arenaroot (*Perl_Ixiv_arenaroot_ptr(aTHX)) #undef PL_xiv_root -#define PL_xiv_root (*Perl_Ixiv_root_ptr(aTHXo)) +#define PL_xiv_root (*Perl_Ixiv_root_ptr(aTHX)) #undef PL_xnv_arenaroot -#define PL_xnv_arenaroot (*Perl_Ixnv_arenaroot_ptr(aTHXo)) +#define PL_xnv_arenaroot (*Perl_Ixnv_arenaroot_ptr(aTHX)) #undef PL_xnv_root -#define PL_xnv_root (*Perl_Ixnv_root_ptr(aTHXo)) +#define PL_xnv_root (*Perl_Ixnv_root_ptr(aTHX)) #undef PL_xpv_arenaroot -#define PL_xpv_arenaroot (*Perl_Ixpv_arenaroot_ptr(aTHXo)) +#define PL_xpv_arenaroot (*Perl_Ixpv_arenaroot_ptr(aTHX)) #undef PL_xpv_root -#define PL_xpv_root (*Perl_Ixpv_root_ptr(aTHXo)) +#define PL_xpv_root (*Perl_Ixpv_root_ptr(aTHX)) #undef PL_xpvav_arenaroot -#define PL_xpvav_arenaroot (*Perl_Ixpvav_arenaroot_ptr(aTHXo)) +#define PL_xpvav_arenaroot (*Perl_Ixpvav_arenaroot_ptr(aTHX)) #undef PL_xpvav_root -#define PL_xpvav_root (*Perl_Ixpvav_root_ptr(aTHXo)) +#define PL_xpvav_root (*Perl_Ixpvav_root_ptr(aTHX)) #undef PL_xpvbm_arenaroot -#define PL_xpvbm_arenaroot (*Perl_Ixpvbm_arenaroot_ptr(aTHXo)) +#define PL_xpvbm_arenaroot (*Perl_Ixpvbm_arenaroot_ptr(aTHX)) #undef PL_xpvbm_root -#define PL_xpvbm_root (*Perl_Ixpvbm_root_ptr(aTHXo)) +#define PL_xpvbm_root (*Perl_Ixpvbm_root_ptr(aTHX)) #undef PL_xpvcv_arenaroot -#define PL_xpvcv_arenaroot (*Perl_Ixpvcv_arenaroot_ptr(aTHXo)) +#define PL_xpvcv_arenaroot (*Perl_Ixpvcv_arenaroot_ptr(aTHX)) #undef PL_xpvcv_root -#define PL_xpvcv_root (*Perl_Ixpvcv_root_ptr(aTHXo)) +#define PL_xpvcv_root (*Perl_Ixpvcv_root_ptr(aTHX)) #undef PL_xpvhv_arenaroot -#define PL_xpvhv_arenaroot (*Perl_Ixpvhv_arenaroot_ptr(aTHXo)) +#define PL_xpvhv_arenaroot (*Perl_Ixpvhv_arenaroot_ptr(aTHX)) #undef PL_xpvhv_root -#define PL_xpvhv_root (*Perl_Ixpvhv_root_ptr(aTHXo)) +#define PL_xpvhv_root (*Perl_Ixpvhv_root_ptr(aTHX)) #undef PL_xpviv_arenaroot -#define PL_xpviv_arenaroot (*Perl_Ixpviv_arenaroot_ptr(aTHXo)) +#define PL_xpviv_arenaroot (*Perl_Ixpviv_arenaroot_ptr(aTHX)) #undef PL_xpviv_root -#define PL_xpviv_root (*Perl_Ixpviv_root_ptr(aTHXo)) +#define PL_xpviv_root (*Perl_Ixpviv_root_ptr(aTHX)) #undef PL_xpvlv_arenaroot -#define PL_xpvlv_arenaroot (*Perl_Ixpvlv_arenaroot_ptr(aTHXo)) +#define PL_xpvlv_arenaroot (*Perl_Ixpvlv_arenaroot_ptr(aTHX)) #undef PL_xpvlv_root -#define PL_xpvlv_root (*Perl_Ixpvlv_root_ptr(aTHXo)) +#define PL_xpvlv_root (*Perl_Ixpvlv_root_ptr(aTHX)) #undef PL_xpvmg_arenaroot -#define PL_xpvmg_arenaroot (*Perl_Ixpvmg_arenaroot_ptr(aTHXo)) +#define PL_xpvmg_arenaroot (*Perl_Ixpvmg_arenaroot_ptr(aTHX)) #undef PL_xpvmg_root -#define PL_xpvmg_root (*Perl_Ixpvmg_root_ptr(aTHXo)) +#define PL_xpvmg_root (*Perl_Ixpvmg_root_ptr(aTHX)) #undef PL_xpvnv_arenaroot -#define PL_xpvnv_arenaroot (*Perl_Ixpvnv_arenaroot_ptr(aTHXo)) +#define PL_xpvnv_arenaroot (*Perl_Ixpvnv_arenaroot_ptr(aTHX)) #undef PL_xpvnv_root -#define PL_xpvnv_root (*Perl_Ixpvnv_root_ptr(aTHXo)) +#define PL_xpvnv_root (*Perl_Ixpvnv_root_ptr(aTHX)) #undef PL_xrv_arenaroot -#define PL_xrv_arenaroot (*Perl_Ixrv_arenaroot_ptr(aTHXo)) +#define PL_xrv_arenaroot (*Perl_Ixrv_arenaroot_ptr(aTHX)) #undef PL_xrv_root -#define PL_xrv_root (*Perl_Ixrv_root_ptr(aTHXo)) +#define PL_xrv_root (*Perl_Ixrv_root_ptr(aTHX)) #undef PL_yychar -#define PL_yychar (*Perl_Iyychar_ptr(aTHXo)) +#define PL_yychar (*Perl_Iyychar_ptr(aTHX)) #undef PL_yydebug -#define PL_yydebug (*Perl_Iyydebug_ptr(aTHXo)) +#define PL_yydebug (*Perl_Iyydebug_ptr(aTHX)) #undef PL_yyerrflag -#define PL_yyerrflag (*Perl_Iyyerrflag_ptr(aTHXo)) +#define PL_yyerrflag (*Perl_Iyyerrflag_ptr(aTHX)) #undef PL_yylval -#define PL_yylval (*Perl_Iyylval_ptr(aTHXo)) +#define PL_yylval (*Perl_Iyylval_ptr(aTHX)) #undef PL_yynerrs -#define PL_yynerrs (*Perl_Iyynerrs_ptr(aTHXo)) +#define PL_yynerrs (*Perl_Iyynerrs_ptr(aTHX)) #undef PL_yyval -#define PL_yyval (*Perl_Iyyval_ptr(aTHXo)) +#define PL_yyval (*Perl_Iyyval_ptr(aTHX)) #undef PL_Sv -#define PL_Sv (*Perl_TSv_ptr(aTHXo)) +#define PL_Sv (*Perl_TSv_ptr(aTHX)) #undef PL_Xpv -#define PL_Xpv (*Perl_TXpv_ptr(aTHXo)) +#define PL_Xpv (*Perl_TXpv_ptr(aTHX)) #undef PL_av_fetch_sv -#define PL_av_fetch_sv (*Perl_Tav_fetch_sv_ptr(aTHXo)) +#define PL_av_fetch_sv (*Perl_Tav_fetch_sv_ptr(aTHX)) #undef PL_bodytarget -#define PL_bodytarget (*Perl_Tbodytarget_ptr(aTHXo)) +#define PL_bodytarget (*Perl_Tbodytarget_ptr(aTHX)) #undef PL_bostr -#define PL_bostr (*Perl_Tbostr_ptr(aTHXo)) +#define PL_bostr (*Perl_Tbostr_ptr(aTHX)) #undef PL_chopset -#define PL_chopset (*Perl_Tchopset_ptr(aTHXo)) +#define PL_chopset (*Perl_Tchopset_ptr(aTHX)) #undef PL_colors -#define PL_colors (*Perl_Tcolors_ptr(aTHXo)) +#define PL_colors (*Perl_Tcolors_ptr(aTHX)) #undef PL_colorset -#define PL_colorset (*Perl_Tcolorset_ptr(aTHXo)) +#define PL_colorset (*Perl_Tcolorset_ptr(aTHX)) #undef PL_curcop -#define PL_curcop (*Perl_Tcurcop_ptr(aTHXo)) +#define PL_curcop (*Perl_Tcurcop_ptr(aTHX)) #undef PL_curpad -#define PL_curpad (*Perl_Tcurpad_ptr(aTHXo)) +#define PL_curpad (*Perl_Tcurpad_ptr(aTHX)) #undef PL_curpm -#define PL_curpm (*Perl_Tcurpm_ptr(aTHXo)) +#define PL_curpm (*Perl_Tcurpm_ptr(aTHX)) #undef PL_curstack -#define PL_curstack (*Perl_Tcurstack_ptr(aTHXo)) +#define PL_curstack (*Perl_Tcurstack_ptr(aTHX)) #undef PL_curstackinfo -#define PL_curstackinfo (*Perl_Tcurstackinfo_ptr(aTHXo)) +#define PL_curstackinfo (*Perl_Tcurstackinfo_ptr(aTHX)) #undef PL_curstash -#define PL_curstash (*Perl_Tcurstash_ptr(aTHXo)) +#define PL_curstash (*Perl_Tcurstash_ptr(aTHX)) #undef PL_defoutgv -#define PL_defoutgv (*Perl_Tdefoutgv_ptr(aTHXo)) +#define PL_defoutgv (*Perl_Tdefoutgv_ptr(aTHX)) #undef PL_defstash -#define PL_defstash (*Perl_Tdefstash_ptr(aTHXo)) +#define PL_defstash (*Perl_Tdefstash_ptr(aTHX)) #undef PL_delaymagic -#define PL_delaymagic (*Perl_Tdelaymagic_ptr(aTHXo)) +#define PL_delaymagic (*Perl_Tdelaymagic_ptr(aTHX)) #undef PL_dirty -#define PL_dirty (*Perl_Tdirty_ptr(aTHXo)) +#define PL_dirty (*Perl_Tdirty_ptr(aTHX)) #undef PL_dumpindent -#define PL_dumpindent (*Perl_Tdumpindent_ptr(aTHXo)) +#define PL_dumpindent (*Perl_Tdumpindent_ptr(aTHX)) #undef PL_efloatbuf -#define PL_efloatbuf (*Perl_Tefloatbuf_ptr(aTHXo)) +#define PL_efloatbuf (*Perl_Tefloatbuf_ptr(aTHX)) #undef PL_efloatsize -#define PL_efloatsize (*Perl_Tefloatsize_ptr(aTHXo)) +#define PL_efloatsize (*Perl_Tefloatsize_ptr(aTHX)) #undef PL_errors -#define PL_errors (*Perl_Terrors_ptr(aTHXo)) +#define PL_errors (*Perl_Terrors_ptr(aTHX)) #undef PL_extralen -#define PL_extralen (*Perl_Textralen_ptr(aTHXo)) +#define PL_extralen (*Perl_Textralen_ptr(aTHX)) #undef PL_firstgv -#define PL_firstgv (*Perl_Tfirstgv_ptr(aTHXo)) +#define PL_firstgv (*Perl_Tfirstgv_ptr(aTHX)) #undef PL_formtarget -#define PL_formtarget (*Perl_Tformtarget_ptr(aTHXo)) +#define PL_formtarget (*Perl_Tformtarget_ptr(aTHX)) #undef PL_hv_fetch_ent_mh -#define PL_hv_fetch_ent_mh (*Perl_Thv_fetch_ent_mh_ptr(aTHXo)) +#define PL_hv_fetch_ent_mh (*Perl_Thv_fetch_ent_mh_ptr(aTHX)) #undef PL_hv_fetch_sv -#define PL_hv_fetch_sv (*Perl_Thv_fetch_sv_ptr(aTHXo)) +#define PL_hv_fetch_sv (*Perl_Thv_fetch_sv_ptr(aTHX)) #undef PL_in_eval -#define PL_in_eval (*Perl_Tin_eval_ptr(aTHXo)) +#define PL_in_eval (*Perl_Tin_eval_ptr(aTHX)) #undef PL_last_in_gv -#define PL_last_in_gv (*Perl_Tlast_in_gv_ptr(aTHXo)) +#define PL_last_in_gv (*Perl_Tlast_in_gv_ptr(aTHX)) #undef PL_lastgotoprobe -#define PL_lastgotoprobe (*Perl_Tlastgotoprobe_ptr(aTHXo)) +#define PL_lastgotoprobe (*Perl_Tlastgotoprobe_ptr(aTHX)) #undef PL_lastscream -#define PL_lastscream (*Perl_Tlastscream_ptr(aTHXo)) +#define PL_lastscream (*Perl_Tlastscream_ptr(aTHX)) #undef PL_localizing -#define PL_localizing (*Perl_Tlocalizing_ptr(aTHXo)) +#define PL_localizing (*Perl_Tlocalizing_ptr(aTHX)) #undef PL_mainstack -#define PL_mainstack (*Perl_Tmainstack_ptr(aTHXo)) +#define PL_mainstack (*Perl_Tmainstack_ptr(aTHX)) #undef PL_markstack -#define PL_markstack (*Perl_Tmarkstack_ptr(aTHXo)) +#define PL_markstack (*Perl_Tmarkstack_ptr(aTHX)) #undef PL_markstack_max -#define PL_markstack_max (*Perl_Tmarkstack_max_ptr(aTHXo)) +#define PL_markstack_max (*Perl_Tmarkstack_max_ptr(aTHX)) #undef PL_markstack_ptr -#define PL_markstack_ptr (*Perl_Tmarkstack_ptr_ptr(aTHXo)) +#define PL_markstack_ptr (*Perl_Tmarkstack_ptr_ptr(aTHX)) #undef PL_maxscream -#define PL_maxscream (*Perl_Tmaxscream_ptr(aTHXo)) +#define PL_maxscream (*Perl_Tmaxscream_ptr(aTHX)) #undef PL_modcount -#define PL_modcount (*Perl_Tmodcount_ptr(aTHXo)) +#define PL_modcount (*Perl_Tmodcount_ptr(aTHX)) #undef PL_na -#define PL_na (*Perl_Tna_ptr(aTHXo)) +#define PL_na (*Perl_Tna_ptr(aTHX)) #undef PL_nrs -#define PL_nrs (*Perl_Tnrs_ptr(aTHXo)) +#define PL_nrs (*Perl_Tnrs_ptr(aTHX)) #undef PL_ofs_sv -#define PL_ofs_sv (*Perl_Tofs_sv_ptr(aTHXo)) +#define PL_ofs_sv (*Perl_Tofs_sv_ptr(aTHX)) #undef PL_op -#define PL_op (*Perl_Top_ptr(aTHXo)) +#define PL_op (*Perl_Top_ptr(aTHX)) #undef PL_opsave -#define PL_opsave (*Perl_Topsave_ptr(aTHXo)) +#define PL_opsave (*Perl_Topsave_ptr(aTHX)) #undef PL_peepp -#define PL_peepp (*Perl_Tpeepp_ptr(aTHXo)) +#define PL_peepp (*Perl_Tpeepp_ptr(aTHX)) #undef PL_protect -#define PL_protect (*Perl_Tprotect_ptr(aTHXo)) +#define PL_protect (*Perl_Tprotect_ptr(aTHX)) #undef PL_reg_call_cc -#define PL_reg_call_cc (*Perl_Treg_call_cc_ptr(aTHXo)) +#define PL_reg_call_cc (*Perl_Treg_call_cc_ptr(aTHX)) #undef PL_reg_curpm -#define PL_reg_curpm (*Perl_Treg_curpm_ptr(aTHXo)) +#define PL_reg_curpm (*Perl_Treg_curpm_ptr(aTHX)) #undef PL_reg_eval_set -#define PL_reg_eval_set (*Perl_Treg_eval_set_ptr(aTHXo)) +#define PL_reg_eval_set (*Perl_Treg_eval_set_ptr(aTHX)) #undef PL_reg_flags -#define PL_reg_flags (*Perl_Treg_flags_ptr(aTHXo)) +#define PL_reg_flags (*Perl_Treg_flags_ptr(aTHX)) #undef PL_reg_ganch -#define PL_reg_ganch (*Perl_Treg_ganch_ptr(aTHXo)) +#define PL_reg_ganch (*Perl_Treg_ganch_ptr(aTHX)) #undef PL_reg_leftiter -#define PL_reg_leftiter (*Perl_Treg_leftiter_ptr(aTHXo)) +#define PL_reg_leftiter (*Perl_Treg_leftiter_ptr(aTHX)) #undef PL_reg_magic -#define PL_reg_magic (*Perl_Treg_magic_ptr(aTHXo)) +#define PL_reg_magic (*Perl_Treg_magic_ptr(aTHX)) #undef PL_reg_maxiter -#define PL_reg_maxiter (*Perl_Treg_maxiter_ptr(aTHXo)) +#define PL_reg_maxiter (*Perl_Treg_maxiter_ptr(aTHX)) #undef PL_reg_oldcurpm -#define PL_reg_oldcurpm (*Perl_Treg_oldcurpm_ptr(aTHXo)) +#define PL_reg_oldcurpm (*Perl_Treg_oldcurpm_ptr(aTHX)) #undef PL_reg_oldpos -#define PL_reg_oldpos (*Perl_Treg_oldpos_ptr(aTHXo)) +#define PL_reg_oldpos (*Perl_Treg_oldpos_ptr(aTHX)) #undef PL_reg_oldsaved -#define PL_reg_oldsaved (*Perl_Treg_oldsaved_ptr(aTHXo)) +#define PL_reg_oldsaved (*Perl_Treg_oldsaved_ptr(aTHX)) #undef PL_reg_oldsavedlen -#define PL_reg_oldsavedlen (*Perl_Treg_oldsavedlen_ptr(aTHXo)) +#define PL_reg_oldsavedlen (*Perl_Treg_oldsavedlen_ptr(aTHX)) #undef PL_reg_poscache -#define PL_reg_poscache (*Perl_Treg_poscache_ptr(aTHXo)) +#define PL_reg_poscache (*Perl_Treg_poscache_ptr(aTHX)) #undef PL_reg_poscache_size -#define PL_reg_poscache_size (*Perl_Treg_poscache_size_ptr(aTHXo)) +#define PL_reg_poscache_size (*Perl_Treg_poscache_size_ptr(aTHX)) #undef PL_reg_re -#define PL_reg_re (*Perl_Treg_re_ptr(aTHXo)) +#define PL_reg_re (*Perl_Treg_re_ptr(aTHX)) #undef PL_reg_start_tmp -#define PL_reg_start_tmp (*Perl_Treg_start_tmp_ptr(aTHXo)) +#define PL_reg_start_tmp (*Perl_Treg_start_tmp_ptr(aTHX)) #undef PL_reg_start_tmpl -#define PL_reg_start_tmpl (*Perl_Treg_start_tmpl_ptr(aTHXo)) +#define PL_reg_start_tmpl (*Perl_Treg_start_tmpl_ptr(aTHX)) #undef PL_reg_starttry -#define PL_reg_starttry (*Perl_Treg_starttry_ptr(aTHXo)) +#define PL_reg_starttry (*Perl_Treg_starttry_ptr(aTHX)) #undef PL_reg_sv -#define PL_reg_sv (*Perl_Treg_sv_ptr(aTHXo)) +#define PL_reg_sv (*Perl_Treg_sv_ptr(aTHX)) #undef PL_reg_sv_utf8 -#define PL_reg_sv_utf8 (*Perl_Treg_sv_utf8_ptr(aTHXo)) +#define PL_reg_sv_utf8 (*Perl_Treg_sv_utf8_ptr(aTHX)) #undef PL_reg_whilem_seen -#define PL_reg_whilem_seen (*Perl_Treg_whilem_seen_ptr(aTHXo)) +#define PL_reg_whilem_seen (*Perl_Treg_whilem_seen_ptr(aTHX)) #undef PL_regbol -#define PL_regbol (*Perl_Tregbol_ptr(aTHXo)) +#define PL_regbol (*Perl_Tregbol_ptr(aTHX)) #undef PL_regcc -#define PL_regcc (*Perl_Tregcc_ptr(aTHXo)) +#define PL_regcc (*Perl_Tregcc_ptr(aTHX)) #undef PL_regcode -#define PL_regcode (*Perl_Tregcode_ptr(aTHXo)) +#define PL_regcode (*Perl_Tregcode_ptr(aTHX)) #undef PL_regcomp_parse -#define PL_regcomp_parse (*Perl_Tregcomp_parse_ptr(aTHXo)) +#define PL_regcomp_parse (*Perl_Tregcomp_parse_ptr(aTHX)) #undef PL_regcomp_rx -#define PL_regcomp_rx (*Perl_Tregcomp_rx_ptr(aTHXo)) +#define PL_regcomp_rx (*Perl_Tregcomp_rx_ptr(aTHX)) #undef PL_regcompat1 -#define PL_regcompat1 (*Perl_Tregcompat1_ptr(aTHXo)) +#define PL_regcompat1 (*Perl_Tregcompat1_ptr(aTHX)) #undef PL_regcompp -#define PL_regcompp (*Perl_Tregcompp_ptr(aTHXo)) +#define PL_regcompp (*Perl_Tregcompp_ptr(aTHX)) #undef PL_regdata -#define PL_regdata (*Perl_Tregdata_ptr(aTHXo)) +#define PL_regdata (*Perl_Tregdata_ptr(aTHX)) #undef PL_regdummy -#define PL_regdummy (*Perl_Tregdummy_ptr(aTHXo)) +#define PL_regdummy (*Perl_Tregdummy_ptr(aTHX)) #undef PL_regendp -#define PL_regendp (*Perl_Tregendp_ptr(aTHXo)) +#define PL_regendp (*Perl_Tregendp_ptr(aTHX)) #undef PL_regeol -#define PL_regeol (*Perl_Tregeol_ptr(aTHXo)) +#define PL_regeol (*Perl_Tregeol_ptr(aTHX)) #undef PL_regexecp -#define PL_regexecp (*Perl_Tregexecp_ptr(aTHXo)) +#define PL_regexecp (*Perl_Tregexecp_ptr(aTHX)) #undef PL_regflags -#define PL_regflags (*Perl_Tregflags_ptr(aTHXo)) +#define PL_regflags (*Perl_Tregflags_ptr(aTHX)) #undef PL_regfree -#define PL_regfree (*Perl_Tregfree_ptr(aTHXo)) +#define PL_regfree (*Perl_Tregfree_ptr(aTHX)) #undef PL_regindent -#define PL_regindent (*Perl_Tregindent_ptr(aTHXo)) +#define PL_regindent (*Perl_Tregindent_ptr(aTHX)) #undef PL_reginput -#define PL_reginput (*Perl_Treginput_ptr(aTHXo)) +#define PL_reginput (*Perl_Treginput_ptr(aTHX)) #undef PL_regint_start -#define PL_regint_start (*Perl_Tregint_start_ptr(aTHXo)) +#define PL_regint_start (*Perl_Tregint_start_ptr(aTHX)) #undef PL_regint_string -#define PL_regint_string (*Perl_Tregint_string_ptr(aTHXo)) +#define PL_regint_string (*Perl_Tregint_string_ptr(aTHX)) #undef PL_reginterp_cnt -#define PL_reginterp_cnt (*Perl_Treginterp_cnt_ptr(aTHXo)) +#define PL_reginterp_cnt (*Perl_Treginterp_cnt_ptr(aTHX)) #undef PL_reglastcloseparen -#define PL_reglastcloseparen (*Perl_Treglastcloseparen_ptr(aTHXo)) +#define PL_reglastcloseparen (*Perl_Treglastcloseparen_ptr(aTHX)) #undef PL_reglastparen -#define PL_reglastparen (*Perl_Treglastparen_ptr(aTHXo)) +#define PL_reglastparen (*Perl_Treglastparen_ptr(aTHX)) #undef PL_regnarrate -#define PL_regnarrate (*Perl_Tregnarrate_ptr(aTHXo)) +#define PL_regnarrate (*Perl_Tregnarrate_ptr(aTHX)) #undef PL_regnaughty -#define PL_regnaughty (*Perl_Tregnaughty_ptr(aTHXo)) +#define PL_regnaughty (*Perl_Tregnaughty_ptr(aTHX)) #undef PL_regnpar -#define PL_regnpar (*Perl_Tregnpar_ptr(aTHXo)) +#define PL_regnpar (*Perl_Tregnpar_ptr(aTHX)) #undef PL_regprecomp -#define PL_regprecomp (*Perl_Tregprecomp_ptr(aTHXo)) +#define PL_regprecomp (*Perl_Tregprecomp_ptr(aTHX)) #undef PL_regprogram -#define PL_regprogram (*Perl_Tregprogram_ptr(aTHXo)) +#define PL_regprogram (*Perl_Tregprogram_ptr(aTHX)) #undef PL_regsawback -#define PL_regsawback (*Perl_Tregsawback_ptr(aTHXo)) +#define PL_regsawback (*Perl_Tregsawback_ptr(aTHX)) #undef PL_regseen -#define PL_regseen (*Perl_Tregseen_ptr(aTHXo)) +#define PL_regseen (*Perl_Tregseen_ptr(aTHX)) #undef PL_regsize -#define PL_regsize (*Perl_Tregsize_ptr(aTHXo)) +#define PL_regsize (*Perl_Tregsize_ptr(aTHX)) #undef PL_regstartp -#define PL_regstartp (*Perl_Tregstartp_ptr(aTHXo)) +#define PL_regstartp (*Perl_Tregstartp_ptr(aTHX)) #undef PL_regtill -#define PL_regtill (*Perl_Tregtill_ptr(aTHXo)) +#define PL_regtill (*Perl_Tregtill_ptr(aTHX)) #undef PL_regxend -#define PL_regxend (*Perl_Tregxend_ptr(aTHXo)) +#define PL_regxend (*Perl_Tregxend_ptr(aTHX)) #undef PL_restartop -#define PL_restartop (*Perl_Trestartop_ptr(aTHXo)) +#define PL_restartop (*Perl_Trestartop_ptr(aTHX)) #undef PL_retstack -#define PL_retstack (*Perl_Tretstack_ptr(aTHXo)) +#define PL_retstack (*Perl_Tretstack_ptr(aTHX)) #undef PL_retstack_ix -#define PL_retstack_ix (*Perl_Tretstack_ix_ptr(aTHXo)) +#define PL_retstack_ix (*Perl_Tretstack_ix_ptr(aTHX)) #undef PL_retstack_max -#define PL_retstack_max (*Perl_Tretstack_max_ptr(aTHXo)) +#define PL_retstack_max (*Perl_Tretstack_max_ptr(aTHX)) #undef PL_rs -#define PL_rs (*Perl_Trs_ptr(aTHXo)) +#define PL_rs (*Perl_Trs_ptr(aTHX)) #undef PL_savestack -#define PL_savestack (*Perl_Tsavestack_ptr(aTHXo)) +#define PL_savestack (*Perl_Tsavestack_ptr(aTHX)) #undef PL_savestack_ix -#define PL_savestack_ix (*Perl_Tsavestack_ix_ptr(aTHXo)) +#define PL_savestack_ix (*Perl_Tsavestack_ix_ptr(aTHX)) #undef PL_savestack_max -#define PL_savestack_max (*Perl_Tsavestack_max_ptr(aTHXo)) +#define PL_savestack_max (*Perl_Tsavestack_max_ptr(aTHX)) #undef PL_scopestack -#define PL_scopestack (*Perl_Tscopestack_ptr(aTHXo)) +#define PL_scopestack (*Perl_Tscopestack_ptr(aTHX)) #undef PL_scopestack_ix -#define PL_scopestack_ix (*Perl_Tscopestack_ix_ptr(aTHXo)) +#define PL_scopestack_ix (*Perl_Tscopestack_ix_ptr(aTHX)) #undef PL_scopestack_max -#define PL_scopestack_max (*Perl_Tscopestack_max_ptr(aTHXo)) +#define PL_scopestack_max (*Perl_Tscopestack_max_ptr(aTHX)) #undef PL_screamfirst -#define PL_screamfirst (*Perl_Tscreamfirst_ptr(aTHXo)) +#define PL_screamfirst (*Perl_Tscreamfirst_ptr(aTHX)) #undef PL_screamnext -#define PL_screamnext (*Perl_Tscreamnext_ptr(aTHXo)) +#define PL_screamnext (*Perl_Tscreamnext_ptr(aTHX)) #undef PL_secondgv -#define PL_secondgv (*Perl_Tsecondgv_ptr(aTHXo)) +#define PL_secondgv (*Perl_Tsecondgv_ptr(aTHX)) #undef PL_seen_evals -#define PL_seen_evals (*Perl_Tseen_evals_ptr(aTHXo)) +#define PL_seen_evals (*Perl_Tseen_evals_ptr(aTHX)) #undef PL_seen_zerolen -#define PL_seen_zerolen (*Perl_Tseen_zerolen_ptr(aTHXo)) +#define PL_seen_zerolen (*Perl_Tseen_zerolen_ptr(aTHX)) #undef PL_sortcop -#define PL_sortcop (*Perl_Tsortcop_ptr(aTHXo)) +#define PL_sortcop (*Perl_Tsortcop_ptr(aTHX)) #undef PL_sortcxix -#define PL_sortcxix (*Perl_Tsortcxix_ptr(aTHXo)) +#define PL_sortcxix (*Perl_Tsortcxix_ptr(aTHX)) #undef PL_sortstash -#define PL_sortstash (*Perl_Tsortstash_ptr(aTHXo)) +#define PL_sortstash (*Perl_Tsortstash_ptr(aTHX)) #undef PL_stack_base -#define PL_stack_base (*Perl_Tstack_base_ptr(aTHXo)) +#define PL_stack_base (*Perl_Tstack_base_ptr(aTHX)) #undef PL_stack_max -#define PL_stack_max (*Perl_Tstack_max_ptr(aTHXo)) +#define PL_stack_max (*Perl_Tstack_max_ptr(aTHX)) #undef PL_stack_sp -#define PL_stack_sp (*Perl_Tstack_sp_ptr(aTHXo)) +#define PL_stack_sp (*Perl_Tstack_sp_ptr(aTHX)) #undef PL_start_env -#define PL_start_env (*Perl_Tstart_env_ptr(aTHXo)) +#define PL_start_env (*Perl_Tstart_env_ptr(aTHX)) #undef PL_statbuf -#define PL_statbuf (*Perl_Tstatbuf_ptr(aTHXo)) +#define PL_statbuf (*Perl_Tstatbuf_ptr(aTHX)) #undef PL_statcache -#define PL_statcache (*Perl_Tstatcache_ptr(aTHXo)) +#define PL_statcache (*Perl_Tstatcache_ptr(aTHX)) #undef PL_statgv -#define PL_statgv (*Perl_Tstatgv_ptr(aTHXo)) +#define PL_statgv (*Perl_Tstatgv_ptr(aTHX)) #undef PL_statname -#define PL_statname (*Perl_Tstatname_ptr(aTHXo)) +#define PL_statname (*Perl_Tstatname_ptr(aTHX)) #undef PL_tainted -#define PL_tainted (*Perl_Ttainted_ptr(aTHXo)) +#define PL_tainted (*Perl_Ttainted_ptr(aTHX)) #undef PL_timesbuf -#define PL_timesbuf (*Perl_Ttimesbuf_ptr(aTHXo)) +#define PL_timesbuf (*Perl_Ttimesbuf_ptr(aTHX)) #undef PL_tmps_floor -#define PL_tmps_floor (*Perl_Ttmps_floor_ptr(aTHXo)) +#define PL_tmps_floor (*Perl_Ttmps_floor_ptr(aTHX)) #undef PL_tmps_ix -#define PL_tmps_ix (*Perl_Ttmps_ix_ptr(aTHXo)) +#define PL_tmps_ix (*Perl_Ttmps_ix_ptr(aTHX)) #undef PL_tmps_max -#define PL_tmps_max (*Perl_Ttmps_max_ptr(aTHXo)) +#define PL_tmps_max (*Perl_Ttmps_max_ptr(aTHX)) #undef PL_tmps_stack -#define PL_tmps_stack (*Perl_Ttmps_stack_ptr(aTHXo)) +#define PL_tmps_stack (*Perl_Ttmps_stack_ptr(aTHX)) #undef PL_top_env -#define PL_top_env (*Perl_Ttop_env_ptr(aTHXo)) +#define PL_top_env (*Perl_Ttop_env_ptr(aTHX)) #undef PL_toptarget -#define PL_toptarget (*Perl_Ttoptarget_ptr(aTHXo)) +#define PL_toptarget (*Perl_Ttoptarget_ptr(aTHX)) #undef PL_watchaddr -#define PL_watchaddr (*Perl_Twatchaddr_ptr(aTHXo)) +#define PL_watchaddr (*Perl_Twatchaddr_ptr(aTHX)) #undef PL_watchok -#define PL_watchok (*Perl_Twatchok_ptr(aTHXo)) +#define PL_watchok (*Perl_Twatchok_ptr(aTHX)) #undef PL_No #define PL_No (*Perl_GNo_ptr(NULL)) #undef PL_Yes @@ -938,7 +931,7 @@ START_EXTERN_C #define PL_thr_key (*Perl_Gthr_key_ptr(NULL)) #endif /* !PERL_CORE */ -#endif /* PERL_OBJECT || MULTIPLICITY */ +#endif /* MULTIPLICITY */ #endif /* __perlapi_h__ */ diff --git a/perlio.c b/perlio.c index 90867de..549a187 100644 --- a/perlio.c +++ b/perlio.c @@ -426,7 +426,7 @@ PerlIO_list_push(PerlIO_list_t *list,PerlIO_funcs *funcs,SV *arg) void -PerlIO_cleanup_layers(pTHXo_ void *data) +PerlIO_cleanup_layers(pTHX_ void *data) { #if 0 PerlIO_known_layers = Nullhv; diff --git a/perly.c b/perly.c index 5596768..2d4d79e 100644 --- a/perly.c +++ b/perly.c @@ -31,7 +31,7 @@ struct ysv { YYSTYPE oldyylval; }; -static void yydestruct(pTHXo_ void *ptr); +static void yydestruct(pTHX_ void *ptr); #line 51 "perly.y" #if 0 /* get this from perly.h instead */ @@ -2528,12 +2528,8 @@ yyaccept: return retval; } -#ifdef PERL_OBJECT -#include "XSUB.h" -#endif - static void -yydestruct(pTHXo_ void *ptr) +yydestruct(pTHX_ void *ptr) { struct ysv* ysave = (struct ysv*)ptr; if (ysave->yyss) Safefree(ysave->yyss); diff --git a/perly.y b/perly.y index 1928b44..618278b 100644 --- a/perly.y +++ b/perly.y @@ -41,7 +41,7 @@ struct ysv { YYSTYPE oldyylval; }; -static void yydestruct(pTHXo_ void *ptr); +static void yydestruct(pTHX_ void *ptr); %} diff --git a/perly_c.diff b/perly_c.diff index 8d58419..aab3a86 100644 --- a/perly_c.diff +++ b/perly_c.diff @@ -389,7 +389,7 @@ YYFINAL, yychar, yys); } #endif -@@ -2513,20 +2495,54 @@ +@@ -2513,20 +2495,50 @@ yystate = yydgoto[yym]; #if YYDEBUG if (yydebug) @@ -430,12 +430,8 @@ + return retval; +} + -+#ifdef PERL_OBJECT -+#include "XSUB.h" -+#endif -+ +static void -+yydestruct(pTHXo_ void *ptr) ++yydestruct(pTHX_ void *ptr) +{ + struct ysv* ysave = (struct ysv*)ptr; + if (ysave->yyss) Safefree(ysave->yyss); diff --git a/pod/perlguts.pod b/pod/perlguts.pod index 822446e..8b11653 100644 --- a/pod/perlguts.pod +++ b/pod/perlguts.pod @@ -1727,24 +1727,22 @@ The Perl interpreter can be regarded as a closed box: it has an API for feeding it code or otherwise making it do things, but it also has functions for its own use. This smells a lot like an object, and there are ways for you to build Perl so that you can have multiple -interpreters, with one interpreter represented either as a C++ object, -a C structure, or inside a thread. The thread, the C structure, or -the C++ object will contain all the context, the state of that -interpreter. - -Three macros control the major Perl build flavors: MULTIPLICITY, -USE_5005THREADS and PERL_OBJECT. The MULTIPLICITY build has a C structure -that packages all the interpreter state, there is a similar thread-specific -data structure under USE_5005THREADS, and the (now deprecated) PERL_OBJECT -build has a C++ class to maintain interpreter state. In all three cases, +interpreters, with one interpreter represented either as a C structure, +or inside a thread-specific structure. These structures contain all +the context, the state of that interpreter. + +Three macros control the major Perl build flavors: MULTIPLICITY, and +USE_5005THREADS. The MULTIPLICITY build has a C structure +that packages all the interpreter state, and there is a similar thread-specific +data structure under USE_5005THREADS. In both cases, PERL_IMPLICIT_CONTEXT is also normally defined, and enables the support for passing in a "hidden" first argument that represents all three data structures. All this obviously requires a way for the Perl internal functions to be -C++ methods, subroutines taking some kind of structure as the first +either subroutines taking some kind of structure as the first argument, or subroutines taking nothing as the first argument. To -enable these three very different ways of building the interpreter, +enable these two very different ways of building the interpreter, the Perl source (as it does in so many other situations) makes heavy use of macros and subroutine naming conventions. @@ -1767,7 +1765,8 @@ function used within the Perl guts: STATIC void S_incline(pTHX_ char *s) -STATIC becomes "static" in C, and is #define'd to nothing in C++. +STATIC becomes "static" in C, and may be #define'd to nothing in some +configurations in future. A public function (i.e. part of the internal API, but not necessarily sanctioned for use in extensions) begins like this: @@ -1809,22 +1808,6 @@ This works well, and means that XS authors can gleefully write: and still have it work under all the modes Perl could have been compiled with. -Under PERL_OBJECT in the core, that will translate to either: - - CPerlObj::Perl_sv_setsv(foo,bar); # in CPerlObj functions, - # C++ takes care of 'this' - or - - pPerl->Perl_sv_setsv(foo,bar); # in truly static functions, - # see objXSUB.h - -Under PERL_OBJECT in extensions (aka PERL_CAPI), or under -MULTIPLICITY/USE_5005THREADS with PERL_IMPLICIT_CONTEXT in both core -and extensions, it will become: - - Perl_sv_setsv(aTHX_ foo, bar); # the canonical Perl "API" - # for all build flavors - This doesn't work so cleanly for varargs functions, though, as macros imply that the number of arguments is known in advance. Instead we either need to spell them out fully, passing C as the first @@ -1838,7 +1821,7 @@ C<#define warner Perl_warner_nocontext> so that extensions get source compatibility at the expense of performance. (Passing an arg is cheaper than grabbing it from thread-local storage.) -You can ignore [pad]THX[xo] when browsing the Perl headers/sources. +You can ignore [pad]THXx when browsing the Perl headers/sources. Those are strictly for use within the core. Extensions and embedders need only be aware of [pad]THX. @@ -1983,7 +1966,7 @@ Just as PERL_IMPLICIT_CONTEXT provides a way to bundle up everything that the interpreter knows about itself and pass it around, so too are there plans to allow the interpreter to bundle up everything it knows about the environment it's running on. This is enabled with the -PERL_IMPLICIT_SYS macro. Currently it only works with PERL_OBJECT +PERL_IMPLICIT_SYS macro. Currently it only works with USE_ITHREADS and USE_5005THREADS on Windows (see inside iperlsys.h). This allows the ability to provide an extra pointer (called the "host" diff --git a/pp_ctl.c b/pp_ctl.c index 6a23961..a7ac731 100644 --- a/pp_ctl.c +++ b/pp_ctl.c @@ -26,24 +26,19 @@ #define DOCATCH(o) ((CATCH_GET == TRUE) ? docatch(o) : (o)) -static I32 sortcv(pTHXo_ SV *a, SV *b); -static I32 sortcv_stacked(pTHXo_ SV *a, SV *b); -static I32 sortcv_xsub(pTHXo_ SV *a, SV *b); -static I32 sv_ncmp(pTHXo_ SV *a, SV *b); -static I32 sv_i_ncmp(pTHXo_ SV *a, SV *b); -static I32 amagic_ncmp(pTHXo_ SV *a, SV *b); -static I32 amagic_i_ncmp(pTHXo_ SV *a, SV *b); -static I32 amagic_cmp(pTHXo_ SV *a, SV *b); -static I32 amagic_cmp_locale(pTHXo_ SV *a, SV *b); -static I32 run_user_filter(pTHXo_ int idx, SV *buf_sv, int maxlen); - -#ifdef PERL_OBJECT -static I32 sv_cmp_static(pTHXo_ SV *a, SV *b); -static I32 sv_cmp_locale_static(pTHXo_ SV *a, SV *b); -#else +static I32 sortcv(pTHX_ SV *a, SV *b); +static I32 sortcv_stacked(pTHX_ SV *a, SV *b); +static I32 sortcv_xsub(pTHX_ SV *a, SV *b); +static I32 sv_ncmp(pTHX_ SV *a, SV *b); +static I32 sv_i_ncmp(pTHX_ SV *a, SV *b); +static I32 amagic_ncmp(pTHX_ SV *a, SV *b); +static I32 amagic_i_ncmp(pTHX_ SV *a, SV *b); +static I32 amagic_cmp(pTHX_ SV *a, SV *b); +static I32 amagic_cmp_locale(pTHX_ SV *a, SV *b); +static I32 run_user_filter(pTHX_ int idx, SV *buf_sv, int maxlen); + #define sv_cmp_static Perl_sv_cmp #define sv_cmp_locale_static Perl_sv_cmp_locale -#endif PP(pp_wantarray) { @@ -2309,7 +2304,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))(aTHXo_ cv); + (void)(*CvXSUB(cv))(aTHX_ cv); /* Pop the current context like a decent sub should */ POPBLOCK(cx, PL_curpm); /* Do _not_ use PUTBACK, keep the XSUB's return stack! */ @@ -3815,12 +3810,11 @@ S_doparseform(pTHX_ SV *sv) #ifdef TESTHARNESS #include typedef void SV; -#define pTHXo_ #define pTHX_ #define STATIC #define New(ID,VAR,N,TYPE) VAR=(TYPE *)malloc((N)*sizeof(TYPE)) #define Safefree(VAR) free(VAR) -typedef int (*SVCOMPARE_t) (pTHXo_ SV*, SV*); +typedef int (*SVCOMPARE_t) (pTHX_ SV*, SV*); #endif /* TESTHARNESS */ typedef char * aptr; /* pointer for arithmetic on sizes */ @@ -4164,16 +4158,8 @@ S_qsortsv(pTHX_ gptr *list1, size_t nmemb, SVCOMPARE_t cmp) return; } - -#ifdef PERL_OBJECT -#undef this -#define this pPerl -#include "XSUB.h" -#endif - - static I32 -sortcv(pTHXo_ SV *a, SV *b) +sortcv(pTHX_ SV *a, SV *b) { I32 oldsaveix = PL_savestack_ix; I32 oldscopeix = PL_scopestack_ix; @@ -4196,7 +4182,7 @@ sortcv(pTHXo_ SV *a, SV *b) } static I32 -sortcv_stacked(pTHXo_ SV *a, SV *b) +sortcv_stacked(pTHX_ SV *a, SV *b) { I32 oldsaveix = PL_savestack_ix; I32 oldscopeix = PL_scopestack_ix; @@ -4241,7 +4227,7 @@ sortcv_stacked(pTHXo_ SV *a, SV *b) } static I32 -sortcv_xsub(pTHXo_ SV *a, SV *b) +sortcv_xsub(pTHX_ SV *a, SV *b) { dSP; I32 oldsaveix = PL_savestack_ix; @@ -4255,7 +4241,7 @@ sortcv_xsub(pTHXo_ SV *a, SV *b) *++SP = a; *++SP = b; PUTBACK; - (void)(*CvXSUB(cv))(aTHXo_ cv); + (void)(*CvXSUB(cv))(aTHX_ cv); if (PL_stack_sp != PL_stack_base + 1) Perl_croak(aTHX_ "Sort subroutine didn't return single value"); if (!SvNIOKp(*PL_stack_sp)) @@ -4270,7 +4256,7 @@ sortcv_xsub(pTHXo_ SV *a, SV *b) static I32 -sv_ncmp(pTHXo_ SV *a, SV *b) +sv_ncmp(pTHX_ SV *a, SV *b) { NV nv1 = SvNV(a); NV nv2 = SvNV(b); @@ -4278,7 +4264,7 @@ sv_ncmp(pTHXo_ SV *a, SV *b) } static I32 -sv_i_ncmp(pTHXo_ SV *a, SV *b) +sv_i_ncmp(pTHX_ SV *a, SV *b) { IV iv1 = SvIV(a); IV iv2 = SvIV(b); @@ -4296,7 +4282,7 @@ sv_i_ncmp(pTHXo_ SV *a, SV *b) } STMT_END static I32 -amagic_ncmp(pTHXo_ register SV *a, register SV *b) +amagic_ncmp(pTHX_ register SV *a, register SV *b) { SV *tmpsv; tryCALL_AMAGICbin(a,b,ncmp,&tmpsv); @@ -4314,11 +4300,11 @@ amagic_ncmp(pTHXo_ register SV *a, register SV *b) return 1; return d? -1 : 0; } - return sv_ncmp(aTHXo_ a, b); + return sv_ncmp(aTHX_ a, b); } static I32 -amagic_i_ncmp(pTHXo_ register SV *a, register SV *b) +amagic_i_ncmp(pTHX_ register SV *a, register SV *b) { SV *tmpsv; tryCALL_AMAGICbin(a,b,ncmp,&tmpsv); @@ -4336,11 +4322,11 @@ amagic_i_ncmp(pTHXo_ register SV *a, register SV *b) return 1; return d? -1 : 0; } - return sv_i_ncmp(aTHXo_ a, b); + return sv_i_ncmp(aTHX_ a, b); } static I32 -amagic_cmp(pTHXo_ register SV *str1, register SV *str2) +amagic_cmp(pTHX_ register SV *str1, register SV *str2) { SV *tmpsv; tryCALL_AMAGICbin(str1,str2,scmp,&tmpsv); @@ -4362,7 +4348,7 @@ amagic_cmp(pTHXo_ register SV *str1, register SV *str2) } static I32 -amagic_cmp_locale(pTHXo_ register SV *str1, register SV *str2) +amagic_cmp_locale(pTHX_ register SV *str1, register SV *str2) { SV *tmpsv; tryCALL_AMAGICbin(str1,str2,scmp,&tmpsv); @@ -4384,7 +4370,7 @@ amagic_cmp_locale(pTHXo_ register SV *str1, register SV *str2) } static I32 -run_user_filter(pTHXo_ int idx, SV *buf_sv, int maxlen) +run_user_filter(pTHX_ int idx, SV *buf_sv, int maxlen) { SV *datasv = FILTER_DATA(idx); int filter_has_file = IoLINES(datasv); @@ -4452,19 +4438,3 @@ run_user_filter(pTHXo_ int idx, SV *buf_sv, int maxlen) return len; } - -#ifdef PERL_OBJECT - -static I32 -sv_cmp_locale_static(pTHXo_ register SV *str1, register SV *str2) -{ - return sv_cmp_locale(str1, str2); -} - -static I32 -sv_cmp_static(pTHXo_ register SV *str1, register SV *str2) -{ - return sv_cmp(str1, str2); -} - -#endif /* PERL_OBJECT */ diff --git a/pp_hot.c b/pp_hot.c index 195e704..bc57075 100644 --- a/pp_hot.c +++ b/pp_hot.c @@ -22,7 +22,7 @@ /* Hot code. */ #ifdef USE_5005THREADS -static void unset_cvowner(pTHXo_ void *cvarg); +static void unset_cvowner(pTHX_ void *cvarg); #endif /* USE_5005THREADS */ PP(pp_const) @@ -2734,7 +2734,7 @@ try_autoload: PL_curcopdb = NULL; } /* Do we need to open block here? XXXX */ - (void)(*CvXSUB(cv))(aTHXo_ cv); + (void)(*CvXSUB(cv))(aTHX_ cv); /* Enforce some sanity in scalar context. */ if (gimme == G_SCALAR && ++markix != PL_stack_sp - PL_stack_base ) { @@ -3131,7 +3131,7 @@ S_method_common(pTHX_ SV* meth, U32* hashp) #ifdef USE_5005THREADS static void -unset_cvowner(pTHXo_ void *cvarg) +unset_cvowner(pTHX_ void *cvarg) { register CV* cv = (CV *) cvarg; diff --git a/proto.h b/proto.h index e69c6f9..f51824e 100644 --- a/proto.h +++ b/proto.h @@ -38,23 +38,7 @@ PERL_CALLCONV void Perl_set_context(void *thx); END_EXTERN_C /* functions with flag 'n' should come before here */ -#if defined(PERL_OBJECT) -class CPerlObj { -public: - struct interpreter interp; - CPerlObj(IPerlMem*, IPerlMem*, IPerlMem*, IPerlEnv*, IPerlStdIO*, - IPerlLIO*, IPerlDir*, IPerlSock*, IPerlProc*); - void* operator new(size_t nSize, IPerlMem *pvtbl); -#ifndef __BORLANDC__ - static void operator delete(void* pPerl, IPerlMem *pvtbl); -#endif - int do_aspawn (void *vreally, void **vmark, void **vsp); -#endif -#if defined(PERL_OBJECT) -public: -#else START_EXTERN_C -#endif # include "pp_proto.h" PERL_CALLCONV SV* Perl_amagic_call(pTHX_ SV* left, SV* right, int method, int dir); PERL_CALLCONV bool Perl_Gv_AMupdate(pTHX_ HV* stash); @@ -506,11 +490,9 @@ PERL_CALLCONV I32 Perl_my_memcmp(const char* s1, const char* s2, I32 len); #if !defined(HAS_MEMSET) PERL_CALLCONV void* Perl_my_memset(char* loc, I32 ch, I32 len); #endif -#if !defined(PERL_OBJECT) PERL_CALLCONV I32 Perl_my_pclose(pTHX_ PerlIO* ptr); PERL_CALLCONV PerlIO* Perl_my_popen(pTHX_ char* cmd, char* mode); PERL_CALLCONV PerlIO* Perl_my_popen_list(pTHX_ char* mode, int n, SV ** args); -#endif PERL_CALLCONV void Perl_my_setenv(pTHX_ char* nam, char* val); PERL_CALLCONV I32 Perl_my_stat(pTHX); PERL_CALLCONV char * Perl_my_strftime(pTHX_ char *fmt, int sec, int min, int hour, int mday, int mon, int year, int wday, int yday, int isdst); @@ -594,13 +576,6 @@ PERL_CALLCONV void Perl_pad_reset(pTHX); PERL_CALLCONV void Perl_pad_swipe(pTHX_ PADOFFSET po); PERL_CALLCONV void Perl_peep(pTHX_ OP* o); PERL_CALLCONV PerlIO* Perl_start_glob(pTHX_ SV* pattern, IO *io); -#if defined(PERL_OBJECT) -PERL_CALLCONV void Perl_construct(pTHX); -PERL_CALLCONV void Perl_destruct(pTHX); -PERL_CALLCONV void Perl_free(pTHX); -PERL_CALLCONV int Perl_run(pTHX); -PERL_CALLCONV int Perl_parse(pTHX_ XSINIT_t xsinit, int argc, char** argv, char** env); -#endif #if defined(USE_5005THREADS) PERL_CALLCONV struct perl_thread* Perl_new_struct_thread(pTHX_ struct perl_thread *t); #endif @@ -989,11 +964,7 @@ PERL_CALLCONV char * Perl_custom_op_name(pTHX_ OP* op); PERL_CALLCONV char * Perl_custom_op_desc(pTHX_ OP* op); #endif -#if defined(PERL_OBJECT) -protected: -#else END_EXTERN_C -#endif #if defined(PERL_IN_AV_C) || defined(PERL_DECL_PROT) STATIC I32 S_avhv_index_sv(pTHX_ SV* sv); @@ -1338,10 +1309,6 @@ STATIC void S_xstat(pTHX_ int); # endif #endif -#if defined(PERL_OBJECT) -}; -#endif - START_EXTERN_C PERL_CALLCONV void Perl_sv_setsv_flags(pTHX_ SV* dsv, SV* ssv, I32 flags); diff --git a/regcomp.c b/regcomp.c index 311670c..093eed0 100644 --- a/regcomp.c +++ b/regcomp.c @@ -83,11 +83,7 @@ #define PERL_IN_REGCOMP_C #include "perl.h" -#ifdef PERL_IN_XSUB_RE -# if defined(PERL_CAPI) || defined(PERL_OBJECT) -# include "XSUB.h" -# endif -#else +#ifndef PERL_IN_XSUB_RE # include "INTERN.h" #endif @@ -483,7 +479,7 @@ static scan_data_t zero_scan_data = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, #define Node_Offset(n) (RExC_offsets[2*((n)-RExC_emit_start)-1]) #define Node_Length(n) (RExC_offsets[2*((n)-RExC_emit_start)]) -static void clear_re(pTHXo_ void *r); +static void clear_re(pTHX_ void *r); /* Mark that we cannot extend a found fixed substring at this point. Updata the longest found anchored substring and the longest found @@ -4747,14 +4743,8 @@ Perl_save_re_context(pTHX) #endif } -#ifdef PERL_OBJECT -#include "XSUB.h" -#undef this -#define this pPerl -#endif - static void -clear_re(pTHXo_ void *r) +clear_re(pTHX_ void *r) { ReREFCNT_dec((regexp *)r); } diff --git a/regexec.c b/regexec.c index bf99d49..6adb9ca 100644 --- a/regexec.c +++ b/regexec.c @@ -80,12 +80,6 @@ #define PERL_IN_REGEXEC_C #include "perl.h" -#ifdef PERL_IN_XSUB_RE -# if defined(PERL_CAPI) || defined(PERL_OBJECT) -# include "XSUB.h" -# endif -#endif - #include "regcomp.h" #define RF_tainted 1 /* tainted information used? */ @@ -134,7 +128,7 @@ #define LOAD_UTF8_CHARCLASS(a,b) STMT_START { if (!CAT2(PL_utf8_,a)) (void)CAT2(is_utf8_, a)((U8*)b); } STMT_END -static void restore_pos(pTHXo_ void *arg); +static void restore_pos(pTHX_ void *arg); STATIC CHECKPOINT S_regcppush(pTHX_ I32 parenfloor) @@ -1775,7 +1769,7 @@ got_it: sv_setsv(oreplsv, GvSV(PL_replgv));/* So that when GvSV(replgv) is restored, the value remains the same. */ - restore_pos(aTHXo_ 0); + restore_pos(aTHX_ 0); } /* make sure $`, $&, $', and $digit will work later */ @@ -1804,7 +1798,7 @@ phooey: DEBUG_r(PerlIO_printf(Perl_debug_log, "%sMatch failed%s\n", PL_colors[4],PL_colors[5])); if (PL_reg_eval_set) - restore_pos(aTHXo_ 0); + restore_pos(aTHX_ 0); return 0; } @@ -4065,12 +4059,8 @@ S_reghopmaybe3(pTHX_ U8* s, I32 off, U8* lim) return s; } -#ifdef PERL_OBJECT -#include "XSUB.h" -#endif - static void -restore_pos(pTHXo_ void *arg) +restore_pos(pTHX_ void *arg) { if (PL_reg_eval_set) { if (PL_reg_oldsaved) { diff --git a/scope.c b/scope.c index d59fd89..1ce65ef 100644 --- a/scope.c +++ b/scope.c @@ -883,7 +883,7 @@ Perl_leave_scope(pTHX_ I32 base) break; case SAVEt_DESTRUCTOR_X: ptr = SSPOPPTR; - (*SSPOPDXPTR)(aTHXo_ ptr); + (*SSPOPDXPTR)(aTHX_ ptr); break; case SAVEt_REGCONTEXT: case SAVEt_ALLOC: diff --git a/sv.c b/sv.c index cd89509..8713bf6 100644 --- a/sv.c +++ b/sv.c @@ -287,7 +287,7 @@ S_visit(pTHX_ SVFUNC_t f) svend = &sva[SvREFCNT(sva)]; for (sv = sva + 1; sv < svend; ++sv) { if (SvTYPE(sv) != SVTYPEMASK && SvREFCNT(sv)) { - (FCALL)(aTHXo_ sv); + (FCALL)(aTHX_ sv); ++visited; } } @@ -298,7 +298,7 @@ S_visit(pTHX_ SVFUNC_t f) /* called by sv_report_used() for each live SV */ static void -do_report_used(pTHXo_ SV *sv) +do_report_used(pTHX_ SV *sv) { if (SvTYPE(sv) != SVTYPEMASK) { PerlIO_printf(Perl_debug_log, "****\n"); @@ -323,7 +323,7 @@ Perl_sv_report_used(pTHX) /* called by sv_clean_objs() for each live SV */ static void -do_clean_objs(pTHXo_ SV *sv) +do_clean_objs(pTHX_ SV *sv) { SV* rv; @@ -347,7 +347,7 @@ do_clean_objs(pTHXo_ SV *sv) #ifndef DISABLE_DESTRUCTOR_KLUDGE static void -do_clean_named_objs(pTHXo_ SV *sv) +do_clean_named_objs(pTHX_ SV *sv) { if (SvTYPE(sv) == SVt_PVGV && GvGP(sv)) { if ( SvOBJECT(GvSV(sv)) || @@ -386,7 +386,7 @@ Perl_sv_clean_objs(pTHX) /* called by sv_clean_all() for each live SV */ static void -do_clean_all(pTHXo_ SV *sv) +do_clean_all(pTHX_ SV *sv) { DEBUG_D((PerlIO_printf(Perl_debug_log, "Cleaning loops: SV at 0x%"UVxf"\n", PTR2UV(sv)) )); SvFLAGS(sv) |= SVf_BREAK; @@ -9288,7 +9288,7 @@ Perl_any_dup(pTHX_ void *v, PerlInterpreter *proto_perl) /* see if it is part of the interpreter structure */ if (v >= (void*)proto_perl && v < (void*)(proto_perl+1)) - ret = (void*)(((char*)aTHXo) + (((char*)v) - (char*)proto_perl)); + ret = (void*)(((char*)aTHX) + (((char*)v) - (char*)proto_perl)); else ret = v; @@ -9316,7 +9316,7 @@ Perl_ss_dup(pTHX_ PerlInterpreter *proto_perl, clone_params* param) I32 i; char *c = NULL; void (*dptr) (void*); - void (*dxptr) (pTHXo_ void*); + void (*dxptr) (pTHX_ void*); OP *o; Newz(54, nss, max, ANY); @@ -9489,7 +9489,7 @@ Perl_ss_dup(pTHX_ PerlInterpreter *proto_perl, clone_params* param) ptr = POPPTR(ss,ix); TOPPTR(nss,ix) = any_dup(ptr, proto_perl); /* XXX quite arbitrary */ dxptr = POPDXPTR(ss,ix); - TOPDXPTR(nss,ix) = (void (*)(pTHXo_ void*))any_dup((void *)dxptr, proto_perl); + TOPDXPTR(nss,ix) = (void (*)(pTHX_ void*))any_dup((void *)dxptr, proto_perl); break; case SAVEt_REGCONTEXT: case SAVEt_ALLOC: @@ -9545,10 +9545,6 @@ Perl_ss_dup(pTHX_ PerlInterpreter *proto_perl, clone_params* param) return nss; } -#ifdef PERL_OBJECT -#include "XSUB.h" -#endif - /* =for apidoc perl_clone @@ -9564,10 +9560,6 @@ perl_clone_host(PerlInterpreter* proto_perl, UV flags); PerlInterpreter * perl_clone(PerlInterpreter *proto_perl, UV flags) { -#ifdef PERL_OBJECT - CPerlObj *pPerl = (CPerlObj*)proto_perl; -#endif - #ifdef PERL_IMPLICIT_SYS /* perlhost.h so we need to call into it @@ -9603,26 +9595,19 @@ perl_clone_using(PerlInterpreter *proto_perl, UV flags, IV i; clone_params* param = (clone_params*) malloc(sizeof(clone_params)); - - -# ifdef PERL_OBJECT - CPerlObj *pPerl = new(ipM) CPerlObj(ipM, ipMS, ipMP, ipE, ipStd, ipLIO, - ipD, ipS, ipP); - PERL_SET_THX(pPerl); -# else /* !PERL_OBJECT */ PerlInterpreter *my_perl = (PerlInterpreter*)(*ipM->pMalloc)(ipM, sizeof(PerlInterpreter)); PERL_SET_THX(my_perl); -# ifdef DEBUGGING +# ifdef DEBUGGING memset(my_perl, 0xab, sizeof(PerlInterpreter)); PL_markstack = 0; PL_scopestack = 0; PL_savestack = 0; PL_retstack = 0; PL_sig_pending = 0; -# else /* !DEBUGGING */ +# else /* !DEBUGGING */ Zero(my_perl, 1, PerlInterpreter); -# endif /* DEBUGGING */ +# endif /* DEBUGGING */ /* host pointers */ PL_Mem = ipM; @@ -9634,7 +9619,6 @@ perl_clone_using(PerlInterpreter *proto_perl, UV flags, PL_Dir = ipD; PL_Sock = ipS; PL_Proc = ipP; -# endif /* PERL_OBJECT */ #else /* !PERL_IMPLICIT_SYS */ IV i; clone_params* param = (clone_params*) malloc(sizeof(clone_params)); @@ -9706,11 +9690,7 @@ perl_clone_using(PerlInterpreter *proto_perl, UV flags, SvFLAGS(&PL_sv_undef) = SVf_READONLY|SVt_NULL; ptr_table_store(PL_ptr_table, &proto_perl->Isv_undef, &PL_sv_undef); -#ifdef PERL_OBJECT - SvUPGRADE(&PL_sv_no, SVt_PVNV); -#else SvANY(&PL_sv_no) = new_XPVNV(); -#endif SvREFCNT(&PL_sv_no) = (~(U32)0)/2; SvFLAGS(&PL_sv_no) = SVp_NOK|SVf_NOK|SVp_POK|SVf_POK|SVf_READONLY|SVt_PVNV; SvPVX(&PL_sv_no) = SAVEPVN(PL_No, 0); @@ -9719,11 +9699,7 @@ perl_clone_using(PerlInterpreter *proto_perl, UV flags, SvNVX(&PL_sv_no) = 0; ptr_table_store(PL_ptr_table, &proto_perl->Isv_no, &PL_sv_no); -#ifdef PERL_OBJECT - SvUPGRADE(&PL_sv_yes, SVt_PVNV); -#else SvANY(&PL_sv_yes) = new_XPVNV(); -#endif SvREFCNT(&PL_sv_yes) = (~(U32)0)/2; SvFLAGS(&PL_sv_yes) = SVp_NOK|SVf_NOK|SVp_POK|SVf_POK|SVf_READONLY|SVt_PVNV; SvPVX(&PL_sv_yes) = SAVEPVN(PL_Yes, 1); @@ -10315,17 +10291,7 @@ perl_clone_using(PerlInterpreter *proto_perl, UV flags, SvREFCNT_dec(param->stashes); Safefree(param); -#ifdef PERL_OBJECT - return (PerlInterpreter*)pPerl; -#else return my_perl; -#endif } -#else /* !USE_ITHREADS */ - -#ifdef PERL_OBJECT -#include "XSUB.h" -#endif - #endif /* USE_ITHREADS */ diff --git a/sv.h b/sv.h index fabf7fd..e43d29a 100644 --- a/sv.h +++ b/sv.h @@ -338,7 +338,7 @@ struct xpvfm { HV * xcv_stash; OP * xcv_start; OP * xcv_root; - void (*xcv_xsub)(pTHXo_ CV*); + void (*xcv_xsub)(pTHX_ CV*); ANY xcv_xsubany; GV * xcv_gv; char * xcv_file; diff --git a/toke.c b/toke.c index 7ad1f59..b78e19d 100644 --- a/toke.c +++ b/toke.c @@ -27,10 +27,10 @@ static char ident_too_long[] = "Identifier too long"; -static void restore_rsfp(pTHXo_ void *f); +static void restore_rsfp(pTHX_ void *f); #ifndef PERL_NO_UTF16_FILTER -static I32 utf16_textfilter(pTHXo_ int idx, SV *sv, int maxlen); -static I32 utf16rev_textfilter(pTHXo_ int idx, SV *sv, int maxlen); +static I32 utf16_textfilter(pTHX_ int idx, SV *sv, int maxlen); +static I32 utf16rev_textfilter(pTHX_ int idx, SV *sv, int maxlen); #endif #define XFAKEBRACK 128 @@ -2051,7 +2051,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)(aTHXo_ idx, buf_sv, maxlen); + return (*funcp)(aTHX_ idx, buf_sv, maxlen); } STATIC char * @@ -7647,17 +7647,13 @@ S_swallow_bom(pTHX_ U8 *s) return (char*)s; } -#ifdef PERL_OBJECT -#include "XSUB.h" -#endif - /* * restore_rsfp * Restore a source filter. */ static void -restore_rsfp(pTHXo_ void *f) +restore_rsfp(pTHX_ void *f) { PerlIO *fp = (PerlIO*)f; @@ -7670,7 +7666,7 @@ restore_rsfp(pTHXo_ void *f) #ifndef PERL_NO_UTF16_FILTER static I32 -utf16_textfilter(pTHXo_ int idx, SV *sv, int maxlen) +utf16_textfilter(pTHX_ int idx, SV *sv, int maxlen) { I32 count = FILTER_READ(idx+1, sv, maxlen); if (count) { @@ -7689,7 +7685,7 @@ utf16_textfilter(pTHXo_ int idx, SV *sv, int maxlen) } static I32 -utf16rev_textfilter(pTHXo_ int idx, SV *sv, int maxlen) +utf16rev_textfilter(pTHX_ int idx, SV *sv, int maxlen) { I32 count = FILTER_READ(idx+1, sv, maxlen); if (count) { diff --git a/universal.c b/universal.c index 75e6c5e..a2a3e4d 100644 --- a/universal.c +++ b/universal.c @@ -132,9 +132,9 @@ Perl_sv_derived_from(pTHX_ SV *sv, const char *name) #include "XSUB.h" -void XS_UNIVERSAL_isa(pTHXo_ CV *cv); -void XS_UNIVERSAL_can(pTHXo_ CV *cv); -void XS_UNIVERSAL_VERSION(pTHXo_ CV *cv); +void XS_UNIVERSAL_isa(pTHX_ CV *cv); +void XS_UNIVERSAL_can(pTHX_ CV *cv); +void XS_UNIVERSAL_VERSION(pTHX_ CV *cv); XS(XS_utf8_valid); XS(XS_utf8_encode); XS(XS_utf8_decode); diff --git a/vms/descrip_mms.template b/vms/descrip_mms.template index 22139b2..16f57b6 100644 --- a/vms/descrip_mms.template +++ b/vms/descrip_mms.template @@ -274,7 +274,7 @@ obj = $(obj0) $(obj1) $(obj2) $(obj3) $(obj4) h0 = av.h cc_runtime.h config.h cop.h cv.h embed.h embedvar.h h1 = extern.h form.h gv.h handy.h hv.h intern.h intrpvar.h -h2 = iperlsys.h keywords.h mg.h nostdio.h objxsub.h op.h opcode.h opnames.h +h2 = iperlsys.h keywords.h mg.h nostdio.h op.h opcode.h opnames.h h3 = patchlevel.h perl.h perlapi.h perlio.h perlsdio.h perlvars.h perly.h h4 = pp.h pp_proto.h proto.h regcomp.h regexp.h regnodes.h scope.h h5 = sv.h thrdvar.h thread.h utf8.h util.h vmsish.h warnings.h @@ -287,7 +287,7 @@ ac2 = $(ARCHCORE)embedvar.h $(ARCHCORE)extern.h $(acth) ac3 = $(ARCHCORE)form.h $(ARCHCORE)gv.h $(ARCHCORE)handy.h $(ARCHCORE)hv.h ac4 = $(ARCHCORE)intern.h $(ARCHCORE)intrpvar.h $(ARCHCORE)iperlsys.h ac5 = $(ARCHCORE)keywords.h $(ARCHCORE)mg.h $(ARCHCORE)nostdio.h -ac6 = $(ARCHCORE)objxsub.h $(ARCHCORE)op.h $(ARCHCORE)opcode.h +ac6 = $(ARCHCORE)op.h $(ARCHCORE)opcode.h ac7 = $(ARCHCORE)opnames.h $(ARCHCORE)patchlevel.h $(ARCHCORE)perl.h ac8 = $(ARCHCORE)perlapi.h $(ARCHCORE)perlio.h $(ARCHCORE)perlsdio.h ac9 = $(ARCHCORE)perlvars.h $(ARCHCORE)perly.h $(ARCHCORE)pp.h @@ -1010,9 +1010,6 @@ $(ARCHCORE)mg.h : mg.h $(ARCHCORE)nostdio.h : nostdio.h @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE) Copy/Log $(MMS$SOURCE) $(MMS$TARGET) -$(ARCHCORE)objxsub.h : objxsub.h - @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE) - Copy/Log $(MMS$SOURCE) $(MMS$TARGET) $(ARCHCORE)op.h : op.h @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE) Copy/Log $(MMS$SOURCE) $(MMS$TARGET) @@ -1173,7 +1170,7 @@ taint$(O) : taint.c extern.h perl.h config.h embed.h handy.h vmsish.h $(SOCKH) i $(CC) $(CORECFLAGS) $(MMS$SOURCE) toke$(O) : toke.c extern.h perl.h config.h embed.h handy.h vmsish.h $(SOCKH) iperlsys.h perlsdio.h perl.h regexp.h sv.h util.h form.h gv.h cv.h opnames.h op.h cop.h av.h hv.h mg.h scope.h warnings.h utf8.h perly.h thread.h pp.h proto.h pp_proto.h opcode.h embedvar.h intrpvar.h thrdvar.h perlvars.h patchlevel.h keywords.h $(CC) $(CORECFLAGS) $(MMS$SOURCE) -universal$(O) : universal.c extern.h perl.h config.h embed.h handy.h vmsish.h $(SOCKH) iperlsys.h perlsdio.h perl.h regexp.h sv.h util.h form.h gv.h cv.h opnames.h op.h cop.h av.h hv.h mg.h scope.h warnings.h utf8.h perly.h thread.h pp.h proto.h pp_proto.h opcode.h embedvar.h intrpvar.h thrdvar.h perlvars.h patchlevel.h xsub.h perlapi.h objxsub.h +universal$(O) : universal.c extern.h perl.h config.h embed.h handy.h vmsish.h $(SOCKH) iperlsys.h perlsdio.h perl.h regexp.h sv.h util.h form.h gv.h cv.h opnames.h op.h cop.h av.h hv.h mg.h scope.h warnings.h utf8.h perly.h thread.h pp.h proto.h pp_proto.h opcode.h embedvar.h intrpvar.h thrdvar.h perlvars.h patchlevel.h xsub.h perlapi.h $(CC) $(CORECFLAGS) $(MMS$SOURCE) utf8$(O) : utf8.c extern.h perl.h config.h embed.h handy.h vmsish.h $(SOCKH) iperlsys.h perlsdio.h perl.h regexp.h sv.h util.h form.h gv.h cv.h opnames.h op.h cop.h av.h hv.h mg.h scope.h warnings.h utf8.h perly.h thread.h pp.h proto.h pp_proto.h opcode.h embedvar.h intrpvar.h thrdvar.h perlvars.h patchlevel.h $(CC) $(CORECFLAGS) $(MMS$SOURCE) @@ -1181,7 +1178,7 @@ util$(O) : util.c extern.h perl.h config.h embed.h handy.h vmsish.h $(SOCKH) ipe $(CC) $(CORECFLAGS) $(MMS$SOURCE) vms$(O) : vms.c extern.h perl.h config.h embed.h handy.h vmsish.h $(SOCKH) iperlsys.h perlsdio.h perl.h regexp.h sv.h util.h form.h gv.h cv.h opnames.h op.h cop.h av.h hv.h mg.h scope.h warnings.h utf8.h perly.h thread.h pp.h proto.h pp_proto.h opcode.h embedvar.h intrpvar.h thrdvar.h perlvars.h patchlevel.h $(CC) $(CORECFLAGS) $(MMS$SOURCE) -xsutils$(O) : xsutils.c extern.h perl.h config.h embed.h handy.h vmsish.h $(SOCKH) iperlsys.h perlsdio.h perl.h regexp.h sv.h util.h form.h gv.h cv.h opnames.h op.h cop.h av.h hv.h mg.h scope.h warnings.h utf8.h perly.h thread.h pp.h proto.h pp_proto.h opcode.h embedvar.h intrpvar.h thrdvar.h perlvars.h patchlevel.h xsub.h perlapi.h objxsub.h +xsutils$(O) : xsutils.c extern.h perl.h config.h embed.h handy.h vmsish.h $(SOCKH) iperlsys.h perlsdio.h perl.h regexp.h sv.h util.h form.h gv.h cv.h opnames.h op.h cop.h av.h hv.h mg.h scope.h warnings.h utf8.h perly.h thread.h pp.h proto.h pp_proto.h opcode.h embedvar.h intrpvar.h thrdvar.h perlvars.h patchlevel.h xsub.h perlapi.h $(CC) $(CORECFLAGS) $(MMS$SOURCE) [.x2p]hash$(O) : [.x2p]hash.c [.x2p]EXTERN.h [.x2p]a2p.h [.x2p]hash.h [.x2p]str.h [.x2p]util.h config.h handy.h vmsish.h $(SOCKH) diff --git a/vms/perly_c.vms b/vms/perly_c.vms index bc1183f..463a5ed 100644 --- a/vms/perly_c.vms +++ b/vms/perly_c.vms @@ -32,7 +32,7 @@ struct ysv { YYSTYPE oldyylval; }; -static void yydestruct(pTHXo_ void *ptr); +static void yydestruct(pTHX_ void *ptr); #line 51 "perly.y" #if 0 /* get this from perly.h instead */ @@ -2530,12 +2530,8 @@ yyaccept: return retval; } -#ifdef PERL_OBJECT -#include "XSUB.h" -#endif - static void -yydestruct(pTHXo_ void *ptr) +yydestruct(pTHX_ void *ptr) { struct ysv* ysave = (struct ysv*)ptr; if (ysave->yyss) Safefree(ysave->yyss); diff --git a/win32/Makefile b/win32/Makefile index b4d56ae..0287a18 100644 --- a/win32/Makefile +++ b/win32/Makefile @@ -79,17 +79,6 @@ USE_PERLIO = define #USE_5005THREADS = define # -# WARNING! This option is deprecated and will eventually go away (enable -# USE_MULTI instead). -# -# uncomment next line if you want to use the PERL_OBJECT build option. -# DO NOT ENABLE unless you have legacy code that relies on the C++ -# CPerlObj class that was available in 5.005. This cannot be enabled -# if you ask for USE_5005THREADS above. -# -#USE_OBJECT = define - -# # uncomment one of the following lines if you are using either # Visual C++ 2.x or Visual C++ 6.x (aka Visual Studio 98) # @@ -206,13 +195,6 @@ D_CRYPT = define CRYPT_FLAG = -DHAVE_DES_FCRYPT !ENDIF -!IF "$(USE_OBJECT)" == "define" -PERL_MALLOC = undef -USE_5005THREADS = undef -USE_MULTI = undef -USE_IMP_SYS = define -!ENDIF - !IF "$(PERL_MALLOC)" == "" PERL_MALLOC = undef !ENDIF @@ -233,10 +215,6 @@ PERL_MALLOC = undef USE_MULTI = undef !ENDIF -!IF "$(USE_OBJECT)" == "" -USE_OBJECT = undef -!ENDIF - !IF "$(USE_ITHREADS)" == "" USE_ITHREADS = undef !ENDIF @@ -253,16 +231,16 @@ USE_PERLIO = undef USE_PERLCRT = undef !ENDIF -!IF "$(USE_IMP_SYS)$(USE_MULTI)$(USE_5005THREADS)$(USE_OBJECT)" == "defineundefundefundef" +!IF "$(USE_IMP_SYS)$(USE_MULTI)$(USE_5005THREADS)" == "defineundefundef" USE_MULTI = define !ENDIF -!IF "$(USE_ITHREADS)$(USE_MULTI)$(USE_OBJECT)" == "defineundefundef" +!IF "$(USE_ITHREADS)$(USE_MULTI)" == "defineundef" USE_MULTI = define USE_5005THREADS = undef !ENDIF -!IF "$(USE_MULTI)$(USE_5005THREADS)$(USE_OBJECT)" != "undefundefundef" +!IF "$(USE_MULTI)$(USE_5005THREADS)" != "undefundef" BUILDOPT = $(BUILDOPT) -DPERL_IMPLICIT_CONTEXT !ENDIF @@ -274,9 +252,6 @@ BUILDOPT = $(BUILDOPT) -DPERL_IMPLICIT_SYS PROCESSOR_ARCHITECTURE = x86 !ENDIF -!IF "$(USE_OBJECT)" == "define" -ARCHNAME = MSWin32-$(PROCESSOR_ARCHITECTURE)-object -!ELSE !IF "$(USE_5005THREADS)" == "define" ARCHNAME = MSWin32-$(PROCESSOR_ARCHITECTURE)-thread !ELSE @@ -290,7 +265,6 @@ ARCHNAME = MSWin32-$(PROCESSOR_ARCHITECTURE) !ENDIF !ENDIF !ENDIF -!ENDIF !IF "$(USE_PERLIO)" == "define" BUILDOPT = $(BUILDOPT) -DUSE_PERLIO @@ -368,11 +342,6 @@ OPTIMIZE = -O1 -MD -DNDEBUG LINK_DBG = -release !ENDIF -!IF "$(USE_OBJECT)" == "define" -OPTIMIZE = $(OPTIMIZE) $(CXX_FLAG) -BUILDOPT = $(BUILDOPT) -DPERL_OBJECT -!ENDIF - !IF "$(USE_PERLCRT)" != "define" BUILDOPT = $(BUILDOPT) -DPERL_MSVCRT_READFIX !ENDIF @@ -535,9 +504,7 @@ EXTRACORE_SRC = $(EXTRACORE_SRC) perllib.c EXTRACORE_SRC = $(EXTRACORE_SRC) ..\malloc.c !ENDIF -!IF "$(USE_OBJECT)" != "define" EXTRACORE_SRC = $(EXTRACORE_SRC) ..\perlio.c -!ENDIF WIN32_SRC = \ .\win32.c \ @@ -839,7 +806,7 @@ $(MINIWIN32_OBJ) : $(CORE_NOCFG_H) # -DPERL_IMPLICIT_SYS needs C++ for perllib.c # This is the only file that depends on perlhost.h, vmem.h, and vdir.h -!IF "$(USE_IMP_SYS)$(USE_OBJECT)" == "defineundef" +!IF "$(USE_IMP_SYS)" == "define" perllib$(o) : perllib.c .\perlhost.h .\vdir.h .\vmem.h $(CC) -c -I. $(CFLAGS_O) $(CXX_FLAG) $(OBJOUT_FLAG)$@ perllib.c !ENDIF diff --git a/win32/config_h.PL b/win32/config_h.PL index a0ee22d..607c484 100644 --- a/win32/config_h.PL +++ b/win32/config_h.PL @@ -2,7 +2,6 @@ use Config; use File::Compare qw(compare); use File::Copy qw(copy); -my $OBJ = 1 if $Config{'ccflags'} =~ /PERL_OBJECT/i; my $name = $0; $name =~ s#^(.*)\.PL$#../$1.SH#; my %opt; @@ -73,7 +72,7 @@ chmod(0666,"../lib/CORE/config.h"); copy("$file.new","../lib/CORE/config.h") || die "Cannot copy:$!"; chmod(0444,"../lib/CORE/config.h"); -if (!$OBJ && compare("$file.new",$file)) +if (compare("$file.new",$file)) { warn "$file has changed\n"; chmod(0666,$file); diff --git a/win32/dl_win32.xs b/win32/dl_win32.xs index d959fbd..fb3e332 100644 --- a/win32/dl_win32.xs +++ b/win32/dl_win32.xs @@ -30,16 +30,12 @@ calls. #include "perl.h" #include "win32.h" -#ifdef PERL_OBJECT -#define NO_XSLOCKS -#endif /* PERL_OBJECT */ - #include "XSUB.h" static SV *error_sv; static char * -OS_Error_String(pTHXo) +OS_Error_String(pTHX) { DWORD err = GetLastError(); STRLEN len; @@ -52,9 +48,9 @@ OS_Error_String(pTHXo) #include "dlutils.c" /* SaveError() etc */ static void -dl_private_init(pTHXo) +dl_private_init(pTHX) { - (void)dl_generic_private_init(aTHXo); + (void)dl_generic_private_init(aTHX); } /* @@ -96,7 +92,7 @@ dl_static_linked(char *filename) MODULE = DynaLoader PACKAGE = DynaLoader BOOT: - (void)dl_private_init(aTHXo); + (void)dl_private_init(aTHX); void * dl_load_file(filename,flags=0) @@ -114,8 +110,8 @@ dl_load_file(filename,flags=0) DLDEBUG(2,PerlIO_printf(Perl_debug_log," libref=%x\n", RETVAL)); ST(0) = sv_newmortal() ; if (RETVAL == NULL) - SaveError(aTHXo_ "load_file:%s", - OS_Error_String(aTHXo)) ; + SaveError(aTHX_ "load_file:%s", + OS_Error_String(aTHX)) ; else sv_setiv( ST(0), (IV)RETVAL); } @@ -131,8 +127,8 @@ dl_find_symbol(libhandle, symbolname) DLDEBUG(2,PerlIO_printf(Perl_debug_log," symbolref = %x\n", RETVAL)); ST(0) = sv_newmortal() ; if (RETVAL == NULL) - SaveError(aTHXo_ "find_symbol:%s", - OS_Error_String(aTHXo)) ; + SaveError(aTHX_ "find_symbol:%s", + OS_Error_String(aTHX)) ; else sv_setiv( ST(0), (IV)RETVAL); @@ -154,7 +150,7 @@ dl_install_xsub(perl_name, symref, filename="$Package") DLDEBUG(2,PerlIO_printf(Perl_debug_log,"dl_install_xsub(name=%s, symref=%x)\n", perl_name, symref)); ST(0) = sv_2mortal(newRV((SV*)newXS(perl_name, - (void(*)(pTHXo_ CV *))symref, + (void(*)(pTHX_ CV *))symref, filename))); diff --git a/win32/makefile.mk b/win32/makefile.mk index b15e984..0b4b685 100644 --- a/win32/makefile.mk +++ b/win32/makefile.mk @@ -81,17 +81,6 @@ USE_PERLIO = define #USE_5005THREADS *= define # -# WARNING! This option is deprecated and will eventually go away (enable -# USE_MULTI instead). -# -# uncomment next line if you want to use the PERL_OBJECT build option. -# DO NOT ENABLE unless you have legacy code that relies on the C++ -# CPerlObj class that was available in 5.005. This cannot be enabled -# if you ask for USE_5005THREADS above. -# -#USE_OBJECT *= define - -# # uncomment exactly one of the following # # Visual C++ 2.x @@ -236,13 +225,6 @@ D_CRYPT = define CRYPT_FLAG = -DHAVE_DES_FCRYPT .ENDIF -.IF "$(USE_OBJECT)" == "define" -PERL_MALLOC != undef -USE_5005THREADS != undef -USE_MULTI != undef -USE_IMP_SYS != define -.ENDIF - PERL_MALLOC *= undef USE_5005THREADS *= undef @@ -256,22 +238,21 @@ PERL_MALLOC != undef .ENDIF USE_MULTI *= undef -USE_OBJECT *= undef USE_ITHREADS *= undef USE_IMP_SYS *= undef USE_PERLIO *= undef USE_PERLCRT *= undef -.IF "$(USE_IMP_SYS)$(USE_MULTI)$(USE_5005THREADS)$(USE_OBJECT)" == "defineundefundefundef" +.IF "$(USE_IMP_SYS)$(USE_MULTI)$(USE_5005THREADS)" == "defineundefundef" USE_MULTI != define .ENDIF -.IF "$(USE_ITHREADS)$(USE_MULTI)$(USE_OBJECT)" == "defineundefundef" +.IF "$(USE_ITHREADS)$(USE_MULTI)" == "defineundef" USE_MULTI != define USE_5005THREADS != undef .ENDIF -.IF "$(USE_MULTI)$(USE_5005THREADS)$(USE_OBJECT)" != "undefundefundef" +.IF "$(USE_MULTI)$(USE_5005THREADS)" != "undefundef" BUILDOPT += -DPERL_IMPLICIT_CONTEXT .ENDIF @@ -283,9 +264,7 @@ BUILDOPT += -DPERL_IMPLICIT_SYS PROCESSOR_ARCHITECTURE *= x86 -.IF "$(USE_OBJECT)" == "define" -ARCHNAME = MSWin32-$(PROCESSOR_ARCHITECTURE)-object -.ELIF "$(USE_5005THREADS)" == "define" +.IF "$(USE_5005THREADS)" == "define" ARCHNAME = MSWin32-$(PROCESSOR_ARCHITECTURE)-thread .ELIF "$(USE_MULTI)" == "define" ARCHNAME = MSWin32-$(PROCESSOR_ARCHITECTURE)-multi @@ -510,11 +489,6 @@ BUILDOPT += -DPERL_MSVCRT_READFIX .ENDIF -.IF "$(USE_OBJECT)" == "define" -OPTIMIZE += $(CXX_FLAG) -BUILDOPT += -DPERL_OBJECT -.ENDIF - CFLAGS_O = $(CFLAGS) $(BUILDOPT) # used to allow local linking flags that are not propogated into Config.pm, @@ -686,9 +660,7 @@ EXTRACORE_SRC += perllib.c EXTRACORE_SRC += ..\malloc.c .ENDIF -.IF "$(USE_OBJECT)" != "define" EXTRACORE_SRC += ..\perlio.c -.ENDIF WIN32_SRC = \ .\win32.c \ @@ -963,7 +935,7 @@ $(MINIWIN32_OBJ) : $(CORE_NOCFG_H) # This is the only file that depends on perlhost.h, vmem.h, and vdir.h perllib$(o) : perllib.c .\perlhost.h .\vdir.h .\vmem.h -.IF "$(USE_IMP_SYS)$(USE_OBJECT)" == "defineundef" +.IF "$(USE_IMP_SYS)" == "define" $(CC) -c -I. $(CFLAGS_O) $(CXX_FLAG) $(OBJOUT_FLAG)$@ perllib.c .ELSE $(CC) -c -I. $(CFLAGS_O) $(OBJOUT_FLAG)$@ perllib.c diff --git a/win32/perlhost.h b/win32/perlhost.h index 57f4e31..a417f66 100644 --- a/win32/perlhost.h +++ b/win32/perlhost.h @@ -15,22 +15,13 @@ #include "vmem.h" #include "vdir.h" -#if !defined(PERL_OBJECT) START_EXTERN_C -#endif extern char * g_win32_get_privlib(const char *pl); extern char * g_win32_get_sitelib(const char *pl); extern char * g_win32_get_vendorlib(const char *pl); extern char * g_getlogin(void); extern int do_spawn2(char *cmd, int exectype); -#if !defined(PERL_OBJECT) END_EXTERN_C -#endif - -#ifdef PERL_OBJECT -extern int g_do_aspawn(void *vreally, void **vmark, void **vsp); -#define do_aspawn g_do_aspawn -#endif class CPerlHost { @@ -1248,7 +1239,7 @@ PerlSockGethostbyname(struct IPerlSock* piPerl, const char* name) struct hostent* PerlSockGethostent(struct IPerlSock* piPerl) { - dTHXo; + dTHX; Perl_croak(aTHX_ "gethostent not implemented!\n"); return NULL; } @@ -1423,7 +1414,7 @@ PerlSockSocket(struct IPerlSock* piPerl, int af, int type, int protocol) int PerlSockSocketpair(struct IPerlSock* piPerl, int domain, int type, int protocol, int* fds) { - dTHXo; + dTHX; Perl_croak(aTHX_ "socketpair not implemented!\n"); return 0; } @@ -1575,7 +1566,7 @@ PerlProcKill(struct IPerlProc* piPerl, int pid, int sig) int PerlProcKillpg(struct IPerlProc* piPerl, int pid, int sig) { - dTHXo; + dTHX; Perl_croak(aTHX_ "killpg not implemented!\n"); return 0; } @@ -1589,7 +1580,7 @@ PerlProcPauseProc(struct IPerlProc* piPerl) PerlIO* PerlProcPopen(struct IPerlProc* piPerl, const char *command, const char *mode) { - dTHXo; + dTHX; PERL_FLUSHALL_FOR_CHILD; return win32_popen(command, mode); } @@ -1597,7 +1588,7 @@ PerlProcPopen(struct IPerlProc* piPerl, const char *command, const char *mode) PerlIO* PerlProcPopenList(struct IPerlProc* piPerl, const char *mode, IV narg, SV **args) { - dTHXo; + dTHX; PERL_FLUSHALL_FOR_CHILD; return win32_popenlist(mode, narg, args); } @@ -1663,9 +1654,6 @@ win32_start_child(LPVOID arg) PerlInterpreter *my_perl = (PerlInterpreter*)arg; GV *tmpgv; int status; -#ifdef PERL_OBJECT - CPerlObj *pPerl = (CPerlObj*)my_perl; -#endif #ifdef PERL_SYNC_FORK static long sync_fork_id = 0; long id = ++sync_fork_id; @@ -1760,7 +1748,7 @@ restart: int PerlProcFork(struct IPerlProc* piPerl) { - dTHXo; + dTHX; #ifdef USE_ITHREADS DWORD id; HANDLE handle; @@ -1771,7 +1759,7 @@ PerlProcFork(struct IPerlProc* piPerl) return -1; } h = new CPerlHost(*(CPerlHost*)w32_internal_host); - PerlInterpreter *new_perl = perl_clone_using((PerlInterpreter*)aTHXo, 1, + PerlInterpreter *new_perl = perl_clone_using((PerlInterpreter*)aTHX, 1, h->m_pHostperlMem, h->m_pHostperlMemShared, h->m_pHostperlMemParse, @@ -1785,7 +1773,7 @@ PerlProcFork(struct IPerlProc* piPerl) new_perl->Isys_intern.internal_host = h; # ifdef PERL_SYNC_FORK id = win32_start_child((LPVOID)new_perl); - PERL_SET_THX(aTHXo); + PERL_SET_THX(aTHX); # else # ifdef USE_RTL_THREAD_API handle = (HANDLE)_beginthreadex((void*)NULL, 0, win32_start_child, @@ -1794,7 +1782,7 @@ PerlProcFork(struct IPerlProc* piPerl) handle = CreateThread(NULL, 0, win32_start_child, (LPVOID)new_perl, 0, &id); # endif - PERL_SET_THX(aTHXo); /* XXX perl_clone*() set TLS */ + PERL_SET_THX(aTHX); /* XXX perl_clone*() set TLS */ if (!handle) { errno = EAGAIN; return -1; @@ -1861,7 +1849,7 @@ PerlProcASpawn(struct IPerlProc* piPerl, void *vreally, void **vmark, void **vsp int PerlProcLastHost(struct IPerlProc* piPerl) { - dTHXo; + dTHX; CPerlHost *h = (CPerlHost*)w32_internal_host; return h->LastHost(); } @@ -2138,7 +2126,7 @@ compare(const void *arg1, const void *arg2) void CPerlHost::Add(LPCSTR lpStr) { - dTHXo; + dTHX; char szBuffer[1024]; LPSTR *lpPtr; int index, length = strlen(lpStr)+1; @@ -2181,14 +2169,14 @@ CPerlHost::CalculateEnvironmentSpace(void) void CPerlHost::FreeLocalEnvironmentStrings(LPSTR lpStr) { - dTHXo; + dTHX; Safefree(lpStr); } char* CPerlHost::GetChildDir(void) { - dTHXo; + dTHX; int length; char* ptr; New(0, ptr, MAX_PATH+1, char); @@ -2206,14 +2194,14 @@ CPerlHost::GetChildDir(void) void CPerlHost::FreeChildDir(char* pStr) { - dTHXo; + dTHX; Safefree(pStr); } LPSTR CPerlHost::CreateLocalEnvironmentStrings(VDir &vDir) { - dTHXo; + dTHX; LPSTR lpStr, lpPtr, lpEnvPtr, lpTmp, lpLocalEnv, lpAllocPtr; DWORD dwSize, dwEnvIndex; int nLength, compVal; @@ -2302,7 +2290,7 @@ CPerlHost::CreateLocalEnvironmentStrings(VDir &vDir) void CPerlHost::Reset(void) { - dTHXo; + dTHX; if(m_lppEnvList != NULL) { for(DWORD index = 0; index < m_dwEnvCount; ++index) { Safefree(m_lppEnvList[index]); @@ -2315,7 +2303,7 @@ CPerlHost::Reset(void) void CPerlHost::Clearenv(void) { - dTHXo; + dTHX; char ch; LPSTR lpPtr, lpStr, lpEnvPtr; if (m_lppEnvList != NULL) { @@ -2355,7 +2343,7 @@ CPerlHost::Clearenv(void) char* CPerlHost::Getenv(const char *varname) { - dTHXo; + dTHX; if (w32_pseudo_id) { char *pEnv = Find(varname); if (pEnv && *pEnv) @@ -2367,7 +2355,7 @@ CPerlHost::Getenv(const char *varname) int CPerlHost::Putenv(const char *envstring) { - dTHXo; + dTHX; Add(envstring); if (!w32_pseudo_id) return win32_putenv(envstring); @@ -2378,7 +2366,7 @@ CPerlHost::Putenv(const char *envstring) int CPerlHost::Chdir(const char *dirname) { - dTHXo; + dTHX; int ret; if (USING_WIDE()) { WCHAR wBuffer[MAX_PATH]; diff --git a/win32/perllib.c b/win32/perllib.c index 2d5a87d..6243a79 100644 --- a/win32/perllib.c +++ b/win32/perllib.c @@ -5,10 +5,6 @@ #include "EXTERN.h" #include "perl.h" -#ifdef PERL_OBJECT -#define NO_XSLOCKS -#endif - #include "XSUB.h" #ifdef PERL_IMPLICIT_SYS @@ -23,10 +19,10 @@ char *staticlinkmodules[] = { NULL, }; -EXTERN_C void boot_DynaLoader (pTHXo_ CV* cv); +EXTERN_C void boot_DynaLoader (pTHX_ CV* cv); static void -xs_init(pTHXo) +xs_init(pTHX) { char *file = __FILE__; dXSUB_SYS; @@ -108,9 +104,6 @@ perl_alloc_override(struct IPerlMem** ppMem, struct IPerlMem** ppMemShared, pHost->m_pHostperlSock, pHost->m_pHostperlProc); if (my_perl) { -#ifdef PERL_OBJECT - CPerlObj* pPerl = (CPerlObj*)my_perl; -#endif w32_internal_host = pHost; } } @@ -133,9 +126,6 @@ perl_alloc(void) pHost->m_pHostperlSock, pHost->m_pHostperlProc); if (my_perl) { -#ifdef PERL_OBJECT - CPerlObj* pPerl = (CPerlObj*)my_perl; -#endif w32_internal_host = pHost; } } @@ -149,108 +139,6 @@ win32_delete_internal_host(void *h) delete host; } -#ifdef PERL_OBJECT - -EXTERN_C void -perl_construct(PerlInterpreter* my_perl) -{ - CPerlObj* pPerl = (CPerlObj*)my_perl; - try - { - Perl_construct(); - } - catch(...) - { - win32_fprintf(stderr, "%s\n", - "Error: Unable to construct data structures"); - perl_free(my_perl); - } -} - -EXTERN_C void -perl_destruct(PerlInterpreter* my_perl) -{ - CPerlObj* pPerl = (CPerlObj*)my_perl; -#ifdef DEBUGGING - Perl_destruct(); -#else - try - { - Perl_destruct(); - } - catch(...) - { - } -#endif -} - -EXTERN_C void -perl_free(PerlInterpreter* my_perl) -{ - CPerlObj* pPerl = (CPerlObj*)my_perl; - void *host = w32_internal_host; -#ifdef DEBUGGING - Perl_free(); -#else - try - { - Perl_free(); - } - catch(...) - { - } -#endif - win32_delete_internal_host(host); - PERL_SET_THX(NULL); -} - -EXTERN_C int -perl_run(PerlInterpreter* my_perl) -{ - CPerlObj* pPerl = (CPerlObj*)my_perl; - int retVal; -#ifdef DEBUGGING - retVal = Perl_run(); -#else - try - { - retVal = Perl_run(); - } - catch(...) - { - win32_fprintf(stderr, "Error: Runtime exception\n"); - retVal = -1; - } -#endif - return retVal; -} - -EXTERN_C int -perl_parse(PerlInterpreter* my_perl, void (*xsinit)(CPerlObj*), int argc, char** argv, char** env) -{ - int retVal; - CPerlObj* pPerl = (CPerlObj*)my_perl; -#ifdef DEBUGGING - retVal = Perl_parse(xsinit, argc, argv, env); -#else - try - { - retVal = Perl_parse(xsinit, argc, argv, env); - } - catch(...) - { - win32_fprintf(stderr, "Error: Parse exception\n"); - retVal = -1; - } -#endif - *win32_errno() = 0; - return retVal; -} - -#undef PL_perl_destruct_level -#define PL_perl_destruct_level int dummy - -#endif /* PERL_OBJECT */ #endif /* PERL_IMPLICIT_SYS */ EXTERN_C HANDLE w32_perldll_handle; @@ -295,23 +183,7 @@ RunPerl(int argc, char **argv, char **env) exitstatus = perl_parse(my_perl, xs_init, argc, argv, env); if (!exitstatus) { #if defined(TOP_CLONE) && defined(USE_ITHREADS) /* XXXXXX testing */ -# ifdef PERL_OBJECT - CPerlHost *h = new CPerlHost(); - new_perl = perl_clone_using(my_perl, 1, - h->m_pHostperlMem, - h->m_pHostperlMemShared, - h->m_pHostperlMemParse, - h->m_pHostperlEnv, - h->m_pHostperlStdIO, - h->m_pHostperlLIO, - h->m_pHostperlDir, - h->m_pHostperlSock, - h->m_pHostperlProc - ); - CPerlObj *pPerl = (CPerlObj*)new_perl; -# else new_perl = perl_clone(my_perl, 1); -# endif exitstatus = perl_run(new_perl); PERL_SET_THX(my_perl); #else @@ -400,7 +272,7 @@ DllMain(HANDLE hModule, /* DLL module handle */ #if defined(USE_ITHREADS) && defined(PERL_IMPLICIT_SYS) EXTERN_C PerlInterpreter * perl_clone_host(PerlInterpreter* proto_perl, UV flags) { - dTHXo; + dTHX; CPerlHost *h; h = new CPerlHost(*(CPerlHost*)PL_sys_intern.internal_host); proto_perl = perl_clone_using(proto_perl, flags, diff --git a/win32/win32.c b/win32/win32.c index 687f121..905a987 100644 --- a/win32/win32.c +++ b/win32/win32.c @@ -91,13 +91,6 @@ int _fcloseall(); # define getlogin g_getlogin #endif -#if defined(PERL_OBJECT) -# undef do_aspawn -# define do_aspawn g_do_aspawn -# undef Perl_do_exec -# define Perl_do_exec g_do_exec -#endif - static void get_shell(void); static long tokenize(const char *str, char **dest, char ***destv); int do_spawn2(char *cmd, int exectype); @@ -179,7 +172,7 @@ get_regstr_from(HKEY hkey, const char *valuename, SV **svp) if (retval == ERROR_SUCCESS && (type == REG_SZ || type == REG_EXPAND_SZ)) { - dTHXo; + dTHX; if (!*svp) *svp = sv_2mortal(newSVpvn("",0)); SvGROW(*svp, datalen); @@ -259,7 +252,7 @@ get_emd_part(SV **prev_pathp, char *trailing_path, ...) /* only add directory if it exists */ if (GetFileAttributes(mod_name) != (DWORD) -1) { /* directory exists */ - dTHXo; + dTHX; if (!*prev_pathp) *prev_pathp = sv_2mortal(newSVpvn("",0)); sv_catpvn(*prev_pathp, ";", 1); @@ -273,7 +266,7 @@ get_emd_part(SV **prev_pathp, char *trailing_path, ...) char * win32_get_privlib(const char *pl) { - dTHXo; + dTHX; char *stdlib = "lib"; char buffer[MAX_PATH+1]; SV *sv = Nullsv; @@ -290,7 +283,7 @@ win32_get_privlib(const char *pl) static char * win32_get_xlib(const char *pl, const char *xlib, const char *libname) { - dTHXo; + dTHX; char regstr[40]; char pathstr[MAX_PATH+1]; DWORD datalen; @@ -438,7 +431,7 @@ win32_getpid(void) { int pid; #ifdef USE_ITHREADS - dTHXo; + dTHX; if (w32_pseudo_id) return -((int)w32_pseudo_id); #endif @@ -464,7 +457,7 @@ tokenize(const char *str, char **dest, char ***destv) char **retvstart = 0; int items = -1; if (str) { - dTHXo; + dTHX; int slen = strlen(str); register char *ret; register char **retv; @@ -507,7 +500,7 @@ tokenize(const char *str, char **dest, char ***destv) static void get_shell(void) { - dTHXo; + dTHX; 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 @@ -528,7 +521,7 @@ get_shell(void) int do_aspawn(void *vreally, void **vmark, void **vsp) { - dTHXo; + dTHX; SV *really = (SV*)vreally; SV **mark = (SV**)vmark; SV **sp = (SV**)vsp; @@ -596,7 +589,7 @@ do_aspawn(void *vreally, void **vmark, void **vsp) int do_spawn2(char *cmd, int exectype) { - dTHXo; + dTHX; char **a; char *s; char **argv; @@ -712,7 +705,7 @@ Perl_do_exec(pTHX_ char *cmd) DllExport DIR * win32_opendir(char *filename) { - dTHXo; + dTHX; DIR *dirp; long len; long idx; @@ -824,7 +817,7 @@ win32_readdir(DIR *dirp) /* Now set up for the next call to readdir */ dirp->curr += len + 1; if (dirp->curr >= dirp->end) { - dTHXo; + dTHX; char* ptr; BOOL res; WIN32_FIND_DATAW wFindData; @@ -898,7 +891,7 @@ win32_rewinddir(DIR *dirp) DllExport int win32_closedir(DIR *dirp) { - dTHXo; + dTHX; if (dirp->handle != INVALID_HANDLE_VALUE) FindClose(dirp->handle); Safefree(dirp->start); @@ -960,7 +953,7 @@ setgid(gid_t agid) char * getlogin(void) { - dTHXo; + dTHX; char *buf = w32_getlogin_buffer; DWORD size = sizeof(w32_getlogin_buffer); if (GetUserName(buf,&size)) @@ -1003,7 +996,7 @@ retry: static long find_pid(int pid) { - dTHXo; + dTHX; long child = w32_num_children; while (--child >= 0) { if (w32_child_pids[child] == pid) @@ -1016,7 +1009,7 @@ static void remove_dead_process(long child) { if (child >= 0) { - dTHXo; + dTHX; CloseHandle(w32_child_handles[child]); Move(&w32_child_handles[child+1], &w32_child_handles[child], (w32_num_children-child-1), HANDLE); @@ -1030,7 +1023,7 @@ remove_dead_process(long child) static long find_pseudo_pid(int pid) { - dTHXo; + dTHX; long child = w32_num_pseudo_children; while (--child >= 0) { if (w32_pseudo_child_pids[child] == pid) @@ -1043,7 +1036,7 @@ static void remove_dead_pseudo_process(long child) { if (child >= 0) { - dTHXo; + dTHX; CloseHandle(w32_pseudo_child_handles[child]); Move(&w32_pseudo_child_handles[child+1], &w32_pseudo_child_handles[child], (w32_num_pseudo_children-child-1), HANDLE); @@ -1057,7 +1050,7 @@ remove_dead_pseudo_process(long child) DllExport int win32_kill(int pid, int sig) { - dTHXo; + dTHX; HANDLE hProcess; long child; #ifdef USE_ITHREADS @@ -1123,7 +1116,7 @@ win32_sleep(unsigned int t) DllExport int win32_stat(const char *path, struct stat *sbuf) { - dTHXo; + dTHX; char buffer[MAX_PATH+1]; int l = strlen(path); int res; @@ -1325,7 +1318,7 @@ win32_longpath(char *path) DllExport char * win32_getenv(const char *name) { - dTHXo; + dTHX; WCHAR wBuffer[MAX_PATH+1]; DWORD needlen; SV *curitem = Nullsv; @@ -1374,7 +1367,7 @@ win32_getenv(const char *name) DllExport int win32_putenv(const char *name) { - dTHXo; + dTHX; char* curitem; char* val; WCHAR* wCuritem; @@ -1483,7 +1476,7 @@ filetime_from_time(PFILETIME pFileTime, time_t Time) DllExport int win32_unlink(const char *filename) { - dTHXo; + dTHX; int ret; DWORD attrs; @@ -1528,7 +1521,7 @@ fail: DllExport int win32_utime(const char *filename, struct utimbuf *times) { - dTHXo; + dTHX; HANDLE handle; FILETIME ftCreate; FILETIME ftAccess; @@ -1677,7 +1670,7 @@ win32_uname(struct utsname *name) DllExport int win32_waitpid(int pid, int *status, int flags) { - dTHXo; + dTHX; DWORD timeout = (flags & WNOHANG) ? 0 : INFINITE; int retval = -1; long child; @@ -1761,7 +1754,7 @@ win32_wait(int *status) /* XXX this wait emulation only knows about processes * spawned via win32_spawnvp(P_NOWAIT, ...). */ - dTHXo; + dTHX; int i, retval; DWORD exitcode, waitcode; @@ -1816,23 +1809,19 @@ FAILED: return -1; } -#ifndef PERL_OBJECT - static UINT timerid = 0; static VOID CALLBACK TimerProc(HWND win, UINT msg, UINT id, DWORD time) { - dTHXo; + dTHX; KillTimer(NULL,timerid); timerid=0; CALL_FPTR(PL_sighandlerp)(14); } -#endif /* !PERL_OBJECT */ DllExport unsigned int win32_alarm(unsigned int sec) { -#ifndef PERL_OBJECT /* * the 'obvious' implentation is SetTimer() with a callback * which does whatever receiving SIGALRM would do @@ -1842,7 +1831,7 @@ win32_alarm(unsigned int sec) * Snag is unless something is looking at the message queue * nothing happens :-( */ - dTHXo; + dTHX; if (sec) { timerid = SetTimer(NULL,timerid,sec*1000,(TIMERPROC)TimerProc); @@ -1857,7 +1846,6 @@ win32_alarm(unsigned int sec) timerid=0; } } -#endif /* !PERL_OBJECT */ return 0; } @@ -1868,7 +1856,7 @@ extern char * des_fcrypt(const char *txt, const char *salt, char *cbuf); DllExport char * win32_crypt(const char *txt, const char *salt) { - dTHXo; + dTHX; #ifdef HAVE_DES_FCRYPT return des_fcrypt(txt, salt, w32_crypt_buffer); #else @@ -1980,7 +1968,7 @@ win32_flock(int fd, int oper) HANDLE fh; if (!IsWinNT()) { - dTHXo; + dTHX; Perl_croak_nocontext("flock() unimplemented on this platform"); return -1; } @@ -2079,7 +2067,7 @@ win32_strerror(int e) DWORD source = 0; if (e < 0 || e > sys_nerr) { - dTHXo; + dTHX; if (e < 0) e = GetLastError(); @@ -2119,7 +2107,7 @@ win32_str_os_error(void *sv, DWORD dwErr) dwErr, GetLastError()); } if (sMsg) { - dTHXo; + dTHX; sv_setpvn((SV*)sv, sMsg, dwLen); LocalFree(sMsg); } @@ -2172,7 +2160,7 @@ win32_fwrite(const void *buf, size_t size, size_t count, FILE *fp) DllExport FILE * win32_fopen(const char *filename, const char *mode) { - dTHXo; + dTHX; WCHAR wMode[MODE_SIZE], wBuffer[MAX_PATH+1]; FILE *f; @@ -2203,7 +2191,7 @@ win32_fopen(const char *filename, const char *mode) DllExport FILE * win32_fdopen(int handle, const char *mode) { - dTHXo; + dTHX; WCHAR wMode[MODE_SIZE]; FILE *f; if (USING_WIDE()) { @@ -2221,7 +2209,7 @@ win32_fdopen(int handle, const char *mode) DllExport FILE * win32_freopen(const char *path, const char *mode, FILE *stream) { - dTHXo; + dTHX; WCHAR wMode[MODE_SIZE], wBuffer[MAX_PATH+1]; if (stricmp(path, "/dev/null")==0) path = "NUL"; @@ -2425,7 +2413,7 @@ win32_popen(const char *command, const char *mode) /* start the child */ { - dTHXo; + dTHX; if ((childpid = do_spawn_nowait((char*)command)) == -1) goto cleanup; @@ -2470,7 +2458,7 @@ win32_pclose(PerlIO *pf) #ifdef USE_RTL_POPEN return _pclose(pf); #else - dTHXo; + dTHX; int childpid, status; SV *sv; @@ -2564,7 +2552,7 @@ Nt4CreateHardLinkW( DllExport int win32_link(const char *oldname, const char *newname) { - dTHXo; + dTHX; BOOL (__stdcall *pfnCreateHardLinkW)(LPCWSTR,LPCWSTR,LPSECURITY_ATTRIBUTES); WCHAR wOldName[MAX_PATH+1]; WCHAR wNewName[MAX_PATH+1]; @@ -2597,7 +2585,7 @@ win32_rename(const char *oname, const char *newname) char szOldName[MAX_PATH+1]; char szNewName[MAX_PATH+1]; BOOL bResult; - dTHXo; + dTHX; /* XXX despite what the documentation says about MoveFileEx(), * it doesn't work under Windows95! @@ -2735,7 +2723,7 @@ win32_tell(int fd) DllExport int win32_open(const char *path, int flag, ...) { - dTHXo; + dTHX; va_list ap; int pmode; WCHAR wBuffer[MAX_PATH+1]; @@ -2996,7 +2984,7 @@ win32_write(int fd, const void *buf, unsigned int cnt) DllExport int win32_mkdir(const char *dir, int mode) { - dTHXo; + dTHX; if (USING_WIDE()) { WCHAR wBuffer[MAX_PATH+1]; A2WHELPER(dir, wBuffer, sizeof(wBuffer)); @@ -3008,7 +2996,7 @@ win32_mkdir(const char *dir, int mode) DllExport int win32_rmdir(const char *dir) { - dTHXo; + dTHX; if (USING_WIDE()) { WCHAR wBuffer[MAX_PATH+1]; A2WHELPER(dir, wBuffer, sizeof(wBuffer)); @@ -3020,7 +3008,7 @@ win32_rmdir(const char *dir) DllExport int win32_chdir(const char *dir) { - dTHXo; + dTHX; if (USING_WIDE()) { WCHAR wBuffer[MAX_PATH+1]; A2WHELPER(dir, wBuffer, sizeof(wBuffer)); @@ -3032,7 +3020,7 @@ win32_chdir(const char *dir) DllExport int win32_access(const char *path, int mode) { - dTHXo; + dTHX; if (USING_WIDE()) { WCHAR wBuffer[MAX_PATH+1]; A2WHELPER(path, wBuffer, sizeof(wBuffer)); @@ -3044,7 +3032,7 @@ win32_access(const char *path, int mode) DllExport int win32_chmod(const char *path, int mode) { - dTHXo; + dTHX; if (USING_WIDE()) { WCHAR wBuffer[MAX_PATH+1]; A2WHELPER(path, wBuffer, sizeof(wBuffer)); @@ -3057,7 +3045,7 @@ win32_chmod(const char *path, int mode) static char * create_command_line(const char* command, const char * const *args) { - dTHXo; + dTHX; int index; char *cmd, *ptr, *arg; STRLEN len = strlen(command) + 1; @@ -3081,7 +3069,7 @@ create_command_line(const char* command, const char * const *args) static char * qualified_path(const char *cmd) { - dTHXo; + dTHX; char *pathstr; char *fullcmd, *curfullcmd; STRLEN cmdlen = 0; @@ -3186,7 +3174,7 @@ free_childenv(void* d) char* get_childdir(void) { - dTHXo; + dTHX; char* ptr; char szfilename[(MAX_PATH+1)*2]; if (USING_WIDE()) { @@ -3206,7 +3194,7 @@ get_childdir(void) void free_childdir(char* d) { - dTHXo; + dTHX; Safefree(d); } @@ -3228,7 +3216,7 @@ win32_spawnvp(int mode, const char *cmdname, const char *const *argv) #ifdef USE_RTL_SPAWNVP return spawnvp(mode, cmdname, (char * const *)argv); #else - dTHXo; + dTHX; int ret; void* env; char* dir; @@ -3348,7 +3336,7 @@ DllExport int win32_execv(const char *cmdname, const char *const *argv) { #ifdef USE_ITHREADS - dTHXo; + dTHX; /* if this is a pseudo-forked child, we just want to spawn * the new program, and return */ if (w32_pseudo_id) @@ -3361,7 +3349,7 @@ DllExport int win32_execvp(const char *cmdname, const char *const *argv) { #ifdef USE_ITHREADS - dTHXo; + dTHX; /* if this is a pseudo-forked child, we just want to spawn * the new program, and return */ if (w32_pseudo_id) { @@ -3572,7 +3560,7 @@ win32_get_osfhandle(int fd) DllExport void* win32_dynaload(const char* filename) { - dTHXo; + dTHX; HMODULE hModule; char buf[MAX_PATH+1]; char *first; @@ -4065,7 +4053,7 @@ XS(w32_CopyFile) void Perl_init_os_extras(void) { - dTHXo; + dTHX; char *file = __FILE__; dXSUB_SYS; @@ -4128,16 +4116,6 @@ win32_get_child_IO(child_IO_table* ptbl) #ifdef HAVE_INTERP_INTERN -# ifdef PERL_OBJECT -# undef Perl_sys_intern_init -# define Perl_sys_intern_init CPerlObj::Perl_sys_intern_init -# undef Perl_sys_intern_dup -# define Perl_sys_intern_dup CPerlObj::Perl_sys_intern_dup -# undef Perl_sys_intern_clear -# define Perl_sys_intern_clear CPerlObj::Perl_sys_intern_clear -# define pPerl this -# endif - void Perl_sys_intern_init(pTHX) { @@ -4184,13 +4162,8 @@ Perl_sys_intern_dup(pTHX_ struct interp_intern *src, struct interp_intern *dst) # endif /* USE_ITHREADS */ #endif /* HAVE_INTERP_INTERN */ -#ifdef PERL_OBJECT -# undef this -# define this pPerl -#endif - static void -win32_free_argvw(pTHXo_ void *ptr) +win32_free_argvw(pTHX_ void *ptr) { char** argv = (char**)ptr; while(*argv) { @@ -4202,7 +4175,7 @@ win32_free_argvw(pTHXo_ void *ptr) void win32_argv2utf8(int argc, char** argv) { - dTHXo; + dTHX; char* psz; int length, wargc; LPWSTR* lpwStr = CommandLineToArgvW(GetCommandLineW(), &wargc); diff --git a/win32/win32.h b/win32/win32.h index 1350670..16ad7fa 100644 --- a/win32/win32.h +++ b/win32/win32.h @@ -13,7 +13,7 @@ # define _WIN32_WINNT 0x0400 /* needed for TryEnterCriticalSection() etc. */ #endif -#if defined(PERL_OBJECT) || defined(PERL_IMPLICIT_SYS) || defined(PERL_CAPI) +#if defined(PERL_IMPLICIT_SYS) # define DYNAMIC_ENV_FETCH # define HAS_GETENV_LEN # define prime_env_iter() @@ -42,16 +42,12 @@ /* now even GCC supports __declspec() */ -#if defined(PERL_OBJECT) -#define DllExport -#else #if defined(PERLDLL) || defined(WIN95FIX) #define DllExport /*#define DllExport __declspec(dllexport)*/ /* noises with VC5+sp3 */ #else #define DllExport __declspec(dllimport) #endif -#endif #define WIN32_LEAN_AND_MEAN #include @@ -186,11 +182,6 @@ struct utsname { #pragma warn -use /* "'foo' is declared but never used" */ #pragma warn -csu /* "comparing signed and unsigned values" */ -/* Borland is picky about a bare member function name used as its ptr */ -#ifdef PERL_OBJECT -# define MEMBER_TO_FPTR(name) &(name) -#endif - /* Borland C thinks that a pointer to a member variable is 12 bytes in size. */ #define PERL_MEMBER_PTR_SIZE 12 @@ -223,10 +214,6 @@ typedef long gid_t; #define fcloseall _fcloseall #define isnan _isnan /* ...same libraries as MSVC */ -#ifdef PERL_OBJECT -# define MEMBER_TO_FPTR(name) &(name) -#endif - #ifndef _O_NOINHERIT # define _O_NOINHERIT 0x0080 # ifndef _NO_OLDNAMES @@ -243,46 +230,6 @@ typedef long gid_t; /* compatibility stuff for other compilers goes here */ - -#if !defined(PERL_OBJECT) && defined(PERL_CAPI) && defined(PERL_MEMBER_PTR_SIZE) -# define STRUCT_MGVTBL_DEFINITION \ -struct mgvtbl { \ - union { \ - int (CPERLscope(*svt_get))(pTHX_ SV *sv, MAGIC* mg); \ - char handle_VC_problem1[PERL_MEMBER_PTR_SIZE]; \ - }; \ - union { \ - int (CPERLscope(*svt_set))(pTHX_ SV *sv, MAGIC* mg); \ - char handle_VC_problem2[PERL_MEMBER_PTR_SIZE]; \ - }; \ - union { \ - U32 (CPERLscope(*svt_len))(pTHX_ SV *sv, MAGIC* mg); \ - char handle_VC_problem3[PERL_MEMBER_PTR_SIZE]; \ - }; \ - union { \ - int (CPERLscope(*svt_clear))(pTHX_ SV *sv, MAGIC* mg); \ - char handle_VC_problem4[PERL_MEMBER_PTR_SIZE]; \ - }; \ - union { \ - int (CPERLscope(*svt_free))(pTHX_ SV *sv, MAGIC* mg); \ - char handle_VC_problem5[PERL_MEMBER_PTR_SIZE]; \ - }; \ -} - -# define BASEOP_DEFINITION \ - OP* op_next; \ - OP* op_sibling; \ - OP* (CPERLscope(*op_ppaddr))(pTHX); \ - char handle_VC_problem[PERL_MEMBER_PTR_SIZE-sizeof(OP*)]; \ - PADOFFSET op_targ; \ - OPCODE op_type; \ - U16 op_seq; \ - U8 op_flags; \ - U8 op_private; - -#endif /* !PERL_OBJECT && PERL_CAPI && PERL_MEMBER_PTR_SIZE */ - - START_EXTERN_C /* For UNIX compatibility. */ diff --git a/win32/win32sck.c b/win32/win32sck.c index bdc335f..4fb2047 100644 --- a/win32/win32sck.c +++ b/win32/win32sck.c @@ -19,11 +19,6 @@ #include "EXTERN.h" #include "perl.h" -#if defined(PERL_OBJECT) -#define NO_XSLOCKS -#include "XSUB.h" -#endif - #include "Win32iop.h" #include #include @@ -82,7 +77,7 @@ EndSockets(void) void start_sockets(void) { - dTHXo; + dTHX; unsigned short version; WSADATA retdata; int ret; @@ -106,7 +101,7 @@ set_socktype(void) { #ifdef USE_SOCKETS_AS_HANDLES #if defined(USE_5005THREADS) || defined(USE_ITHREADS) - dTHXo; + dTHX; if (!w32_init_socktype) { #endif int iSockOpt = SO_SYNCHRONOUS_NONALERT; @@ -572,7 +567,7 @@ win32_getprotobynumber(int num) struct servent * win32_getservbyname(const char *name, const char *proto) { - dTHXo; + dTHX; struct servent *r; SOCKET_TEST(r = getservbyname(name, proto), NULL); @@ -585,7 +580,7 @@ win32_getservbyname(const char *name, const char *proto) struct servent * win32_getservbyport(int port, const char *proto) { - dTHXo; + dTHX; struct servent *r; SOCKET_TEST(r = getservbyport(port, proto), NULL); @@ -598,7 +593,7 @@ win32_getservbyport(int port, const char *proto) int win32_ioctl(int i, unsigned int u, char *data) { - dTHXo; + dTHX; u_long argp = (u_long)data; int retval; @@ -639,28 +634,28 @@ win32_inet_addr(const char FAR *cp) void win32_endhostent() { - dTHXo; + dTHX; Perl_croak_nocontext("endhostent not implemented!\n"); } void win32_endnetent() { - dTHXo; + dTHX; Perl_croak_nocontext("endnetent not implemented!\n"); } void win32_endprotoent() { - dTHXo; + dTHX; Perl_croak_nocontext("endprotoent not implemented!\n"); } void win32_endservent() { - dTHXo; + dTHX; Perl_croak_nocontext("endservent not implemented!\n"); } @@ -668,7 +663,7 @@ win32_endservent() struct netent * win32_getnetent(void) { - dTHXo; + dTHX; Perl_croak_nocontext("getnetent not implemented!\n"); return (struct netent *) NULL; } @@ -676,7 +671,7 @@ win32_getnetent(void) struct netent * win32_getnetbyname(char *name) { - dTHXo; + dTHX; Perl_croak_nocontext("getnetbyname not implemented!\n"); return (struct netent *)NULL; } @@ -684,7 +679,7 @@ win32_getnetbyname(char *name) struct netent * win32_getnetbyaddr(long net, int type) { - dTHXo; + dTHX; Perl_croak_nocontext("getnetbyaddr not implemented!\n"); return (struct netent *)NULL; } @@ -692,7 +687,7 @@ win32_getnetbyaddr(long net, int type) struct protoent * win32_getprotoent(void) { - dTHXo; + dTHX; Perl_croak_nocontext("getprotoent not implemented!\n"); return (struct protoent *) NULL; } @@ -700,7 +695,7 @@ win32_getprotoent(void) struct servent * win32_getservent(void) { - dTHXo; + dTHX; Perl_croak_nocontext("getservent not implemented!\n"); return (struct servent *) NULL; } @@ -708,7 +703,7 @@ win32_getservent(void) void win32_sethostent(int stayopen) { - dTHXo; + dTHX; Perl_croak_nocontext("sethostent not implemented!\n"); } @@ -716,7 +711,7 @@ win32_sethostent(int stayopen) void win32_setnetent(int stayopen) { - dTHXo; + dTHX; Perl_croak_nocontext("setnetent not implemented!\n"); } @@ -724,7 +719,7 @@ win32_setnetent(int stayopen) void win32_setprotoent(int stayopen) { - dTHXo; + dTHX; Perl_croak_nocontext("setprotoent not implemented!\n"); } @@ -732,7 +727,7 @@ win32_setprotoent(int stayopen) void win32_setservent(int stayopen) { - dTHXo; + dTHX; Perl_croak_nocontext("setservent not implemented!\n"); } diff --git a/win32/win32thread.c b/win32/win32thread.c index 6df2768..1fdd0ef 100644 --- a/win32/win32thread.c +++ b/win32/win32thread.c @@ -1,12 +1,6 @@ #include "EXTERN.h" #include "perl.h" -#if defined(PERL_OBJECT) -#define NO_XSLOCKS -extern CPerlObj* pPerl; -#include "XSUB.h" -#endif - #ifdef USE_DECLSPEC_THREAD __declspec(thread) void *PL_current_context = NULL; #endif diff --git a/wince/Makefile.ce b/wince/Makefile.ce index dd2dbd6..36cbbb2 100644 --- a/wince/Makefile.ce +++ b/wince/Makefile.ce @@ -338,13 +338,6 @@ D_CRYPT = define CRYPT_FLAG = -DHAVE_DES_FCRYPT !ENDIF -!IF "$(USE_OBJECT)" == "define" -PERL_MALLOC = undef -USE_5005THREADS = undef -USE_MULTI = undef -USE_IMP_SYS = define -!ENDIF - !IF "$(PERL_MALLOC)" == "" PERL_MALLOC = undef !ENDIF @@ -365,10 +358,6 @@ PERL_MALLOC = undef USE_MULTI = undef !ENDIF -!IF "$(USE_OBJECT)" == "" -USE_OBJECT = undef -!ENDIF - !IF "$(USE_ITHREADS)" == "" USE_ITHREADS = undef !ENDIF @@ -381,16 +370,16 @@ USE_IMP_SYS = undef USE_PERLCRT = undef !ENDIF -!IF "$(USE_IMP_SYS)$(USE_MULTI)$(USE_5005THREADS)$(USE_OBJECT)" == "defineundefundefundef" +!IF "$(USE_IMP_SYS)$(USE_MULTI)$(USE_5005THREADS)" == "defineundefundef" USE_MULTI = define !ENDIF -!IF "$(USE_ITHREADS)$(USE_MULTI)$(USE_OBJECT)" == "defineundefundef" +!IF "$(USE_ITHREADS)$(USE_MULTI)" == "defineundef" USE_MULTI = define USE_5005THREADS = undef !ENDIF -!IF "$(USE_MULTI)$(USE_5005THREADS)$(USE_OBJECT)" != "undefundefundef" +!IF "$(USE_MULTI)$(USE_5005THREADS)" != "undefundef" BUILDOPT = $(BUILDOPT) -DPERL_IMPLICIT_CONTEXT !ENDIF @@ -424,11 +413,6 @@ CXX_FLAG = -TP -GX PERLEXE_RES = perl.res PERLDLL_RES = -!IF "$(USE_OBJECT)" == "define" -OPTIMIZE = $(OPTIMIZE) $(CXX_FLAG) -BUILDOPT = $(BUILDOPT) -DPERL_OBJECT -!ENDIF - !if "$(CFG)" == "RELEASE" CELIB = celib.lib !endif @@ -545,9 +529,7 @@ EXTRACORE_SRC = $(EXTRACORE_SRC) perllib.c EXTRACORE_SRC = $(EXTRACORE_SRC) ..\malloc.c !ENDIF -!IF "$(USE_OBJECT)" != "define" EXTRACORE_SRC = $(EXTRACORE_SRC) ..\perlio.c -!ENDIF WIN32_SRC = \ .\wince.c \ diff --git a/wince/config_h.PL b/wince/config_h.PL index b5f5e38..d78a62e 100644 --- a/wince/config_h.PL +++ b/wince/config_h.PL @@ -2,7 +2,6 @@ use Config; use File::Compare qw(compare); use File::Copy qw(copy); -my $OBJ = 1 if $Config{'ccflags'} =~ /PERL_OBJECT/i; my $name = $0; $name =~ s#^(.*)\.PL$#../$1.SH#; my %opt; @@ -73,7 +72,7 @@ chmod(0666,"config.h"); copy("$file.new","config.h") || die "Cannot copy:$!"; chmod(0444,"config.h"); -if (!$OBJ && compare("$file.new",$file)) +if (compare("$file.new",$file)) { warn "$file has changed\n"; chmod(0666,$file); diff --git a/wince/dl_win32.xs b/wince/dl_win32.xs index 15962a6..d93d9dd 100644 --- a/wince/dl_win32.xs +++ b/wince/dl_win32.xs @@ -30,16 +30,12 @@ calls. #include "perl.h" #include "win32.h" -#ifdef PERL_OBJECT -#define NO_XSLOCKS -#endif /* PERL_OBJECT */ - #include "XSUB.h" static SV *error_sv; static char * -OS_Error_String(pTHXo) +OS_Error_String(pTHX) { DWORD err = GetLastError(); STRLEN len; @@ -52,9 +48,9 @@ OS_Error_String(pTHXo) #include "dlutils.c" /* SaveError() etc */ static void -dl_private_init(pTHXo) +dl_private_init(pTHX) { - (void)dl_generic_private_init(aTHXo); + (void)dl_generic_private_init(aTHX); } /* @@ -96,7 +92,7 @@ dl_static_linked(char *filename) MODULE = DynaLoader PACKAGE = DynaLoader BOOT: - (void)dl_private_init(aTHXo); + (void)dl_private_init(aTHX); void * dl_load_file(filename,flags=0) @@ -114,8 +110,8 @@ dl_load_file(filename,flags=0) DLDEBUG(2,PerlIO_printf(Perl_debug_log," libref=%x\n", RETVAL)); ST(0) = sv_newmortal() ; if (RETVAL == NULL) - SaveError(aTHXo_ "load_file:%s", - OS_Error_String(aTHXo)) ; + SaveError(aTHX_ "load_file:%s", + OS_Error_String(aTHX)) ; else sv_setiv( ST(0), (IV)RETVAL); } @@ -131,8 +127,8 @@ dl_find_symbol(libhandle, symbolname) DLDEBUG(2,PerlIO_printf(Perl_debug_log," symbolref = %x\n", RETVAL)); ST(0) = sv_newmortal() ; if (RETVAL == NULL) - SaveError(aTHXo_ "find_symbol:%s", - OS_Error_String(aTHXo)) ; + SaveError(aTHX_ "find_symbol:%s", + OS_Error_String(aTHX)) ; else sv_setiv( ST(0), (IV)RETVAL); @@ -154,7 +150,7 @@ dl_install_xsub(perl_name, symref, filename="$Package") DLDEBUG(2,PerlIO_printf(Perl_debug_log,"dl_install_xsub(name=%s, symref=%x)\n", perl_name, symref)); ST(0) = sv_2mortal(newRV((SV*)newXS(perl_name, - (void(*)(pTHXo_ CV *))symref, + (void(*)(pTHX_ CV *))symref, filename))); diff --git a/wince/perllib.c b/wince/perllib.c index 931a362..3d4d37e 100644 --- a/wince/perllib.c +++ b/wince/perllib.c @@ -3,10 +3,6 @@ #include "EXTERN.h" #include "perl.h" -#ifdef PERL_OBJECT -#define NO_XSLOCKS -#endif - #include "XSUB.h" #ifdef PERL_IMPLICIT_SYS @@ -21,10 +17,10 @@ char *staticlinkmodules[] = { NULL, }; -EXTERN_C void boot_DynaLoader (pTHXo_ CV* cv); +EXTERN_C void boot_DynaLoader (pTHX_ CV* cv); static void -xs_init(pTHXo) +xs_init(pTHX) { char *file = __FILE__; dXSUB_SYS; @@ -106,9 +102,6 @@ perl_alloc_override(struct IPerlMem** ppMem, struct IPerlMem** ppMemShared, pHost->m_pHostperlSock, pHost->m_pHostperlProc); if (my_perl) { -#ifdef PERL_OBJECT - CPerlObj* pPerl = (CPerlObj*)my_perl; -#endif w32_internal_host = pHost; } } @@ -131,9 +124,6 @@ perl_alloc(void) pHost->m_pHostperlSock, pHost->m_pHostperlProc); if (my_perl) { -#ifdef PERL_OBJECT - CPerlObj* pPerl = (CPerlObj*)my_perl; -#endif w32_internal_host = pHost; } } @@ -147,108 +137,6 @@ win32_delete_internal_host(void *h) delete host; } -#ifdef PERL_OBJECT - -EXTERN_C void -perl_construct(PerlInterpreter* my_perl) -{ - CPerlObj* pPerl = (CPerlObj*)my_perl; - try - { - Perl_construct(); - } - catch(...) - { - win32_fprintf(stderr, "%s\n", - "Error: Unable to construct data structures"); - perl_free(my_perl); - } -} - -EXTERN_C void -perl_destruct(PerlInterpreter* my_perl) -{ - CPerlObj* pPerl = (CPerlObj*)my_perl; -#ifdef DEBUGGING - Perl_destruct(); -#else - try - { - Perl_destruct(); - } - catch(...) - { - } -#endif -} - -EXTERN_C void -perl_free(PerlInterpreter* my_perl) -{ - CPerlObj* pPerl = (CPerlObj*)my_perl; - void *host = w32_internal_host; -#ifdef DEBUGGING - Perl_free(); -#else - try - { - Perl_free(); - } - catch(...) - { - } -#endif - win32_delete_internal_host(host); - PERL_SET_THX(NULL); -} - -EXTERN_C int -perl_run(PerlInterpreter* my_perl) -{ - CPerlObj* pPerl = (CPerlObj*)my_perl; - int retVal; -#ifdef DEBUGGING - retVal = Perl_run(); -#else - try - { - retVal = Perl_run(); - } - catch(...) - { - win32_fprintf(stderr, "Error: Runtime exception\n"); - retVal = -1; - } -#endif - return retVal; -} - -EXTERN_C int -perl_parse(PerlInterpreter* my_perl, void (*xsinit)(CPerlObj*), int argc, char** argv, char** env) -{ - int retVal; - CPerlObj* pPerl = (CPerlObj*)my_perl; -#ifdef DEBUGGING - retVal = Perl_parse(xsinit, argc, argv, env); -#else - try - { - retVal = Perl_parse(xsinit, argc, argv, env); - } - catch(...) - { - win32_fprintf(stderr, "Error: Parse exception\n"); - retVal = -1; - } -#endif - *win32_errno() = 0; - return retVal; -} - -#undef PL_perl_destruct_level -#define PL_perl_destruct_level int dummy - -#endif /* PERL_OBJECT */ #endif /* PERL_IMPLICIT_SYS */ EXTERN_C HANDLE w32_perldll_handle; @@ -293,23 +181,7 @@ RunPerl(int argc, char **argv, char **env) exitstatus = perl_parse(my_perl, xs_init, argc, argv, env); if (!exitstatus) { #if defined(TOP_CLONE) && defined(USE_ITHREADS) /* XXXXXX testing */ -# ifdef PERL_OBJECT - CPerlHost *h = new CPerlHost(); - new_perl = perl_clone_using(my_perl, 1, - h->m_pHostperlMem, - h->m_pHostperlMemShared, - h->m_pHostperlMemParse, - h->m_pHostperlEnv, - h->m_pHostperlStdIO, - h->m_pHostperlLIO, - h->m_pHostperlDir, - h->m_pHostperlSock, - h->m_pHostperlProc - ); - CPerlObj *pPerl = (CPerlObj*)new_perl; -# else new_perl = perl_clone(my_perl, 1); -# endif exitstatus = perl_run(new_perl); PERL_SET_THX(my_perl); #else diff --git a/wince/win32.h b/wince/win32.h index a6544c6..c9c3a03 100644 --- a/wince/win32.h +++ b/wince/win32.h @@ -16,7 +16,7 @@ # define _WIN32_WINNT 0x0400 /* needed for TryEnterCriticalSection() etc. */ #endif -#if defined(PERL_OBJECT) || defined(PERL_IMPLICIT_SYS) || defined(PERL_CAPI) +#if defined(PERL_IMPLICIT_SYS) # define DYNAMIC_ENV_FETCH # define ENV_HV_NAME "___ENV_HV_NAME___" # define HAS_GETENV_LEN @@ -46,16 +46,12 @@ /* now even GCC supports __declspec() */ -#if defined(PERL_OBJECT) -#define DllExport -#else #if defined(PERLDLL) || defined(WIN95FIX) #define DllExport /*#define DllExport __declspec(dllexport)*/ /* noises with VC5+sp3 */ #else #define DllExport __declspec(dllimport) #endif -#endif #define WIN32_LEAN_AND_MEAN #include @@ -186,11 +182,6 @@ struct utsname { #pragma warn -pro /* "call to function with no prototype" */ #pragma warn -stu /* "undefined structure 'foo'" */ -/* Borland is picky about a bare member function name used as its ptr */ -#ifdef PERL_OBJECT -# define MEMBER_TO_FPTR(name) &(name) -#endif - /* Borland C thinks that a pointer to a member variable is 12 bytes in size. */ #define PERL_MEMBER_PTR_SIZE 12 @@ -220,10 +211,6 @@ typedef long gid_t; #define flushall _flushall #define fcloseall _fcloseall -#ifdef PERL_OBJECT -# define MEMBER_TO_FPTR(name) &(name) -#endif - #ifndef _O_NOINHERIT # define _O_NOINHERIT 0x0080 # ifndef _NO_OLDNAMES @@ -240,46 +227,6 @@ typedef long gid_t; /* compatibility stuff for other compilers goes here */ - -#if !defined(PERL_OBJECT) && defined(PERL_CAPI) && defined(PERL_MEMBER_PTR_SIZE) -# define STRUCT_MGVTBL_DEFINITION \ -struct mgvtbl { \ - union { \ - int (CPERLscope(*svt_get))(pTHX_ SV *sv, MAGIC* mg); \ - char handle_VC_problem1[PERL_MEMBER_PTR_SIZE]; \ - }; \ - union { \ - int (CPERLscope(*svt_set))(pTHX_ SV *sv, MAGIC* mg); \ - char handle_VC_problem2[PERL_MEMBER_PTR_SIZE]; \ - }; \ - union { \ - U32 (CPERLscope(*svt_len))(pTHX_ SV *sv, MAGIC* mg); \ - char handle_VC_problem3[PERL_MEMBER_PTR_SIZE]; \ - }; \ - union { \ - int (CPERLscope(*svt_clear))(pTHX_ SV *sv, MAGIC* mg); \ - char handle_VC_problem4[PERL_MEMBER_PTR_SIZE]; \ - }; \ - union { \ - int (CPERLscope(*svt_free))(pTHX_ SV *sv, MAGIC* mg); \ - char handle_VC_problem5[PERL_MEMBER_PTR_SIZE]; \ - }; \ -} - -# define BASEOP_DEFINITION \ - OP* op_next; \ - OP* op_sibling; \ - OP* (CPERLscope(*op_ppaddr))(pTHX); \ - char handle_VC_problem[PERL_MEMBER_PTR_SIZE-sizeof(OP*)]; \ - PADOFFSET op_targ; \ - OPCODE op_type; \ - U16 op_seq; \ - U8 op_flags; \ - U8 op_private; - -#endif /* !PERL_OBJECT && PERL_CAPI && PERL_MEMBER_PTR_SIZE */ - - START_EXTERN_C #undef Stat diff --git a/wince/win32thread.c b/wince/win32thread.c index 51b33d5..a94ffa4 100644 --- a/wince/win32thread.c +++ b/wince/win32thread.c @@ -3,12 +3,6 @@ #include "EXTERN.h" #include "perl.h" -#if defined(PERL_OBJECT) -#define NO_XSLOCKS -extern CPerlObj* pPerl; -#include "XSUB.h" -#endif - #ifdef USE_DECLSPEC_THREAD __declspec(thread) void *PL_current_context = NULL; #endif diff --git a/wince/wince.c b/wince/wince.c index c2cda81..e9c9c8c 100644 --- a/wince/wince.c +++ b/wince/wince.c @@ -60,13 +60,6 @@ # define getlogin g_getlogin #endif -#if defined(PERL_OBJECT) -# undef do_aspawn -# define do_aspawn g_do_aspawn -# undef Perl_do_exec -# define Perl_do_exec g_do_exec -#endif - static long filetime_to_clock(PFILETIME ft); static BOOL filetime_from_time(PFILETIME ft, time_t t); static char * get_emd_part(SV **leading, char *trailing, ...); @@ -132,7 +125,7 @@ get_regstr_from(HKEY hkey, const char *valuename, SV **svp) DWORD datalen; retval = XCERegQueryValueExA(handle, valuename, 0, &type, NULL, &datalen); if (retval == ERROR_SUCCESS && type == REG_SZ) { - dTHXo; + dTHX; if (!*svp) *svp = sv_2mortal(newSVpvn("",0)); SvGROW(*svp, datalen); @@ -212,7 +205,7 @@ get_emd_part(SV **prev_pathp, char *trailing_path, ...) /* only add directory if it exists */ if (XCEGetFileAttributesA(mod_name) != (DWORD) -1) { /* directory exists */ - dTHXo; + dTHX; if (!*prev_pathp) *prev_pathp = sv_2mortal(newSVpvn("",0)); sv_catpvn(*prev_pathp, ";", 1); @@ -226,7 +219,7 @@ get_emd_part(SV **prev_pathp, char *trailing_path, ...) char * win32_get_privlib(const char *pl) { - dTHXo; + dTHX; char *stdlib = "lib"; char buffer[MAX_PATH+1]; SV *sv = Nullsv; @@ -243,7 +236,7 @@ win32_get_privlib(const char *pl) static char * win32_get_xlib(const char *pl, const char *xlib, const char *libname) { - dTHXo; + dTHX; char regstr[40]; char pathstr[MAX_PATH+1]; DWORD datalen; @@ -589,23 +582,19 @@ win32_uname(struct utsname *name) return 0; } -#ifndef PERL_OBJECT - static UINT timerid = 0; static VOID CALLBACK TimerProc(HWND win, UINT msg, UINT id, DWORD time) { - dTHXo; + dTHX; KillTimer(NULL,timerid); timerid=0; sighandler(14); } -#endif /* !PERL_OBJECT */ DllExport unsigned int win32_alarm(unsigned int sec) { -#ifndef PERL_OBJECT /* * the 'obvious' implentation is SetTimer() with a callback * which does whatever receiving SIGALRM would do @@ -615,7 +604,7 @@ win32_alarm(unsigned int sec) * Snag is unless something is looking at the message queue * nothing happens :-( */ - dTHXo; + dTHX; if (sec) { timerid = SetTimer(NULL,timerid,sec*1000,(TIMERPROC)TimerProc); @@ -630,7 +619,6 @@ win32_alarm(unsigned int sec) timerid=0; } } -#endif /* !PERL_OBJECT */ return 0; } @@ -641,7 +629,7 @@ extern char * des_fcrypt(const char *txt, const char *salt, char *cbuf); DllExport char * win32_crypt(const char *txt, const char *salt) { - dTHXo; + dTHX; #ifdef HAVE_DES_FCRYPT dTHR; return des_fcrypt(txt, salt, w32_crypt_buffer); @@ -756,7 +744,7 @@ win32_strerror(int e) DllExport void win32_str_os_error(void *sv, DWORD dwErr) { - dTHXo; + dTHX; sv_setpvn((SV*)sv, "Error", 5); } @@ -1237,7 +1225,7 @@ win32_execvp(const char *cmdname, const char *const *argv) DllExport void* win32_dynaload(const char* filename) { - dTHXo; + dTHX; HMODULE hModule; hModule = XCELoadLibraryA(filename); @@ -1466,7 +1454,7 @@ XS(w32_ShellEx) void Perl_init_os_extras(void) { - dTHXo; + dTHX; char *file = __FILE__; dXSUB_SYS; @@ -1571,11 +1559,6 @@ wce_hitreturn() ////////////////////////////////////////////////////////////////////// -#ifdef PERL_OBJECT -# undef this -# define this pPerl -#endif - void win32_argv2utf8(int argc, char** argv) { diff --git a/wince/wincesck.c b/wince/wincesck.c index 64a1cab..beb7489 100644 --- a/wince/wincesck.c +++ b/wince/wincesck.c @@ -28,11 +28,6 @@ #include "EXTERN.h" #include "perl.h" -#if defined(PERL_OBJECT) -#define NO_XSLOCKS -#include "XSUB.h" -#endif - #include "Win32iop.h" #include @@ -103,7 +98,7 @@ static int wsock_started = 0; void start_sockets(void) { - dTHXo; + dTHX; unsigned short version; WSADATA retdata; int ret; @@ -329,7 +324,7 @@ win32_getprotobynumber(int num) struct servent * win32_getservbyname(const char *name, const char *proto) { - dTHXo; + dTHX; struct servent *r; SOCKET_TEST(r = getservbyname(name, proto), NULL); @@ -342,7 +337,7 @@ win32_getservbyname(const char *name, const char *proto) struct servent * win32_getservbyport(int port, const char *proto) { - dTHXo; + dTHX; struct servent *r; SOCKET_TEST(r = getservbyport(port, proto), NULL); @@ -355,7 +350,7 @@ win32_getservbyport(int port, const char *proto) int win32_ioctl(int i, unsigned int u, char *data) { - dTHXo; + dTHX; u_long argp = (u_long)data; int retval; @@ -396,28 +391,28 @@ win32_inet_addr(const char FAR *cp) void win32_endhostent() { - dTHXo; + dTHX; Perl_croak_nocontext("endhostent not implemented!\n"); } void win32_endnetent() { - dTHXo; + dTHX; Perl_croak_nocontext("endnetent not implemented!\n"); } void win32_endprotoent() { - dTHXo; + dTHX; Perl_croak_nocontext("endprotoent not implemented!\n"); } void win32_endservent() { - dTHXo; + dTHX; Perl_croak_nocontext("endservent not implemented!\n"); } @@ -425,7 +420,7 @@ win32_endservent() struct netent * win32_getnetent(void) { - dTHXo; + dTHX; Perl_croak_nocontext("getnetent not implemented!\n"); return (struct netent *) NULL; } @@ -433,7 +428,7 @@ win32_getnetent(void) struct netent * win32_getnetbyname(char *name) { - dTHXo; + dTHX; Perl_croak_nocontext("getnetbyname not implemented!\n"); return (struct netent *)NULL; } @@ -441,7 +436,7 @@ win32_getnetbyname(char *name) struct netent * win32_getnetbyaddr(long net, int type) { - dTHXo; + dTHX; Perl_croak_nocontext("getnetbyaddr not implemented!\n"); return (struct netent *)NULL; } @@ -449,7 +444,7 @@ win32_getnetbyaddr(long net, int type) struct protoent * win32_getprotoent(void) { - dTHXo; + dTHX; Perl_croak_nocontext("getprotoent not implemented!\n"); return (struct protoent *) NULL; } @@ -457,7 +452,7 @@ win32_getprotoent(void) struct servent * win32_getservent(void) { - dTHXo; + dTHX; Perl_croak_nocontext("getservent not implemented!\n"); return (struct servent *) NULL; } @@ -465,7 +460,7 @@ win32_getservent(void) void win32_sethostent(int stayopen) { - dTHXo; + dTHX; Perl_croak_nocontext("sethostent not implemented!\n"); } @@ -473,7 +468,7 @@ win32_sethostent(int stayopen) void win32_setnetent(int stayopen) { - dTHXo; + dTHX; Perl_croak_nocontext("setnetent not implemented!\n"); } @@ -481,7 +476,7 @@ win32_setnetent(int stayopen) void win32_setprotoent(int stayopen) { - dTHXo; + dTHX; Perl_croak_nocontext("setprotoent not implemented!\n"); } @@ -489,7 +484,7 @@ win32_setprotoent(int stayopen) void win32_setservent(int stayopen) { - dTHXo; + dTHX; Perl_croak_nocontext("setservent not implemented!\n"); } diff --git a/xsutils.c b/xsutils.c index 382befb..81bb2fc 100644 --- a/xsutils.c +++ b/xsutils.c @@ -7,12 +7,12 @@ */ /* package attributes; */ -void XS_attributes__warn_reserved(pTHXo_ CV *cv); -void XS_attributes_reftype(pTHXo_ CV *cv); -void XS_attributes__modify_attrs(pTHXo_ CV *cv); -void XS_attributes__guess_stash(pTHXo_ CV *cv); -void XS_attributes__fetch_attrs(pTHXo_ CV *cv); -void XS_attributes_bootstrap(pTHXo_ CV *cv); +void XS_attributes__warn_reserved(pTHX_ CV *cv); +void XS_attributes_reftype(pTHX_ CV *cv); +void XS_attributes__modify_attrs(pTHX_ CV *cv); +void XS_attributes__guess_stash(pTHX_ CV *cv); +void XS_attributes__fetch_attrs(pTHX_ CV *cv); +void XS_attributes_bootstrap(pTHX_ CV *cv); /* @@ -38,7 +38,7 @@ Perl_boot_core_xsutils(pTHX) #include "XSUB.h" static int -modify_SV_attributes(pTHXo_ SV *sv, SV **retlist, SV **attrlist, int numattrs) +modify_SV_attributes(pTHX_ SV *sv, SV **retlist, SV **attrlist, int numattrs) { SV *attr; char *name; @@ -155,7 +155,7 @@ usage: goto usage; sv = SvRV(rv); if (items > 1) - XSRETURN(modify_SV_attributes(aTHXo_ sv, &ST(0), &ST(1), items-1)); + XSRETURN(modify_SV_attributes(aTHX_ sv, &ST(0), &ST(1), items-1)); XSRETURN(0); } -- 1.8.3.1