summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--MANIFEST4
-rw-r--r--Makefile.SH9
-rw-r--r--av.c12
-rw-r--r--bytecode.h2
-rw-r--r--byterun.h2
-rw-r--r--cop.h4
-rw-r--r--doio.c8
-rw-r--r--doop.c2
-rw-r--r--dump.c4
-rw-r--r--embed.h1346
-rwxr-xr-xembed.pl291
-rw-r--r--embedvar.h22
-rw-r--r--ext/B/B.xs22
-rw-r--r--ext/POSIX/POSIX.xs2
-rw-r--r--ext/Thread/Thread.xs2
-rw-r--r--global.sym521
-rw-r--r--globals.c1414
-rw-r--r--globvar.sym68
-rw-r--r--gv.c28
-rw-r--r--malloc.c2
-rw-r--r--mg.c52
-rw-r--r--objXSUB.h12
-rw-r--r--objpp.h1611
-rw-r--r--op.c200
-rw-r--r--opcode.h410
-rwxr-xr-xopcode.pl63
-rw-r--r--perl.c17
-rw-r--r--perl.h261
-rw-r--r--perl_exp.SH8
-rw-r--r--perlvars.h6
-rw-r--r--perly.c22
-rw-r--r--pod/perlguts.pod2
-rw-r--r--pp.c31
-rw-r--r--pp.h5
-rw-r--r--pp.sym344
-rw-r--r--pp_ctl.c22
-rw-r--r--pp_hot.c28
-rw-r--r--pp_proto.h722
-rw-r--r--pp_sys.c172
-rw-r--r--proto.h53
-rw-r--r--regcomp.c64
-rw-r--r--regcomp.h12
-rw-r--r--regcomp.pl4
-rw-r--r--regcomp.sym8
-rw-r--r--regexec.c41
-rw-r--r--regnodes.h20
-rw-r--r--run.c19
-rw-r--r--scope.c6
-rw-r--r--sv.c112
-rw-r--r--t/op/filetest.t11
-rw-r--r--taint.c2
-rw-r--r--thrdvar.h5
-rw-r--r--thread.sym1
-rw-r--r--toke.c16
-rw-r--r--util.c63
-rw-r--r--win32/Makefile4
-rw-r--r--win32/config.bc3
-rw-r--r--win32/config.gc3
-rw-r--r--win32/config.vc3
-rw-r--r--win32/config_H.bc10
-rw-r--r--win32/config_H.gc12
-rw-r--r--win32/config_H.vc10
-rw-r--r--win32/makedef.pl51
-rw-r--r--win32/makefile.mk10
-rw-r--r--win32/perlhost.h12
65 files changed, 3039 insertions, 5269 deletions
diff --git a/MANIFEST b/MANIFEST
index a458adc5c8..c40608e661 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -346,6 +346,7 @@ fakethr.h Fake threads header
form.h Public declarations for the above
global.sym Symbols that need hiding when embedded
globals.c File to declare global symbols (for shared library)
+globvar.sym Global variables that need hiding when embedded
gv.c Glob value code
gv.h Glob value header
h2pl/README How to turn .ph files into .pl files
@@ -777,7 +778,6 @@ mpeix/relink MPE/iX port
mv-if-diff Script to mv a file if it changed
myconfig Prints summary of the current configuration
nostdio.h Cause compile error on stdio calls
-objpp.h Scoping macros for Perl Object
op.c Opcode syntax tree code
op.h Opcode syntax tree header
opcode.h Automatically generated opcode header
@@ -920,6 +920,7 @@ pod/splitman Splits perlfunc into multiple man pages
pod/splitpod Splits perlfunc into multiple pod pages
pp.c Push/Pop code
pp.h Push/Pop code defs
+pp.sym Push/Pop code symbols
pp_ctl.c Push/Pop code for control flow
pp_hot.c Push/Pop code for heavily used opcodes
pp_proto.h C++ definitions for Push/Pop code
@@ -1165,7 +1166,6 @@ t/pragma/warning.t See if warning controls work
taint.c Tainting code
thrdvar.h Per-thread variables
thread.h Threading header
-thread.sym Symbols for threads
toke.c The tokener
universal.c The default UNIVERSAL package methods
unixish.h Defines that are assumed on Unix
diff --git a/Makefile.SH b/Makefile.SH
index 13f553da62..3660bf5e02 100644
--- a/Makefile.SH
+++ b/Makefile.SH
@@ -451,14 +451,17 @@ perly.h: perly.y
# No compat3.sym here since and including the 5.004_50.
# No interp.sym since 5.005_03.
-SYM = global.sym perlio.sym thread.sym
+SYM = global.sym globvar.sym perlio.sym pp.sym
-SYMH = perlvars.h thrdvar.h
+SYMH = perlvars.h intrpvar.h thrdvar.h
# The following files are generated automatically
# keywords.h: keywords.pl
# opcode.h: opcode.pl
-# embed.h: embed.pl global.sym interp.sym
+# pp_proto.h: opcode.pl
+# pp.sym: opcode.pl
+# embed.h: embed.pl [* needs pp.sym generated by opcode.pl! *]
+# embedvar.h: embed.pl [* needs pp.sym generated by opcode.pl! *]
# byterun.h: bytecode.pl
# byterun.c: bytecode.pl
# lib/B/Asmdata.pm: bytecode.pl
diff --git a/av.c b/av.c
index f3c69e76ce..3f288f3805 100644
--- a/av.c
+++ b/av.c
@@ -217,7 +217,7 @@ av_store(register AV *av, I32 key, SV *val)
}
if (SvREADONLY(av) && key >= AvFILL(av))
- croak(no_modify);
+ croak(PL_no_modify);
if (SvRMAGICAL(av)) {
if (mg_find((SV*)av,'P')) {
@@ -336,7 +336,7 @@ av_clear(register AV *av)
/*SUPPRESS 560*/
if (SvREADONLY(av))
- croak(no_modify);
+ croak(PL_no_modify);
/* Give any tie a chance to cleanup first */
if (SvRMAGICAL(av))
@@ -396,7 +396,7 @@ av_push(register AV *av, SV *val)
if (!av)
return;
if (SvREADONLY(av))
- croak(no_modify);
+ croak(PL_no_modify);
if (mg = SvTIED_mg((SV*)av, 'P')) {
dSP;
@@ -424,7 +424,7 @@ av_pop(register AV *av)
if (!av || AvFILL(av) < 0)
return &PL_sv_undef;
if (SvREADONLY(av))
- croak(no_modify);
+ croak(PL_no_modify);
if (mg = SvTIED_mg((SV*)av, 'P')) {
dSP;
PUSHSTACKi(PERLSI_MAGIC);
@@ -458,7 +458,7 @@ av_unshift(register AV *av, register I32 num)
if (!av || num <= 0)
return;
if (SvREADONLY(av))
- croak(no_modify);
+ croak(PL_no_modify);
if (mg = SvTIED_mg((SV*)av, 'P')) {
dSP;
@@ -510,7 +510,7 @@ av_shift(register AV *av)
if (!av || AvFILL(av) < 0)
return &PL_sv_undef;
if (SvREADONLY(av))
- croak(no_modify);
+ croak(PL_no_modify);
if (mg = SvTIED_mg((SV*)av, 'P')) {
dSP;
PUSHSTACKi(PERLSI_MAGIC);
diff --git a/bytecode.h b/bytecode.h
index e28dd434f2..fadc28f0b9 100644
--- a/bytecode.h
+++ b/bytecode.h
@@ -151,7 +151,7 @@ typedef IV IV64;
o->op_type = arg; \
if (arg == OP_MAPSTART) \
arg = OP_GREPSTART; \
- o->op_ppaddr = ppaddr[arg]; \
+ o->op_ppaddr = PL_ppaddr[arg]; \
} STMT_END
#define BSET_op_ppaddr(o, arg) croak("op_ppaddr not yet implemented")
#define BSET_curpad(pad, arg) pad = AvARRAY(arg)
diff --git a/byterun.h b/byterun.h
index bd54c76e76..6e559ef4ff 100644
--- a/byterun.h
+++ b/byterun.h
@@ -17,7 +17,9 @@ struct bytestream {
};
#endif /* INDIRECT_BGET_MACROS */
+#ifndef PERL_OBJECT
void *bset_obj_store _((void *, I32));
+#endif
enum {
INSN_RET, /* 0 */
diff --git a/cop.h b/cop.h
index 1aa21d56ae..69bc1ac610 100644
--- a/cop.h
+++ b/cop.h
@@ -187,7 +187,7 @@ struct block {
cx->blk_oldpm = PL_curpm, \
cx->blk_gimme = gimme; \
DEBUG_l( PerlIO_printf(PerlIO_stderr(), "Entering block %ld, type %s\n", \
- (long)cxstack_ix, block_type[t]); )
+ (long)cxstack_ix, PL_block_type[t]); )
/* Exit a block (RETURN and LAST). */
#define POPBLOCK(cx,pm) cx = &cxstack[cxstack_ix--], \
@@ -199,7 +199,7 @@ struct block {
pm = cx->blk_oldpm, \
gimme = cx->blk_gimme; \
DEBUG_l( PerlIO_printf(PerlIO_stderr(), "Leaving block %ld, type %s\n", \
- (long)cxstack_ix+1,block_type[CxTYPE(cx)]); )
+ (long)cxstack_ix+1,PL_block_type[CxTYPE(cx)]); )
/* Continue a block elsewhere (NEXT and REDO). */
#define TOPBLOCK(cx) cx = &cxstack[cxstack_ix], \
diff --git a/doio.c b/doio.c
index 485dfaa91d..6dc113bb53 100644
--- a/doio.c
+++ b/doio.c
@@ -306,7 +306,7 @@ do_open(GV *gv, register char *name, I32 len, int as_raw, int rawmode, int rawpe
if (!fp) {
dTHR;
if (ckWARN(WARN_NEWLINE) && IoTYPE(io) == '<' && strchr(name, '\n'))
- warner(WARN_NEWLINE, warn_nl, "open");
+ warner(WARN_NEWLINE, PL_warn_nl, "open");
goto say_false;
}
if (IoTYPE(io) &&
@@ -889,7 +889,7 @@ do_print(register SV *sv, PerlIO *fp)
{
dTHR;
if (ckWARN(WARN_UNINITIALIZED))
- warner(WARN_UNINITIALIZED, warn_uninit);
+ warner(WARN_UNINITIALIZED, PL_warn_uninit);
}
return TRUE;
case SVt_IV:
@@ -957,7 +957,7 @@ my_stat(ARGSproto)
PL_laststype = OP_STAT;
PL_laststatval = PerlLIO_stat(s, &PL_statcache);
if (PL_laststatval < 0 && ckWARN(WARN_NEWLINE) && strchr(s, '\n'))
- warner(WARN_NEWLINE, warn_nl, "stat");
+ warner(WARN_NEWLINE, PL_warn_nl, "stat");
return PL_laststatval;
}
}
@@ -988,7 +988,7 @@ my_lstat(ARGSproto)
PL_laststatval = PerlLIO_stat(SvPV(sv, PL_na),&PL_statcache);
#endif
if (PL_laststatval < 0 && ckWARN(WARN_NEWLINE) && strchr(SvPV(sv, PL_na), '\n'))
- warner(WARN_NEWLINE, warn_nl, "lstat");
+ warner(WARN_NEWLINE, PL_warn_nl, "lstat");
return PL_laststatval;
}
diff --git a/doop.c b/doop.c
index c988bff2aa..b88be261ad 100644
--- a/doop.c
+++ b/doop.c
@@ -597,7 +597,7 @@ do_trans(SV *sv)
STRLEN len;
if (SvREADONLY(sv) && !(PL_op->op_private & OPpTRANS_IDENTICAL))
- croak(no_modify);
+ croak(PL_no_modify);
(void)SvPV(sv, len);
if (!len)
diff --git a/dump.c b/dump.c
index b1e984bcad..8b73a9aaed 100644
--- a/dump.c
+++ b/dump.c
@@ -110,7 +110,7 @@ dump_op(OP *o)
PerlIO_printf(Perl_debug_log, "%-4d", o->op_seq);
else
PerlIO_printf(Perl_debug_log, " ");
- dump("TYPE = %s ===> ", op_name[o->op_type]);
+ dump("TYPE = %s ===> ", PL_op_name[o->op_type]);
if (o->op_next) {
if (o->op_seq)
PerlIO_printf(Perl_debug_log, "%d\n", o->op_next->op_seq);
@@ -122,7 +122,7 @@ dump_op(OP *o)
PL_dumplvl++;
if (o->op_targ) {
if (o->op_type == OP_NULL)
- dump(" (was %s)\n", op_name[o->op_targ]);
+ dump(" (was %s)\n", PL_op_name[o->op_targ]);
else
dump("TARG = %d\n", o->op_targ);
}
diff --git a/embed.h b/embed.h
index a04f5c64ee..d3b770f9f4 100644
--- a/embed.h
+++ b/embed.h
@@ -1,37 +1,22 @@
/* !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
- This file is built by embed.pl from global.sym, intrpvar.h,
+ This file is built by embed.pl from global.sym, pp.sym, intrpvar.h,
and thrdvar.h. Any changes made here will be lost!
*/
/* (Doing namespace management portably in C is really gross.) */
-/* EMBED has no run-time penalty, but helps keep the Perl namespace
- from colliding with that used by other libraries pulled in
- by extensions or by embedding perl. Allow a cc -DNO_EMBED
- override, however, to keep binary compatability with previous
- versions of perl.
-*/
-#ifndef NO_EMBED
-# define EMBED 1
-#endif
+/* NO_EMBED is no longer supported. i.e. EMBED is always active. */
-/* Hide global symbols? */
+/* Hide global symbols */
-#ifdef EMBED
+#if !defined(PERL_OBJECT)
-#define AMG_names Perl_AMG_names
-#define Error Perl_Error
#define Gv_AMupdate Perl_Gv_AMupdate
-#define abs_amg Perl_abs_amg
-#define add_amg Perl_add_amg
-#define add_ass_amg Perl_add_ass_amg
-#define additem Perl_additem
#define amagic_call Perl_amagic_call
#define append_elem Perl_append_elem
#define append_list Perl_append_list
#define apply Perl_apply
#define assertref Perl_assertref
-#define atan2_amg Perl_atan2_amg
#define av_clear Perl_av_clear
#define av_extend Perl_av_extend
#define av_fake Perl_av_fake
@@ -51,22 +36,19 @@
#define avhv_iternext Perl_avhv_iternext
#define avhv_iterval Perl_avhv_iterval
#define avhv_keys Perl_avhv_keys
-#define band_amg Perl_band_amg
#define bind_match Perl_bind_match
#define block_end Perl_block_end
#define block_gimme Perl_block_gimme
#define block_start Perl_block_start
-#define block_type Perl_block_type
-#define bool__amg Perl_bool__amg
#define boot_core_UNIVERSAL Perl_boot_core_UNIVERSAL
-#define bor_amg Perl_bor_amg
#define bset_obj_store Perl_bset_obj_store
-#define bxor_amg Perl_bxor_amg
#define byterun Perl_byterun
#define call_list Perl_call_list
#define cando Perl_cando
+#define cast_i32 Perl_cast_i32
+#define cast_iv Perl_cast_iv
#define cast_ulong Perl_cast_ulong
-#define check Perl_check
+#define cast_uv Perl_cast_uv
#define check_uni Perl_check_uni
#define checkcomma Perl_checkcomma
#define ck_aelem Perl_ck_aelem
@@ -83,7 +65,6 @@
#define ck_fun_locale Perl_ck_fun_locale
#define ck_glob Perl_ck_glob
#define ck_grep Perl_ck_grep
-#define ck_gvconst Perl_ck_gvconst
#define ck_index Perl_ck_index
#define ck_lengthconst Perl_ck_lengthconst
#define ck_lfun Perl_ck_lfun
@@ -92,7 +73,6 @@
#define ck_null Perl_ck_null
#define ck_repeat Perl_ck_repeat
#define ck_require Perl_ck_require
-#define ck_retarget Perl_ck_retarget
#define ck_rfun Perl_ck_rfun
#define ck_rvconst Perl_ck_rvconst
#define ck_scmp Perl_ck_scmp
@@ -104,12 +84,8 @@
#define ck_subr Perl_ck_subr
#define ck_svconst Perl_ck_svconst
#define ck_trunc Perl_ck_trunc
-#define compl_amg Perl_compl_amg
-#define concat_amg Perl_concat_amg
-#define concat_ass_amg Perl_concat_ass_amg
#define condpair_magic Perl_condpair_magic
#define convert Perl_convert
-#define cos_amg Perl_cos_amg
#define croak Perl_croak
#define cv_ckproto Perl_cv_ckproto
#define cv_clone Perl_cv_clone
@@ -117,21 +93,16 @@
#define cv_undef Perl_cv_undef
#define cx_dump Perl_cx_dump
#define cxinc Perl_cxinc
-#define dc Perl_dc
#define deb Perl_deb
#define deb_growlevel Perl_deb_growlevel
#define debop Perl_debop
#define debprofdump Perl_debprofdump
#define debstack Perl_debstack
#define debstackptrs Perl_debstackptrs
-#define dec_amg Perl_dec_amg
#define delimcpy Perl_delimcpy
#define deprecate Perl_deprecate
-#define di Perl_di
#define die Perl_die
#define die_where Perl_die_where
-#define div_amg Perl_div_amg
-#define div_ass_amg Perl_div_ass_amg
#define do_aexec Perl_do_aexec
#define do_binmode Perl_do_binmode
#define do_chomp Perl_do_chomp
@@ -164,7 +135,6 @@
#define dopoptoeval Perl_dopoptoeval
#define dounwind Perl_dounwind
#define dowantarray Perl_dowantarray
-#define ds Perl_ds
#define dump_all Perl_dump_all
#define dump_eval Perl_dump_eval
#define dump_fds Perl_dump_fds
@@ -175,10 +145,6 @@
#define dump_packsubs Perl_dump_packsubs
#define dump_pm Perl_dump_pm
#define dump_sub Perl_dump_sub
-#define eq_amg Perl_eq_amg
-#define exp_amg Perl_exp_amg
-#define expectterm Perl_expectterm
-#define fallback_amg Perl_fallback_amg
#define fbm_compile Perl_fbm_compile
#define fbm_instr Perl_fbm_instr
#define fetch_gv Perl_fetch_gv
@@ -188,17 +154,13 @@
#define filter_read Perl_filter_read
#define find_script Perl_find_script
#define find_threadsv Perl_find_threadsv
-#define fold Perl_fold
#define fold_constants Perl_fold_constants
-#define fold_locale Perl_fold_locale
#define force_ident Perl_force_ident
#define force_list Perl_force_list
#define force_next Perl_force_next
#define force_word Perl_force_word
#define form Perl_form
#define free_tmps Perl_free_tmps
-#define freq Perl_freq
-#define ge_amg Perl_ge_amg
#define gen_constant_list Perl_gen_constant_list
#define get_no_modify Perl_get_no_modify
#define get_op_descs Perl_get_op_descs
@@ -207,7 +169,6 @@
#define get_specialsv_list Perl_get_specialsv_list
#define gp_free Perl_gp_free
#define gp_ref Perl_gp_ref
-#define gt_amg Perl_gt_amg
#define gv_AVadd Perl_gv_AVadd
#define gv_HVadd Perl_gv_HVadd
#define gv_IOadd Perl_gv_IOadd
@@ -249,7 +210,6 @@
#define hv_undef Perl_hv_undef
#define ibcmp Perl_ibcmp
#define ibcmp_locale Perl_ibcmp_locale
-#define inc_amg Perl_inc_amg
#define ingroup Perl_ingroup
#define init_stacks Perl_init_stacks
#define init_thread_intern Perl_init_thread_intern
@@ -285,8 +245,6 @@
#define is_utf8_upper Perl_is_utf8_upper
#define jmaybe Perl_jmaybe
#define keyword Perl_keyword
-#define know_next Perl_know_next
-#define le_amg Perl_le_amg
#define leave_scope Perl_leave_scope
#define lex_end Perl_lex_end
#define lex_start Perl_lex_start
@@ -294,11 +252,7 @@
#define list Perl_list
#define listkids Perl_listkids
#define localize Perl_localize
-#define log_amg Perl_log_amg
#define looks_like_number Perl_looks_like_number
-#define lshift_amg Perl_lshift_amg
-#define lshift_ass_amg Perl_lshift_ass_amg
-#define lt_amg Perl_lt_amg
#define magic_clear_all_env Perl_magic_clear_all_env
#define magic_clearenv Perl_magic_clearenv
#define magic_clearpack Perl_magic_clearpack
@@ -360,13 +314,9 @@
#define mg_set Perl_mg_set
#define mg_size Perl_mg_size
#define mod Perl_mod
-#define mod_amg Perl_mod_amg
-#define mod_ass_amg Perl_mod_ass_amg
#define modkids Perl_modkids
#define moreswitches Perl_moreswitches
#define mstats Perl_mstats
-#define mult_amg Perl_mult_amg
-#define mult_ass_amg Perl_mult_ass_amg
#define my Perl_my
#define my_bcopy Perl_my_bcopy
#define my_bzero Perl_my_bzero
@@ -384,9 +334,6 @@
#define my_stat Perl_my_stat
#define my_swap Perl_my_swap
#define my_unexec Perl_my_unexec
-#define ncmp_amg Perl_ncmp_amg
-#define ne_amg Perl_ne_amg
-#define neg_amg Perl_neg_amg
#define newANONHASH Perl_newANONHASH
#define newANONLIST Perl_newANONLIST
#define newANONSUB Perl_newANONSUB
@@ -439,33 +386,13 @@
#define new_struct_thread Perl_new_struct_thread
#define nextargv Perl_nextargv
#define ninstr Perl_ninstr
-#define no_aelem Perl_no_aelem
-#define no_dir_func Perl_no_dir_func
#define no_fh_allowed Perl_no_fh_allowed
-#define no_func Perl_no_func
-#define no_helem Perl_no_helem
-#define no_mem Perl_no_mem
-#define no_modify Perl_no_modify
-#define no_myglob Perl_no_myglob
#define no_op Perl_no_op
-#define no_security Perl_no_security
-#define no_sock_func Perl_no_sock_func
-#define no_symref Perl_no_symref
-#define no_usym Perl_no_usym
-#define no_wrongref Perl_no_wrongref
-#define nointrp Perl_nointrp
-#define nomem Perl_nomem
-#define nomethod_amg Perl_nomethod_amg
-#define not_amg Perl_not_amg
-#define numer_amg Perl_numer_amg
#define oopsAV Perl_oopsAV
#define oopsCV Perl_oopsCV
#define oopsHV Perl_oopsHV
#define op_const_sv Perl_op_const_sv
-#define op_desc Perl_op_desc
#define op_free Perl_op_free
-#define op_name Perl_op_name
-#define opargs Perl_opargs
#define package Perl_package
#define pad_alloc Perl_pad_alloc
#define pad_allocmy Perl_pad_allocmy
@@ -482,8 +409,6 @@
#define pmtrans Perl_pmtrans
#define pop_return Perl_pop_return
#define pop_scope Perl_pop_scope
-#define pow_amg Perl_pow_amg
-#define pow_ass_amg Perl_pow_ass_amg
#define pp_aassign Perl_pp_aassign
#define pp_abs Perl_pp_abs
#define pp_accept Perl_pp_accept
@@ -523,7 +448,6 @@
#define pp_const Perl_pp_const
#define pp_cos Perl_pp_cos
#define pp_crypt Perl_pp_crypt
-#define pp_cswitch Perl_pp_cswitch
#define pp_dbmclose Perl_pp_dbmclose
#define pp_dbmopen Perl_pp_dbmopen
#define pp_dbstate Perl_pp_dbstate
@@ -542,7 +466,6 @@
#define pp_enteriter Perl_pp_enteriter
#define pp_enterloop Perl_pp_enterloop
#define pp_entersub Perl_pp_entersub
-#define pp_entersubr Perl_pp_entersubr
#define pp_entertry Perl_pp_entertry
#define pp_enterwrite Perl_pp_enterwrite
#define pp_eof Perl_pp_eof
@@ -550,7 +473,6 @@
#define pp_epwent Perl_pp_epwent
#define pp_eq Perl_pp_eq
#define pp_eservent Perl_pp_eservent
-#define pp_evalonce Perl_pp_evalonce
#define pp_exec Perl_pp_exec
#define pp_exists Perl_pp_exists
#define pp_exit Perl_pp_exit
@@ -643,7 +565,6 @@
#define pp_i_subtract Perl_pp_i_subtract
#define pp_index Perl_pp_index
#define pp_int Perl_pp_int
-#define pp_interp Perl_pp_interp
#define pp_ioctl Perl_pp_ioctl
#define pp_iter Perl_pp_iter
#define pp_join Perl_pp_join
@@ -671,7 +592,6 @@
#define pp_lslice Perl_pp_lslice
#define pp_lstat Perl_pp_lstat
#define pp_lt Perl_pp_lt
-#define pp_map Perl_pp_map
#define pp_mapstart Perl_pp_mapstart
#define pp_mapwhile Perl_pp_mapwhile
#define pp_match Perl_pp_match
@@ -689,7 +609,6 @@
#define pp_next Perl_pp_next
#define pp_nextstate Perl_pp_nextstate
#define pp_not Perl_pp_not
-#define pp_nswitch Perl_pp_nswitch
#define pp_null Perl_pp_null
#define pp_oct Perl_pp_oct
#define pp_open Perl_pp_open
@@ -834,30 +753,20 @@
#define pp_wantarray Perl_pp_wantarray
#define pp_warn Perl_pp_warn
#define pp_xor Perl_pp_xor
-#define ppaddr Perl_ppaddr
#define pregcomp Perl_pregcomp
#define pregexec Perl_pregexec
#define pregfree Perl_pregfree
#define prepend_elem Perl_prepend_elem
-#define psig_name Perl_psig_name
-#define psig_ptr Perl_psig_ptr
#define push_return Perl_push_return
#define push_scope Perl_push_scope
-#define q Perl_q
-#define reall_srchlen Perl_reall_srchlen
#define ref Perl_ref
#define refkids Perl_refkids
#define regdump Perl_regdump
#define regexec_flags Perl_regexec_flags
-#define regkind Perl_regkind
#define regnext Perl_regnext
#define regprop Perl_regprop
-#define repeat_amg Perl_repeat_amg
-#define repeat_ass_amg Perl_repeat_ass_amg
#define repeatcpy Perl_repeatcpy
#define rninstr Perl_rninstr
-#define rshift_amg Perl_rshift_amg
-#define rshift_ass_amg Perl_rshift_ass_amg
#define rsignal Perl_rsignal
#define rsignal_restore Perl_rsignal_restore
#define rsignal_save Perl_rsignal_save
@@ -910,7 +819,6 @@
#define savepv Perl_savepv
#define savepvn Perl_savepvn
#define savestack_grow Perl_savestack_grow
-#define saw_return Perl_saw_return
#define sawparens Perl_sawparens
#define scalar Perl_scalar
#define scalarkids Perl_scalarkids
@@ -930,32 +838,17 @@
#define scan_subst Perl_scan_subst
#define scan_trans Perl_scan_trans
#define scan_word Perl_scan_word
-#define scmp_amg Perl_scmp_amg
#define scope Perl_scope
#define screaminstr Perl_screaminstr
-#define seq_amg Perl_seq_amg
#define setdefout Perl_setdefout
#define setenv_getix Perl_setenv_getix
-#define sge_amg Perl_sge_amg
-#define sgt_amg Perl_sgt_amg
#define share_hek Perl_share_hek
#define sharepvn Perl_sharepvn
-#define sig_name Perl_sig_name
-#define sig_num Perl_sig_num
#define sighandler Perl_sighandler
-#define simple Perl_simple
-#define sin_amg Perl_sin_amg
#define skipspace Perl_skipspace
-#define sle_amg Perl_sle_amg
-#define slt_amg Perl_slt_amg
-#define sne_amg Perl_sne_amg
-#define sqrt_amg Perl_sqrt_amg
#define stack_grow Perl_stack_grow
#define start_subparse Perl_start_subparse
-#define string_amg Perl_string_amg
#define sub_crush_depth Perl_sub_crush_depth
-#define subtr_amg Perl_subtr_amg
-#define subtr_ass_amg Perl_subtr_ass_amg
#define sv_2bool Perl_sv_2bool
#define sv_2cv Perl_sv_2cv
#define sv_2io Perl_sv_2io
@@ -1073,63 +966,1196 @@
#define utf8skip Perl_utf8skip
#define utilize Perl_utilize
#define uv_to_utf8 Perl_uv_to_utf8
-#define varies Perl_varies
#define vivify_defelem Perl_vivify_defelem
#define vivify_ref Perl_vivify_ref
-#define vtbl_amagic Perl_vtbl_amagic
-#define vtbl_amagicelem Perl_vtbl_amagicelem
-#define vtbl_arylen Perl_vtbl_arylen
-#define vtbl_bm Perl_vtbl_bm
-#define vtbl_collxfrm Perl_vtbl_collxfrm
-#define vtbl_dbline Perl_vtbl_dbline
-#define vtbl_defelem Perl_vtbl_defelem
-#define vtbl_env Perl_vtbl_env
-#define vtbl_envelem Perl_vtbl_envelem
-#define vtbl_fm Perl_vtbl_fm
-#define vtbl_glob Perl_vtbl_glob
-#define vtbl_isa Perl_vtbl_isa
-#define vtbl_isaelem Perl_vtbl_isaelem
-#define vtbl_mglob Perl_vtbl_mglob
-#define vtbl_mutex Perl_vtbl_mutex
-#define vtbl_nkeys Perl_vtbl_nkeys
-#define vtbl_pack Perl_vtbl_pack
-#define vtbl_packelem Perl_vtbl_packelem
-#define vtbl_pos Perl_vtbl_pos
-#define vtbl_regexp Perl_vtbl_regexp
-#define vtbl_sig Perl_vtbl_sig
-#define vtbl_sigelem Perl_vtbl_sigelem
-#define vtbl_substr Perl_vtbl_substr
-#define vtbl_sv Perl_vtbl_sv
-#define vtbl_taint Perl_vtbl_taint
-#define vtbl_uvar Perl_vtbl_uvar
-#define vtbl_vec Perl_vtbl_vec
#define wait4pid Perl_wait4pid
#define warn Perl_warn
-#define warn_nl Perl_warn_nl
-#define warn_nosemi Perl_warn_nosemi
-#define warn_reserved Perl_warn_reserved
-#define warn_uninit Perl_warn_uninit
#define warner Perl_warner
#define watch Perl_watch
-#define watchaddr Perl_watchaddr
-#define watchok Perl_watchok
#define whichsig Perl_whichsig
-#define yycheck Perl_yycheck
-#define yydefred Perl_yydefred
#define yydestruct Perl_yydestruct
-#define yydgoto Perl_yydgoto
#define yyerror Perl_yyerror
-#define yygindex Perl_yygindex
-#define yylen Perl_yylen
#define yylex Perl_yylex
-#define yylhs Perl_yylhs
-#define yyname Perl_yyname
#define yyparse Perl_yyparse
-#define yyrindex Perl_yyrindex
-#define yyrule Perl_yyrule
-#define yysindex Perl_yysindex
-#define yytable Perl_yytable
#define yywarn Perl_yywarn
-#endif /* EMBED */
+#else /* PERL_OBJECT */
+
+#define Gv_AMupdate CPerlObj::Perl_Gv_AMupdate
+#define add_data CPerlObj::Perl_add_data
+#define amagic_call CPerlObj::Perl_amagic_call
+#define amagic_cmp CPerlObj::Perl_amagic_cmp
+#define amagic_cmp_locale CPerlObj::Perl_amagic_cmp_locale
+#define ao CPerlObj::Perl_ao
+#define append_elem CPerlObj::Perl_append_elem
+#define append_list CPerlObj::Perl_append_list
+#define apply CPerlObj::Perl_apply
+#define asIV CPerlObj::Perl_asIV
+#define asUV CPerlObj::Perl_asUV
+#define assertref CPerlObj::Perl_assertref
+#define av_clear CPerlObj::Perl_av_clear
+#define av_extend CPerlObj::Perl_av_extend
+#define av_fake CPerlObj::Perl_av_fake
+#define av_fetch CPerlObj::Perl_av_fetch
+#define av_fill CPerlObj::Perl_av_fill
+#define av_len CPerlObj::Perl_av_len
+#define av_make CPerlObj::Perl_av_make
+#define av_pop CPerlObj::Perl_av_pop
+#define av_push CPerlObj::Perl_av_push
+#define av_reify CPerlObj::Perl_av_reify
+#define av_shift CPerlObj::Perl_av_shift
+#define av_store CPerlObj::Perl_av_store
+#define av_undef CPerlObj::Perl_av_undef
+#define av_unshift CPerlObj::Perl_av_unshift
+#define avhv_exists_ent CPerlObj::Perl_avhv_exists_ent
+#define avhv_fetch_ent CPerlObj::Perl_avhv_fetch_ent
+#define avhv_index_sv CPerlObj::Perl_avhv_index_sv
+#define avhv_iternext CPerlObj::Perl_avhv_iternext
+#define avhv_iterval CPerlObj::Perl_avhv_iterval
+#define avhv_keys CPerlObj::Perl_avhv_keys
+#define bad_type CPerlObj::Perl_bad_type
+#define bind_match CPerlObj::Perl_bind_match
+#define block_end CPerlObj::Perl_block_end
+#define block_gimme CPerlObj::Perl_block_gimme
+#define block_start CPerlObj::Perl_block_start
+#define boot_core_UNIVERSAL CPerlObj::Perl_boot_core_UNIVERSAL
+#define bset_obj_store CPerlObj::Perl_bset_obj_store
+#define bset_obj_store CPerlObj::Perl_bset_obj_store
+#define byterun CPerlObj::Perl_byterun
+#define cache_re CPerlObj::Perl_cache_re
+#define call_list CPerlObj::Perl_call_list
+#define cando CPerlObj::Perl_cando
+#define cast_i32 CPerlObj::Perl_cast_i32
+#define cast_iv CPerlObj::Perl_cast_iv
+#define cast_ulong CPerlObj::Perl_cast_ulong
+#define cast_uv CPerlObj::Perl_cast_uv
+#define check_uni CPerlObj::Perl_check_uni
+#define check_uni CPerlObj::Perl_check_uni
+#define checkcomma CPerlObj::Perl_checkcomma
+#define checkcomma CPerlObj::Perl_checkcomma
+#define ck_aelem CPerlObj::Perl_ck_aelem
+#define ck_anoncode CPerlObj::Perl_ck_anoncode
+#define ck_bitop CPerlObj::Perl_ck_bitop
+#define ck_concat CPerlObj::Perl_ck_concat
+#define ck_delete CPerlObj::Perl_ck_delete
+#define ck_eof CPerlObj::Perl_ck_eof
+#define ck_eval CPerlObj::Perl_ck_eval
+#define ck_exec CPerlObj::Perl_ck_exec
+#define ck_exists CPerlObj::Perl_ck_exists
+#define ck_ftst CPerlObj::Perl_ck_ftst
+#define ck_fun CPerlObj::Perl_ck_fun
+#define ck_fun_locale CPerlObj::Perl_ck_fun_locale
+#define ck_glob CPerlObj::Perl_ck_glob
+#define ck_grep CPerlObj::Perl_ck_grep
+#define ck_index CPerlObj::Perl_ck_index
+#define ck_lengthconst CPerlObj::Perl_ck_lengthconst
+#define ck_lfun CPerlObj::Perl_ck_lfun
+#define ck_listiob CPerlObj::Perl_ck_listiob
+#define ck_match CPerlObj::Perl_ck_match
+#define ck_null CPerlObj::Perl_ck_null
+#define ck_repeat CPerlObj::Perl_ck_repeat
+#define ck_require CPerlObj::Perl_ck_require
+#define ck_rfun CPerlObj::Perl_ck_rfun
+#define ck_rvconst CPerlObj::Perl_ck_rvconst
+#define ck_scmp CPerlObj::Perl_ck_scmp
+#define ck_select CPerlObj::Perl_ck_select
+#define ck_shift CPerlObj::Perl_ck_shift
+#define ck_sort CPerlObj::Perl_ck_sort
+#define ck_spair CPerlObj::Perl_ck_spair
+#define ck_split CPerlObj::Perl_ck_split
+#define ck_subr CPerlObj::Perl_ck_subr
+#define ck_svconst CPerlObj::Perl_ck_svconst
+#define ck_trunc CPerlObj::Perl_ck_trunc
+#define condpair_magic CPerlObj::Perl_condpair_magic
+#define convert CPerlObj::Perl_convert
+#define croak CPerlObj::Perl_croak
+#define cv_ckproto CPerlObj::Perl_cv_ckproto
+#define cv_clone CPerlObj::Perl_cv_clone
+#define cv_clone2 CPerlObj::Perl_cv_clone2
+#define cv_const_sv CPerlObj::Perl_cv_const_sv
+#define cv_undef CPerlObj::Perl_cv_undef
+#define cx_dump CPerlObj::Perl_cx_dump
+#define cxinc CPerlObj::Perl_cxinc
+#define deb CPerlObj::Perl_deb
+#define deb_growlevel CPerlObj::Perl_deb_growlevel
+#define debop CPerlObj::Perl_debop
+#define debprof CPerlObj::Perl_debprof
+#define debprofdump CPerlObj::Perl_debprofdump
+#define debstack CPerlObj::Perl_debstack
+#define debstackptrs CPerlObj::Perl_debstackptrs
+#define del_he CPerlObj::Perl_del_he
+#define del_sv CPerlObj::Perl_del_sv
+#define del_xiv CPerlObj::Perl_del_xiv
+#define del_xnv CPerlObj::Perl_del_xnv
+#define del_xpv CPerlObj::Perl_del_xpv
+#define del_xrv CPerlObj::Perl_del_xrv
+#define delimcpy CPerlObj::Perl_delimcpy
+#define depcom CPerlObj::Perl_depcom
+#define deprecate CPerlObj::Perl_deprecate
+#define die CPerlObj::Perl_die
+#define die_where CPerlObj::Perl_die_where
+#define div128 CPerlObj::Perl_div128
+#define do_aexec CPerlObj::Perl_do_aexec
+#define do_aspawn CPerlObj::Perl_do_aspawn
+#define do_binmode CPerlObj::Perl_do_binmode
+#define do_chomp CPerlObj::Perl_do_chomp
+#define do_chop CPerlObj::Perl_do_chop
+#define do_clean_all CPerlObj::Perl_do_clean_all
+#define do_clean_named_objs CPerlObj::Perl_do_clean_named_objs
+#define do_clean_objs CPerlObj::Perl_do_clean_objs
+#define do_close CPerlObj::Perl_do_close
+#define do_eof CPerlObj::Perl_do_eof
+#define do_exec CPerlObj::Perl_do_exec
+#define do_execfree CPerlObj::Perl_do_execfree
+#define do_ipcctl CPerlObj::Perl_do_ipcctl
+#define do_ipcget CPerlObj::Perl_do_ipcget
+#define do_join CPerlObj::Perl_do_join
+#define do_kv CPerlObj::Perl_do_kv
+#define do_msgrcv CPerlObj::Perl_do_msgrcv
+#define do_msgsnd CPerlObj::Perl_do_msgsnd
+#define do_open CPerlObj::Perl_do_open
+#define do_pipe CPerlObj::Perl_do_pipe
+#define do_print CPerlObj::Perl_do_print
+#define do_readline CPerlObj::Perl_do_readline
+#define do_report_used CPerlObj::Perl_do_report_used
+#define do_seek CPerlObj::Perl_do_seek
+#define do_semop CPerlObj::Perl_do_semop
+#define do_shmio CPerlObj::Perl_do_shmio
+#define do_sprintf CPerlObj::Perl_do_sprintf
+#define do_sysseek CPerlObj::Perl_do_sysseek
+#define do_tell CPerlObj::Perl_do_tell
+#define do_trans CPerlObj::Perl_do_trans
+#define do_trans_CC_complex CPerlObj::Perl_do_trans_CC_complex
+#define do_trans_CC_count CPerlObj::Perl_do_trans_CC_count
+#define do_trans_CC_simple CPerlObj::Perl_do_trans_CC_simple
+#define do_trans_CU_simple CPerlObj::Perl_do_trans_CU_simple
+#define do_trans_CU_trivial CPerlObj::Perl_do_trans_CU_trivial
+#define do_trans_UC_simple CPerlObj::Perl_do_trans_UC_simple
+#define do_trans_UC_trivial CPerlObj::Perl_do_trans_UC_trivial
+#define do_trans_UU_complex CPerlObj::Perl_do_trans_UU_complex
+#define do_trans_UU_count CPerlObj::Perl_do_trans_UU_count
+#define do_trans_UU_simple CPerlObj::Perl_do_trans_UU_simple
+#define do_vecset CPerlObj::Perl_do_vecset
+#define do_vop CPerlObj::Perl_do_vop
+#define docatch CPerlObj::Perl_docatch
+#define doencodes CPerlObj::Perl_doencodes
+#define doeval CPerlObj::Perl_doeval
+#define dofile CPerlObj::Perl_dofile
+#define dofindlabel CPerlObj::Perl_dofindlabel
+#define dofindlabel CPerlObj::Perl_dofindlabel
+#define doform CPerlObj::Perl_doform
+#define doparseform CPerlObj::Perl_doparseform
+#define dopoptoeval CPerlObj::Perl_dopoptoeval
+#define dopoptoeval CPerlObj::Perl_dopoptoeval
+#define dopoptolabel CPerlObj::Perl_dopoptolabel
+#define dopoptoloop CPerlObj::Perl_dopoptoloop
+#define dopoptosub CPerlObj::Perl_dopoptosub
+#define dopoptosub_at CPerlObj::Perl_dopoptosub_at
+#define dounwind CPerlObj::Perl_dounwind
+#define dowantarray CPerlObj::Perl_dowantarray
+#define dump CPerlObj::Perl_dump
+#define dump_all CPerlObj::Perl_dump_all
+#define dump_eval CPerlObj::Perl_dump_eval
+#define dump_fds CPerlObj::Perl_dump_fds
+#define dump_form CPerlObj::Perl_dump_form
+#define dump_gv CPerlObj::Perl_dump_gv
+#define dump_mstats CPerlObj::Perl_dump_mstats
+#define dump_op CPerlObj::Perl_dump_op
+#define dump_packsubs CPerlObj::Perl_dump_packsubs
+#define dump_pm CPerlObj::Perl_dump_pm
+#define dump_sub CPerlObj::Perl_dump_sub
+#define dumpuntil CPerlObj::Perl_dumpuntil
+#define emulate_eaccess CPerlObj::Perl_emulate_eaccess
+#define fbm_compile CPerlObj::Perl_fbm_compile
+#define fbm_instr CPerlObj::Perl_fbm_instr
+#define fetch_gv CPerlObj::Perl_fetch_gv
+#define fetch_io CPerlObj::Perl_fetch_io
+#define filter_add CPerlObj::Perl_filter_add
+#define filter_del CPerlObj::Perl_filter_del
+#define filter_gets CPerlObj::Perl_filter_gets
+#define filter_read CPerlObj::Perl_filter_read
+#define find_beginning CPerlObj::Perl_find_beginning
+#define find_script CPerlObj::Perl_find_script
+#define find_threadsv CPerlObj::Perl_find_threadsv
+#define fold_constants CPerlObj::Perl_fold_constants
+#define forbid_setid CPerlObj::Perl_forbid_setid
+#define force_ident CPerlObj::Perl_force_ident
+#define force_ident CPerlObj::Perl_force_ident
+#define force_list CPerlObj::Perl_force_list
+#define force_next CPerlObj::Perl_force_next
+#define force_next CPerlObj::Perl_force_next
+#define force_version CPerlObj::Perl_force_version
+#define force_word CPerlObj::Perl_force_word
+#define force_word CPerlObj::Perl_force_word
+#define form CPerlObj::Perl_form
+#define fprintf CPerlObj::Perl_fprintf
+#define free_tmps CPerlObj::Perl_free_tmps
+#define gen_constant_list CPerlObj::Perl_gen_constant_list
+#define get_db_sub CPerlObj::Perl_get_db_sub
+#define get_no_modify CPerlObj::Perl_get_no_modify
+#define get_op_descs CPerlObj::Perl_get_op_descs
+#define get_op_names CPerlObj::Perl_get_op_names
+#define get_opargs CPerlObj::Perl_get_opargs
+#define get_specialsv_list CPerlObj::Perl_get_specialsv_list
+#define gp_free CPerlObj::Perl_gp_free
+#define gp_ref CPerlObj::Perl_gp_ref
+#define gv_AVadd CPerlObj::Perl_gv_AVadd
+#define gv_HVadd CPerlObj::Perl_gv_HVadd
+#define gv_IOadd CPerlObj::Perl_gv_IOadd
+#define gv_autoload4 CPerlObj::Perl_gv_autoload4
+#define gv_check CPerlObj::Perl_gv_check
+#define gv_efullname CPerlObj::Perl_gv_efullname
+#define gv_efullname3 CPerlObj::Perl_gv_efullname3
+#define gv_ename CPerlObj::Perl_gv_ename
+#define gv_fetchfile CPerlObj::Perl_gv_fetchfile
+#define gv_fetchmeth CPerlObj::Perl_gv_fetchmeth
+#define gv_fetchmethod CPerlObj::Perl_gv_fetchmethod
+#define gv_fetchmethod_autoload CPerlObj::Perl_gv_fetchmethod_autoload
+#define gv_fetchpv CPerlObj::Perl_gv_fetchpv
+#define gv_fullname CPerlObj::Perl_gv_fullname
+#define gv_fullname3 CPerlObj::Perl_gv_fullname3
+#define gv_init CPerlObj::Perl_gv_init
+#define gv_init_sv CPerlObj::Perl_gv_init_sv
+#define gv_stashpv CPerlObj::Perl_gv_stashpv
+#define gv_stashpvn CPerlObj::Perl_gv_stashpvn
+#define gv_stashsv CPerlObj::Perl_gv_stashsv
+#define hfreeentries CPerlObj::Perl_hfreeentries
+#define hsplit CPerlObj::Perl_hsplit
+#define hv_clear CPerlObj::Perl_hv_clear
+#define hv_delayfree_ent CPerlObj::Perl_hv_delayfree_ent
+#define hv_delete CPerlObj::Perl_hv_delete
+#define hv_delete_ent CPerlObj::Perl_hv_delete_ent
+#define hv_exists CPerlObj::Perl_hv_exists
+#define hv_exists_ent CPerlObj::Perl_hv_exists_ent
+#define hv_fetch CPerlObj::Perl_hv_fetch
+#define hv_fetch_ent CPerlObj::Perl_hv_fetch_ent
+#define hv_free_ent CPerlObj::Perl_hv_free_ent
+#define hv_iterinit CPerlObj::Perl_hv_iterinit
+#define hv_iterkey CPerlObj::Perl_hv_iterkey
+#define hv_iterkeysv CPerlObj::Perl_hv_iterkeysv
+#define hv_iternext CPerlObj::Perl_hv_iternext
+#define hv_iternextsv CPerlObj::Perl_hv_iternextsv
+#define hv_iterval CPerlObj::Perl_hv_iterval
+#define hv_ksplit CPerlObj::Perl_hv_ksplit
+#define hv_magic CPerlObj::Perl_hv_magic
+#define hv_stashpv CPerlObj::Perl_hv_stashpv
+#define hv_store CPerlObj::Perl_hv_store
+#define hv_store_ent CPerlObj::Perl_hv_store_ent
+#define hv_undef CPerlObj::Perl_hv_undef
+#define ibcmp CPerlObj::Perl_ibcmp
+#define ibcmp_locale CPerlObj::Perl_ibcmp_locale
+#define incl_perldb CPerlObj::Perl_incl_perldb
+#define incline CPerlObj::Perl_incline
+#define incpush CPerlObj::Perl_incpush
+#define ingroup CPerlObj::Perl_ingroup
+#define init_debugger CPerlObj::Perl_init_debugger
+#define init_ids CPerlObj::Perl_init_ids
+#define init_interp CPerlObj::Perl_init_interp
+#define init_lexer CPerlObj::Perl_init_lexer
+#define init_main_stash CPerlObj::Perl_init_main_stash
+#define init_perllib CPerlObj::Perl_init_perllib
+#define init_postdump_symbols CPerlObj::Perl_init_postdump_symbols
+#define init_predump_symbols CPerlObj::Perl_init_predump_symbols
+#define init_stacks CPerlObj::Perl_init_stacks
+#define init_thread_intern CPerlObj::Perl_init_thread_intern
+#define instr CPerlObj::Perl_instr
+#define intro_my CPerlObj::Perl_intro_my
+#define intuit_method CPerlObj::Perl_intuit_method
+#define intuit_more CPerlObj::Perl_intuit_more
+#define intuit_more CPerlObj::Perl_intuit_more
+#define invert CPerlObj::Perl_invert
+#define io_close CPerlObj::Perl_io_close
+#define is_an_int CPerlObj::Perl_is_an_int
+#define is_uni_alnum CPerlObj::Perl_is_uni_alnum
+#define is_uni_alnum_lc CPerlObj::Perl_is_uni_alnum_lc
+#define is_uni_alpha CPerlObj::Perl_is_uni_alpha
+#define is_uni_alpha_lc CPerlObj::Perl_is_uni_alpha_lc
+#define is_uni_digit CPerlObj::Perl_is_uni_digit
+#define is_uni_digit_lc CPerlObj::Perl_is_uni_digit_lc
+#define is_uni_idfirst CPerlObj::Perl_is_uni_idfirst
+#define is_uni_idfirst_lc CPerlObj::Perl_is_uni_idfirst_lc
+#define is_uni_lower CPerlObj::Perl_is_uni_lower
+#define is_uni_lower_lc CPerlObj::Perl_is_uni_lower_lc
+#define is_uni_print CPerlObj::Perl_is_uni_print
+#define is_uni_print_lc CPerlObj::Perl_is_uni_print_lc
+#define is_uni_space CPerlObj::Perl_is_uni_space
+#define is_uni_space_lc CPerlObj::Perl_is_uni_space_lc
+#define is_uni_upper CPerlObj::Perl_is_uni_upper
+#define is_uni_upper_lc CPerlObj::Perl_is_uni_upper_lc
+#define is_utf8_alnum CPerlObj::Perl_is_utf8_alnum
+#define is_utf8_alpha CPerlObj::Perl_is_utf8_alpha
+#define is_utf8_digit CPerlObj::Perl_is_utf8_digit
+#define is_utf8_idfirst CPerlObj::Perl_is_utf8_idfirst
+#define is_utf8_lower CPerlObj::Perl_is_utf8_lower
+#define is_utf8_mark CPerlObj::Perl_is_utf8_mark
+#define is_utf8_print CPerlObj::Perl_is_utf8_print
+#define is_utf8_space CPerlObj::Perl_is_utf8_space
+#define is_utf8_upper CPerlObj::Perl_is_utf8_upper
+#define isa_lookup CPerlObj::Perl_isa_lookup
+#define jmaybe CPerlObj::Perl_jmaybe
+#define keyword CPerlObj::Perl_keyword
+#define leave_scope CPerlObj::Perl_leave_scope
+#define lex_end CPerlObj::Perl_lex_end
+#define lex_start CPerlObj::Perl_lex_start
+#define linklist CPerlObj::Perl_linklist
+#define list CPerlObj::Perl_list
+#define list_assignment CPerlObj::Perl_list_assignment
+#define listkids CPerlObj::Perl_listkids
+#define localize CPerlObj::Perl_localize
+#define looks_like_number CPerlObj::Perl_looks_like_number
+#define lop CPerlObj::Perl_lop
+#define magic_clear_all_env CPerlObj::Perl_magic_clear_all_env
+#define magic_clearenv CPerlObj::Perl_magic_clearenv
+#define magic_clearpack CPerlObj::Perl_magic_clearpack
+#define magic_clearsig CPerlObj::Perl_magic_clearsig
+#define magic_existspack CPerlObj::Perl_magic_existspack
+#define magic_freeregexp CPerlObj::Perl_magic_freeregexp
+#define magic_get CPerlObj::Perl_magic_get
+#define magic_getarylen CPerlObj::Perl_magic_getarylen
+#define magic_getdefelem CPerlObj::Perl_magic_getdefelem
+#define magic_getglob CPerlObj::Perl_magic_getglob
+#define magic_getnkeys CPerlObj::Perl_magic_getnkeys
+#define magic_getpack CPerlObj::Perl_magic_getpack
+#define magic_getpos CPerlObj::Perl_magic_getpos
+#define magic_getsig CPerlObj::Perl_magic_getsig
+#define magic_getsubstr CPerlObj::Perl_magic_getsubstr
+#define magic_gettaint CPerlObj::Perl_magic_gettaint
+#define magic_getuvar CPerlObj::Perl_magic_getuvar
+#define magic_getvec CPerlObj::Perl_magic_getvec
+#define magic_len CPerlObj::Perl_magic_len
+#define magic_methcall CPerlObj::Perl_magic_methcall
+#define magic_methcall CPerlObj::Perl_magic_methcall
+#define magic_methpack CPerlObj::Perl_magic_methpack
+#define magic_mutexfree CPerlObj::Perl_magic_mutexfree
+#define magic_nextpack CPerlObj::Perl_magic_nextpack
+#define magic_regdata_cnt CPerlObj::Perl_magic_regdata_cnt
+#define magic_regdatum_get CPerlObj::Perl_magic_regdatum_get
+#define magic_set CPerlObj::Perl_magic_set
+#define magic_set_all_env CPerlObj::Perl_magic_set_all_env
+#define magic_setamagic CPerlObj::Perl_magic_setamagic
+#define magic_setarylen CPerlObj::Perl_magic_setarylen
+#define magic_setbm CPerlObj::Perl_magic_setbm
+#define magic_setcollxfrm CPerlObj::Perl_magic_setcollxfrm
+#define magic_setdbline CPerlObj::Perl_magic_setdbline
+#define magic_setdefelem CPerlObj::Perl_magic_setdefelem
+#define magic_setenv CPerlObj::Perl_magic_setenv
+#define magic_setfm CPerlObj::Perl_magic_setfm
+#define magic_setglob CPerlObj::Perl_magic_setglob
+#define magic_setisa CPerlObj::Perl_magic_setisa
+#define magic_setmglob CPerlObj::Perl_magic_setmglob
+#define magic_setnkeys CPerlObj::Perl_magic_setnkeys
+#define magic_setpack CPerlObj::Perl_magic_setpack
+#define magic_setpos CPerlObj::Perl_magic_setpos
+#define magic_setsig CPerlObj::Perl_magic_setsig
+#define magic_setsubstr CPerlObj::Perl_magic_setsubstr
+#define magic_settaint CPerlObj::Perl_magic_settaint
+#define magic_setuvar CPerlObj::Perl_magic_setuvar
+#define magic_setvec CPerlObj::Perl_magic_setvec
+#define magic_sizepack CPerlObj::Perl_magic_sizepack
+#define magic_wipepack CPerlObj::Perl_magic_wipepack
+#define magicname CPerlObj::Perl_magicname
+#define malloced_size CPerlObj::Perl_malloced_size
+#define markstack_grow CPerlObj::Perl_markstack_grow
+#define mem_collxfrm CPerlObj::Perl_mem_collxfrm
+#define mess CPerlObj::Perl_mess
+#define mess_alloc CPerlObj::Perl_mess_alloc
+#define mg_clear CPerlObj::Perl_mg_clear
+#define mg_copy CPerlObj::Perl_mg_copy
+#define mg_find CPerlObj::Perl_mg_find
+#define mg_free CPerlObj::Perl_mg_free
+#define mg_get CPerlObj::Perl_mg_get
+#define mg_length CPerlObj::Perl_mg_length
+#define mg_magical CPerlObj::Perl_mg_magical
+#define mg_set CPerlObj::Perl_mg_set
+#define mg_size CPerlObj::Perl_mg_size
+#define missingterm CPerlObj::Perl_missingterm
+#define mod CPerlObj::Perl_mod
+#define modkids CPerlObj::Perl_modkids
+#define modkids CPerlObj::Perl_modkids
+#define more_he CPerlObj::Perl_more_he
+#define more_sv CPerlObj::Perl_more_sv
+#define more_xiv CPerlObj::Perl_more_xiv
+#define more_xnv CPerlObj::Perl_more_xnv
+#define more_xpv CPerlObj::Perl_more_xpv
+#define more_xrv CPerlObj::Perl_more_xrv
+#define moreswitches CPerlObj::Perl_moreswitches
+#define mstats CPerlObj::Perl_mstats
+#define mul128 CPerlObj::Perl_mul128
+#define my CPerlObj::Perl_my
+#define my_bcopy CPerlObj::Perl_my_bcopy
+#define my_bzero CPerlObj::Perl_my_bzero
+#define my_chsize CPerlObj::Perl_my_chsize
+#define my_exit CPerlObj::Perl_my_exit
+#define my_exit_jump CPerlObj::Perl_my_exit_jump
+#define my_failure_exit CPerlObj::Perl_my_failure_exit
+#define my_htonl CPerlObj::Perl_my_htonl
+#define my_lstat CPerlObj::Perl_my_lstat
+#define my_memcmp CPerlObj::Perl_my_memcmp
+#define my_memset CPerlObj::Perl_my_memset
+#define my_ntohl CPerlObj::Perl_my_ntohl
+#define my_pclose CPerlObj::Perl_my_pclose
+#define my_popen CPerlObj::Perl_my_popen
+#define my_safemalloc CPerlObj::Perl_my_safemalloc
+#define my_setenv CPerlObj::Perl_my_setenv
+#define my_stat CPerlObj::Perl_my_stat
+#define my_swap CPerlObj::Perl_my_swap
+#define my_unexec CPerlObj::Perl_my_unexec
+#define newANONHASH CPerlObj::Perl_newANONHASH
+#define newANONLIST CPerlObj::Perl_newANONLIST
+#define newANONSUB CPerlObj::Perl_newANONSUB
+#define newASSIGNOP CPerlObj::Perl_newASSIGNOP
+#define newAV CPerlObj::Perl_newAV
+#define newAVREF CPerlObj::Perl_newAVREF
+#define newBINOP CPerlObj::Perl_newBINOP
+#define newCONDOP CPerlObj::Perl_newCONDOP
+#define newCONSTSUB CPerlObj::Perl_newCONSTSUB
+#define newCVREF CPerlObj::Perl_newCVREF
+#define newDEFSVOP CPerlObj::Perl_newDEFSVOP
+#define newFORM CPerlObj::Perl_newFORM
+#define newFOROP CPerlObj::Perl_newFOROP
+#define newGVOP CPerlObj::Perl_newGVOP
+#define newGVREF CPerlObj::Perl_newGVREF
+#define newGVgen CPerlObj::Perl_newGVgen
+#define newHV CPerlObj::Perl_newHV
+#define newHVREF CPerlObj::Perl_newHVREF
+#define newHVhv CPerlObj::Perl_newHVhv
+#define newIO CPerlObj::Perl_newIO
+#define newLISTOP CPerlObj::Perl_newLISTOP
+#define newLOGOP CPerlObj::Perl_newLOGOP
+#define newLOOPEX CPerlObj::Perl_newLOOPEX
+#define newLOOPOP CPerlObj::Perl_newLOOPOP
+#define newNULLLIST CPerlObj::Perl_newNULLLIST
+#define newOP CPerlObj::Perl_newOP
+#define newPMOP CPerlObj::Perl_newPMOP
+#define newPROG CPerlObj::Perl_newPROG
+#define newPVOP CPerlObj::Perl_newPVOP
+#define newRANGE CPerlObj::Perl_newRANGE
+#define newRV CPerlObj::Perl_newRV
+#define newRV_noinc CPerlObj::Perl_newRV_noinc
+#define newSLICEOP CPerlObj::Perl_newSLICEOP
+#define newSTATEOP CPerlObj::Perl_newSTATEOP
+#define newSUB CPerlObj::Perl_newSUB
+#define newSV CPerlObj::Perl_newSV
+#define newSVOP CPerlObj::Perl_newSVOP
+#define newSVREF CPerlObj::Perl_newSVREF
+#define newSViv CPerlObj::Perl_newSViv
+#define newSVnv CPerlObj::Perl_newSVnv
+#define newSVpv CPerlObj::Perl_newSVpv
+#define newSVpvf CPerlObj::Perl_newSVpvf
+#define newSVpvn CPerlObj::Perl_newSVpvn
+#define newSVrv CPerlObj::Perl_newSVrv
+#define newSVsv CPerlObj::Perl_newSVsv
+#define newUNOP CPerlObj::Perl_newUNOP
+#define newWHILEOP CPerlObj::Perl_newWHILEOP
+#define newXS CPerlObj::Perl_newXS
+#define newXSUB CPerlObj::Perl_newXSUB
+#define new_constant CPerlObj::Perl_new_constant
+#define new_he CPerlObj::Perl_new_he
+#define new_logop CPerlObj::Perl_new_logop
+#define new_stackinfo CPerlObj::Perl_new_stackinfo
+#define new_struct_thread CPerlObj::Perl_new_struct_thread
+#define new_xiv CPerlObj::Perl_new_xiv
+#define new_xnv CPerlObj::Perl_new_xnv
+#define new_xpv CPerlObj::Perl_new_xpv
+#define new_xrv CPerlObj::Perl_new_xrv
+#define nextargv CPerlObj::Perl_nextargv
+#define nextchar CPerlObj::Perl_nextchar
+#define ninstr CPerlObj::Perl_ninstr
+#define no_fh_allowed CPerlObj::Perl_no_fh_allowed
+#define no_fh_allowed CPerlObj::Perl_no_fh_allowed
+#define no_op CPerlObj::Perl_no_op
+#define no_op CPerlObj::Perl_no_op
+#define not_a_number CPerlObj::Perl_not_a_number
+#define nuke_stacks CPerlObj::Perl_nuke_stacks
+#define null CPerlObj::Perl_null
+#define oopsAV CPerlObj::Perl_oopsAV
+#define oopsCV CPerlObj::Perl_oopsCV
+#define oopsHV CPerlObj::Perl_oopsHV
+#define op_const_sv CPerlObj::Perl_op_const_sv
+#define op_free CPerlObj::Perl_op_free
+#define open_script CPerlObj::Perl_open_script
+#define package CPerlObj::Perl_package
+#define pad_alloc CPerlObj::Perl_pad_alloc
+#define pad_allocmy CPerlObj::Perl_pad_allocmy
+#define pad_findlex CPerlObj::Perl_pad_findlex
+#define pad_findmy CPerlObj::Perl_pad_findmy
+#define pad_free CPerlObj::Perl_pad_free
+#define pad_leavemy CPerlObj::Perl_pad_leavemy
+#define pad_reset CPerlObj::Perl_pad_reset
+#define pad_sv CPerlObj::Perl_pad_sv
+#define pad_swipe CPerlObj::Perl_pad_swipe
+#define peep CPerlObj::Perl_peep
+#define perl_atexit CPerlObj::perl_atexit
+#define perl_call_argv CPerlObj::perl_call_argv
+#define perl_call_method CPerlObj::perl_call_method
+#define perl_call_pv CPerlObj::perl_call_pv
+#define perl_call_sv CPerlObj::perl_call_sv
+#define perl_construct CPerlObj::perl_construct
+#define perl_destruct CPerlObj::perl_destruct
+#define perl_eval_pv CPerlObj::perl_eval_pv
+#define perl_eval_sv CPerlObj::perl_eval_sv
+#define perl_free CPerlObj::perl_free
+#define perl_get_av CPerlObj::perl_get_av
+#define perl_get_cv CPerlObj::perl_get_cv
+#define perl_get_hv CPerlObj::perl_get_hv
+#define perl_get_sv CPerlObj::perl_get_sv
+#define perl_init_i18nl10n CPerlObj::perl_init_i18nl10n
+#define perl_init_i18nl14n CPerlObj::perl_init_i18nl14n
+#define perl_new_collate CPerlObj::perl_new_collate
+#define perl_new_ctype CPerlObj::perl_new_ctype
+#define perl_new_numeric CPerlObj::perl_new_numeric
+#define perl_parse CPerlObj::perl_parse
+#define perl_require_pv CPerlObj::perl_require_pv
+#define perl_run CPerlObj::perl_run
+#define perl_set_numeric_local CPerlObj::perl_set_numeric_local
+#define perl_set_numeric_standard CPerlObj::perl_set_numeric_standard
+#define pidgone CPerlObj::Perl_pidgone
+#define pmflag CPerlObj::Perl_pmflag
+#define pmruntime CPerlObj::Perl_pmruntime
+#define pmtrans CPerlObj::Perl_pmtrans
+#define pop_return CPerlObj::Perl_pop_return
+#define pop_scope CPerlObj::Perl_pop_scope
+#define pp_aassign CPerlObj::Perl_pp_aassign
+#define pp_abs CPerlObj::Perl_pp_abs
+#define pp_accept CPerlObj::Perl_pp_accept
+#define pp_add CPerlObj::Perl_pp_add
+#define pp_aelem CPerlObj::Perl_pp_aelem
+#define pp_aelemfast CPerlObj::Perl_pp_aelemfast
+#define pp_alarm CPerlObj::Perl_pp_alarm
+#define pp_and CPerlObj::Perl_pp_and
+#define pp_andassign CPerlObj::Perl_pp_andassign
+#define pp_anoncode CPerlObj::Perl_pp_anoncode
+#define pp_anonhash CPerlObj::Perl_pp_anonhash
+#define pp_anonlist CPerlObj::Perl_pp_anonlist
+#define pp_aslice CPerlObj::Perl_pp_aslice
+#define pp_atan2 CPerlObj::Perl_pp_atan2
+#define pp_av2arylen CPerlObj::Perl_pp_av2arylen
+#define pp_backtick CPerlObj::Perl_pp_backtick
+#define pp_bind CPerlObj::Perl_pp_bind
+#define pp_binmode CPerlObj::Perl_pp_binmode
+#define pp_bit_and CPerlObj::Perl_pp_bit_and
+#define pp_bit_or CPerlObj::Perl_pp_bit_or
+#define pp_bit_xor CPerlObj::Perl_pp_bit_xor
+#define pp_bless CPerlObj::Perl_pp_bless
+#define pp_caller CPerlObj::Perl_pp_caller
+#define pp_chdir CPerlObj::Perl_pp_chdir
+#define pp_chmod CPerlObj::Perl_pp_chmod
+#define pp_chomp CPerlObj::Perl_pp_chomp
+#define pp_chop CPerlObj::Perl_pp_chop
+#define pp_chown CPerlObj::Perl_pp_chown
+#define pp_chr CPerlObj::Perl_pp_chr
+#define pp_chroot CPerlObj::Perl_pp_chroot
+#define pp_close CPerlObj::Perl_pp_close
+#define pp_closedir CPerlObj::Perl_pp_closedir
+#define pp_complement CPerlObj::Perl_pp_complement
+#define pp_concat CPerlObj::Perl_pp_concat
+#define pp_cond_expr CPerlObj::Perl_pp_cond_expr
+#define pp_connect CPerlObj::Perl_pp_connect
+#define pp_const CPerlObj::Perl_pp_const
+#define pp_cos CPerlObj::Perl_pp_cos
+#define pp_crypt CPerlObj::Perl_pp_crypt
+#define pp_dbmclose CPerlObj::Perl_pp_dbmclose
+#define pp_dbmopen CPerlObj::Perl_pp_dbmopen
+#define pp_dbstate CPerlObj::Perl_pp_dbstate
+#define pp_defined CPerlObj::Perl_pp_defined
+#define pp_delete CPerlObj::Perl_pp_delete
+#define pp_die CPerlObj::Perl_pp_die
+#define pp_divide CPerlObj::Perl_pp_divide
+#define pp_dofile CPerlObj::Perl_pp_dofile
+#define pp_dump CPerlObj::Perl_pp_dump
+#define pp_each CPerlObj::Perl_pp_each
+#define pp_egrent CPerlObj::Perl_pp_egrent
+#define pp_ehostent CPerlObj::Perl_pp_ehostent
+#define pp_enetent CPerlObj::Perl_pp_enetent
+#define pp_enter CPerlObj::Perl_pp_enter
+#define pp_entereval CPerlObj::Perl_pp_entereval
+#define pp_enteriter CPerlObj::Perl_pp_enteriter
+#define pp_enterloop CPerlObj::Perl_pp_enterloop
+#define pp_entersub CPerlObj::Perl_pp_entersub
+#define pp_entertry CPerlObj::Perl_pp_entertry
+#define pp_enterwrite CPerlObj::Perl_pp_enterwrite
+#define pp_eof CPerlObj::Perl_pp_eof
+#define pp_eprotoent CPerlObj::Perl_pp_eprotoent
+#define pp_epwent CPerlObj::Perl_pp_epwent
+#define pp_eq CPerlObj::Perl_pp_eq
+#define pp_eservent CPerlObj::Perl_pp_eservent
+#define pp_exec CPerlObj::Perl_pp_exec
+#define pp_exists CPerlObj::Perl_pp_exists
+#define pp_exit CPerlObj::Perl_pp_exit
+#define pp_exp CPerlObj::Perl_pp_exp
+#define pp_fcntl CPerlObj::Perl_pp_fcntl
+#define pp_fileno CPerlObj::Perl_pp_fileno
+#define pp_flip CPerlObj::Perl_pp_flip
+#define pp_flock CPerlObj::Perl_pp_flock
+#define pp_flop CPerlObj::Perl_pp_flop
+#define pp_fork CPerlObj::Perl_pp_fork
+#define pp_formline CPerlObj::Perl_pp_formline
+#define pp_ftatime CPerlObj::Perl_pp_ftatime
+#define pp_ftbinary CPerlObj::Perl_pp_ftbinary
+#define pp_ftblk CPerlObj::Perl_pp_ftblk
+#define pp_ftchr CPerlObj::Perl_pp_ftchr
+#define pp_ftctime CPerlObj::Perl_pp_ftctime
+#define pp_ftdir CPerlObj::Perl_pp_ftdir
+#define pp_fteexec CPerlObj::Perl_pp_fteexec
+#define pp_fteowned CPerlObj::Perl_pp_fteowned
+#define pp_fteread CPerlObj::Perl_pp_fteread
+#define pp_ftewrite CPerlObj::Perl_pp_ftewrite
+#define pp_ftfile CPerlObj::Perl_pp_ftfile
+#define pp_ftis CPerlObj::Perl_pp_ftis
+#define pp_ftlink CPerlObj::Perl_pp_ftlink
+#define pp_ftmtime CPerlObj::Perl_pp_ftmtime
+#define pp_ftpipe CPerlObj::Perl_pp_ftpipe
+#define pp_ftrexec CPerlObj::Perl_pp_ftrexec
+#define pp_ftrowned CPerlObj::Perl_pp_ftrowned
+#define pp_ftrread CPerlObj::Perl_pp_ftrread
+#define pp_ftrwrite CPerlObj::Perl_pp_ftrwrite
+#define pp_ftsgid CPerlObj::Perl_pp_ftsgid
+#define pp_ftsize CPerlObj::Perl_pp_ftsize
+#define pp_ftsock CPerlObj::Perl_pp_ftsock
+#define pp_ftsuid CPerlObj::Perl_pp_ftsuid
+#define pp_ftsvtx CPerlObj::Perl_pp_ftsvtx
+#define pp_fttext CPerlObj::Perl_pp_fttext
+#define pp_fttty CPerlObj::Perl_pp_fttty
+#define pp_ftzero CPerlObj::Perl_pp_ftzero
+#define pp_ge CPerlObj::Perl_pp_ge
+#define pp_gelem CPerlObj::Perl_pp_gelem
+#define pp_getc CPerlObj::Perl_pp_getc
+#define pp_getlogin CPerlObj::Perl_pp_getlogin
+#define pp_getpeername CPerlObj::Perl_pp_getpeername
+#define pp_getpgrp CPerlObj::Perl_pp_getpgrp
+#define pp_getppid CPerlObj::Perl_pp_getppid
+#define pp_getpriority CPerlObj::Perl_pp_getpriority
+#define pp_getsockname CPerlObj::Perl_pp_getsockname
+#define pp_ggrent CPerlObj::Perl_pp_ggrent
+#define pp_ggrgid CPerlObj::Perl_pp_ggrgid
+#define pp_ggrnam CPerlObj::Perl_pp_ggrnam
+#define pp_ghbyaddr CPerlObj::Perl_pp_ghbyaddr
+#define pp_ghbyname CPerlObj::Perl_pp_ghbyname
+#define pp_ghostent CPerlObj::Perl_pp_ghostent
+#define pp_glob CPerlObj::Perl_pp_glob
+#define pp_gmtime CPerlObj::Perl_pp_gmtime
+#define pp_gnbyaddr CPerlObj::Perl_pp_gnbyaddr
+#define pp_gnbyname CPerlObj::Perl_pp_gnbyname
+#define pp_gnetent CPerlObj::Perl_pp_gnetent
+#define pp_goto CPerlObj::Perl_pp_goto
+#define pp_gpbyname CPerlObj::Perl_pp_gpbyname
+#define pp_gpbynumber CPerlObj::Perl_pp_gpbynumber
+#define pp_gprotoent CPerlObj::Perl_pp_gprotoent
+#define pp_gpwent CPerlObj::Perl_pp_gpwent
+#define pp_gpwnam CPerlObj::Perl_pp_gpwnam
+#define pp_gpwuid CPerlObj::Perl_pp_gpwuid
+#define pp_grepstart CPerlObj::Perl_pp_grepstart
+#define pp_grepwhile CPerlObj::Perl_pp_grepwhile
+#define pp_gsbyname CPerlObj::Perl_pp_gsbyname
+#define pp_gsbyport CPerlObj::Perl_pp_gsbyport
+#define pp_gservent CPerlObj::Perl_pp_gservent
+#define pp_gsockopt CPerlObj::Perl_pp_gsockopt
+#define pp_gt CPerlObj::Perl_pp_gt
+#define pp_gv CPerlObj::Perl_pp_gv
+#define pp_gvsv CPerlObj::Perl_pp_gvsv
+#define pp_helem CPerlObj::Perl_pp_helem
+#define pp_hex CPerlObj::Perl_pp_hex
+#define pp_hslice CPerlObj::Perl_pp_hslice
+#define pp_i_add CPerlObj::Perl_pp_i_add
+#define pp_i_divide CPerlObj::Perl_pp_i_divide
+#define pp_i_eq CPerlObj::Perl_pp_i_eq
+#define pp_i_ge CPerlObj::Perl_pp_i_ge
+#define pp_i_gt CPerlObj::Perl_pp_i_gt
+#define pp_i_le CPerlObj::Perl_pp_i_le
+#define pp_i_lt CPerlObj::Perl_pp_i_lt
+#define pp_i_modulo CPerlObj::Perl_pp_i_modulo
+#define pp_i_multiply CPerlObj::Perl_pp_i_multiply
+#define pp_i_ncmp CPerlObj::Perl_pp_i_ncmp
+#define pp_i_ne CPerlObj::Perl_pp_i_ne
+#define pp_i_negate CPerlObj::Perl_pp_i_negate
+#define pp_i_subtract CPerlObj::Perl_pp_i_subtract
+#define pp_index CPerlObj::Perl_pp_index
+#define pp_int CPerlObj::Perl_pp_int
+#define pp_ioctl CPerlObj::Perl_pp_ioctl
+#define pp_iter CPerlObj::Perl_pp_iter
+#define pp_join CPerlObj::Perl_pp_join
+#define pp_keys CPerlObj::Perl_pp_keys
+#define pp_kill CPerlObj::Perl_pp_kill
+#define pp_last CPerlObj::Perl_pp_last
+#define pp_lc CPerlObj::Perl_pp_lc
+#define pp_lcfirst CPerlObj::Perl_pp_lcfirst
+#define pp_le CPerlObj::Perl_pp_le
+#define pp_leave CPerlObj::Perl_pp_leave
+#define pp_leaveeval CPerlObj::Perl_pp_leaveeval
+#define pp_leaveloop CPerlObj::Perl_pp_leaveloop
+#define pp_leavesub CPerlObj::Perl_pp_leavesub
+#define pp_leavetry CPerlObj::Perl_pp_leavetry
+#define pp_leavewrite CPerlObj::Perl_pp_leavewrite
+#define pp_left_shift CPerlObj::Perl_pp_left_shift
+#define pp_length CPerlObj::Perl_pp_length
+#define pp_lineseq CPerlObj::Perl_pp_lineseq
+#define pp_link CPerlObj::Perl_pp_link
+#define pp_list CPerlObj::Perl_pp_list
+#define pp_listen CPerlObj::Perl_pp_listen
+#define pp_localtime CPerlObj::Perl_pp_localtime
+#define pp_lock CPerlObj::Perl_pp_lock
+#define pp_log CPerlObj::Perl_pp_log
+#define pp_lslice CPerlObj::Perl_pp_lslice
+#define pp_lstat CPerlObj::Perl_pp_lstat
+#define pp_lt CPerlObj::Perl_pp_lt
+#define pp_mapstart CPerlObj::Perl_pp_mapstart
+#define pp_mapwhile CPerlObj::Perl_pp_mapwhile
+#define pp_match CPerlObj::Perl_pp_match
+#define pp_method CPerlObj::Perl_pp_method
+#define pp_mkdir CPerlObj::Perl_pp_mkdir
+#define pp_modulo CPerlObj::Perl_pp_modulo
+#define pp_msgctl CPerlObj::Perl_pp_msgctl
+#define pp_msgget CPerlObj::Perl_pp_msgget
+#define pp_msgrcv CPerlObj::Perl_pp_msgrcv
+#define pp_msgsnd CPerlObj::Perl_pp_msgsnd
+#define pp_multiply CPerlObj::Perl_pp_multiply
+#define pp_ncmp CPerlObj::Perl_pp_ncmp
+#define pp_ne CPerlObj::Perl_pp_ne
+#define pp_negate CPerlObj::Perl_pp_negate
+#define pp_next CPerlObj::Perl_pp_next
+#define pp_nextstate CPerlObj::Perl_pp_nextstate
+#define pp_not CPerlObj::Perl_pp_not
+#define pp_null CPerlObj::Perl_pp_null
+#define pp_oct CPerlObj::Perl_pp_oct
+#define pp_open CPerlObj::Perl_pp_open
+#define pp_open_dir CPerlObj::Perl_pp_open_dir
+#define pp_or CPerlObj::Perl_pp_or
+#define pp_orassign CPerlObj::Perl_pp_orassign
+#define pp_ord CPerlObj::Perl_pp_ord
+#define pp_pack CPerlObj::Perl_pp_pack
+#define pp_padany CPerlObj::Perl_pp_padany
+#define pp_padav CPerlObj::Perl_pp_padav
+#define pp_padhv CPerlObj::Perl_pp_padhv
+#define pp_padsv CPerlObj::Perl_pp_padsv
+#define pp_pipe_op CPerlObj::Perl_pp_pipe_op
+#define pp_pop CPerlObj::Perl_pp_pop
+#define pp_pos CPerlObj::Perl_pp_pos
+#define pp_postdec CPerlObj::Perl_pp_postdec
+#define pp_postinc CPerlObj::Perl_pp_postinc
+#define pp_pow CPerlObj::Perl_pp_pow
+#define pp_predec CPerlObj::Perl_pp_predec
+#define pp_preinc CPerlObj::Perl_pp_preinc
+#define pp_print CPerlObj::Perl_pp_print
+#define pp_prototype CPerlObj::Perl_pp_prototype
+#define pp_prtf CPerlObj::Perl_pp_prtf
+#define pp_push CPerlObj::Perl_pp_push
+#define pp_pushmark CPerlObj::Perl_pp_pushmark
+#define pp_pushre CPerlObj::Perl_pp_pushre
+#define pp_qr CPerlObj::Perl_pp_qr
+#define pp_quotemeta CPerlObj::Perl_pp_quotemeta
+#define pp_rand CPerlObj::Perl_pp_rand
+#define pp_range CPerlObj::Perl_pp_range
+#define pp_rcatline CPerlObj::Perl_pp_rcatline
+#define pp_read CPerlObj::Perl_pp_read
+#define pp_readdir CPerlObj::Perl_pp_readdir
+#define pp_readline CPerlObj::Perl_pp_readline
+#define pp_readlink CPerlObj::Perl_pp_readlink
+#define pp_recv CPerlObj::Perl_pp_recv
+#define pp_redo CPerlObj::Perl_pp_redo
+#define pp_ref CPerlObj::Perl_pp_ref
+#define pp_refgen CPerlObj::Perl_pp_refgen
+#define pp_regcmaybe CPerlObj::Perl_pp_regcmaybe
+#define pp_regcomp CPerlObj::Perl_pp_regcomp
+#define pp_regcreset CPerlObj::Perl_pp_regcreset
+#define pp_rename CPerlObj::Perl_pp_rename
+#define pp_repeat CPerlObj::Perl_pp_repeat
+#define pp_require CPerlObj::Perl_pp_require
+#define pp_reset CPerlObj::Perl_pp_reset
+#define pp_return CPerlObj::Perl_pp_return
+#define pp_reverse CPerlObj::Perl_pp_reverse
+#define pp_rewinddir CPerlObj::Perl_pp_rewinddir
+#define pp_right_shift CPerlObj::Perl_pp_right_shift
+#define pp_rindex CPerlObj::Perl_pp_rindex
+#define pp_rmdir CPerlObj::Perl_pp_rmdir
+#define pp_rv2av CPerlObj::Perl_pp_rv2av
+#define pp_rv2cv CPerlObj::Perl_pp_rv2cv
+#define pp_rv2gv CPerlObj::Perl_pp_rv2gv
+#define pp_rv2hv CPerlObj::Perl_pp_rv2hv
+#define pp_rv2sv CPerlObj::Perl_pp_rv2sv
+#define pp_sassign CPerlObj::Perl_pp_sassign
+#define pp_scalar CPerlObj::Perl_pp_scalar
+#define pp_schomp CPerlObj::Perl_pp_schomp
+#define pp_schop CPerlObj::Perl_pp_schop
+#define pp_scmp CPerlObj::Perl_pp_scmp
+#define pp_scope CPerlObj::Perl_pp_scope
+#define pp_seek CPerlObj::Perl_pp_seek
+#define pp_seekdir CPerlObj::Perl_pp_seekdir
+#define pp_select CPerlObj::Perl_pp_select
+#define pp_semctl CPerlObj::Perl_pp_semctl
+#define pp_semget CPerlObj::Perl_pp_semget
+#define pp_semop CPerlObj::Perl_pp_semop
+#define pp_send CPerlObj::Perl_pp_send
+#define pp_seq CPerlObj::Perl_pp_seq
+#define pp_setpgrp CPerlObj::Perl_pp_setpgrp
+#define pp_setpriority CPerlObj::Perl_pp_setpriority
+#define pp_sge CPerlObj::Perl_pp_sge
+#define pp_sgrent CPerlObj::Perl_pp_sgrent
+#define pp_sgt CPerlObj::Perl_pp_sgt
+#define pp_shift CPerlObj::Perl_pp_shift
+#define pp_shmctl CPerlObj::Perl_pp_shmctl
+#define pp_shmget CPerlObj::Perl_pp_shmget
+#define pp_shmread CPerlObj::Perl_pp_shmread
+#define pp_shmwrite CPerlObj::Perl_pp_shmwrite
+#define pp_shostent CPerlObj::Perl_pp_shostent
+#define pp_shutdown CPerlObj::Perl_pp_shutdown
+#define pp_sin CPerlObj::Perl_pp_sin
+#define pp_sle CPerlObj::Perl_pp_sle
+#define pp_sleep CPerlObj::Perl_pp_sleep
+#define pp_slt CPerlObj::Perl_pp_slt
+#define pp_sne CPerlObj::Perl_pp_sne
+#define pp_snetent CPerlObj::Perl_pp_snetent
+#define pp_socket CPerlObj::Perl_pp_socket
+#define pp_sockpair CPerlObj::Perl_pp_sockpair
+#define pp_sort CPerlObj::Perl_pp_sort
+#define pp_splice CPerlObj::Perl_pp_splice
+#define pp_split CPerlObj::Perl_pp_split
+#define pp_sprintf CPerlObj::Perl_pp_sprintf
+#define pp_sprotoent CPerlObj::Perl_pp_sprotoent
+#define pp_spwent CPerlObj::Perl_pp_spwent
+#define pp_sqrt CPerlObj::Perl_pp_sqrt
+#define pp_srand CPerlObj::Perl_pp_srand
+#define pp_srefgen CPerlObj::Perl_pp_srefgen
+#define pp_sselect CPerlObj::Perl_pp_sselect
+#define pp_sservent CPerlObj::Perl_pp_sservent
+#define pp_ssockopt CPerlObj::Perl_pp_ssockopt
+#define pp_stat CPerlObj::Perl_pp_stat
+#define pp_stringify CPerlObj::Perl_pp_stringify
+#define pp_stub CPerlObj::Perl_pp_stub
+#define pp_study CPerlObj::Perl_pp_study
+#define pp_subst CPerlObj::Perl_pp_subst
+#define pp_substcont CPerlObj::Perl_pp_substcont
+#define pp_substr CPerlObj::Perl_pp_substr
+#define pp_subtract CPerlObj::Perl_pp_subtract
+#define pp_symlink CPerlObj::Perl_pp_symlink
+#define pp_syscall CPerlObj::Perl_pp_syscall
+#define pp_sysopen CPerlObj::Perl_pp_sysopen
+#define pp_sysread CPerlObj::Perl_pp_sysread
+#define pp_sysseek CPerlObj::Perl_pp_sysseek
+#define pp_system CPerlObj::Perl_pp_system
+#define pp_syswrite CPerlObj::Perl_pp_syswrite
+#define pp_tell CPerlObj::Perl_pp_tell
+#define pp_telldir CPerlObj::Perl_pp_telldir
+#define pp_threadsv CPerlObj::Perl_pp_threadsv
+#define pp_tie CPerlObj::Perl_pp_tie
+#define pp_tied CPerlObj::Perl_pp_tied
+#define pp_time CPerlObj::Perl_pp_time
+#define pp_tms CPerlObj::Perl_pp_tms
+#define pp_trans CPerlObj::Perl_pp_trans
+#define pp_truncate CPerlObj::Perl_pp_truncate
+#define pp_uc CPerlObj::Perl_pp_uc
+#define pp_ucfirst CPerlObj::Perl_pp_ucfirst
+#define pp_umask CPerlObj::Perl_pp_umask
+#define pp_undef CPerlObj::Perl_pp_undef
+#define pp_unlink CPerlObj::Perl_pp_unlink
+#define pp_unpack CPerlObj::Perl_pp_unpack
+#define pp_unshift CPerlObj::Perl_pp_unshift
+#define pp_unstack CPerlObj::Perl_pp_unstack
+#define pp_untie CPerlObj::Perl_pp_untie
+#define pp_utime CPerlObj::Perl_pp_utime
+#define pp_values CPerlObj::Perl_pp_values
+#define pp_vec CPerlObj::Perl_pp_vec
+#define pp_wait CPerlObj::Perl_pp_wait
+#define pp_waitpid CPerlObj::Perl_pp_waitpid
+#define pp_wantarray CPerlObj::Perl_pp_wantarray
+#define pp_warn CPerlObj::Perl_pp_warn
+#define pp_xor CPerlObj::Perl_pp_xor
+#define pregcomp CPerlObj::Perl_pregcomp
+#define pregexec CPerlObj::Perl_pregexec
+#define pregfree CPerlObj::Perl_pregfree
+#define prepend_elem CPerlObj::Perl_prepend_elem
+#define push_return CPerlObj::Perl_push_return
+#define push_scope CPerlObj::Perl_push_scope
+#define qsortsv CPerlObj::Perl_qsortsv
+#define re_croak2 CPerlObj::Perl_re_croak2
+#define ref CPerlObj::Perl_ref
+#define refkids CPerlObj::Perl_refkids
+#define refto CPerlObj::Perl_refto
+#define reg CPerlObj::Perl_reg
+#define reg_node CPerlObj::Perl_reg_node
+#define reganode CPerlObj::Perl_reganode
+#define regatom CPerlObj::Perl_regatom
+#define regbranch CPerlObj::Perl_regbranch
+#define regc CPerlObj::Perl_regc
+#define regclass CPerlObj::Perl_regclass
+#define regclassutf8 CPerlObj::Perl_regclassutf8
+#define regcp_set_to CPerlObj::Perl_regcp_set_to
+#define regcppop CPerlObj::Perl_regcppop
+#define regcppush CPerlObj::Perl_regcppush
+#define regcurly CPerlObj::Perl_regcurly
+#define regdump CPerlObj::Perl_regdump
+#define regexec_flags CPerlObj::Perl_regexec_flags
+#define reghop CPerlObj::Perl_reghop
+#define reghopmaybe CPerlObj::Perl_reghopmaybe
+#define reginclass CPerlObj::Perl_reginclass
+#define reginclassutf8 CPerlObj::Perl_reginclassutf8
+#define reginsert CPerlObj::Perl_reginsert
+#define regmatch CPerlObj::Perl_regmatch
+#define regnext CPerlObj::Perl_regnext
+#define regoptail CPerlObj::Perl_regoptail
+#define regpiece CPerlObj::Perl_regpiece
+#define regprop CPerlObj::Perl_regprop
+#define regrepeat CPerlObj::Perl_regrepeat
+#define regrepeat_hard CPerlObj::Perl_regrepeat_hard
+#define regset CPerlObj::Perl_regset
+#define regtail CPerlObj::Perl_regtail
+#define regtry CPerlObj::Perl_regtry
+#define reguni CPerlObj::Perl_reguni
+#define regwhite CPerlObj::Perl_regwhite
+#define repeatcpy CPerlObj::Perl_repeatcpy
+#define restore_expect CPerlObj::Perl_restore_expect
+#define restore_lex_expect CPerlObj::Perl_restore_lex_expect
+#define restore_magic CPerlObj::Perl_restore_magic
+#define restore_rsfp CPerlObj::Perl_restore_rsfp
+#define rninstr CPerlObj::Perl_rninstr
+#define rsignal CPerlObj::Perl_rsignal
+#define rsignal_restore CPerlObj::Perl_rsignal_restore
+#define rsignal_save CPerlObj::Perl_rsignal_save
+#define rsignal_state CPerlObj::Perl_rsignal_state
+#define runops_debug CPerlObj::Perl_runops_debug
+#define runops_debug CPerlObj::Perl_runops_debug
+#define runops_standard CPerlObj::Perl_runops_standard
+#define runops_standard CPerlObj::Perl_runops_standard
+#define rxres_free CPerlObj::Perl_rxres_free
+#define rxres_restore CPerlObj::Perl_rxres_restore
+#define rxres_save CPerlObj::Perl_rxres_save
+#define safecalloc CPerlObj::Perl_safecalloc
+#define safefree CPerlObj::Perl_safefree
+#define safemalloc CPerlObj::Perl_safemalloc
+#define saferealloc CPerlObj::Perl_saferealloc
+#define safexcalloc CPerlObj::Perl_safexcalloc
+#define safexfree CPerlObj::Perl_safexfree
+#define safexmalloc CPerlObj::Perl_safexmalloc
+#define safexrealloc CPerlObj::Perl_safexrealloc
+#define same_dirent CPerlObj::Perl_same_dirent
+#define save_I16 CPerlObj::Perl_save_I16
+#define save_I32 CPerlObj::Perl_save_I32
+#define save_aelem CPerlObj::Perl_save_aelem
+#define save_alloc CPerlObj::Perl_save_alloc
+#define save_aptr CPerlObj::Perl_save_aptr
+#define save_ary CPerlObj::Perl_save_ary
+#define save_clearsv CPerlObj::Perl_save_clearsv
+#define save_delete CPerlObj::Perl_save_delete
+#define save_destructor CPerlObj::Perl_save_destructor
+#define save_freeop CPerlObj::Perl_save_freeop
+#define save_freepv CPerlObj::Perl_save_freepv
+#define save_freesv CPerlObj::Perl_save_freesv
+#define save_generic_svref CPerlObj::Perl_save_generic_svref
+#define save_gp CPerlObj::Perl_save_gp
+#define save_hash CPerlObj::Perl_save_hash
+#define save_hek CPerlObj::Perl_save_hek
+#define save_helem CPerlObj::Perl_save_helem
+#define save_hints CPerlObj::Perl_save_hints
+#define save_hptr CPerlObj::Perl_save_hptr
+#define save_int CPerlObj::Perl_save_int
+#define save_item CPerlObj::Perl_save_item
+#define save_iv CPerlObj::Perl_save_iv
+#define save_lines CPerlObj::Perl_save_lines
+#define save_list CPerlObj::Perl_save_list
+#define save_long CPerlObj::Perl_save_long
+#define save_magic CPerlObj::Perl_save_magic
+#define save_nogv CPerlObj::Perl_save_nogv
+#define save_op CPerlObj::Perl_save_op
+#define save_pptr CPerlObj::Perl_save_pptr
+#define save_re_context CPerlObj::Perl_save_re_context
+#define save_scalar CPerlObj::Perl_save_scalar
+#define save_scalar_at CPerlObj::Perl_save_scalar_at
+#define save_sptr CPerlObj::Perl_save_sptr
+#define save_svref CPerlObj::Perl_save_svref
+#define save_threadsv CPerlObj::Perl_save_threadsv
+#define savepv CPerlObj::Perl_savepv
+#define savepvn CPerlObj::Perl_savepvn
+#define savestack_grow CPerlObj::Perl_savestack_grow
+#define sawparens CPerlObj::Perl_sawparens
+#define scalar CPerlObj::Perl_scalar
+#define scalarboolean CPerlObj::Perl_scalarboolean
+#define scalarkids CPerlObj::Perl_scalarkids
+#define scalarseq CPerlObj::Perl_scalarseq
+#define scalarvoid CPerlObj::Perl_scalarvoid
+#define scan_commit CPerlObj::Perl_scan_commit
+#define scan_const CPerlObj::Perl_scan_const
+#define scan_const CPerlObj::Perl_scan_const
+#define scan_formline CPerlObj::Perl_scan_formline
+#define scan_formline CPerlObj::Perl_scan_formline
+#define scan_heredoc CPerlObj::Perl_scan_heredoc
+#define scan_heredoc CPerlObj::Perl_scan_heredoc
+#define scan_hex CPerlObj::Perl_scan_hex
+#define scan_ident CPerlObj::Perl_scan_ident
+#define scan_ident CPerlObj::Perl_scan_ident
+#define scan_inputsymbol CPerlObj::Perl_scan_inputsymbol
+#define scan_inputsymbol CPerlObj::Perl_scan_inputsymbol
+#define scan_num CPerlObj::Perl_scan_num
+#define scan_oct CPerlObj::Perl_scan_oct
+#define scan_pat CPerlObj::Perl_scan_pat
+#define scan_pat CPerlObj::Perl_scan_pat
+#define scan_prefix CPerlObj::Perl_scan_prefix
+#define scan_str CPerlObj::Perl_scan_str
+#define scan_str CPerlObj::Perl_scan_str
+#define scan_subst CPerlObj::Perl_scan_subst
+#define scan_subst CPerlObj::Perl_scan_subst
+#define scan_trans CPerlObj::Perl_scan_trans
+#define scan_trans CPerlObj::Perl_scan_trans
+#define scan_word CPerlObj::Perl_scan_word
+#define scan_word CPerlObj::Perl_scan_word
+#define scope CPerlObj::Perl_scope
+#define screaminstr CPerlObj::Perl_screaminstr
+#define seed CPerlObj::Perl_seed
+#define set_csh CPerlObj::Perl_set_csh
+#define setdefout CPerlObj::Perl_setdefout
+#define setenv_getix CPerlObj::Perl_setenv_getix
+#define share_hek CPerlObj::Perl_share_hek
+#define sharepvn CPerlObj::Perl_sharepvn
+#define sighandler CPerlObj::Perl_sighandler
+#define skipspace CPerlObj::Perl_skipspace
+#define skipspace CPerlObj::Perl_skipspace
+#define sortcv CPerlObj::Perl_sortcv
+#define stack_grow CPerlObj::Perl_stack_grow
+#define start_subparse CPerlObj::Perl_start_subparse
+#define study_chunk CPerlObj::Perl_study_chunk
+#define sub_crush_depth CPerlObj::Perl_sub_crush_depth
+#define sublex_done CPerlObj::Perl_sublex_done
+#define sublex_push CPerlObj::Perl_sublex_push
+#define sublex_start CPerlObj::Perl_sublex_start
+#define sv_2bool CPerlObj::Perl_sv_2bool
+#define sv_2cv CPerlObj::Perl_sv_2cv
+#define sv_2io CPerlObj::Perl_sv_2io
+#define sv_2iv CPerlObj::Perl_sv_2iv
+#define sv_2mortal CPerlObj::Perl_sv_2mortal
+#define sv_2nv CPerlObj::Perl_sv_2nv
+#define sv_2pv CPerlObj::Perl_sv_2pv
+#define sv_2uv CPerlObj::Perl_sv_2uv
+#define sv_add_arena CPerlObj::Perl_sv_add_arena
+#define sv_backoff CPerlObj::Perl_sv_backoff
+#define sv_bless CPerlObj::Perl_sv_bless
+#define sv_catpv CPerlObj::Perl_sv_catpv
+#define sv_catpv_mg CPerlObj::Perl_sv_catpv_mg
+#define sv_catpvf CPerlObj::Perl_sv_catpvf
+#define sv_catpvf_mg CPerlObj::Perl_sv_catpvf_mg
+#define sv_catpvn CPerlObj::Perl_sv_catpvn
+#define sv_catpvn_mg CPerlObj::Perl_sv_catpvn_mg
+#define sv_catsv CPerlObj::Perl_sv_catsv
+#define sv_catsv_mg CPerlObj::Perl_sv_catsv_mg
+#define sv_check_thinkfirst CPerlObj::Perl_sv_check_thinkfirst
+#define sv_chop CPerlObj::Perl_sv_chop
+#define sv_clean_all CPerlObj::Perl_sv_clean_all
+#define sv_clean_objs CPerlObj::Perl_sv_clean_objs
+#define sv_clear CPerlObj::Perl_sv_clear
+#define sv_cmp CPerlObj::Perl_sv_cmp
+#define sv_cmp_locale CPerlObj::Perl_sv_cmp_locale
+#define sv_collxfrm CPerlObj::Perl_sv_collxfrm
+#define sv_compile_2op CPerlObj::Perl_sv_compile_2op
+#define sv_dec CPerlObj::Perl_sv_dec
+#define sv_derived_from CPerlObj::Perl_sv_derived_from
+#define sv_dump CPerlObj::Perl_sv_dump
+#define sv_eq CPerlObj::Perl_sv_eq
+#define sv_free CPerlObj::Perl_sv_free
+#define sv_free_arenas CPerlObj::Perl_sv_free_arenas
+#define sv_gets CPerlObj::Perl_sv_gets
+#define sv_grow CPerlObj::Perl_sv_grow
+#define sv_inc CPerlObj::Perl_sv_inc
+#define sv_insert CPerlObj::Perl_sv_insert
+#define sv_isa CPerlObj::Perl_sv_isa
+#define sv_isobject CPerlObj::Perl_sv_isobject
+#define sv_iv CPerlObj::Perl_sv_iv
+#define sv_len CPerlObj::Perl_sv_len
+#define sv_len_utf8 CPerlObj::Perl_sv_len_utf8
+#define sv_magic CPerlObj::Perl_sv_magic
+#define sv_mortalcopy CPerlObj::Perl_sv_mortalcopy
+#define sv_mortalgrow CPerlObj::Perl_sv_mortalgrow
+#define sv_newmortal CPerlObj::Perl_sv_newmortal
+#define sv_newref CPerlObj::Perl_sv_newref
+#define sv_nv CPerlObj::Perl_sv_nv
+#define sv_peek CPerlObj::Perl_sv_peek
+#define sv_pos_b2u CPerlObj::Perl_sv_pos_b2u
+#define sv_pos_u2b CPerlObj::Perl_sv_pos_u2b
+#define sv_pvn CPerlObj::Perl_sv_pvn
+#define sv_pvn_force CPerlObj::Perl_sv_pvn_force
+#define sv_ref CPerlObj::Perl_sv_ref
+#define sv_reftype CPerlObj::Perl_sv_reftype
+#define sv_replace CPerlObj::Perl_sv_replace
+#define sv_report_used CPerlObj::Perl_sv_report_used
+#define sv_reset CPerlObj::Perl_sv_reset
+#define sv_setiv CPerlObj::Perl_sv_setiv
+#define sv_setiv_mg CPerlObj::Perl_sv_setiv_mg
+#define sv_setnv CPerlObj::Perl_sv_setnv
+#define sv_setnv_mg CPerlObj::Perl_sv_setnv_mg
+#define sv_setptrobj CPerlObj::Perl_sv_setptrobj
+#define sv_setpv CPerlObj::Perl_sv_setpv
+#define sv_setpv_mg CPerlObj::Perl_sv_setpv_mg
+#define sv_setpvf CPerlObj::Perl_sv_setpvf
+#define sv_setpvf_mg CPerlObj::Perl_sv_setpvf_mg
+#define sv_setpviv CPerlObj::Perl_sv_setpviv
+#define sv_setpviv_mg CPerlObj::Perl_sv_setpviv_mg
+#define sv_setpvn CPerlObj::Perl_sv_setpvn
+#define sv_setpvn_mg CPerlObj::Perl_sv_setpvn_mg
+#define sv_setref_iv CPerlObj::Perl_sv_setref_iv
+#define sv_setref_nv CPerlObj::Perl_sv_setref_nv
+#define sv_setref_pv CPerlObj::Perl_sv_setref_pv
+#define sv_setref_pvn CPerlObj::Perl_sv_setref_pvn
+#define sv_setsv CPerlObj::Perl_sv_setsv
+#define sv_setsv_mg CPerlObj::Perl_sv_setsv_mg
+#define sv_setuv CPerlObj::Perl_sv_setuv
+#define sv_setuv_mg CPerlObj::Perl_sv_setuv_mg
+#define sv_taint CPerlObj::Perl_sv_taint
+#define sv_tainted CPerlObj::Perl_sv_tainted
+#define sv_true CPerlObj::Perl_sv_true
+#define sv_unglob CPerlObj::Perl_sv_unglob
+#define sv_unmagic CPerlObj::Perl_sv_unmagic
+#define sv_unref CPerlObj::Perl_sv_unref
+#define sv_untaint CPerlObj::Perl_sv_untaint
+#define sv_upgrade CPerlObj::Perl_sv_upgrade
+#define sv_usepvn CPerlObj::Perl_sv_usepvn
+#define sv_usepvn_mg CPerlObj::Perl_sv_usepvn_mg
+#define sv_uv CPerlObj::Perl_sv_uv
+#define sv_vcatpvfn CPerlObj::Perl_sv_vcatpvfn
+#define sv_vsetpvfn CPerlObj::Perl_sv_vsetpvfn
+#define swash_fetch CPerlObj::Perl_swash_fetch
+#define swash_init CPerlObj::Perl_swash_init
+#define taint_env CPerlObj::Perl_taint_env
+#define taint_proper CPerlObj::Perl_taint_proper
+#define to_uni_lower CPerlObj::Perl_to_uni_lower
+#define to_uni_lower_lc CPerlObj::Perl_to_uni_lower_lc
+#define to_uni_title CPerlObj::Perl_to_uni_title
+#define to_uni_title_lc CPerlObj::Perl_to_uni_title_lc
+#define to_uni_upper CPerlObj::Perl_to_uni_upper
+#define to_uni_upper_lc CPerlObj::Perl_to_uni_upper_lc
+#define to_utf8_lower CPerlObj::Perl_to_utf8_lower
+#define to_utf8_title CPerlObj::Perl_to_utf8_title
+#define to_utf8_upper CPerlObj::Perl_to_utf8_upper
+#define tokeq CPerlObj::Perl_tokeq
+#define too_few_arguments CPerlObj::Perl_too_few_arguments
+#define too_few_arguments CPerlObj::Perl_too_few_arguments
+#define too_many_arguments CPerlObj::Perl_too_many_arguments
+#define too_many_arguments CPerlObj::Perl_too_many_arguments
+#define uni CPerlObj::Perl_uni
+#define unlnk CPerlObj::Perl_unlnk
+#define unlock_condpair CPerlObj::Perl_unlock_condpair
+#define unshare_hek CPerlObj::Perl_unshare_hek
+#define unsharepvn CPerlObj::Perl_unsharepvn
+#define unwind_handler_stack CPerlObj::Perl_unwind_handler_stack
+#define usage CPerlObj::Perl_usage
+#define utf16_to_utf8 CPerlObj::Perl_utf16_to_utf8
+#define utf16_to_utf8_reversed CPerlObj::Perl_utf16_to_utf8_reversed
+#define utf8_distance CPerlObj::Perl_utf8_distance
+#define utf8_hop CPerlObj::Perl_utf8_hop
+#define utf8_to_uv CPerlObj::Perl_utf8_to_uv
+#define utilize CPerlObj::Perl_utilize
+#define uv_to_utf8 CPerlObj::Perl_uv_to_utf8
+#define validate_suid CPerlObj::Perl_validate_suid
+#define visit CPerlObj::Perl_visit
+#define vivify_defelem CPerlObj::Perl_vivify_defelem
+#define vivify_ref CPerlObj::Perl_vivify_ref
+#define wait4pid CPerlObj::Perl_wait4pid
+#define warn CPerlObj::Perl_warn
+#define warner CPerlObj::Perl_warner
+#define watch CPerlObj::Perl_watch
+#define whichsig CPerlObj::Perl_whichsig
+#define win32_textfilter CPerlObj::Perl_win32_textfilter
+#define yydestruct CPerlObj::Perl_yydestruct
+#define yydestruct CPerlObj::Perl_yydestruct
+#define yyerror CPerlObj::Perl_yyerror
+#define yylex CPerlObj::Perl_yylex
+#define yyparse CPerlObj::Perl_yyparse
+#define yywarn CPerlObj::Perl_yywarn
+
+#endif /* PERL_OBJECT */
diff --git a/embed.pl b/embed.pl
index 52c93ab974..2ca20d06db 100755
--- a/embed.pl
+++ b/embed.pl
@@ -23,31 +23,36 @@ my @extvars = qw(sv_undef sv_yes sv_no na dowarn
sub readsyms (\%$) {
my ($syms, $file) = @_;
- %$syms = ();
local (*FILE, $_);
open(FILE, "< $file")
or die "embed.pl: Can't open $file: $!\n";
while (<FILE>) {
s/[ \t]*#.*//; # Delete comments.
if (/^\s*(\S+)\s*$/) {
- $$syms{$1} = 1;
+ my $sym = $1;
+ warn "duplicate symbol $sym while processing $file\n"
+ if exists $$syms{$sym};
+ $$syms{$sym} = 1;
}
}
close(FILE);
}
readsyms %global, 'global.sym';
+readsyms %global, 'pp.sym';
sub readvars(\%$$) {
my ($syms, $file,$pre) = @_;
- %$syms = ();
local (*FILE, $_);
open(FILE, "< $file")
or die "embed.pl: Can't open $file: $!\n";
while (<FILE>) {
s/[ \t]*#.*//; # Delete comments.
if (/PERLVARI?C?\($pre(\w+)/) {
- $$syms{$1} = 1;
+ my $sym = $1;
+ warn "duplicate symbol $sym while processing $file\n"
+ if exists $$syms{$sym};
+ $$syms{$sym} = 1;
}
}
close(FILE);
@@ -65,7 +70,7 @@ foreach my $sym (sort keys %intrp)
if (exists $global{$sym})
{
delete $global{$sym};
- warn "$sym in global.sym as well as intrpvar.h\n";
+ warn "$sym in {global,pp}.sym as well as intrpvar.h\n";
}
}
@@ -74,7 +79,7 @@ foreach my $sym (sort keys %globvar)
if (exists $global{$sym})
{
delete $global{$sym};
- warn "$sym in global.sym as well as perlvars.h\n";
+ warn "$sym in {global,pp}.sym as well as perlvars.h\n";
}
}
@@ -84,7 +89,7 @@ foreach my $sym (sort keys %thread)
if (exists $global{$sym})
{
delete $global{$sym};
- warn "$sym in global.sym as well as thrdvar.h\n";
+ warn "$sym in {global,pp}.sym as well as thrdvar.h\n";
}
}
@@ -97,6 +102,10 @@ sub embed ($) {
my ($sym) = @_;
hide($sym, "Perl_$sym");
}
+sub embedobj ($) {
+ my ($sym) = @_;
+ hide($sym, $sym =~ /^perl_/i ? "CPerlObj::$sym" : "CPerlObj::Perl_$sym");
+}
sub embedvar ($) {
my ($sym) = @_;
# hide($sym, "Perl_$sym");
@@ -118,25 +127,17 @@ open(EM, '> embed.h')
print EM <<'END';
/* !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
- This file is built by embed.pl from global.sym, intrpvar.h,
+ This file is built by embed.pl from global.sym, pp.sym, intrpvar.h,
and thrdvar.h. Any changes made here will be lost!
*/
/* (Doing namespace management portably in C is really gross.) */
-/* EMBED has no run-time penalty, but helps keep the Perl namespace
- from colliding with that used by other libraries pulled in
- by extensions or by embedding perl. Allow a cc -DNO_EMBED
- override, however, to keep binary compatability with previous
- versions of perl.
-*/
-#ifndef NO_EMBED
-# define EMBED 1
-#endif
+/* NO_EMBED is no longer supported. i.e. EMBED is always active. */
-/* Hide global symbols? */
+/* Hide global symbols */
-#ifdef EMBED
+#if !defined(PERL_OBJECT)
END
@@ -146,7 +147,241 @@ for $sym (sort keys %global) {
print EM <<'END';
-#endif /* EMBED */
+#else /* PERL_OBJECT */
+
+END
+
+# XXX these should be in a *.sym file
+my @extras = qw(
+ perl_init_i18nl10n
+ perl_init_i18nl14n
+ perl_new_collate
+ perl_new_ctype
+ perl_new_numeric
+ perl_set_numeric_local
+ perl_set_numeric_standard
+ perl_construct
+ perl_destruct
+ perl_atexit
+ perl_free
+ perl_parse
+ perl_run
+ perl_get_sv
+ perl_get_av
+ perl_get_hv
+ perl_get_cv
+ perl_call_argv
+ perl_call_pv
+ perl_call_method
+ perl_call_sv
+ perl_eval_pv
+ perl_eval_sv
+ perl_require_pv
+
+ hsplit
+ hfreeentries
+ more_he
+ new_he
+ del_he
+ save_hek
+ mess_alloc
+ gv_init_sv
+ save_scalar_at
+ asIV
+ asUV
+ more_sv
+ more_xiv
+ more_xnv
+ more_xpv
+ more_xrv
+ new_xiv
+ new_xnv
+ new_xpv
+ new_xrv
+ del_xiv
+ del_xnv
+ del_xpv
+ del_xrv
+ sv_mortalgrow
+ sv_unglob
+ sv_check_thinkfirst
+ avhv_index_sv
+ do_report_used
+ do_clean_objs
+ do_clean_named_objs
+ do_clean_all
+ not_a_number
+ my_safemalloc
+ visit
+ qsortsv
+ sortcv
+ save_magic
+ magic_methpack
+ magic_methcall
+ magic_methcall
+ doform
+ doencodes
+ refto
+ seed
+ docatch
+ dofindlabel
+ doparseform
+ dopoptoeval
+ dopoptolabel
+ dopoptoloop
+ dopoptosub
+ dopoptosub_at
+ save_lines
+ doeval
+ amagic_cmp
+ amagic_cmp_locale
+ mul128
+ is_an_int
+ div128
+ runops_standard
+ runops_debug
+ check_uni
+ force_next
+ force_version
+ force_word
+ tokeq
+ scan_const
+ scan_formline
+ scan_heredoc
+ scan_ident
+ scan_inputsymbol
+ scan_pat
+ scan_str
+ scan_subst
+ scan_trans
+ scan_word
+ skipspace
+ checkcomma
+ force_ident
+ incline
+ intuit_method
+ intuit_more
+ lop
+ missingterm
+ no_op
+ set_csh
+ sublex_done
+ sublex_push
+ sublex_start
+ uni
+ filter_gets
+ new_constant
+ ao
+ depcom
+ win32_textfilter
+ incl_perldb
+ isa_lookup
+ get_db_sub
+ list_assignment
+ bad_type
+ modkids
+ no_fh_allowed
+ scalarboolean
+ too_few_arguments
+ too_many_arguments
+ null
+ pad_findlex
+ newDEFSVOP
+ gv_ename
+ cv_clone2
+ find_beginning
+ forbid_setid
+ incpush
+ init_interp
+ init_ids
+ init_debugger
+ init_lexer
+ init_main_stash
+ init_perllib
+ init_postdump_symbols
+ init_predump_symbols
+ my_exit_jump
+ nuke_stacks
+ open_script
+ usage
+ validate_suid
+ emulate_eaccess
+ reg
+ reganode
+ regatom
+ regbranch
+ regc
+ reguni
+ regclass
+ regclassutf8
+ regcurly
+ reg_node
+ regpiece
+ reginsert
+ regoptail
+ regset
+ regtail
+ regwhite
+ nextchar
+ dumpuntil
+ scan_commit
+ study_chunk
+ add_data
+ re_croak2
+ regmatch
+ regrepeat
+ regrepeat_hard
+ regtry
+ reginclass
+ reginclassutf8
+ regcppush
+ regcppop
+ regcp_set_to
+ cache_re
+ reghop
+ reghopmaybe
+ dump
+ do_aspawn
+ debprof
+ bset_obj_store
+ new_logop
+ do_trans_CC_simple
+ do_trans_CC_count
+ do_trans_CC_complex
+ do_trans_UU_simple
+ do_trans_UU_count
+ do_trans_UU_complex
+ do_trans_UC_simple
+ do_trans_CU_simple
+ do_trans_UC_trivial
+ do_trans_CU_trivial
+ unwind_handler_stack
+ restore_magic
+ restore_rsfp
+ restore_expect
+ restore_lex_expect
+ yydestruct
+ del_sv
+ fprintf
+);
+
+my %skip;
+
+for $sym (qw[
+ utf8skip
+ ])
+{
+ $skip{$sym}++;
+}
+
+for $sym (sort(keys(%global),@extras)) {
+ next if exists $skip{$sym};
+ print EM embedobj($sym);
+}
+
+print EM <<'END';
+
+#endif /* PERL_OBJECT */
END
@@ -158,20 +393,12 @@ open(EM, '> embedvar.h')
print EM <<'END';
/* !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
- This file is built by embed.pl from global.sym, intrpvar.h,
+ This file is built by embed.pl from global.sym, pp.sym, intrpvar.h,
and thrdvar.h. Any changes made here will be lost!
*/
/* (Doing namespace management portably in C is really gross.) */
-/* EMBED has no run-time penalty, but helps keep the Perl namespace
- from colliding with that used by other libraries pulled in
- by extensions or by embedding perl. Allow a cc -DNO_EMBED
- override, however, to keep binary compatability with previous
- versions of perl.
-*/
-
-
/* Put interpreter-specific symbols into a struct? */
#ifdef MULTIPLICITY
@@ -223,8 +450,6 @@ print EM <<'END';
/* Hide what would have been interpreter-specific symbols? */
-#ifdef EMBED
-
END
for $sym (sort keys %intrp) {
@@ -244,7 +469,6 @@ for $sym (sort keys %thread) {
print EM <<'END';
#endif /* USE_THREADS */
-#endif /* EMBED */
#endif /* MULTIPLICITY */
/* Now same trickey for per-thread variables */
@@ -281,8 +505,6 @@ for $sym (sort keys %globvar) {
print EM <<'END';
-#ifdef EMBED
-
END
for $sym (sort keys %globvar) {
@@ -291,7 +513,6 @@ for $sym (sort keys %globvar) {
print EM <<'END';
-#endif /* EMBED */
#endif /* PERL_GLOBAL_STRUCT */
END
diff --git a/embedvar.h b/embedvar.h
index 67761b1a0b..a0bbea08f8 100644
--- a/embedvar.h
+++ b/embedvar.h
@@ -1,18 +1,10 @@
/* !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
- This file is built by embed.pl from global.sym, intrpvar.h,
+ This file is built by embed.pl from global.sym, pp.sym, intrpvar.h,
and thrdvar.h. Any changes made here will be lost!
*/
/* (Doing namespace management portably in C is really gross.) */
-/* EMBED has no run-time penalty, but helps keep the Perl namespace
- from colliding with that used by other libraries pulled in
- by extensions or by embedding perl. Allow a cc -DNO_EMBED
- override, however, to keep binary compatability with previous
- versions of perl.
-*/
-
-
/* Put interpreter-specific symbols into a struct? */
#ifdef MULTIPLICITY
@@ -128,6 +120,8 @@
#define PL_tmps_stack (PL_curinterp->Ttmps_stack)
#define PL_top_env (PL_curinterp->Ttop_env)
#define PL_toptarget (PL_curinterp->Ttoptarget)
+#define PL_watchaddr (PL_curinterp->Twatchaddr)
+#define PL_watchok (PL_curinterp->Twatchok)
#endif /* !USE_THREADS */
@@ -511,19 +505,18 @@
#define PL_Ttmps_stack PL_tmps_stack
#define PL_Ttop_env PL_top_env
#define PL_Ttoptarget PL_toptarget
+#define PL_Twatchaddr PL_watchaddr
+#define PL_Twatchok PL_watchok
#endif /* USE_THREADS */
/* Hide what would have been interpreter-specific symbols? */
-#ifdef EMBED
-
#ifndef USE_THREADS
#endif /* USE_THREADS */
-#endif /* EMBED */
#endif /* MULTIPLICITY */
/* Now same trickey for per-thread variables */
@@ -638,6 +631,8 @@
#define PL_tmps_stack (thr->Ttmps_stack)
#define PL_top_env (thr->Ttop_env)
#define PL_toptarget (thr->Ttoptarget)
+#define PL_watchaddr (thr->Twatchaddr)
+#define PL_watchok (thr->Twatchok)
#endif /* USE_THREADS */
@@ -907,10 +902,7 @@
#define PL_Gyynerrs PL_yynerrs
#define PL_Gyyval PL_yyval
-#ifdef EMBED
-
-#endif /* EMBED */
#endif /* PERL_GLOBAL_STRUCT */
diff --git a/ext/B/B.xs b/ext/B/B.xs
index 855b3fded5..ccc3f266c1 100644
--- a/ext/B/B.xs
+++ b/ext/B/B.xs
@@ -13,12 +13,12 @@
#include "INTERN.h"
#ifdef PERL_OBJECT
-#undef op_name
-#undef opargs
-#undef op_desc
-#define op_name (pPerl->Perl_get_op_names())
-#define opargs (pPerl->Perl_get_opargs())
-#define op_desc (pPerl->Perl_get_op_descs())
+#undef PL_op_name
+#undef PL_opargs
+#undef PL_op_desc
+#define PL_op_name (pPerl->Perl_get_op_names())
+#define PL_opargs (pPerl->Perl_get_opargs())
+#define PL_op_desc (pPerl->Perl_get_op_descs())
#endif
#ifdef PerlIO
@@ -95,7 +95,7 @@ cc_opclass(OP *o)
if (o->op_type == OP_SASSIGN)
return ((o->op_private & OPpASSIGN_BACKWARDS) ? OPc_UNOP : OPc_BINOP);
- switch (opargs[o->op_type] & OA_CLASS_MASK) {
+ switch (PL_opargs[o->op_type] & OA_CLASS_MASK) {
case OA_BASEOP:
return OPc_BASEOP;
@@ -173,7 +173,7 @@ cc_opclass(OP *o)
return OPc_PVOP;
}
warn("can't determine class of operator %s, assuming BASEOP\n",
- op_name[o->op_type]);
+ PL_op_name[o->op_type]);
return OPc_BASEOP;
}
@@ -518,7 +518,7 @@ ppname(opnum)
ST(0) = sv_newmortal();
if (opnum >= 0 && opnum < PL_maxo) {
sv_setpvn(ST(0), "pp_", 3);
- sv_catpv(ST(0), op_name[opnum]);
+ sv_catpv(ST(0), PL_op_name[opnum]);
}
void
@@ -568,7 +568,7 @@ threadsv_names()
#define OP_next(o) o->op_next
#define OP_sibling(o) o->op_sibling
-#define OP_desc(o) op_desc[o->op_type]
+#define OP_desc(o) PL_op_desc[o->op_type]
#define OP_targ(o) o->op_targ
#define OP_type(o) o->op_type
#define OP_seq(o) o->op_seq
@@ -591,7 +591,7 @@ OP_ppaddr(o)
CODE:
ST(0) = sv_newmortal();
sv_setpvn(ST(0), "pp_", 3);
- sv_catpv(ST(0), op_name[o->op_type]);
+ sv_catpv(ST(0), PL_op_name[o->op_type]);
char *
OP_desc(o)
diff --git a/ext/POSIX/POSIX.xs b/ext/POSIX/POSIX.xs
index 1ef70eb8f2..7b97586470 100644
--- a/ext/POSIX/POSIX.xs
+++ b/ext/POSIX/POSIX.xs
@@ -10,8 +10,6 @@
# undef open
# undef setmode
# define open PerlLIO_open3
-# undef TAINT_PROPER
-# define TAINT_PROPER(a)
#endif
#include <ctype.h>
#ifdef I_DIRENT /* XXX maybe better to just rely on perl.h? */
diff --git a/ext/Thread/Thread.xs b/ext/Thread/Thread.xs
index b9036c06f2..208daf2236 100644
--- a/ext/Thread/Thread.xs
+++ b/ext/Thread/Thread.xs
@@ -612,7 +612,7 @@ await_signal()
croak("panic: await_signal");
ST(0) = sv_newmortal();
if (ret)
- sv_setsv(ST(0), c ? psig_ptr[c] : &PL_sv_no);
+ sv_setsv(ST(0), c ? PL_psig_ptr[c] : &PL_sv_no);
DEBUG_S(PerlIO_printf(PerlIO_stderr(),
"await_signal returning %s\n", SvPEEK(ST(0))););
diff --git a/global.sym b/global.sym
index 8c08a1b9d1..5974a32d71 100644
--- a/global.sym
+++ b/global.sym
@@ -1,157 +1,6 @@
-# Global symbols that need to be hidden in embedded applications.
+# Global function symbols that need to be hidden in embedded applications.
-# Variables - should not be here but in perlvars.h
-
-AMG_names
-Error
-abs_amg
-add_amg
-add_ass_amg
-additem
-atan2_amg
-band_amg
-block_type
-bool__amg
-bor_amg
-bxor_amg
-check
-compl_amg
-concat_amg
-concat_ass_amg
-cos_amg
-dc
-dec_amg
-di
-div_amg
-div_ass_amg
-do_binmode
-ds
-eq_amg
-exp_amg
-expectterm
-fallback_amg
-fold
-fold_locale
-freq
-ge_amg
-gt_amg
-inc_amg
-init_thread_intern
-io_close
-know_next
-le_amg
-log_amg
-lshift_amg
-lshift_ass_amg
-lt_amg
-mod_amg
-mod_ass_amg
-mult_amg
-mult_ass_amg
-ncmp_amg
-ne_amg
-neg_amg
-new_struct_thread
-new_stackinfo
-no_aelem
-no_dir_func
-no_func
-no_helem
-no_mem
-no_modify
-no_myglob
-no_security
-no_sock_func
-no_symref
-no_usym
-no_wrongref
-nointrp
-nomem
-nomethod_amg
-not_amg
-numer_amg
-op_const_sv
-op_desc
-op_name
-opargs
-pow_amg
-pow_ass_amg
-ppaddr
-psig_name
-psig_ptr
-reall_srchlen
-regkind
-repeat_amg
-repeat_ass_amg
-rshift_amg
-rshift_ass_amg
-runops_debug
-runops_standard
-saw_return
-scmp_amg
-seq_amg
-sge_amg
-sgt_amg
-sig_name
-sig_num
-simple
-sin_amg
-sle_amg
-slt_amg
-sne_amg
-sqrt_amg
-string_amg
-subtr_amg
-subtr_ass_amg
-varies
-vivify_defelem
-vivify_ref
-vtbl_amagic
-vtbl_amagicelem
-vtbl_arylen
-vtbl_bm
-vtbl_collxfrm
-vtbl_dbline
-vtbl_defelem
-vtbl_env
-vtbl_envelem
-vtbl_fm
-vtbl_glob
-vtbl_isa
-vtbl_isaelem
-vtbl_mglob
-vtbl_mutex
-vtbl_nkeys
-vtbl_pack
-vtbl_packelem
-vtbl_pos
-vtbl_regexp
-vtbl_sig
-vtbl_sigelem
-vtbl_substr
-vtbl_sv
-vtbl_taint
-vtbl_uvar
-vtbl_vec
-warn_nl
-warn_nosemi
-warn_reserved
-warn_uninit
-watchaddr
-watchok
-yycheck
-yydefred
-yydgoto
-yygindex
-yylen
-yylhs
-yyname
-yyrindex
-yyrule
-yysindex
-yytable
-
-# Functions
+# *** Do NOT add global variables here, add them in *var*.h ***
Gv_AMupdate
amagic_call
@@ -188,6 +37,9 @@ byterun
call_list
cando
cast_ulong
+cast_i32
+cast_iv
+cast_uv
check_uni
checkcomma
ck_aelem
@@ -204,7 +56,6 @@ ck_fun
ck_fun_locale
ck_glob
ck_grep
-ck_gvconst
ck_index
ck_lengthconst
ck_lfun
@@ -213,7 +64,6 @@ ck_match
ck_null
ck_repeat
ck_require
-ck_retarget
ck_rfun
ck_rvconst
ck_scmp
@@ -245,6 +95,7 @@ deprecate
die
die_where
do_aexec
+do_binmode
do_chomp
do_chop
do_close
@@ -352,10 +203,12 @@ ibcmp
ibcmp_locale
ingroup
init_stacks
+init_thread_intern
instr
intro_my
intuit_more
invert
+io_close
is_uni_alnum
is_uni_alnum_lc
is_uni_alpha
@@ -472,6 +325,8 @@ my_setenv
my_stat
my_swap
my_unexec
+new_stackinfo
+new_struct_thread
newANONHASH
newANONLIST
newANONSUB
@@ -527,6 +382,7 @@ no_op
oopsAV
oopsCV
oopsHV
+op_const_sv
op_free
package
pad_alloc
@@ -544,363 +400,12 @@ pmruntime
pmtrans
pop_return
pop_scope
-pp_aassign
-pp_abs
-pp_accept
-pp_add
-pp_aelem
-pp_aelemfast
-pp_alarm
-pp_and
-pp_andassign
-pp_anoncode
-pp_anonhash
-pp_anonlist
-pp_aslice
-pp_atan2
-pp_av2arylen
-pp_backtick
-pp_bind
-pp_binmode
-pp_bit_and
-pp_bit_or
-pp_bit_xor
-pp_bless
-pp_caller
-pp_chdir
-pp_chmod
-pp_chomp
-pp_chop
-pp_chown
-pp_chr
-pp_chroot
-pp_close
-pp_closedir
-pp_complement
-pp_concat
-pp_cond_expr
-pp_connect
-pp_const
-pp_cos
-pp_crypt
-pp_cswitch
-pp_dbmclose
-pp_dbmopen
-pp_dbstate
-pp_defined
-pp_delete
-pp_die
-pp_divide
-pp_dofile
-pp_dump
-pp_each
-pp_egrent
-pp_ehostent
-pp_enetent
-pp_enter
-pp_entereval
-pp_enteriter
-pp_enterloop
-pp_entersub
-pp_entersubr
-pp_entertry
-pp_enterwrite
-pp_eof
-pp_eprotoent
-pp_epwent
-pp_eq
-pp_eservent
-pp_evalonce
-pp_exec
-pp_exists
-pp_exit
-pp_exp
-pp_fcntl
-pp_fileno
-pp_flip
-pp_flock
-pp_flop
-pp_fork
-pp_formline
-pp_ftatime
-pp_ftbinary
-pp_ftblk
-pp_ftchr
-pp_ftctime
-pp_ftdir
-pp_fteexec
-pp_fteowned
-pp_fteread
-pp_ftewrite
-pp_ftfile
-pp_ftis
-pp_ftlink
-pp_ftmtime
-pp_ftpipe
-pp_ftrexec
-pp_ftrowned
-pp_ftrread
-pp_ftrwrite
-pp_ftsgid
-pp_ftsize
-pp_ftsock
-pp_ftsuid
-pp_ftsvtx
-pp_fttext
-pp_fttty
-pp_ftzero
-pp_ge
-pp_gelem
-pp_getc
-pp_getlogin
-pp_getpeername
-pp_getpgrp
-pp_getppid
-pp_getpriority
-pp_getsockname
-pp_ggrent
-pp_ggrgid
-pp_ggrnam
-pp_ghbyaddr
-pp_ghbyname
-pp_ghostent
-pp_glob
-pp_gmtime
-pp_gnbyaddr
-pp_gnbyname
-pp_gnetent
-pp_goto
-pp_gpbyname
-pp_gpbynumber
-pp_gprotoent
-pp_gpwent
-pp_gpwnam
-pp_gpwuid
-pp_grepstart
-pp_grepwhile
-pp_gsbyname
-pp_gsbyport
-pp_gservent
-pp_gsockopt
-pp_gt
-pp_gv
-pp_gvsv
-pp_helem
-pp_hex
-pp_hslice
-pp_i_add
-pp_i_divide
-pp_i_eq
-pp_i_ge
-pp_i_gt
-pp_i_le
-pp_i_lt
-pp_i_modulo
-pp_i_multiply
-pp_i_ncmp
-pp_i_ne
-pp_i_negate
-pp_i_subtract
-pp_index
-pp_int
-pp_interp
-pp_ioctl
-pp_iter
-pp_join
-pp_keys
-pp_kill
-pp_last
-pp_lc
-pp_lcfirst
-pp_le
-pp_leave
-pp_leaveeval
-pp_leaveloop
-pp_leavesub
-pp_leavetry
-pp_leavewrite
-pp_left_shift
-pp_length
-pp_lineseq
-pp_link
-pp_list
-pp_listen
-pp_localtime
-pp_lock
-pp_log
-pp_lslice
-pp_lstat
-pp_lt
-pp_map
-pp_mapstart
-pp_mapwhile
-pp_match
-pp_method
-pp_mkdir
-pp_modulo
-pp_msgctl
-pp_msgget
-pp_msgrcv
-pp_msgsnd
-pp_multiply
-pp_ncmp
-pp_ne
-pp_negate
-pp_next
-pp_nextstate
-pp_not
-pp_nswitch
-pp_null
-pp_oct
-pp_open
-pp_open_dir
-pp_or
-pp_orassign
-pp_ord
-pp_pack
-pp_padany
-pp_padav
-pp_padhv
-pp_padsv
-pp_pipe_op
-pp_pop
-pp_pos
-pp_postdec
-pp_postinc
-pp_pow
-pp_predec
-pp_preinc
-pp_print
-pp_prototype
-pp_prtf
-pp_push
-pp_pushmark
-pp_pushre
-pp_qr
-pp_quotemeta
-pp_rand
-pp_range
-pp_rcatline
-pp_read
-pp_readdir
-pp_readline
-pp_readlink
-pp_recv
-pp_redo
-pp_ref
-pp_refgen
-pp_regcmaybe
-pp_regcreset
-pp_regcomp
-pp_rename
-pp_repeat
-pp_require
-pp_reset
-pp_return
-pp_reverse
-pp_rewinddir
-pp_right_shift
-pp_rindex
-pp_rmdir
-pp_rv2av
-pp_rv2cv
-pp_rv2gv
-pp_rv2hv
-pp_rv2sv
-pp_sassign
-pp_scalar
-pp_schomp
-pp_schop
-pp_scmp
-pp_scope
-pp_seek
-pp_seekdir
-pp_select
-pp_semctl
-pp_semget
-pp_semop
-pp_send
-pp_seq
-pp_setpgrp
-pp_setpriority
-pp_sge
-pp_sgrent
-pp_sgt
-pp_shift
-pp_shmctl
-pp_shmget
-pp_shmread
-pp_shmwrite
-pp_shostent
-pp_shutdown
-pp_sin
-pp_sle
-pp_sleep
-pp_slt
-pp_sne
-pp_snetent
-pp_socket
-pp_sockpair
-pp_sort
-pp_splice
-pp_split
-pp_sprintf
-pp_sprotoent
-pp_spwent
-pp_sqrt
-pp_srand
-pp_srefgen
-pp_sselect
-pp_sservent
-pp_ssockopt
-pp_stat
-pp_stringify
-pp_stub
-pp_study
-pp_subst
-pp_substcont
-pp_substr
-pp_subtract
-pp_symlink
-pp_syscall
-pp_sysopen
-pp_sysread
-pp_sysseek
-pp_system
-pp_syswrite
-pp_tell
-pp_telldir
-pp_threadsv
-pp_tie
-pp_tied
-pp_time
-pp_tms
-pp_trans
-pp_truncate
-pp_uc
-pp_ucfirst
-pp_umask
-pp_undef
-pp_unlink
-pp_unpack
-pp_unshift
-pp_unstack
-pp_untie
-pp_utime
-pp_values
-pp_vec
-pp_wait
-pp_waitpid
-pp_wantarray
-pp_warn
-pp_xor
pregcomp
pregexec
pregfree
prepend_elem
push_return
push_scope
-q
ref
refkids
regdump
@@ -913,6 +418,8 @@ rsignal
rsignal_restore
rsignal_save
rsignal_state
+runops_debug
+runops_standard
rxres_free
rxres_restore
rxres_save
@@ -1106,6 +613,8 @@ utf8_to_uv
utf8skip
utilize
uv_to_utf8
+vivify_defelem
+vivify_ref
wait4pid
warn
warner
diff --git a/globals.c b/globals.c
index 1d8ef9272d..b8d7c38c99 100644
--- a/globals.c
+++ b/globals.c
@@ -2,1412 +2,6 @@
#include "perl.h"
#ifdef PERL_OBJECT
-#undef pp_null
-#define pp_null CPerlObj::Perl_pp_null
-#undef pp_stub
-#define pp_stub CPerlObj::Perl_pp_stub
-#undef pp_scalar
-#define pp_scalar CPerlObj::Perl_pp_scalar
-#undef pp_pushmark
-#define pp_pushmark CPerlObj::Perl_pp_pushmark
-#undef pp_wantarray
-#define pp_wantarray CPerlObj::Perl_pp_wantarray
-#undef pp_const
-#define pp_const CPerlObj::Perl_pp_const
-#undef pp_gvsv
-#define pp_gvsv CPerlObj::Perl_pp_gvsv
-#undef pp_gv
-#define pp_gv CPerlObj::Perl_pp_gv
-#undef pp_gelem
-#define pp_gelem CPerlObj::Perl_pp_gelem
-#undef pp_padsv
-#define pp_padsv CPerlObj::Perl_pp_padsv
-#undef pp_padav
-#define pp_padav CPerlObj::Perl_pp_padav
-#undef pp_padhv
-#define pp_padhv CPerlObj::Perl_pp_padhv
-#undef pp_padany
-#define pp_padany CPerlObj::Perl_pp_padany
-#undef pp_pushre
-#define pp_pushre CPerlObj::Perl_pp_pushre
-#undef pp_rv2gv
-#define pp_rv2gv CPerlObj::Perl_pp_rv2gv
-#undef pp_rv2sv
-#define pp_rv2sv CPerlObj::Perl_pp_rv2sv
-#undef pp_av2arylen
-#define pp_av2arylen CPerlObj::Perl_pp_av2arylen
-#undef pp_rv2cv
-#define pp_rv2cv CPerlObj::Perl_pp_rv2cv
-#undef pp_anoncode
-#define pp_anoncode CPerlObj::Perl_pp_anoncode
-#undef pp_prototype
-#define pp_prototype CPerlObj::Perl_pp_prototype
-#undef pp_refgen
-#define pp_refgen CPerlObj::Perl_pp_refgen
-#undef pp_srefgen
-#define pp_srefgen CPerlObj::Perl_pp_srefgen
-#undef pp_ref
-#define pp_ref CPerlObj::Perl_pp_ref
-#undef pp_bless
-#define pp_bless CPerlObj::Perl_pp_bless
-#undef pp_backtick
-#define pp_backtick CPerlObj::Perl_pp_backtick
-#undef pp_glob
-#define pp_glob CPerlObj::Perl_pp_glob
-#undef pp_readline
-#define pp_readline CPerlObj::Perl_pp_readline
-#undef pp_rcatline
-#define pp_rcatline CPerlObj::Perl_pp_rcatline
-#undef pp_regcmaybe
-#define pp_regcmaybe CPerlObj::Perl_pp_regcmaybe
-#undef pp_regcreset
-#define pp_regcreset CPerlObj::Perl_pp_regcreset
-#undef pp_regcomp
-#define pp_regcomp CPerlObj::Perl_pp_regcomp
-#undef pp_match
-#define pp_match CPerlObj::Perl_pp_match
-#undef pp_qr
-#define pp_qr CPerlObj::Perl_pp_qr
-#undef pp_subst
-#define pp_subst CPerlObj::Perl_pp_subst
-#undef pp_substcont
-#define pp_substcont CPerlObj::Perl_pp_substcont
-#undef pp_trans
-#define pp_trans CPerlObj::Perl_pp_trans
-#undef pp_sassign
-#define pp_sassign CPerlObj::Perl_pp_sassign
-#undef pp_aassign
-#define pp_aassign CPerlObj::Perl_pp_aassign
-#undef pp_chop
-#define pp_chop CPerlObj::Perl_pp_chop
-#undef pp_schop
-#define pp_schop CPerlObj::Perl_pp_schop
-#undef pp_chomp
-#define pp_chomp CPerlObj::Perl_pp_chomp
-#undef pp_schomp
-#define pp_schomp CPerlObj::Perl_pp_schomp
-#undef pp_defined
-#define pp_defined CPerlObj::Perl_pp_defined
-#undef pp_undef
-#define pp_undef CPerlObj::Perl_pp_undef
-#undef pp_study
-#define pp_study CPerlObj::Perl_pp_study
-#undef pp_pos
-#define pp_pos CPerlObj::Perl_pp_pos
-#undef pp_preinc
-#define pp_preinc CPerlObj::Perl_pp_preinc
-#undef pp_i_preinc
-#define pp_i_preinc CPerlObj::Perl_pp_preinc
-#undef pp_predec
-#define pp_predec CPerlObj::Perl_pp_predec
-#undef pp_i_predec
-#define pp_i_predec CPerlObj::Perl_pp_predec
-#undef pp_postinc
-#define pp_postinc CPerlObj::Perl_pp_postinc
-#undef pp_i_postinc
-#define pp_i_postinc CPerlObj::Perl_pp_postinc
-#undef pp_postdec
-#define pp_postdec CPerlObj::Perl_pp_postdec
-#undef pp_i_postdec
-#define pp_i_postdec CPerlObj::Perl_pp_postdec
-#undef pp_pow
-#define pp_pow CPerlObj::Perl_pp_pow
-#undef pp_multiply
-#define pp_multiply CPerlObj::Perl_pp_multiply
-#undef pp_i_multiply
-#define pp_i_multiply CPerlObj::Perl_pp_i_multiply
-#undef pp_divide
-#define pp_divide CPerlObj::Perl_pp_divide
-#undef pp_i_divide
-#define pp_i_divide CPerlObj::Perl_pp_i_divide
-#undef pp_modulo
-#define pp_modulo CPerlObj::Perl_pp_modulo
-#undef pp_i_modulo
-#define pp_i_modulo CPerlObj::Perl_pp_i_modulo
-#undef pp_repeat
-#define pp_repeat CPerlObj::Perl_pp_repeat
-#undef pp_add
-#define pp_add CPerlObj::Perl_pp_add
-#undef pp_i_add
-#define pp_i_add CPerlObj::Perl_pp_i_add
-#undef pp_subtract
-#define pp_subtract CPerlObj::Perl_pp_subtract
-#undef pp_i_subtract
-#define pp_i_subtract CPerlObj::Perl_pp_i_subtract
-#undef pp_concat
-#define pp_concat CPerlObj::Perl_pp_concat
-#undef pp_stringify
-#define pp_stringify CPerlObj::Perl_pp_stringify
-#undef pp_left_shift
-#define pp_left_shift CPerlObj::Perl_pp_left_shift
-#undef pp_right_shift
-#define pp_right_shift CPerlObj::Perl_pp_right_shift
-#undef pp_lt
-#define pp_lt CPerlObj::Perl_pp_lt
-#undef pp_i_lt
-#define pp_i_lt CPerlObj::Perl_pp_i_lt
-#undef pp_gt
-#define pp_gt CPerlObj::Perl_pp_gt
-#undef pp_i_gt
-#define pp_i_gt CPerlObj::Perl_pp_i_gt
-#undef pp_le
-#define pp_le CPerlObj::Perl_pp_le
-#undef pp_i_le
-#define pp_i_le CPerlObj::Perl_pp_i_le
-#undef pp_ge
-#define pp_ge CPerlObj::Perl_pp_ge
-#undef pp_i_ge
-#define pp_i_ge CPerlObj::Perl_pp_i_ge
-#undef pp_eq
-#define pp_eq CPerlObj::Perl_pp_eq
-#undef pp_i_eq
-#define pp_i_eq CPerlObj::Perl_pp_i_eq
-#undef pp_ne
-#define pp_ne CPerlObj::Perl_pp_ne
-#undef pp_i_ne
-#define pp_i_ne CPerlObj::Perl_pp_i_ne
-#undef pp_ncmp
-#define pp_ncmp CPerlObj::Perl_pp_ncmp
-#undef pp_i_ncmp
-#define pp_i_ncmp CPerlObj::Perl_pp_i_ncmp
-#undef pp_slt
-#define pp_slt CPerlObj::Perl_pp_slt
-#undef pp_sgt
-#define pp_sgt CPerlObj::Perl_pp_sgt
-#undef pp_sle
-#define pp_sle CPerlObj::Perl_pp_sle
-#undef pp_sge
-#define pp_sge CPerlObj::Perl_pp_sge
-#undef pp_seq
-#define pp_seq CPerlObj::Perl_pp_seq
-#undef pp_sne
-#define pp_sne CPerlObj::Perl_pp_sne
-#undef pp_scmp
-#define pp_scmp CPerlObj::Perl_pp_scmp
-#undef pp_bit_and
-#define pp_bit_and CPerlObj::Perl_pp_bit_and
-#undef pp_bit_xor
-#define pp_bit_xor CPerlObj::Perl_pp_bit_xor
-#undef pp_bit_or
-#define pp_bit_or CPerlObj::Perl_pp_bit_or
-#undef pp_negate
-#define pp_negate CPerlObj::Perl_pp_negate
-#undef pp_i_negate
-#define pp_i_negate CPerlObj::Perl_pp_i_negate
-#undef pp_not
-#define pp_not CPerlObj::Perl_pp_not
-#undef pp_complement
-#define pp_complement CPerlObj::Perl_pp_complement
-#undef pp_atan2
-#define pp_atan2 CPerlObj::Perl_pp_atan2
-#undef pp_sin
-#define pp_sin CPerlObj::Perl_pp_sin
-#undef pp_cos
-#define pp_cos CPerlObj::Perl_pp_cos
-#undef pp_rand
-#define pp_rand CPerlObj::Perl_pp_rand
-#undef pp_srand
-#define pp_srand CPerlObj::Perl_pp_srand
-#undef pp_exp
-#define pp_exp CPerlObj::Perl_pp_exp
-#undef pp_log
-#define pp_log CPerlObj::Perl_pp_log
-#undef pp_sqrt
-#define pp_sqrt CPerlObj::Perl_pp_sqrt
-#undef pp_int
-#define pp_int CPerlObj::Perl_pp_int
-#undef pp_hex
-#define pp_hex CPerlObj::Perl_pp_hex
-#undef pp_oct
-#define pp_oct CPerlObj::Perl_pp_oct
-#undef pp_abs
-#define pp_abs CPerlObj::Perl_pp_abs
-#undef pp_length
-#define pp_length CPerlObj::Perl_pp_length
-#undef pp_substr
-#define pp_substr CPerlObj::Perl_pp_substr
-#undef pp_vec
-#define pp_vec CPerlObj::Perl_pp_vec
-#undef pp_index
-#define pp_index CPerlObj::Perl_pp_index
-#undef pp_rindex
-#define pp_rindex CPerlObj::Perl_pp_rindex
-#undef pp_sprintf
-#define pp_sprintf CPerlObj::Perl_pp_sprintf
-#undef pp_formline
-#define pp_formline CPerlObj::Perl_pp_formline
-#undef pp_ord
-#define pp_ord CPerlObj::Perl_pp_ord
-#undef pp_chr
-#define pp_chr CPerlObj::Perl_pp_chr
-#undef pp_crypt
-#define pp_crypt CPerlObj::Perl_pp_crypt
-#undef pp_ucfirst
-#define pp_ucfirst CPerlObj::Perl_pp_ucfirst
-#undef pp_lcfirst
-#define pp_lcfirst CPerlObj::Perl_pp_lcfirst
-#undef pp_uc
-#define pp_uc CPerlObj::Perl_pp_uc
-#undef pp_lc
-#define pp_lc CPerlObj::Perl_pp_lc
-#undef pp_quotemeta
-#define pp_quotemeta CPerlObj::Perl_pp_quotemeta
-#undef pp_rv2av
-#define pp_rv2av CPerlObj::Perl_pp_rv2av
-#undef pp_aelemfast
-#define pp_aelemfast CPerlObj::Perl_pp_aelemfast
-#undef pp_aelem
-#define pp_aelem CPerlObj::Perl_pp_aelem
-#undef pp_aslice
-#define pp_aslice CPerlObj::Perl_pp_aslice
-#undef pp_each
-#define pp_each CPerlObj::Perl_pp_each
-#undef pp_values
-#define pp_values CPerlObj::Perl_pp_values
-#undef pp_keys
-#define pp_keys CPerlObj::Perl_pp_keys
-#undef pp_delete
-#define pp_delete CPerlObj::Perl_pp_delete
-#undef pp_exists
-#define pp_exists CPerlObj::Perl_pp_exists
-#undef pp_rv2hv
-#define pp_rv2hv CPerlObj::Perl_pp_rv2hv
-#undef pp_helem
-#define pp_helem CPerlObj::Perl_pp_helem
-#undef pp_hslice
-#define pp_hslice CPerlObj::Perl_pp_hslice
-#undef pp_unpack
-#define pp_unpack CPerlObj::Perl_pp_unpack
-#undef pp_pack
-#define pp_pack CPerlObj::Perl_pp_pack
-#undef pp_split
-#define pp_split CPerlObj::Perl_pp_split
-#undef pp_join
-#define pp_join CPerlObj::Perl_pp_join
-#undef pp_list
-#define pp_list CPerlObj::Perl_pp_list
-#undef pp_lslice
-#define pp_lslice CPerlObj::Perl_pp_lslice
-#undef pp_anonlist
-#define pp_anonlist CPerlObj::Perl_pp_anonlist
-#undef pp_anonhash
-#define pp_anonhash CPerlObj::Perl_pp_anonhash
-#undef pp_splice
-#define pp_splice CPerlObj::Perl_pp_splice
-#undef pp_push
-#define pp_push CPerlObj::Perl_pp_push
-#undef pp_pop
-#define pp_pop CPerlObj::Perl_pp_pop
-#undef pp_shift
-#define pp_shift CPerlObj::Perl_pp_shift
-#undef pp_unshift
-#define pp_unshift CPerlObj::Perl_pp_unshift
-#undef pp_sort
-#define pp_sort CPerlObj::Perl_pp_sort
-#undef pp_reverse
-#define pp_reverse CPerlObj::Perl_pp_reverse
-#undef pp_grepstart
-#define pp_grepstart CPerlObj::Perl_pp_grepstart
-#undef pp_grepwhile
-#define pp_grepwhile CPerlObj::Perl_pp_grepwhile
-#undef pp_mapstart
-#define pp_mapstart CPerlObj::Perl_pp_mapstart
-#undef pp_mapwhile
-#define pp_mapwhile CPerlObj::Perl_pp_mapwhile
-#undef pp_range
-#define pp_range CPerlObj::Perl_pp_range
-#undef pp_flip
-#define pp_flip CPerlObj::Perl_pp_flip
-#undef pp_flop
-#define pp_flop CPerlObj::Perl_pp_flop
-#undef pp_and
-#define pp_and CPerlObj::Perl_pp_and
-#undef pp_or
-#define pp_or CPerlObj::Perl_pp_or
-#undef pp_xor
-#define pp_xor CPerlObj::Perl_pp_xor
-#undef pp_cond_expr
-#define pp_cond_expr CPerlObj::Perl_pp_cond_expr
-#undef pp_andassign
-#define pp_andassign CPerlObj::Perl_pp_andassign
-#undef pp_orassign
-#define pp_orassign CPerlObj::Perl_pp_orassign
-#undef pp_method
-#define pp_method CPerlObj::Perl_pp_method
-#undef pp_entersub
-#define pp_entersub CPerlObj::Perl_pp_entersub
-#undef pp_leavesub
-#define pp_leavesub CPerlObj::Perl_pp_leavesub
-#undef pp_caller
-#define pp_caller CPerlObj::Perl_pp_caller
-#undef pp_warn
-#define pp_warn CPerlObj::Perl_pp_warn
-#undef pp_die
-#define pp_die CPerlObj::Perl_pp_die
-#undef pp_reset
-#define pp_reset CPerlObj::Perl_pp_reset
-#undef pp_lineseq
-#define pp_lineseq CPerlObj::Perl_pp_lineseq
-#undef pp_nextstate
-#define pp_nextstate CPerlObj::Perl_pp_nextstate
-#undef pp_dbstate
-#define pp_dbstate CPerlObj::Perl_pp_dbstate
-#undef pp_unstack
-#define pp_unstack CPerlObj::Perl_pp_unstack
-#undef pp_enter
-#define pp_enter CPerlObj::Perl_pp_enter
-#undef pp_leave
-#define pp_leave CPerlObj::Perl_pp_leave
-#undef pp_scope
-#define pp_scope CPerlObj::Perl_pp_scope
-#undef pp_enteriter
-#define pp_enteriter CPerlObj::Perl_pp_enteriter
-#undef pp_iter
-#define pp_iter CPerlObj::Perl_pp_iter
-#undef pp_enterloop
-#define pp_enterloop CPerlObj::Perl_pp_enterloop
-#undef pp_leaveloop
-#define pp_leaveloop CPerlObj::Perl_pp_leaveloop
-#undef pp_return
-#define pp_return CPerlObj::Perl_pp_return
-#undef pp_last
-#define pp_last CPerlObj::Perl_pp_last
-#undef pp_next
-#define pp_next CPerlObj::Perl_pp_next
-#undef pp_redo
-#define pp_redo CPerlObj::Perl_pp_redo
-#undef pp_dump
-#define pp_dump CPerlObj::Perl_pp_dump
-#undef pp_goto
-#define pp_goto CPerlObj::Perl_pp_goto
-#undef pp_exit
-#define pp_exit CPerlObj::Perl_pp_exit
-#undef pp_open
-#define pp_open CPerlObj::Perl_pp_open
-#undef pp_close
-#define pp_close CPerlObj::Perl_pp_close
-#undef pp_pipe_op
-#define pp_pipe_op CPerlObj::Perl_pp_pipe_op
-#undef pp_fileno
-#define pp_fileno CPerlObj::Perl_pp_fileno
-#undef pp_umask
-#define pp_umask CPerlObj::Perl_pp_umask
-#undef pp_binmode
-#define pp_binmode CPerlObj::Perl_pp_binmode
-#undef pp_tie
-#define pp_tie CPerlObj::Perl_pp_tie
-#undef pp_untie
-#define pp_untie CPerlObj::Perl_pp_untie
-#undef pp_tied
-#define pp_tied CPerlObj::Perl_pp_tied
-#undef pp_dbmopen
-#define pp_dbmopen CPerlObj::Perl_pp_dbmopen
-#undef pp_dbmclose
-#define pp_dbmclose CPerlObj::Perl_pp_dbmclose
-#undef pp_sselect
-#define pp_sselect CPerlObj::Perl_pp_sselect
-#undef pp_select
-#define pp_select CPerlObj::Perl_pp_select
-#undef pp_getc
-#define pp_getc CPerlObj::Perl_pp_getc
-#undef pp_read
-#define pp_read CPerlObj::Perl_pp_read
-#undef pp_enterwrite
-#define pp_enterwrite CPerlObj::Perl_pp_enterwrite
-#undef pp_leavewrite
-#define pp_leavewrite CPerlObj::Perl_pp_leavewrite
-#undef pp_prtf
-#define pp_prtf CPerlObj::Perl_pp_prtf
-#undef pp_print
-#define pp_print CPerlObj::Perl_pp_print
-#undef pp_sysopen
-#define pp_sysopen CPerlObj::Perl_pp_sysopen
-#undef pp_sysseek
-#define pp_sysseek CPerlObj::Perl_pp_sysseek
-#undef pp_sysread
-#define pp_sysread CPerlObj::Perl_pp_sysread
-#undef pp_syswrite
-#define pp_syswrite CPerlObj::Perl_pp_syswrite
-#undef pp_send
-#define pp_send CPerlObj::Perl_pp_send
-#undef pp_recv
-#define pp_recv CPerlObj::Perl_pp_recv
-#undef pp_eof
-#define pp_eof CPerlObj::Perl_pp_eof
-#undef pp_tell
-#define pp_tell CPerlObj::Perl_pp_tell
-#undef pp_seek
-#define pp_seek CPerlObj::Perl_pp_seek
-#undef pp_truncate
-#define pp_truncate CPerlObj::Perl_pp_truncate
-#undef pp_fcntl
-#define pp_fcntl CPerlObj::Perl_pp_fcntl
-#undef pp_ioctl
-#define pp_ioctl CPerlObj::Perl_pp_ioctl
-#undef pp_flock
-#define pp_flock CPerlObj::Perl_pp_flock
-#undef pp_socket
-#define pp_socket CPerlObj::Perl_pp_socket
-#undef pp_sockpair
-#define pp_sockpair CPerlObj::Perl_pp_sockpair
-#undef pp_bind
-#define pp_bind CPerlObj::Perl_pp_bind
-#undef pp_connect
-#define pp_connect CPerlObj::Perl_pp_connect
-#undef pp_listen
-#define pp_listen CPerlObj::Perl_pp_listen
-#undef pp_accept
-#define pp_accept CPerlObj::Perl_pp_accept
-#undef pp_shutdown
-#define pp_shutdown CPerlObj::Perl_pp_shutdown
-#undef pp_gsockopt
-#define pp_gsockopt CPerlObj::Perl_pp_gsockopt
-#undef pp_ssockopt
-#define pp_ssockopt CPerlObj::Perl_pp_ssockopt
-#undef pp_getsockname
-#define pp_getsockname CPerlObj::Perl_pp_getsockname
-#undef pp_getpeername
-#define pp_getpeername CPerlObj::Perl_pp_getpeername
-#undef pp_lstat
-#define pp_lstat CPerlObj::Perl_pp_lstat
-#undef pp_stat
-#define pp_stat CPerlObj::Perl_pp_stat
-#undef pp_ftrread
-#define pp_ftrread CPerlObj::Perl_pp_ftrread
-#undef pp_ftrwrite
-#define pp_ftrwrite CPerlObj::Perl_pp_ftrwrite
-#undef pp_ftrexec
-#define pp_ftrexec CPerlObj::Perl_pp_ftrexec
-#undef pp_fteread
-#define pp_fteread CPerlObj::Perl_pp_fteread
-#undef pp_ftewrite
-#define pp_ftewrite CPerlObj::Perl_pp_ftewrite
-#undef pp_fteexec
-#define pp_fteexec CPerlObj::Perl_pp_fteexec
-#undef pp_ftis
-#define pp_ftis CPerlObj::Perl_pp_ftis
-#undef pp_fteowned
-#define pp_fteowned CPerlObj::Perl_pp_fteowned
-#undef pp_ftrowned
-#define pp_ftrowned CPerlObj::Perl_pp_ftrowned
-#undef pp_ftzero
-#define pp_ftzero CPerlObj::Perl_pp_ftzero
-#undef pp_ftsize
-#define pp_ftsize CPerlObj::Perl_pp_ftsize
-#undef pp_ftmtime
-#define pp_ftmtime CPerlObj::Perl_pp_ftmtime
-#undef pp_ftatime
-#define pp_ftatime CPerlObj::Perl_pp_ftatime
-#undef pp_ftctime
-#define pp_ftctime CPerlObj::Perl_pp_ftctime
-#undef pp_ftsock
-#define pp_ftsock CPerlObj::Perl_pp_ftsock
-#undef pp_ftchr
-#define pp_ftchr CPerlObj::Perl_pp_ftchr
-#undef pp_ftblk
-#define pp_ftblk CPerlObj::Perl_pp_ftblk
-#undef pp_ftfile
-#define pp_ftfile CPerlObj::Perl_pp_ftfile
-#undef pp_ftdir
-#define pp_ftdir CPerlObj::Perl_pp_ftdir
-#undef pp_ftpipe
-#define pp_ftpipe CPerlObj::Perl_pp_ftpipe
-#undef pp_ftlink
-#define pp_ftlink CPerlObj::Perl_pp_ftlink
-#undef pp_ftsuid
-#define pp_ftsuid CPerlObj::Perl_pp_ftsuid
-#undef pp_ftsgid
-#define pp_ftsgid CPerlObj::Perl_pp_ftsgid
-#undef pp_ftsvtx
-#define pp_ftsvtx CPerlObj::Perl_pp_ftsvtx
-#undef pp_fttty
-#define pp_fttty CPerlObj::Perl_pp_fttty
-#undef pp_fttext
-#define pp_fttext CPerlObj::Perl_pp_fttext
-#undef pp_ftbinary
-#define pp_ftbinary CPerlObj::Perl_pp_ftbinary
-#undef pp_chdir
-#define pp_chdir CPerlObj::Perl_pp_chdir
-#undef pp_chown
-#define pp_chown CPerlObj::Perl_pp_chown
-#undef pp_chroot
-#define pp_chroot CPerlObj::Perl_pp_chroot
-#undef pp_unlink
-#define pp_unlink CPerlObj::Perl_pp_unlink
-#undef pp_chmod
-#define pp_chmod CPerlObj::Perl_pp_chmod
-#undef pp_utime
-#define pp_utime CPerlObj::Perl_pp_utime
-#undef pp_rename
-#define pp_rename CPerlObj::Perl_pp_rename
-#undef pp_link
-#define pp_link CPerlObj::Perl_pp_link
-#undef pp_symlink
-#define pp_symlink CPerlObj::Perl_pp_symlink
-#undef pp_readlink
-#define pp_readlink CPerlObj::Perl_pp_readlink
-#undef pp_mkdir
-#define pp_mkdir CPerlObj::Perl_pp_mkdir
-#undef pp_rmdir
-#define pp_rmdir CPerlObj::Perl_pp_rmdir
-#undef pp_open_dir
-#define pp_open_dir CPerlObj::Perl_pp_open_dir
-#undef pp_readdir
-#define pp_readdir CPerlObj::Perl_pp_readdir
-#undef pp_telldir
-#define pp_telldir CPerlObj::Perl_pp_telldir
-#undef pp_seekdir
-#define pp_seekdir CPerlObj::Perl_pp_seekdir
-#undef pp_rewinddir
-#define pp_rewinddir CPerlObj::Perl_pp_rewinddir
-#undef pp_closedir
-#define pp_closedir CPerlObj::Perl_pp_closedir
-#undef pp_fork
-#define pp_fork CPerlObj::Perl_pp_fork
-#undef pp_wait
-#define pp_wait CPerlObj::Perl_pp_wait
-#undef pp_waitpid
-#define pp_waitpid CPerlObj::Perl_pp_waitpid
-#undef pp_system
-#define pp_system CPerlObj::Perl_pp_system
-#undef pp_exec
-#define pp_exec CPerlObj::Perl_pp_exec
-#undef pp_kill
-#define pp_kill CPerlObj::Perl_pp_kill
-#undef pp_getppid
-#define pp_getppid CPerlObj::Perl_pp_getppid
-#undef pp_getpgrp
-#define pp_getpgrp CPerlObj::Perl_pp_getpgrp
-#undef pp_setpgrp
-#define pp_setpgrp CPerlObj::Perl_pp_setpgrp
-#undef pp_getpriority
-#define pp_getpriority CPerlObj::Perl_pp_getpriority
-#undef pp_setpriority
-#define pp_setpriority CPerlObj::Perl_pp_setpriority
-#undef pp_time
-#define pp_time CPerlObj::Perl_pp_time
-#undef pp_tms
-#define pp_tms CPerlObj::Perl_pp_tms
-#undef pp_localtime
-#define pp_localtime CPerlObj::Perl_pp_localtime
-#undef pp_gmtime
-#define pp_gmtime CPerlObj::Perl_pp_gmtime
-#undef pp_alarm
-#define pp_alarm CPerlObj::Perl_pp_alarm
-#undef pp_sleep
-#define pp_sleep CPerlObj::Perl_pp_sleep
-#undef pp_shmget
-#define pp_shmget CPerlObj::Perl_pp_shmget
-#undef pp_shmctl
-#define pp_shmctl CPerlObj::Perl_pp_shmctl
-#undef pp_shmread
-#define pp_shmread CPerlObj::Perl_pp_shmread
-#undef pp_shmwrite
-#define pp_shmwrite CPerlObj::Perl_pp_shmwrite
-#undef pp_msgget
-#define pp_msgget CPerlObj::Perl_pp_msgget
-#undef pp_msgctl
-#define pp_msgctl CPerlObj::Perl_pp_msgctl
-#undef pp_msgsnd
-#define pp_msgsnd CPerlObj::Perl_pp_msgsnd
-#undef pp_msgrcv
-#define pp_msgrcv CPerlObj::Perl_pp_msgrcv
-#undef pp_semget
-#define pp_semget CPerlObj::Perl_pp_semget
-#undef pp_semctl
-#define pp_semctl CPerlObj::Perl_pp_semctl
-#undef pp_semop
-#define pp_semop CPerlObj::Perl_pp_semop
-#undef pp_require
-#define pp_require CPerlObj::Perl_pp_require
-#undef pp_dofile
-#define pp_dofile CPerlObj::Perl_pp_dofile
-#undef pp_entereval
-#define pp_entereval CPerlObj::Perl_pp_entereval
-#undef pp_leaveeval
-#define pp_leaveeval CPerlObj::Perl_pp_leaveeval
-#undef pp_entertry
-#define pp_entertry CPerlObj::Perl_pp_entertry
-#undef pp_leavetry
-#define pp_leavetry CPerlObj::Perl_pp_leavetry
-#undef pp_ghbyname
-#define pp_ghbyname CPerlObj::Perl_pp_ghbyname
-#undef pp_ghbyaddr
-#define pp_ghbyaddr CPerlObj::Perl_pp_ghbyaddr
-#undef pp_ghostent
-#define pp_ghostent CPerlObj::Perl_pp_ghostent
-#undef pp_gnbyname
-#define pp_gnbyname CPerlObj::Perl_pp_gnbyname
-#undef pp_gnbyaddr
-#define pp_gnbyaddr CPerlObj::Perl_pp_gnbyaddr
-#undef pp_gnetent
-#define pp_gnetent CPerlObj::Perl_pp_gnetent
-#undef pp_gpbyname
-#define pp_gpbyname CPerlObj::Perl_pp_gpbyname
-#undef pp_gpbynumber
-#define pp_gpbynumber CPerlObj::Perl_pp_gpbynumber
-#undef pp_gprotoent
-#define pp_gprotoent CPerlObj::Perl_pp_gprotoent
-#undef pp_gsbyname
-#define pp_gsbyname CPerlObj::Perl_pp_gsbyname
-#undef pp_gsbyport
-#define pp_gsbyport CPerlObj::Perl_pp_gsbyport
-#undef pp_gservent
-#define pp_gservent CPerlObj::Perl_pp_gservent
-#undef pp_shostent
-#define pp_shostent CPerlObj::Perl_pp_shostent
-#undef pp_snetent
-#define pp_snetent CPerlObj::Perl_pp_snetent
-#undef pp_sprotoent
-#define pp_sprotoent CPerlObj::Perl_pp_sprotoent
-#undef pp_sservent
-#define pp_sservent CPerlObj::Perl_pp_sservent
-#undef pp_ehostent
-#define pp_ehostent CPerlObj::Perl_pp_ehostent
-#undef pp_enetent
-#define pp_enetent CPerlObj::Perl_pp_enetent
-#undef pp_eprotoent
-#define pp_eprotoent CPerlObj::Perl_pp_eprotoent
-#undef pp_eservent
-#define pp_eservent CPerlObj::Perl_pp_eservent
-#undef pp_gpwnam
-#define pp_gpwnam CPerlObj::Perl_pp_gpwnam
-#undef pp_gpwuid
-#define pp_gpwuid CPerlObj::Perl_pp_gpwuid
-#undef pp_gpwent
-#define pp_gpwent CPerlObj::Perl_pp_gpwent
-#undef pp_spwent
-#define pp_spwent CPerlObj::Perl_pp_spwent
-#undef pp_epwent
-#define pp_epwent CPerlObj::Perl_pp_epwent
-#undef pp_ggrnam
-#define pp_ggrnam CPerlObj::Perl_pp_ggrnam
-#undef pp_ggrgid
-#define pp_ggrgid CPerlObj::Perl_pp_ggrgid
-#undef pp_ggrent
-#define pp_ggrent CPerlObj::Perl_pp_ggrent
-#undef pp_sgrent
-#define pp_sgrent CPerlObj::Perl_pp_sgrent
-#undef pp_egrent
-#define pp_egrent CPerlObj::Perl_pp_egrent
-#undef pp_getlogin
-#define pp_getlogin CPerlObj::Perl_pp_getlogin
-#undef pp_syscall
-#define pp_syscall CPerlObj::Perl_pp_syscall
-#undef pp_lock
-#define pp_lock CPerlObj::Perl_pp_lock
-#undef pp_threadsv
-#define pp_threadsv CPerlObj::Perl_pp_threadsv
-
-OP * (CPERLscope(*check)[]) _((OP *op)) = {
- ck_null, /* null */
- ck_null, /* stub */
- ck_fun, /* scalar */
- ck_null, /* pushmark */
- ck_null, /* wantarray */
- ck_svconst, /* const */
- ck_null, /* gvsv */
- ck_null, /* gv */
- ck_null, /* gelem */
- ck_null, /* padsv */
- ck_null, /* padav */
- ck_null, /* padhv */
- ck_null, /* padany */
- ck_null, /* pushre */
- ck_rvconst, /* rv2gv */
- ck_rvconst, /* rv2sv */
- ck_null, /* av2arylen */
- ck_rvconst, /* rv2cv */
- ck_anoncode, /* anoncode */
- ck_null, /* prototype */
- ck_spair, /* refgen */
- ck_null, /* srefgen */
- ck_fun, /* ref */
- ck_fun, /* bless */
- ck_null, /* backtick */
- ck_glob, /* glob */
- ck_null, /* readline */
- ck_null, /* rcatline */
- ck_fun, /* regcmaybe */
- ck_fun, /* regcreset */
- ck_null, /* regcomp */
- ck_match, /* match */
- ck_match, /* qr */
- ck_null, /* subst */
- ck_null, /* substcont */
- ck_null, /* trans */
- ck_null, /* sassign */
- ck_null, /* aassign */
- ck_spair, /* chop */
- ck_null, /* schop */
- ck_spair, /* chomp */
- ck_null, /* schomp */
- ck_rfun, /* defined */
- ck_lfun, /* undef */
- ck_fun, /* study */
- ck_lfun, /* pos */
- ck_lfun, /* preinc */
- ck_lfun, /* i_preinc */
- ck_lfun, /* predec */
- ck_lfun, /* i_predec */
- ck_lfun, /* postinc */
- ck_lfun, /* i_postinc */
- ck_lfun, /* postdec */
- ck_lfun, /* i_postdec */
- ck_null, /* pow */
- ck_null, /* multiply */
- ck_null, /* i_multiply */
- ck_null, /* divide */
- ck_null, /* i_divide */
- ck_null, /* modulo */
- ck_null, /* i_modulo */
- ck_repeat, /* repeat */
- ck_null, /* add */
- ck_null, /* i_add */
- ck_null, /* subtract */
- ck_null, /* i_subtract */
- ck_concat, /* concat */
- ck_fun, /* stringify */
- ck_bitop, /* left_shift */
- ck_bitop, /* right_shift */
- ck_null, /* lt */
- ck_null, /* i_lt */
- ck_null, /* gt */
- ck_null, /* i_gt */
- ck_null, /* le */
- ck_null, /* i_le */
- ck_null, /* ge */
- ck_null, /* i_ge */
- ck_null, /* eq */
- ck_null, /* i_eq */
- ck_null, /* ne */
- ck_null, /* i_ne */
- ck_null, /* ncmp */
- ck_null, /* i_ncmp */
- ck_scmp, /* slt */
- ck_scmp, /* sgt */
- ck_scmp, /* sle */
- ck_scmp, /* sge */
- ck_null, /* seq */
- ck_null, /* sne */
- ck_scmp, /* scmp */
- ck_bitop, /* bit_and */
- ck_bitop, /* bit_xor */
- ck_bitop, /* bit_or */
- ck_null, /* negate */
- ck_null, /* i_negate */
- ck_null, /* not */
- ck_bitop, /* complement */
- ck_fun, /* atan2 */
- ck_fun, /* sin */
- ck_fun, /* cos */
- ck_fun, /* rand */
- ck_fun, /* srand */
- ck_fun, /* exp */
- ck_fun, /* log */
- ck_fun, /* sqrt */
- ck_fun, /* int */
- ck_fun, /* hex */
- ck_fun, /* oct */
- ck_fun, /* abs */
- ck_lengthconst, /* length */
- ck_fun, /* substr */
- ck_fun, /* vec */
- ck_index, /* index */
- ck_index, /* rindex */
- ck_fun_locale, /* sprintf */
- ck_fun, /* formline */
- ck_fun, /* ord */
- ck_fun, /* chr */
- ck_fun, /* crypt */
- ck_fun_locale, /* ucfirst */
- ck_fun_locale, /* lcfirst */
- ck_fun_locale, /* uc */
- ck_fun_locale, /* lc */
- ck_fun, /* quotemeta */
- ck_rvconst, /* rv2av */
- ck_null, /* aelemfast */
- ck_null, /* aelem */
- ck_null, /* aslice */
- ck_fun, /* each */
- ck_fun, /* values */
- ck_fun, /* keys */
- ck_delete, /* delete */
- ck_exists, /* exists */
- ck_rvconst, /* rv2hv */
- ck_null, /* helem */
- ck_null, /* hslice */
- ck_fun, /* unpack */
- ck_fun, /* pack */
- ck_split, /* split */
- ck_fun, /* join */
- ck_null, /* list */
- ck_null, /* lslice */
- ck_fun, /* anonlist */
- ck_fun, /* anonhash */
- ck_fun, /* splice */
- ck_fun, /* push */
- ck_shift, /* pop */
- ck_shift, /* shift */
- ck_fun, /* unshift */
- ck_sort, /* sort */
- ck_fun, /* reverse */
- ck_grep, /* grepstart */
- ck_null, /* grepwhile */
- ck_grep, /* mapstart */
- ck_null, /* mapwhile */
- ck_null, /* range */
- ck_null, /* flip */
- ck_null, /* flop */
- ck_null, /* and */
- ck_null, /* or */
- ck_null, /* xor */
- ck_null, /* cond_expr */
- ck_null, /* andassign */
- ck_null, /* orassign */
- ck_null, /* method */
- ck_subr, /* entersub */
- ck_null, /* leavesub */
- ck_fun, /* caller */
- ck_fun, /* warn */
- ck_fun, /* die */
- ck_fun, /* reset */
- ck_null, /* lineseq */
- ck_null, /* nextstate */
- ck_null, /* dbstate */
- ck_null, /* unstack */
- ck_null, /* enter */
- ck_null, /* leave */
- ck_null, /* scope */
- ck_null, /* enteriter */
- ck_null, /* iter */
- ck_null, /* enterloop */
- ck_null, /* leaveloop */
- ck_null, /* return */
- ck_null, /* last */
- ck_null, /* next */
- ck_null, /* redo */
- ck_null, /* dump */
- ck_null, /* goto */
- ck_fun, /* exit */
- ck_fun, /* open */
- ck_fun, /* close */
- ck_fun, /* pipe_op */
- ck_fun, /* fileno */
- ck_fun, /* umask */
- ck_fun, /* binmode */
- ck_fun, /* tie */
- ck_fun, /* untie */
- ck_fun, /* tied */
- ck_fun, /* dbmopen */
- ck_fun, /* dbmclose */
- ck_select, /* sselect */
- ck_select, /* select */
- ck_eof, /* getc */
- ck_fun, /* read */
- ck_fun, /* enterwrite */
- ck_null, /* leavewrite */
- ck_listiob, /* prtf */
- ck_listiob, /* print */
- ck_fun, /* sysopen */
- ck_fun, /* sysseek */
- ck_fun, /* sysread */
- ck_fun, /* syswrite */
- ck_fun, /* send */
- ck_fun, /* recv */
- ck_eof, /* eof */
- ck_fun, /* tell */
- ck_fun, /* seek */
- ck_trunc, /* truncate */
- ck_fun, /* fcntl */
- ck_fun, /* ioctl */
- ck_fun, /* flock */
- ck_fun, /* socket */
- ck_fun, /* sockpair */
- ck_fun, /* bind */
- ck_fun, /* connect */
- ck_fun, /* listen */
- ck_fun, /* accept */
- ck_fun, /* shutdown */
- ck_fun, /* gsockopt */
- ck_fun, /* ssockopt */
- ck_fun, /* getsockname */
- ck_fun, /* getpeername */
- ck_ftst, /* lstat */
- ck_ftst, /* stat */
- ck_ftst, /* ftrread */
- ck_ftst, /* ftrwrite */
- ck_ftst, /* ftrexec */
- ck_ftst, /* fteread */
- ck_ftst, /* ftewrite */
- ck_ftst, /* fteexec */
- ck_ftst, /* ftis */
- ck_ftst, /* fteowned */
- ck_ftst, /* ftrowned */
- ck_ftst, /* ftzero */
- ck_ftst, /* ftsize */
- ck_ftst, /* ftmtime */
- ck_ftst, /* ftatime */
- ck_ftst, /* ftctime */
- ck_ftst, /* ftsock */
- ck_ftst, /* ftchr */
- ck_ftst, /* ftblk */
- ck_ftst, /* ftfile */
- ck_ftst, /* ftdir */
- ck_ftst, /* ftpipe */
- ck_ftst, /* ftlink */
- ck_ftst, /* ftsuid */
- ck_ftst, /* ftsgid */
- ck_ftst, /* ftsvtx */
- ck_ftst, /* fttty */
- ck_ftst, /* fttext */
- ck_ftst, /* ftbinary */
- ck_fun, /* chdir */
- ck_fun, /* chown */
- ck_fun, /* chroot */
- ck_fun, /* unlink */
- ck_fun, /* chmod */
- ck_fun, /* utime */
- ck_fun, /* rename */
- ck_fun, /* link */
- ck_fun, /* symlink */
- ck_fun, /* readlink */
- ck_fun, /* mkdir */
- ck_fun, /* rmdir */
- ck_fun, /* open_dir */
- ck_fun, /* readdir */
- ck_fun, /* telldir */
- ck_fun, /* seekdir */
- ck_fun, /* rewinddir */
- ck_fun, /* closedir */
- ck_null, /* fork */
- ck_null, /* wait */
- ck_fun, /* waitpid */
- ck_exec, /* system */
- ck_exec, /* exec */
- ck_fun, /* kill */
- ck_null, /* getppid */
- ck_fun, /* getpgrp */
- ck_fun, /* setpgrp */
- ck_fun, /* getpriority */
- ck_fun, /* setpriority */
- ck_null, /* time */
- ck_null, /* tms */
- ck_fun, /* localtime */
- ck_fun, /* gmtime */
- ck_fun, /* alarm */
- ck_fun, /* sleep */
- ck_fun, /* shmget */
- ck_fun, /* shmctl */
- ck_fun, /* shmread */
- ck_fun, /* shmwrite */
- ck_fun, /* msgget */
- ck_fun, /* msgctl */
- ck_fun, /* msgsnd */
- ck_fun, /* msgrcv */
- ck_fun, /* semget */
- ck_fun, /* semctl */
- ck_fun, /* semop */
- ck_require, /* require */
- ck_fun, /* dofile */
- ck_eval, /* entereval */
- ck_null, /* leaveeval */
- ck_null, /* entertry */
- ck_null, /* leavetry */
- ck_fun, /* ghbyname */
- ck_fun, /* ghbyaddr */
- ck_null, /* ghostent */
- ck_fun, /* gnbyname */
- ck_fun, /* gnbyaddr */
- ck_null, /* gnetent */
- ck_fun, /* gpbyname */
- ck_fun, /* gpbynumber */
- ck_null, /* gprotoent */
- ck_fun, /* gsbyname */
- ck_fun, /* gsbyport */
- ck_null, /* gservent */
- ck_fun, /* shostent */
- ck_fun, /* snetent */
- ck_fun, /* sprotoent */
- ck_fun, /* sservent */
- ck_null, /* ehostent */
- ck_null, /* enetent */
- ck_null, /* eprotoent */
- ck_null, /* eservent */
- ck_fun, /* gpwnam */
- ck_fun, /* gpwuid */
- ck_null, /* gpwent */
- ck_null, /* spwent */
- ck_null, /* epwent */
- ck_fun, /* ggrnam */
- ck_fun, /* ggrgid */
- ck_null, /* ggrent */
- ck_null, /* sgrent */
- ck_null, /* egrent */
- ck_null, /* getlogin */
- ck_fun, /* syscall */
- ck_rfun, /* lock */
- ck_null, /* threadsv */
-};
-
-OP * (CPERLscope(*ppaddr)[])(ARGSproto) = {
- pp_null,
- pp_stub,
- pp_scalar,
- pp_pushmark,
- pp_wantarray,
- pp_const,
- pp_gvsv,
- pp_gv,
- pp_gelem,
- pp_padsv,
- pp_padav,
- pp_padhv,
- pp_padany,
- pp_pushre,
- pp_rv2gv,
- pp_rv2sv,
- pp_av2arylen,
- pp_rv2cv,
- pp_anoncode,
- pp_prototype,
- pp_refgen,
- pp_srefgen,
- pp_ref,
- pp_bless,
- pp_backtick,
- pp_glob,
- pp_readline,
- pp_rcatline,
- pp_regcmaybe,
- pp_regcreset,
- pp_regcomp,
- pp_match,
- pp_qr,
- pp_subst,
- pp_substcont,
- pp_trans,
- pp_sassign,
- pp_aassign,
- pp_chop,
- pp_schop,
- pp_chomp,
- pp_schomp,
- pp_defined,
- pp_undef,
- pp_study,
- pp_pos,
- pp_preinc,
- pp_i_preinc,
- pp_predec,
- pp_i_predec,
- pp_postinc,
- pp_i_postinc,
- pp_postdec,
- pp_i_postdec,
- pp_pow,
- pp_multiply,
- pp_i_multiply,
- pp_divide,
- pp_i_divide,
- pp_modulo,
- pp_i_modulo,
- pp_repeat,
- pp_add,
- pp_i_add,
- pp_subtract,
- pp_i_subtract,
- pp_concat,
- pp_stringify,
- pp_left_shift,
- pp_right_shift,
- pp_lt,
- pp_i_lt,
- pp_gt,
- pp_i_gt,
- pp_le,
- pp_i_le,
- pp_ge,
- pp_i_ge,
- pp_eq,
- pp_i_eq,
- pp_ne,
- pp_i_ne,
- pp_ncmp,
- pp_i_ncmp,
- pp_slt,
- pp_sgt,
- pp_sle,
- pp_sge,
- pp_seq,
- pp_sne,
- pp_scmp,
- pp_bit_and,
- pp_bit_xor,
- pp_bit_or,
- pp_negate,
- pp_i_negate,
- pp_not,
- pp_complement,
- pp_atan2,
- pp_sin,
- pp_cos,
- pp_rand,
- pp_srand,
- pp_exp,
- pp_log,
- pp_sqrt,
- pp_int,
- pp_hex,
- pp_oct,
- pp_abs,
- pp_length,
- pp_substr,
- pp_vec,
- pp_index,
- pp_rindex,
- pp_sprintf,
- pp_formline,
- pp_ord,
- pp_chr,
- pp_crypt,
- pp_ucfirst,
- pp_lcfirst,
- pp_uc,
- pp_lc,
- pp_quotemeta,
- pp_rv2av,
- pp_aelemfast,
- pp_aelem,
- pp_aslice,
- pp_each,
- pp_values,
- pp_keys,
- pp_delete,
- pp_exists,
- pp_rv2hv,
- pp_helem,
- pp_hslice,
- pp_unpack,
- pp_pack,
- pp_split,
- pp_join,
- pp_list,
- pp_lslice,
- pp_anonlist,
- pp_anonhash,
- pp_splice,
- pp_push,
- pp_pop,
- pp_shift,
- pp_unshift,
- pp_sort,
- pp_reverse,
- pp_grepstart,
- pp_grepwhile,
- pp_mapstart,
- pp_mapwhile,
- pp_range,
- pp_flip,
- pp_flop,
- pp_and,
- pp_or,
- pp_xor,
- pp_cond_expr,
- pp_andassign,
- pp_orassign,
- pp_method,
- pp_entersub,
- pp_leavesub,
- pp_caller,
- pp_warn,
- pp_die,
- pp_reset,
- pp_lineseq,
- pp_nextstate,
- pp_dbstate,
- pp_unstack,
- pp_enter,
- pp_leave,
- pp_scope,
- pp_enteriter,
- pp_iter,
- pp_enterloop,
- pp_leaveloop,
- pp_return,
- pp_last,
- pp_next,
- pp_redo,
- pp_dump,
- pp_goto,
- pp_exit,
- pp_open,
- pp_close,
- pp_pipe_op,
- pp_fileno,
- pp_umask,
- pp_binmode,
- pp_tie,
- pp_untie,
- pp_tied,
- pp_dbmopen,
- pp_dbmclose,
- pp_sselect,
- pp_select,
- pp_getc,
- pp_read,
- pp_enterwrite,
- pp_leavewrite,
- pp_prtf,
- pp_print,
- pp_sysopen,
- pp_sysseek,
- pp_sysread,
- pp_syswrite,
- pp_send,
- pp_recv,
- pp_eof,
- pp_tell,
- pp_seek,
- pp_truncate,
- pp_fcntl,
- pp_ioctl,
- pp_flock,
- pp_socket,
- pp_sockpair,
- pp_bind,
- pp_connect,
- pp_listen,
- pp_accept,
- pp_shutdown,
- pp_gsockopt,
- pp_ssockopt,
- pp_getsockname,
- pp_getpeername,
- pp_lstat,
- pp_stat,
- pp_ftrread,
- pp_ftrwrite,
- pp_ftrexec,
- pp_fteread,
- pp_ftewrite,
- pp_fteexec,
- pp_ftis,
- pp_fteowned,
- pp_ftrowned,
- pp_ftzero,
- pp_ftsize,
- pp_ftmtime,
- pp_ftatime,
- pp_ftctime,
- pp_ftsock,
- pp_ftchr,
- pp_ftblk,
- pp_ftfile,
- pp_ftdir,
- pp_ftpipe,
- pp_ftlink,
- pp_ftsuid,
- pp_ftsgid,
- pp_ftsvtx,
- pp_fttty,
- pp_fttext,
- pp_ftbinary,
- pp_chdir,
- pp_chown,
- pp_chroot,
- pp_unlink,
- pp_chmod,
- pp_utime,
- pp_rename,
- pp_link,
- pp_symlink,
- pp_readlink,
- pp_mkdir,
- pp_rmdir,
- pp_open_dir,
- pp_readdir,
- pp_telldir,
- pp_seekdir,
- pp_rewinddir,
- pp_closedir,
- pp_fork,
- pp_wait,
- pp_waitpid,
- pp_system,
- pp_exec,
- pp_kill,
- pp_getppid,
- pp_getpgrp,
- pp_setpgrp,
- pp_getpriority,
- pp_setpriority,
- pp_time,
- pp_tms,
- pp_localtime,
- pp_gmtime,
- pp_alarm,
- pp_sleep,
- pp_shmget,
- pp_shmctl,
- pp_shmread,
- pp_shmwrite,
- pp_msgget,
- pp_msgctl,
- pp_msgsnd,
- pp_msgrcv,
- pp_semget,
- pp_semctl,
- pp_semop,
- pp_require,
- pp_dofile,
- pp_entereval,
- pp_leaveeval,
- pp_entertry,
- pp_leavetry,
- pp_ghbyname,
- pp_ghbyaddr,
- pp_ghostent,
- pp_gnbyname,
- pp_gnbyaddr,
- pp_gnetent,
- pp_gpbyname,
- pp_gpbynumber,
- pp_gprotoent,
- pp_gsbyname,
- pp_gsbyport,
- pp_gservent,
- pp_shostent,
- pp_snetent,
- pp_sprotoent,
- pp_sservent,
- pp_ehostent,
- pp_enetent,
- pp_eprotoent,
- pp_eservent,
- pp_gpwnam,
- pp_gpwuid,
- pp_gpwent,
- pp_spwent,
- pp_epwent,
- pp_ggrnam,
- pp_ggrgid,
- pp_ggrent,
- pp_sgrent,
- pp_egrent,
- pp_getlogin,
- pp_syscall,
- pp_lock,
- pp_threadsv,
-};
-
-int
-fprintf(PerlIO *stream, const char *format, ...)
-{
- va_list(arglist);
- va_start(arglist, format);
- return PerlIO_vprintf(stream, format, arglist);
-}
#undef PERLVAR
#define PERLVAR(x, y)
@@ -1454,6 +48,14 @@ CPerlObj::Init(void)
{
}
+int
+fprintf(PerlIO *stream, const char *format, ...)
+{
+ va_list(arglist);
+ va_start(arglist, format);
+ return PerlIO_vprintf(stream, format, arglist);
+}
+
#ifdef WIN32 /* XXX why are these needed? */
bool
do_exec(char *cmd)
diff --git a/globvar.sym b/globvar.sym
new file mode 100644
index 0000000000..91329ca47b
--- /dev/null
+++ b/globvar.sym
@@ -0,0 +1,68 @@
+# Global variables that must be exported for embedded applications.
+
+# *** Only structures/arrays with constant initializers should go here.
+# *** Usual globals initialized at runtime should be added in *var*.h.
+# *** Do NOT add functions here, those go in global.sym.
+
+AMG_names
+block_type
+fold
+fold_locale
+freq
+warn_uninit
+warn_nosemi
+warn_reserved
+warn_nl
+no_wrongref
+no_symref
+no_usym
+no_aelem
+no_helem
+no_modify
+no_mem
+no_security
+no_sock_func
+no_dir_func
+no_func
+no_myglob
+check
+op_desc
+op_name
+opargs
+ppaddr
+sig_name
+sig_num
+psig_name
+psig_ptr
+regkind
+simple
+varies
+vtbl_sv
+vtbl_env
+vtbl_envelem
+vtbl_sig
+vtbl_sigelem
+vtbl_pack
+vtbl_packelem
+vtbl_dbline
+vtbl_isa
+vtbl_isaelem
+vtbl_arylen
+vtbl_glob
+vtbl_mglob
+vtbl_nkeys
+vtbl_taint
+vtbl_substr
+vtbl_vec
+vtbl_pos
+vtbl_bm
+vtbl_fm
+vtbl_uvar
+vtbl_mutex
+vtbl_defelem
+vtbl_regexp
+vtbl_regdata
+vtbl_regdatum
+vtbl_collxfrm
+vtbl_amagic
+vtbl_amagicelem
diff --git a/gv.c b/gv.c
index a3e8d88392..1d24fa45e3 100644
--- a/gv.c
+++ b/gv.c
@@ -670,13 +670,13 @@ gv_fetchpv(char *nambeg, I32 add, I32 sv_type)
GvMULTI_on(PL_siggv);
hv = GvHVn(PL_siggv);
hv_magic(hv, PL_siggv, 'S');
- for(i=1;sig_name[i];i++) {
+ for(i=1;PL_sig_name[i];i++) {
SV ** init;
- init=hv_fetch(hv,sig_name[i],strlen(sig_name[i]),1);
+ init=hv_fetch(hv,PL_sig_name[i],strlen(PL_sig_name[i]),1);
if(init)
sv_setsv(*init,&PL_sv_undef);
- psig_ptr[i] = 0;
- psig_name[i] = 0;
+ PL_psig_ptr[i] = 0;
+ PL_psig_name[i] = 0;
}
}
break;
@@ -1046,16 +1046,16 @@ Gv_AMupdate(HV *stash)
SV* sv;
SV** svp;
- /* Work with "fallback" key, which we assume to be first in AMG_names */
+ /* Work with "fallback" key, which we assume to be first in PL_AMG_names */
- if (( cp = (char *)AMG_names[0] ) &&
+ if (( cp = (char *)PL_AMG_names[0] ) &&
(svp = (SV**)hv_fetch(hv,cp,strlen(cp),FALSE)) && (sv = *svp)) {
if (SvTRUE(sv)) amt.fallback=AMGfallYES;
else if (SvOK(sv)) amt.fallback=AMGfallNEVER;
}
for (i = 1; i < NofAMmeth; i++) {
cv = 0;
- cp = (char *)AMG_names[i];
+ cp = (char *)PL_AMG_names[i];
svp = (SV**)hv_fetch(hv, cp, strlen(cp), FALSE);
if (svp && ((sv = *svp) != &PL_sv_undef)) {
@@ -1098,9 +1098,9 @@ Gv_AMupdate(HV *stash)
SV* sv = NULL;
SV** svp;
- /* Work with "fallback" key, which we assume to be first in AMG_names */
+ /* Work with "fallback" key, which we assume to be first in PL_AMG_names */
- if ( cp = AMG_names[0] ) {
+ if ( cp = PL_AMG_names[0] ) {
/* Try to find via inheritance. */
gv = gv_fetchmeth(stash, "()", 2, -1); /* A cookie: "()". */
if (gv) sv = GvSV(gv);
@@ -1111,7 +1111,7 @@ Gv_AMupdate(HV *stash)
}
for (i = 1; i < NofAMmeth; i++) {
- SV *cookie = sv_2mortal(newSVpvf("(%s", cp = AMG_names[i]));
+ SV *cookie = sv_2mortal(newSVpvf("(%s", cp = PL_AMG_names[i]));
DEBUG_o( deb("Checking overloading of `%s' in package `%.256s'\n",
cp, HvNAME(stash)) );
/* don't fill the cache while looking up! */
@@ -1324,7 +1324,7 @@ amagic_call(SV *left, SV *right, int method, int flags)
if (off==-1) off=method;
msg = sv_2mortal(newSVpvf(
"Operation `%s': no method found,%sargument %s%s%s%s",
- AMG_names[method + assignshift],
+ PL_AMG_names[method + assignshift],
(flags & AMGf_unary ? " " : "\n\tleft "),
SvAMAGIC(left)?
"in overloaded package ":
@@ -1353,11 +1353,11 @@ amagic_call(SV *left, SV *right, int method, int flags)
if (!notfound) {
DEBUG_o( deb(
"Overloaded operator `%s'%s%s%s:\n\tmethod%s found%s in package %s%s\n",
- AMG_names[off],
+ PL_AMG_names[off],
method+assignshift==off? "" :
" (initially `",
method+assignshift==off? "" :
- AMG_names[method+assignshift],
+ PL_AMG_names[method+assignshift],
method+assignshift==off? "" : "')",
flags & AMGf_unary? "" :
lr==1 ? " for right argument": " for left argument",
@@ -1417,7 +1417,7 @@ amagic_call(SV *left, SV *right, int method, int flags)
PUSHs(lr>0? left: right);
PUSHs( lr > 0 ? &PL_sv_yes : ( assign ? &PL_sv_undef : &PL_sv_no ));
if (notfound) {
- PUSHs( sv_2mortal(newSVpv((char *)AMG_names[method + assignshift],0)) );
+ PUSHs( sv_2mortal(newSVpv((char *)PL_AMG_names[method + assignshift],0)));
}
PUSHs((SV*)cv);
PUTBACK;
diff --git a/malloc.c b/malloc.c
index 1b75b676ca..13f20ff1db 100644
--- a/malloc.c
+++ b/malloc.c
@@ -1254,7 +1254,7 @@ free(void *mp)
* is extern so the caller can modify it). If that fails we just copy
* however many bytes was given to realloc() and hope it's not huge.
*/
-int reall_srchlen = 4; /* 4 should be plenty, -1 =>'s whole list */
+#define reall_srchlen 4 /* 4 should be plenty, -1 =>'s whole list */
Malloc_t
realloc(void *mp, size_t nbytes)
diff --git a/mg.c b/mg.c
index 2906a4c173..743ee4a528 100644
--- a/mg.c
+++ b/mg.c
@@ -905,8 +905,8 @@ magic_getsig(SV *sv, MAGIC *mg)
/* Are we fetching a signal entry? */
i = whichsig(MgPV(mg,PL_na));
if (i) {
- if(psig_ptr[i])
- sv_setsv(sv,psig_ptr[i]);
+ if(PL_psig_ptr[i])
+ sv_setsv(sv,PL_psig_ptr[i]);
else {
Sighandler_t sigstate = rsignal_state(i);
@@ -915,7 +915,7 @@ magic_getsig(SV *sv, MAGIC *mg)
sv_setpv(sv,"IGNORE");
else
sv_setsv(sv,&PL_sv_undef);
- psig_ptr[i] = SvREFCNT_inc(sv);
+ PL_psig_ptr[i] = SvREFCNT_inc(sv);
SvTEMP_off(sv);
}
}
@@ -928,13 +928,13 @@ magic_clearsig(SV *sv, MAGIC *mg)
/* Are we clearing a signal entry? */
i = whichsig(MgPV(mg,PL_na));
if (i) {
- if(psig_ptr[i]) {
- SvREFCNT_dec(psig_ptr[i]);
- psig_ptr[i]=0;
+ if(PL_psig_ptr[i]) {
+ SvREFCNT_dec(PL_psig_ptr[i]);
+ PL_psig_ptr[i]=0;
}
- if(psig_name[i]) {
- SvREFCNT_dec(psig_name[i]);
- psig_name[i]=0;
+ if(PL_psig_name[i]) {
+ SvREFCNT_dec(PL_psig_name[i]);
+ PL_psig_name[i]=0;
}
}
return 0;
@@ -971,12 +971,12 @@ magic_setsig(SV *sv, MAGIC *mg)
warner(WARN_SIGNAL, "No such signal: SIG%s", s);
return 0;
}
- SvREFCNT_dec(psig_name[i]);
- SvREFCNT_dec(psig_ptr[i]);
- psig_ptr[i] = SvREFCNT_inc(sv);
+ SvREFCNT_dec(PL_psig_name[i]);
+ SvREFCNT_dec(PL_psig_ptr[i]);
+ PL_psig_ptr[i] = SvREFCNT_inc(sv);
SvTEMP_off(sv); /* Make sure it doesn't go away on us */
- psig_name[i] = newSVpv(s, strlen(s));
- SvREADONLY_on(psig_name[i]);
+ PL_psig_name[i] = newSVpv(s, strlen(s));
+ SvREADONLY_on(PL_psig_name[i]);
}
if (SvTYPE(sv) == SVt_PVGV || SvROK(sv)) {
if (i)
@@ -1548,7 +1548,7 @@ vivify_defelem(SV *sv)
value = *svp;
}
if (!value || value == &PL_sv_undef)
- croak(no_helem, SvPV(mg->mg_obj, PL_na));
+ croak(PL_no_helem, SvPV(mg->mg_obj, PL_na));
}
else {
AV* av = (AV*)LvTARG(sv);
@@ -1557,7 +1557,7 @@ vivify_defelem(SV *sv)
else {
SV** svp = av_fetch(av, LvTARGOFF(sv), TRUE);
if (!svp || (value = *svp) == &PL_sv_undef)
- croak(no_aelem, (I32)LvTARGOFF(sv));
+ croak(PL_no_aelem, (I32)LvTARGOFF(sv));
}
}
(void)SvREFCNT_inc(value);
@@ -2019,9 +2019,9 @@ whichsig(char *sig)
{
register char **sigv;
- for (sigv = sig_name+1; *sigv; sigv++)
+ for (sigv = PL_sig_name+1; *sigv; sigv++)
if (strEQ(sig,*sigv))
- return sig_num[sigv - sig_name];
+ return PL_sig_num[sigv - PL_sig_name];
#ifdef SIGCLD
if (strEQ(sig,"CHLD"))
return SIGCLD;
@@ -2070,9 +2070,9 @@ sighandler(int sig)
if (PL_scopestack_ix < PL_scopestack_max - 3)
flags |= 16;
- if (!psig_ptr[sig])
+ if (!PL_psig_ptr[sig])
die("Signal SIG%s received, but no signal handler set.\n",
- sig_name[sig]);
+ PL_sig_name[sig]);
/* Max number of items pushed there is 3*n or 4. We cannot fix
infinity, so we fix 4 (in fact 5): */
@@ -2090,27 +2090,27 @@ sighandler(int sig)
if (flags & 16)
PL_scopestack_ix += 1;
/* sv_2cv is too complicated, try a simpler variant first: */
- if (!SvROK(psig_ptr[sig]) || !(cv = (CV*)SvRV(psig_ptr[sig]))
+ if (!SvROK(PL_psig_ptr[sig]) || !(cv = (CV*)SvRV(PL_psig_ptr[sig]))
|| SvTYPE(cv) != SVt_PVCV)
- cv = sv_2cv(psig_ptr[sig],&st,&gv,TRUE);
+ cv = sv_2cv(PL_psig_ptr[sig],&st,&gv,TRUE);
if (!cv || !CvROOT(cv)) {
if (ckWARN(WARN_SIGNAL))
warner(WARN_SIGNAL, "SIG%s handler \"%s\" not defined.\n",
- sig_name[sig], (gv ? GvENAME(gv)
+ PL_sig_name[sig], (gv ? GvENAME(gv)
: ((cv && CvGV(cv))
? GvENAME(CvGV(cv))
: "__ANON__")));
goto cleanup;
}
- if(psig_name[sig]) {
- sv = SvREFCNT_inc(psig_name[sig]);
+ if(PL_psig_name[sig]) {
+ sv = SvREFCNT_inc(PL_psig_name[sig]);
flags |= 64;
sig_sv = sv;
} else {
sv = sv_newmortal();
- sv_setpv(sv,sig_name[sig]);
+ sv_setpv(sv,PL_sig_name[sig]);
}
PUSHSTACKi(PERLSI_SIGNAL);
diff --git a/objXSUB.h b/objXSUB.h
index a88cff70e3..315e710df5 100644
--- a/objXSUB.h
+++ b/objXSUB.h
@@ -962,7 +962,7 @@
#undef fold_constants
#define fold_constants pPerl->Perl_fold_constants
#undef fprintf
-#define fprintf pPerl->fprintf
+#define fprintf pPerl->Perl_fprintf
#undef free_tmps
#define free_tmps pPerl->Perl_free_tmps
#undef gen_constant_list
@@ -1494,6 +1494,16 @@
#define peep pPerl->Perl_peep
#undef perl_atexit
#define perl_atexit pPerl->perl_atexit
+#undef perl_free
+#define perl_free pPerl->perl_free
+#undef perl_construct
+#define perl_construct pPerl->perl_construct
+#undef perl_destruct
+#define perl_destruct pPerl->perl_destruct
+#undef perl_parse
+#define perl_parse pPerl->perl_parse
+#undef perl_run
+#define perl_run pPerl->perl_run
#undef perl_call_argv
#define perl_call_argv pPerl->perl_call_argv
#undef perl_call_method
diff --git a/objpp.h b/objpp.h
deleted file mode 100644
index 039ac4fc2a..0000000000
--- a/objpp.h
+++ /dev/null
@@ -1,1611 +0,0 @@
-#ifndef __Objpp_h__
-#define __Objpp_h__
-
-#undef amagic_call
-#define amagic_call CPerlObj::Perl_amagic_call
-#undef Gv_AMupdate
-#define Gv_AMupdate CPerlObj::Perl_Gv_AMupdate
-#undef add_data
-#define add_data CPerlObj::add_data
-#undef ao
-#define ao CPerlObj::ao
-#undef append_elem
-#define append_elem CPerlObj::Perl_append_elem
-#undef append_list
-#define append_list CPerlObj::Perl_append_list
-#undef apply
-#define apply CPerlObj::Perl_apply
-#undef asIV
-#define asIV CPerlObj::asIV
-#undef asUV
-#define asUV CPerlObj::asUV
-#undef assertref
-#define assertref CPerlObj::Perl_assertref
-#undef av_clear
-#define av_clear CPerlObj::Perl_av_clear
-#undef av_extend
-#define av_extend CPerlObj::Perl_av_extend
-#undef av_fake
-#define av_fake CPerlObj::Perl_av_fake
-#undef av_fetch
-#define av_fetch CPerlObj::Perl_av_fetch
-#undef av_fill
-#define av_fill CPerlObj::Perl_av_fill
-#undef av_len
-#define av_len CPerlObj::Perl_av_len
-#undef av_make
-#define av_make CPerlObj::Perl_av_make
-#undef av_pop
-#define av_pop CPerlObj::Perl_av_pop
-#undef av_push
-#define av_push CPerlObj::Perl_av_push
-#undef av_shift
-#define av_shift CPerlObj::Perl_av_shift
-#undef av_reify
-#define av_reify CPerlObj::Perl_av_reify
-#undef av_store
-#define av_store CPerlObj::Perl_av_store
-#undef av_undef
-#define av_undef CPerlObj::Perl_av_undef
-#undef av_unshift
-#define av_unshift CPerlObj::Perl_av_unshift
-#undef avhv_keys
-#define avhv_keys CPerlObj::Perl_avhv_keys
-#undef avhv_fetch_ent
-#define avhv_fetch_ent CPerlObj::Perl_avhv_fetch_ent
-#undef avhv_exists_ent
-#define avhv_exists_ent CPerlObj::Perl_avhv_exists_ent
-#undef avhv_index_sv
-#define avhv_index_sv CPerlObj::avhv_index_sv
-#undef avhv_iternext
-#define avhv_iternext CPerlObj::Perl_avhv_iternext
-#undef avhv_iterval
-#define avhv_iterval CPerlObj::Perl_avhv_iterval
-#undef bad_type
-#define bad_type CPerlObj::bad_type
-#undef bind_match
-#define bind_match CPerlObj::Perl_bind_match
-#undef block_end
-#define block_end CPerlObj::Perl_block_end
-#undef block_gimme
-#define block_gimme CPerlObj::Perl_block_gimme
-#undef block_start
-#define block_start CPerlObj::Perl_block_start
-#undef bset_obj_store
-#define bset_obj_store CPerlObj::Perl_bset_obj_store
-#undef byterun
-#define byterun CPerlObj::Perl_byterun
-#undef call_list
-#define call_list CPerlObj::Perl_call_list
-#undef cando
-#define cando CPerlObj::Perl_cando
-#undef cast_ulong
-#define cast_ulong CPerlObj::cast_ulong
-#undef checkcomma
-#define checkcomma CPerlObj::Perl_checkcomma
-#undef check_uni
-#define check_uni CPerlObj::Perl_check_uni
-#undef ck_anoncode
-#define ck_anoncode CPerlObj::Perl_ck_anoncode
-#undef ck_bitop
-#define ck_bitop CPerlObj::Perl_ck_bitop
-#undef ck_concat
-#define ck_concat CPerlObj::Perl_ck_concat
-#undef ck_delete
-#define ck_delete CPerlObj::Perl_ck_delete
-#undef ck_eof
-#define ck_eof CPerlObj::Perl_ck_eof
-#undef ck_eval
-#define ck_eval CPerlObj::Perl_ck_eval
-#undef ck_exec
-#define ck_exec CPerlObj::Perl_ck_exec
-#undef ck_exists
-#define ck_exists CPerlObj::Perl_ck_exists
-#undef ck_formline
-#define ck_formline CPerlObj::Perl_ck_formline
-#undef ck_ftst
-#define ck_ftst CPerlObj::Perl_ck_ftst
-#undef ck_fun
-#define ck_fun CPerlObj::Perl_ck_fun
-#undef ck_fun_locale
-#define ck_fun_locale CPerlObj::Perl_ck_fun_locale
-#undef ck_glob
-#define ck_glob CPerlObj::Perl_ck_glob
-#undef ck_grep
-#define ck_grep CPerlObj::Perl_ck_grep
-#undef ck_gvconst
-#define ck_gvconst CPerlObj::Perl_ck_gvconst
-#undef ck_index
-#define ck_index CPerlObj::Perl_ck_index
-#undef ck_lengthconst
-#define ck_lengthconst CPerlObj::Perl_ck_lengthconst
-#undef ck_lfun
-#define ck_lfun CPerlObj::Perl_ck_lfun
-#undef ck_listiob
-#define ck_listiob CPerlObj::Perl_ck_listiob
-#undef ck_match
-#define ck_match CPerlObj::Perl_ck_match
-#undef ck_null
-#define ck_null CPerlObj::Perl_ck_null
-#undef ck_repeat
-#define ck_repeat CPerlObj::Perl_ck_repeat
-#undef ck_require
-#define ck_require CPerlObj::Perl_ck_require
-#undef ck_retarget
-#define ck_retarget CPerlObj::Perl_ck_retarget
-#undef ck_rfun
-#define ck_rfun CPerlObj::Perl_ck_rfun
-#undef ck_rvconst
-#define ck_rvconst CPerlObj::Perl_ck_rvconst
-#undef ck_scmp
-#define ck_scmp CPerlObj::Perl_ck_scmp
-#undef ck_select
-#define ck_select CPerlObj::Perl_ck_select
-#undef ck_shift
-#define ck_shift CPerlObj::Perl_ck_shift
-#undef ck_sort
-#define ck_sort CPerlObj::Perl_ck_sort
-#undef ck_spair
-#define ck_spair CPerlObj::Perl_ck_spair
-#undef ck_split
-#define ck_split CPerlObj::Perl_ck_split
-#undef ck_subr
-#define ck_subr CPerlObj::Perl_ck_subr
-#undef ck_svconst
-#define ck_svconst CPerlObj::Perl_ck_svconst
-#undef ck_trunc
-#define ck_trunc CPerlObj::Perl_ck_trunc
-#undef convert
-#define convert CPerlObj::Perl_convert
-#undef cpytill
-#define cpytill CPerlObj::Perl_cpytill
-#undef croak
-#define croak CPerlObj::Perl_croak
-#undef cv_ckproto
-#define cv_ckproto CPerlObj::Perl_cv_ckproto
-#undef cv_clone
-#define cv_clone CPerlObj::Perl_cv_clone
-#undef cv_clone2
-#define cv_clone2 CPerlObj::cv_clone2
-#undef cv_const_sv
-#define cv_const_sv CPerlObj::Perl_cv_const_sv
-#undef cv_undef
-#define cv_undef CPerlObj::Perl_cv_undef
-#undef cx_dump
-#define cx_dump CPerlObj::Perl_cx_dump
-#undef cxinc
-#define cxinc CPerlObj::Perl_cxinc
-#undef deb
-#define deb CPerlObj::Perl_deb
-#undef deb_growlevel
-#define deb_growlevel CPerlObj::Perl_deb_growlevel
-#undef debop
-#define debop CPerlObj::Perl_debop
-#undef debstackptrs
-#define debstackptrs CPerlObj::Perl_debstackptrs
-#undef debprof
-#define debprof CPerlObj::debprof
-#undef debprofdump
-#define debprofdump CPerlObj::Perl_debprofdump
-#undef debstack
-#define debstack CPerlObj::Perl_debstack
-#undef del_sv
-#define del_sv CPerlObj::del_sv
-#undef del_xiv
-#define del_xiv CPerlObj::del_xiv
-#undef del_xnv
-#define del_xnv CPerlObj::del_xnv
-#undef del_xpv
-#define del_xpv CPerlObj::del_xpv
-#undef del_xrv
-#define del_xrv CPerlObj::del_xrv
-#undef delimcpy
-#define delimcpy CPerlObj::Perl_delimcpy
-#undef depcom
-#define depcom CPerlObj::depcom
-#undef deprecate
-#define deprecate CPerlObj::Perl_deprecate
-#undef die
-#define die CPerlObj::Perl_die
-#undef die_where
-#define die_where CPerlObj::Perl_die_where
-#undef div128
-#define div128 CPerlObj::div128
-#undef doencodes
-#define doencodes CPerlObj::doencodes
-#undef doeval
-#define doeval CPerlObj::doeval
-#undef doform
-#define doform CPerlObj::doform
-#undef dofindlabel
-#define dofindlabel CPerlObj::Perl_dofindlabel
-#undef doparseform
-#define doparseform CPerlObj::doparseform
-#undef dopoptoeval
-#define dopoptoeval CPerlObj::Perl_dopoptoeval
-#undef dopoptolabel
-#define dopoptolabel CPerlObj::dopoptolabel
-#undef dopoptoloop
-#define dopoptoloop CPerlObj::dopoptoloop
-#undef dopoptosub
-#define dopoptosub CPerlObj::dopoptosub
-#undef dopoptosub_at
-#define dopoptosub_at CPerlObj::dopoptosub_at
-#undef dounwind
-#define dounwind CPerlObj::Perl_dounwind
-#undef do_aexec
-#define do_aexec CPerlObj::Perl_do_aexec
-#undef do_aspawn
-#define do_aspawn CPerlObj::do_aspawn
-#undef do_binmode
-#define do_binmode CPerlObj::Perl_do_binmode
-#undef do_chop
-#define do_chop CPerlObj::Perl_do_chop
-#undef do_close
-#define do_close CPerlObj::Perl_do_close
-#undef do_eof
-#define do_eof CPerlObj::Perl_do_eof
-#undef do_exec
-#define do_exec CPerlObj::Perl_do_exec
-#undef do_execfree
-#define do_execfree CPerlObj::Perl_do_execfree
-#undef do_ipcctl
-#define do_ipcctl CPerlObj::Perl_do_ipcctl
-#undef do_ipcget
-#define do_ipcget CPerlObj::Perl_do_ipcget
-#undef do_join
-#define do_join CPerlObj::Perl_do_join
-#undef do_kv
-#define do_kv CPerlObj::Perl_do_kv
-#undef do_msgrcv
-#define do_msgrcv CPerlObj::Perl_do_msgrcv
-#undef do_msgsnd
-#define do_msgsnd CPerlObj::Perl_do_msgsnd
-#undef do_open
-#define do_open CPerlObj::Perl_do_open
-#undef do_pipe
-#define do_pipe CPerlObj::Perl_do_pipe
-#undef do_print
-#define do_print CPerlObj::Perl_do_print
-#undef do_readline
-#define do_readline CPerlObj::Perl_do_readline
-#undef do_chomp
-#define do_chomp CPerlObj::Perl_do_chomp
-#undef do_seek
-#define do_seek CPerlObj::Perl_do_seek
-#undef do_semop
-#define do_semop CPerlObj::Perl_do_semop
-#undef do_shmio
-#define do_shmio CPerlObj::Perl_do_shmio
-#undef do_sprintf
-#define do_sprintf CPerlObj::Perl_do_sprintf
-#undef do_sysseek
-#define do_sysseek CPerlObj::Perl_do_sysseek
-#undef do_tell
-#define do_tell CPerlObj::Perl_do_tell
-#undef do_trans
-#define do_trans CPerlObj::Perl_do_trans
-#undef do_vecset
-#define do_vecset CPerlObj::Perl_do_vecset
-#undef do_vop
-#define do_vop CPerlObj::Perl_do_vop
-#undef do_clean_all
-#define do_clean_all CPerlObj::do_clean_all
-#undef do_clean_named_objs
-#define do_clean_named_objs CPerlObj::do_clean_named_objs
-#undef do_clean_objs
-#define do_clean_objs CPerlObj::do_clean_objs
-#undef do_report_used
-#define do_report_used CPerlObj::do_report_used
-#undef docatch
-#define docatch CPerlObj::docatch
-#undef dofile
-#define dofile CPerlObj::Perl_dofile
-#undef dowantarray
-#define dowantarray CPerlObj::Perl_dowantarray
-#undef dump
-#define dump CPerlObj::dump
-#undef dump_all
-#define dump_all CPerlObj::Perl_dump_all
-#undef dump_eval
-#define dump_eval CPerlObj::Perl_dump_eval
-#undef dump_fds
-#define dump_fds CPerlObj::Perl_dump_fds
-#undef dump_form
-#define dump_form CPerlObj::Perl_dump_form
-#undef dump_gv
-#define dump_gv CPerlObj::Perl_dump_gv
-#undef dump_mstats
-#define dump_mstats CPerlObj::Perl_dump_mstats
-#undef dump_op
-#define dump_op CPerlObj::Perl_dump_op
-#undef dump_pm
-#define dump_pm CPerlObj::Perl_dump_pm
-#undef dump_packsubs
-#define dump_packsubs CPerlObj::Perl_dump_packsubs
-#undef dump_sub
-#define dump_sub CPerlObj::Perl_dump_sub
-#undef dumpuntil
-#define dumpuntil CPerlObj::dumpuntil
-#undef emulate_eaccess
-#define emulate_eaccess CPerlObj::emulate_eaccess
-#undef fbm_compile
-#define fbm_compile CPerlObj::Perl_fbm_compile
-#undef fbm_instr
-#define fbm_instr CPerlObj::Perl_fbm_instr
-#undef filter_add
-#define filter_add CPerlObj::Perl_filter_add
-#undef filter_del
-#define filter_del CPerlObj::Perl_filter_del
-#undef filter_gets
-#define filter_gets CPerlObj::filter_gets
-#undef filter_read
-#define filter_read CPerlObj::Perl_filter_read
-#undef find_beginning
-#define find_beginning CPerlObj::find_beginning
-#undef find_script
-#define find_script CPerlObj::Perl_find_script
-#undef forbid_setid
-#define forbid_setid CPerlObj::forbid_setid
-#undef force_ident
-#define force_ident CPerlObj::Perl_force_ident
-#undef force_list
-#define force_list CPerlObj::Perl_force_list
-#undef force_next
-#define force_next CPerlObj::Perl_force_next
-#undef force_word
-#define force_word CPerlObj::Perl_force_word
-#undef force_version
-#define force_version CPerlObj::force_version
-#undef form
-#define form CPerlObj::Perl_form
-#undef fold_constants
-#define fold_constants CPerlObj::Perl_fold_constants
-#undef fprintf
-#define fprintf CPerlObj::fprintf
-#undef free_tmps
-#define free_tmps CPerlObj::Perl_free_tmps
-#undef gen_constant_list
-#define gen_constant_list CPerlObj::Perl_gen_constant_list
-#undef get_db_sub
-#define get_db_sub CPerlObj::get_db_sub
-#undef get_op_descs
-#define get_op_descs CPerlObj::Perl_get_op_descs
-#undef get_op_names
-#define get_op_names CPerlObj::Perl_get_op_names
-#undef get_no_modify
-#define get_no_modify CPerlObj::Perl_get_no_modify
-#undef get_opargs
-#define get_opargs CPerlObj::Perl_get_opargs
-#undef get_specialsv_list
-#define get_specialsv_list CPerlObj::Perl_get_specialsv_list
-#undef getlogin
-#define getlogin CPerlObj::getlogin
-#undef gp_free
-#define gp_free CPerlObj::Perl_gp_free
-#undef gp_ref
-#define gp_ref CPerlObj::Perl_gp_ref
-#undef gv_autoload4
-#define gv_autoload4 CPerlObj::Perl_gv_autoload4
-#undef gv_AVadd
-#define gv_AVadd CPerlObj::Perl_gv_AVadd
-#undef gv_HVadd
-#define gv_HVadd CPerlObj::Perl_gv_HVadd
-#undef gv_IOadd
-#define gv_IOadd CPerlObj::Perl_gv_IOadd
-#undef gv_check
-#define gv_check CPerlObj::Perl_gv_check
-#undef gv_efullname
-#define gv_efullname CPerlObj::Perl_gv_efullname
-#undef gv_efullname3
-#define gv_efullname3 CPerlObj::Perl_gv_efullname3
-#undef gv_ename
-#define gv_ename CPerlObj::gv_ename
-#undef gv_fetchfile
-#define gv_fetchfile CPerlObj::Perl_gv_fetchfile
-#undef gv_fetchmeth
-#define gv_fetchmeth CPerlObj::Perl_gv_fetchmeth
-#undef gv_fetchmethod
-#define gv_fetchmethod CPerlObj::Perl_gv_fetchmethod
-#undef gv_fetchmethod_autoload
-#define gv_fetchmethod_autoload CPerlObj::Perl_gv_fetchmethod_autoload
-#undef gv_fetchpv
-#define gv_fetchpv CPerlObj::Perl_gv_fetchpv
-#undef gv_fullname
-#define gv_fullname CPerlObj::Perl_gv_fullname
-#undef gv_fullname3
-#define gv_fullname3 CPerlObj::Perl_gv_fullname3
-#undef gv_init
-#define gv_init CPerlObj::Perl_gv_init
-#undef gv_init_sv
-#define gv_init_sv CPerlObj::gv_init_sv
-#undef gv_stashpv
-#define gv_stashpv CPerlObj::Perl_gv_stashpv
-#undef gv_stashpvn
-#define gv_stashpvn CPerlObj::Perl_gv_stashpvn
-#undef gv_stashsv
-#define gv_stashsv CPerlObj::Perl_gv_stashsv
-#undef he_delayfree
-#define he_delayfree CPerlObj::Perl_he_delayfree
-#undef he_free
-#define he_free CPerlObj::Perl_he_free
-#undef hfreeentries
-#define hfreeentries CPerlObj::hfreeentries
-#undef hoistmust
-#define hoistmust CPerlObj::Perl_hoistmust
-#undef hsplit
-#define hsplit CPerlObj::hsplit
-#undef hv_clear
-#define hv_clear CPerlObj::Perl_hv_clear
-#undef hv_delayfree_ent
-#define hv_delayfree_ent CPerlObj::Perl_hv_delayfree_ent
-#undef hv_delete
-#define hv_delete CPerlObj::Perl_hv_delete
-#undef hv_delete_ent
-#define hv_delete_ent CPerlObj::Perl_hv_delete_ent
-#undef hv_exists
-#define hv_exists CPerlObj::Perl_hv_exists
-#undef hv_exists_ent
-#define hv_exists_ent CPerlObj::Perl_hv_exists_ent
-#undef hv_free_ent
-#define hv_free_ent CPerlObj::Perl_hv_free_ent
-#undef hv_fetch
-#define hv_fetch CPerlObj::Perl_hv_fetch
-#undef hv_fetch_ent
-#define hv_fetch_ent CPerlObj::Perl_hv_fetch_ent
-#undef hv_iterinit
-#define hv_iterinit CPerlObj::Perl_hv_iterinit
-#undef hv_iterkey
-#define hv_iterkey CPerlObj::Perl_hv_iterkey
-#undef hv_iterkeysv
-#define hv_iterkeysv CPerlObj::Perl_hv_iterkeysv
-#undef hv_iternext
-#define hv_iternext CPerlObj::Perl_hv_iternext
-#undef hv_iternextsv
-#define hv_iternextsv CPerlObj::Perl_hv_iternextsv
-#undef hv_iterval
-#define hv_iterval CPerlObj::Perl_hv_iterval
-#undef hv_ksplit
-#define hv_ksplit CPerlObj::Perl_hv_ksplit
-#undef hv_magic
-#define hv_magic CPerlObj::Perl_hv_magic
-#undef hv_store
-#define hv_store CPerlObj::Perl_hv_store
-#undef hv_store_ent
-#define hv_store_ent CPerlObj::Perl_hv_store_ent
-#undef hv_undef
-#define hv_undef CPerlObj::Perl_hv_undef
-#undef ibcmp
-#define ibcmp CPerlObj::Perl_ibcmp
-#undef ibcmp_locale
-#define ibcmp_locale CPerlObj::Perl_ibcmp_locale
-#undef incpush
-#define incpush CPerlObj::incpush
-#undef incline
-#define incline CPerlObj::incline
-#undef incl_perldb
-#define incl_perldb CPerlObj::incl_perldb
-#undef ingroup
-#define ingroup CPerlObj::Perl_ingroup
-#undef init_debugger
-#define init_debugger CPerlObj::init_debugger
-#undef init_ids
-#define init_ids CPerlObj::init_ids
-#undef init_interp
-#define init_interp CPerlObj::init_interp
-#undef init_main_thread
-#define init_main_thread CPerlObj::init_main_thread
-#undef init_main_stash
-#define init_main_stash CPerlObj::init_main_stash
-#undef init_lexer
-#define init_lexer CPerlObj::init_lexer
-#undef init_perllib
-#define init_perllib CPerlObj::init_perllib
-#undef init_predump_symbols
-#define init_predump_symbols CPerlObj::init_predump_symbols
-#undef init_postdump_symbols
-#define init_postdump_symbols CPerlObj::init_postdump_symbols
-#undef init_stacks
-#define init_stacks CPerlObj::Perl_init_stacks
-#undef intro_my
-#define intro_my CPerlObj::Perl_intro_my
-#undef nuke_stacks
-#define nuke_stacks CPerlObj::nuke_stacks
-#undef instr
-#define instr CPerlObj::Perl_instr
-#undef intuit_method
-#define intuit_method CPerlObj::intuit_method
-#undef intuit_more
-#define intuit_more CPerlObj::Perl_intuit_more
-#undef invert
-#define invert CPerlObj::Perl_invert
-#undef is_uni_alnum
-#define is_uni_alnum CPerlObj::Perl_is_uni_alnum
-#undef is_uni_alnum_lc
-#define is_uni_alnum_lc CPerlObj::Perl_is_uni_alnum_lc
-#undef is_uni_alpha
-#define is_uni_alpha CPerlObj::Perl_is_uni_alpha
-#undef is_uni_alpha_lc
-#define is_uni_alpha_lc CPerlObj::Perl_is_uni_alpha_lc
-#undef is_uni_digit
-#define is_uni_digit CPerlObj::Perl_is_uni_digit
-#undef is_uni_digit_lc
-#define is_uni_digit_lc CPerlObj::Perl_is_uni_digit_lc
-#undef is_uni_idfirst
-#define is_uni_idfirst CPerlObj::Perl_is_uni_idfirst
-#undef is_uni_idfirst_lc
-#define is_uni_idfirst_lc CPerlObj::Perl_is_uni_idfirst_lc
-#undef is_uni_lower
-#define is_uni_lower CPerlObj::Perl_is_uni_lower
-#undef is_uni_lower_lc
-#define is_uni_lower_lc CPerlObj::Perl_is_uni_lower_lc
-#undef is_uni_print
-#define is_uni_print CPerlObj::Perl_is_uni_print
-#undef is_uni_print_lc
-#define is_uni_print_lc CPerlObj::Perl_is_uni_print_lc
-#undef is_uni_space
-#define is_uni_space CPerlObj::Perl_is_uni_space
-#undef is_uni_space_lc
-#define is_uni_space_lc CPerlObj::Perl_is_uni_space_lc
-#undef is_uni_upper
-#define is_uni_upper CPerlObj::Perl_is_uni_upper
-#undef is_uni_upper_lc
-#define is_uni_upper_lc CPerlObj::Perl_is_uni_upper_lc
-#undef is_utf8_alnum
-#define is_utf8_alnum CPerlObj::Perl_is_utf8_alnum
-#undef is_utf8_alpha
-#define is_utf8_alpha CPerlObj::Perl_is_utf8_alpha
-#undef is_utf8_digit
-#define is_utf8_digit CPerlObj::Perl_is_utf8_digit
-#undef is_utf8_idfirst
-#define is_utf8_idfirst CPerlObj::Perl_is_utf8_idfirst
-#undef is_utf8_lower
-#define is_utf8_lower CPerlObj::Perl_is_utf8_lower
-#undef is_utf8_mark
-#define is_utf8_mark CPerlObj::Perl_is_utf8_mark
-#undef is_utf8_print
-#define is_utf8_print CPerlObj::Perl_is_utf8_print
-#undef is_utf8_space
-#define is_utf8_space CPerlObj::Perl_is_utf8_space
-#undef is_utf8_upper
-#define is_utf8_upper CPerlObj::Perl_is_utf8_upper
-
-#undef io_close
-#define io_close CPerlObj::Perl_io_close
-#undef is_an_int
-#define is_an_int CPerlObj::is_an_int
-#undef isa_lookup
-#define isa_lookup CPerlObj::isa_lookup
-#undef jmaybe
-#define jmaybe CPerlObj::Perl_jmaybe
-#undef keyword
-#define keyword CPerlObj::Perl_keyword
-#undef leave_scope
-#define leave_scope CPerlObj::Perl_leave_scope
-#undef lex_end
-#define lex_end CPerlObj::Perl_lex_end
-#undef lex_start
-#define lex_start CPerlObj::Perl_lex_start
-#undef linklist
-#define linklist CPerlObj::Perl_linklist
-#undef list
-#define list CPerlObj::Perl_list
-#undef list_assignment
-#define list_assignment CPerlObj::list_assignment
-#undef listkids
-#define listkids CPerlObj::Perl_listkids
-#undef lop
-#define lop CPerlObj::lop
-#undef localize
-#define localize CPerlObj::Perl_localize
-#undef looks_like_number
-#define looks_like_number CPerlObj::Perl_looks_like_number
-#undef magic_clearenv
-#define magic_clearenv CPerlObj::Perl_magic_clearenv
-#undef magic_clear_all_env
-#define magic_clear_all_env CPerlObj::Perl_magic_clear_all_env
-#undef magic_clearpack
-#define magic_clearpack CPerlObj::Perl_magic_clearpack
-#undef magic_clearsig
-#define magic_clearsig CPerlObj::Perl_magic_clearsig
-#undef magic_existspack
-#define magic_existspack CPerlObj::Perl_magic_existspack
-#undef magic_freeregexp
-#define magic_freeregexp CPerlObj::Perl_magic_freeregexp
-#undef magic_get
-#define magic_get CPerlObj::Perl_magic_get
-#undef magic_getarylen
-#define magic_getarylen CPerlObj::Perl_magic_getarylen
-#undef magic_getdefelem
-#define magic_getdefelem CPerlObj::Perl_magic_getdefelem
-#undef magic_getpack
-#define magic_getpack CPerlObj::Perl_magic_getpack
-#undef magic_getglob
-#define magic_getglob CPerlObj::Perl_magic_getglob
-#undef magic_getnkeys
-#define magic_getnkeys CPerlObj::Perl_magic_getnkeys
-#undef magic_getpos
-#define magic_getpos CPerlObj::Perl_magic_getpos
-#undef magic_getsig
-#define magic_getsig CPerlObj::Perl_magic_getsig
-#undef magic_getsubstr
-#define magic_getsubstr CPerlObj::Perl_magic_getsubstr
-#undef magic_gettaint
-#define magic_gettaint CPerlObj::Perl_magic_gettaint
-#undef magic_getuvar
-#define magic_getuvar CPerlObj::Perl_magic_getuvar
-#undef magic_getvec
-#define magic_getvec CPerlObj::Perl_magic_getvec
-#undef magic_len
-#define magic_len CPerlObj::Perl_magic_len
-#undef magic_methcall
-#define magic_methcall CPerlObj::magic_methcall
-#undef magic_methpack
-#define magic_methpack CPerlObj::magic_methpack
-#undef magic_nextpack
-#define magic_nextpack CPerlObj::Perl_magic_nextpack
-#undef magic_regdata_cnt
-#define magic_regdata_cnt CPerlObj::Perl_magic_regdata_cnt
-#undef magic_regdatum_get
-#define magic_regdatum_get CPerlObj::Perl_magic_regdatum_get
-#undef magic_set
-#define magic_set CPerlObj::Perl_magic_set
-#undef magic_set_all_env
-#define magic_set_all_env CPerlObj::Perl_magic_set_all_env
-#undef magic_setamagic
-#define magic_setamagic CPerlObj::Perl_magic_setamagic
-#undef magic_setarylen
-#define magic_setarylen CPerlObj::Perl_magic_setarylen
-#undef magic_setbm
-#define magic_setbm CPerlObj::Perl_magic_setbm
-#undef magic_setcollxfrm
-#define magic_setcollxfrm CPerlObj::Perl_magic_setcollxfrm
-#undef magic_setdbline
-#define magic_setdbline CPerlObj::Perl_magic_setdbline
-#undef magic_setdefelem
-#define magic_setdefelem CPerlObj::Perl_magic_setdefelem
-#undef magic_setenv
-#define magic_setenv CPerlObj::Perl_magic_setenv
-#undef magic_setfm
-#define magic_setfm CPerlObj::Perl_magic_setfm
-#undef magic_setisa
-#define magic_setisa CPerlObj::Perl_magic_setisa
-#undef magic_setglob
-#define magic_setglob CPerlObj::Perl_magic_setglob
-#undef magic_setmglob
-#define magic_setmglob CPerlObj::Perl_magic_setmglob
-#undef magic_setnkeys
-#define magic_setnkeys CPerlObj::Perl_magic_setnkeys
-#undef magic_setpack
-#define magic_setpack CPerlObj::Perl_magic_setpack
-#undef magic_setpos
-#define magic_setpos CPerlObj::Perl_magic_setpos
-#undef magic_setsig
-#define magic_setsig CPerlObj::Perl_magic_setsig
-#undef magic_setsubstr
-#define magic_setsubstr CPerlObj::Perl_magic_setsubstr
-#undef magic_settaint
-#define magic_settaint CPerlObj::Perl_magic_settaint
-#undef magic_setuvar
-#define magic_setuvar CPerlObj::Perl_magic_setuvar
-#undef magic_setvec
-#define magic_setvec CPerlObj::Perl_magic_setvec
-#undef magic_sizepack
-#define magic_sizepack CPerlObj::Perl_magic_sizepack
-#undef magic_unchain
-#define magic_unchain CPerlObj::Perl_magic_unchain
-#undef magic_wipepack
-#define magic_wipepack CPerlObj::Perl_magic_wipepack
-#undef magicname
-#define magicname CPerlObj::Perl_magicname
-#undef malloced_size
-#define malloced_size CPerlObj::Perl_malloced_size
-#undef markstack_grow
-#define markstack_grow CPerlObj::Perl_markstack_grow
-#undef markstack_ptr
-#define markstack_ptr CPerlObj::Perl_markstack_ptr
-#undef mess
-#define mess CPerlObj::Perl_mess
-#undef mess_alloc
-#define mess_alloc CPerlObj::mess_alloc
-#undef mem_collxfrm
-#define mem_collxfrm CPerlObj::Perl_mem_collxfrm
-#undef mg_clear
-#define mg_clear CPerlObj::Perl_mg_clear
-#undef mg_copy
-#define mg_copy CPerlObj::Perl_mg_copy
-#undef mg_find
-#define mg_find CPerlObj::Perl_mg_find
-#undef mg_free
-#define mg_free CPerlObj::Perl_mg_free
-#undef mg_get
-#define mg_get CPerlObj::Perl_mg_get
-#undef mg_length
-#define mg_length CPerlObj::Perl_mg_length
-#undef mg_magical
-#define mg_magical CPerlObj::Perl_mg_magical
-#undef mg_set
-#define mg_set CPerlObj::Perl_mg_set
-#undef mg_size
-#define mg_size CPerlObj::Perl_mg_size
-#undef missingterm
-#define missingterm CPerlObj::missingterm
-#undef mod
-#define mod CPerlObj::Perl_mod
-#undef modkids
-#define modkids CPerlObj::Perl_modkids
-#undef moreswitches
-#define moreswitches CPerlObj::Perl_moreswitches
-#undef more_sv
-#define more_sv CPerlObj::more_sv
-#undef more_xiv
-#define more_xiv CPerlObj::more_xiv
-#undef more_xnv
-#define more_xnv CPerlObj::more_xnv
-#undef more_xpv
-#define more_xpv CPerlObj::more_xpv
-#undef more_xrv
-#define more_xrv CPerlObj::more_xrv
-#undef mstats
-#define mstats CPerlObj::mstats
-#undef mul128
-#define mul128 CPerlObj::mul128
-#undef my
-#define my CPerlObj::Perl_my
-#undef my_bcopy
-#define my_bcopy CPerlObj::Perl_my_bcopy
-#undef my_bzero
-#define my_bzero CPerlObj::Perl_my_bzero
-#undef my_exit
-#define my_exit CPerlObj::Perl_my_exit
-#undef my_exit_jump
-#define my_exit_jump CPerlObj::my_exit_jump
-#undef my_failure_exit
-#define my_failure_exit CPerlObj::Perl_my_failure_exit
-#undef my_lstat
-#define my_lstat CPerlObj::Perl_my_lstat
-#undef my_memcmp
-#define my_memcmp CPerlObj::Perl_my_memcmp
-#undef my_memset
-#define my_memset CPerlObj::Perl_my_memset
-#undef my_pclose
-#define my_pclose CPerlObj::Perl_my_pclose
-#undef my_popen
-#define my_popen CPerlObj::Perl_my_popen
-#undef my_safemalloc
-#define my_safemalloc CPerlObj::my_safemalloc
-#undef my_setenv
-#define my_setenv CPerlObj::Perl_my_setenv
-#undef my_stat
-#define my_stat CPerlObj::Perl_my_stat
-#undef my_swap
-#define my_swap CPerlObj::my_swap
-#undef my_htonl
-#define my_htonl CPerlObj::my_htonl
-#undef my_ntohl
-#define my_ntohl CPerlObj::my_ntohl
-#undef my_unexec
-#define my_unexec CPerlObj::Perl_my_unexec
-#undef newANONLIST
-#define newANONLIST CPerlObj::Perl_newANONLIST
-#undef newANONHASH
-#define newANONHASH CPerlObj::Perl_newANONHASH
-#undef newANONSUB
-#define newANONSUB CPerlObj::Perl_newANONSUB
-#undef newASSIGNOP
-#define newASSIGNOP CPerlObj::Perl_newASSIGNOP
-#undef newCONDOP
-#define newCONDOP CPerlObj::Perl_newCONDOP
-#undef newCONSTSUB
-#define newCONSTSUB CPerlObj::Perl_newCONSTSUB
-#undef newDEFSVOP
-#define newDEFSVOP CPerlObj::newDEFSVOP
-#undef newFORM
-#define newFORM CPerlObj::Perl_newFORM
-#undef newFOROP
-#define newFOROP CPerlObj::Perl_newFOROP
-#undef newLOGOP
-#define newLOGOP CPerlObj::Perl_newLOGOP
-#undef newLOOPEX
-#define newLOOPEX CPerlObj::Perl_newLOOPEX
-#undef newLOOPOP
-#define newLOOPOP CPerlObj::Perl_newLOOPOP
-#undef newMETHOD
-#define newMETHOD CPerlObj::Perl_newMETHOD
-#undef newNULLLIST
-#define newNULLLIST CPerlObj::Perl_newNULLLIST
-#undef newOP
-#define newOP CPerlObj::Perl_newOP
-#undef newPROG
-#define newPROG CPerlObj::Perl_newPROG
-#undef newRANGE
-#define newRANGE CPerlObj::Perl_newRANGE
-#undef newSLICEOP
-#define newSLICEOP CPerlObj::Perl_newSLICEOP
-#undef newSTATEOP
-#define newSTATEOP CPerlObj::Perl_newSTATEOP
-#undef newSUB
-#define newSUB CPerlObj::Perl_newSUB
-#undef newXS
-#define newXS CPerlObj::Perl_newXS
-#undef newXSUB
-#define newXSUB CPerlObj::Perl_newXSUB
-#undef newAV
-#define newAV CPerlObj::Perl_newAV
-#undef newAVREF
-#define newAVREF CPerlObj::Perl_newAVREF
-#undef newBINOP
-#define newBINOP CPerlObj::Perl_newBINOP
-#undef newCVREF
-#define newCVREF CPerlObj::Perl_newCVREF
-#undef newCVOP
-#define newCVOP CPerlObj::Perl_newCVOP
-#undef newGVOP
-#define newGVOP CPerlObj::Perl_newGVOP
-#undef newGVgen
-#define newGVgen CPerlObj::Perl_newGVgen
-#undef newGVREF
-#define newGVREF CPerlObj::Perl_newGVREF
-#undef newHVREF
-#define newHVREF CPerlObj::Perl_newHVREF
-#undef newHV
-#define newHV CPerlObj::Perl_newHV
-#undef newHVhv
-#define newHVhv CPerlObj::Perl_newHVhv
-#undef newIO
-#define newIO CPerlObj::Perl_newIO
-#undef newLISTOP
-#define newLISTOP CPerlObj::Perl_newLISTOP
-#undef newPMOP
-#define newPMOP CPerlObj::Perl_newPMOP
-#undef newPVOP
-#define newPVOP CPerlObj::Perl_newPVOP
-#undef newRV
-#define newRV CPerlObj::Perl_newRV
-#undef Perl_newRV_noinc
-#define Perl_newRV_noinc CPerlObj::Perl_newRV_noinc
-#undef newSV
-#define newSV CPerlObj::Perl_newSV
-#undef newSVREF
-#define newSVREF CPerlObj::Perl_newSVREF
-#undef newSVOP
-#define newSVOP CPerlObj::Perl_newSVOP
-#undef newSViv
-#define newSViv CPerlObj::Perl_newSViv
-#undef newSVnv
-#define newSVnv CPerlObj::Perl_newSVnv
-#undef newSVpv
-#define newSVpv CPerlObj::Perl_newSVpv
-#undef newSVpvf
-#define newSVpvf CPerlObj::Perl_newSVpvf
-#undef newSVpvn
-#define newSVpvn CPerlObj::Perl_newSVpvn
-#undef newSVrv
-#define newSVrv CPerlObj::Perl_newSVrv
-#undef newSVsv
-#define newSVsv CPerlObj::Perl_newSVsv
-#undef newUNOP
-#define newUNOP CPerlObj::Perl_newUNOP
-#undef newWHILEOP
-#define newWHILEOP CPerlObj::Perl_newWHILEOP
-#undef new_constant
-#define new_constant CPerlObj::new_constant
-#undef new_logop
-#define new_logop CPerlObj::new_logop
-#undef new_stackinfo
-#define new_stackinfo CPerlObj::Perl_new_stackinfo
-#undef new_sv
-#define new_sv CPerlObj::new_sv
-#undef new_xiv
-#define new_xiv CPerlObj::new_xiv
-#undef new_xnv
-#define new_xnv CPerlObj::new_xnv
-#undef new_xpv
-#define new_xpv CPerlObj::new_xpv
-#undef new_xrv
-#define new_xrv CPerlObj::new_xrv
-#undef nextargv
-#define nextargv CPerlObj::Perl_nextargv
-#undef nextchar
-#define nextchar CPerlObj::nextchar
-#undef ninstr
-#define ninstr CPerlObj::Perl_ninstr
-#undef not_a_number
-#define not_a_number CPerlObj::not_a_number
-#undef no_fh_allowed
-#define no_fh_allowed CPerlObj::Perl_no_fh_allowed
-#undef no_op
-#define no_op CPerlObj::Perl_no_op
-#undef null
-#define null CPerlObj::null
-#undef profiledata
-#define profiledata CPerlObj::Perl_profiledata
-#undef package
-#define package CPerlObj::Perl_package
-#undef pad_alloc
-#define pad_alloc CPerlObj::Perl_pad_alloc
-#undef pad_allocmy
-#define pad_allocmy CPerlObj::Perl_pad_allocmy
-#undef pad_findmy
-#define pad_findmy CPerlObj::Perl_pad_findmy
-#undef op_const_sv
-#define op_const_sv CPerlObj::Perl_op_const_sv
-#undef op_free
-#define op_free CPerlObj::Perl_op_free
-#undef oopsCV
-#define oopsCV CPerlObj::Perl_oopsCV
-#undef oopsAV
-#define oopsAV CPerlObj::Perl_oopsAV
-#undef oopsHV
-#define oopsHV CPerlObj::Perl_oopsHV
-#undef open_script
-#define open_script CPerlObj::open_script
-#undef pad_leavemy
-#define pad_leavemy CPerlObj::Perl_pad_leavemy
-#undef pad_sv
-#define pad_sv CPerlObj::Perl_pad_sv
-#undef pad_findlex
-#define pad_findlex CPerlObj::pad_findlex
-#undef pad_free
-#define pad_free CPerlObj::Perl_pad_free
-#undef pad_reset
-#define pad_reset CPerlObj::Perl_pad_reset
-#undef pad_swipe
-#define pad_swipe CPerlObj::Perl_pad_swipe
-#undef peep
-#define peep CPerlObj::Perl_peep
-#undef perl_call_argv
-#define perl_call_argv CPerlObj::perl_call_argv
-#undef perl_call_method
-#define perl_call_method CPerlObj::perl_call_method
-#undef perl_call_pv
-#define perl_call_pv CPerlObj::perl_call_pv
-#undef perl_call_sv
-#define perl_call_sv CPerlObj::perl_call_sv
-#undef perl_callargv
-#define perl_callargv CPerlObj::perl_callargv
-#undef perl_callpv
-#define perl_callpv CPerlObj::perl_callpv
-#undef perl_callsv
-#define perl_callsv CPerlObj::perl_callsv
-#undef perl_eval_pv
-#define perl_eval_pv CPerlObj::perl_eval_pv
-#undef perl_eval_sv
-#define perl_eval_sv CPerlObj::perl_eval_sv
-#undef perl_get_sv
-#define perl_get_sv CPerlObj::perl_get_sv
-#undef perl_get_av
-#define perl_get_av CPerlObj::perl_get_av
-#undef perl_get_hv
-#define perl_get_hv CPerlObj::perl_get_hv
-#undef perl_get_cv
-#define perl_get_cv CPerlObj::perl_get_cv
-#undef Perl_GetVars
-#define Perl_GetVars CPerlObj::Perl_GetVars
-#undef perl_init_fold
-#define perl_init_fold CPerlObj::perl_init_fold
-#undef perl_init_i18nl10n
-#define perl_init_i18nl10n CPerlObj::perl_init_i18nl10n
-#undef perl_init_i18nl14n
-#define perl_init_i18nl14n CPerlObj::perl_init_i18nl14n
-#undef perl_new_collate
-#define perl_new_collate CPerlObj::perl_new_collate
-#undef perl_new_ctype
-#define perl_new_ctype CPerlObj::perl_new_ctype
-#undef perl_new_numeric
-#define perl_new_numeric CPerlObj::perl_new_numeric
-#undef perl_set_numeric_standard
-#define perl_set_numeric_standard CPerlObj::perl_set_numeric_standard
-#undef perl_set_numeric_local
-#define perl_set_numeric_local CPerlObj::perl_set_numeric_local
-#undef perl_require_pv
-#define perl_require_pv CPerlObj::perl_require_pv
-#undef perl_thread
-#define perl_thread CPerlObj::perl_thread
-#undef pidgone
-#define pidgone CPerlObj::Perl_pidgone
-#undef pmflag
-#define pmflag CPerlObj::Perl_pmflag
-#undef pmruntime
-#define pmruntime CPerlObj::Perl_pmruntime
-#undef pmtrans
-#define pmtrans CPerlObj::Perl_pmtrans
-#undef pop_return
-#define pop_return CPerlObj::Perl_pop_return
-#undef pop_scope
-#define pop_scope CPerlObj::Perl_pop_scope
-#undef prepend_elem
-#define prepend_elem CPerlObj::Perl_prepend_elem
-#undef provide_ref
-#define provide_ref CPerlObj::Perl_provide_ref
-#undef push_return
-#define push_return CPerlObj::Perl_push_return
-#undef push_scope
-#define push_scope CPerlObj::Perl_push_scope
-#undef pregcomp
-#define pregcomp CPerlObj::Perl_pregcomp
-#undef qsortsv
-#define qsortsv CPerlObj::qsortsv
-#undef ref
-#define ref CPerlObj::Perl_ref
-#undef refkids
-#define refkids CPerlObj::Perl_refkids
-#undef regdump
-#define regdump CPerlObj::Perl_regdump
-#undef rsignal
-#define rsignal CPerlObj::Perl_rsignal
-#undef rsignal_restore
-#define rsignal_restore CPerlObj::Perl_rsignal_restore
-#undef rsignal_save
-#define rsignal_save CPerlObj::Perl_rsignal_save
-#undef rsignal_state
-#define rsignal_state CPerlObj::Perl_rsignal_state
-#undef pregexec
-#define pregexec CPerlObj::Perl_pregexec
-#undef pregfree
-#define pregfree CPerlObj::Perl_pregfree
-#undef re_croak2
-#define re_croak2 CPerlObj::re_croak2
-#undef refto
-#define refto CPerlObj::refto
-#undef reg
-#define reg CPerlObj::reg
-#undef reg_node
-#define reg_node CPerlObj::reg_node
-#undef reganode
-#define reganode CPerlObj::reganode
-#undef regatom
-#define regatom CPerlObj::regatom
-#undef regbranch
-#define regbranch CPerlObj::regbranch
-#undef regc
-#define regc CPerlObj::regc
-#undef reguni
-#define reguni CPerlObj::reguni
-#undef regcurly
-#define regcurly CPerlObj::regcurly
-#undef regcppush
-#define regcppush CPerlObj::regcppush
-#undef regcppop
-#define regcppop CPerlObj::regcppop
-#undef regcp_set_to
-#define regcp_set_to CPerlObj::regcp_set_to
-#undef cache_re
-#define cache_re CPerlObj::cache_re
-#undef reghop
-#define reghop CPerlObj::reghop
-#undef reghopmaybe
-#define reghopmaybe CPerlObj::reghopmaybe
-#undef regclass
-#define regclass CPerlObj::regclass
-#undef regclassutf8
-#define regclassutf8 CPerlObj::regclassutf8
-#undef regexec_flags
-#define regexec_flags CPerlObj::Perl_regexec_flags
-#undef reginclass
-#define reginclass CPerlObj::reginclass
-#undef reginclassutf8
-#define reginclassutf8 CPerlObj::reginclassutf8
-#undef reginsert
-#define reginsert CPerlObj::reginsert
-#undef regmatch
-#define regmatch CPerlObj::regmatch
-#undef regnext
-#define regnext CPerlObj::Perl_regnext
-#undef regoptail
-#define regoptail CPerlObj::regoptail
-#undef regpiece
-#define regpiece CPerlObj::regpiece
-#undef regprop
-#define regprop CPerlObj::Perl_regprop
-#undef regrepeat
-#define regrepeat CPerlObj::regrepeat
-#undef regrepeat_hard
-#define regrepeat_hard CPerlObj::regrepeat_hard
-#undef regset
-#define regset CPerlObj::regset
-#undef regtail
-#define regtail CPerlObj::regtail
-#undef regtry
-#define regtry CPerlObj::regtry
-#undef regwhite
-#define regwhite CPerlObj::regwhite
-#undef repeatcpy
-#define repeatcpy CPerlObj::Perl_repeatcpy
-#undef restore_expect
-#define restore_expect CPerlObj::restore_expect
-#undef restore_lex_expect
-#define restore_lex_expect CPerlObj::restore_lex_expect
-#undef restore_magic
-#define restore_magic CPerlObj::restore_magic
-#undef restore_rsfp
-#define restore_rsfp CPerlObj::restore_rsfp
-#undef rninstr
-#define rninstr CPerlObj::Perl_rninstr
-#undef runops_standard
-#define runops_standard CPerlObj::Perl_runops_standard
-#undef runops_debug
-#define runops_debug CPerlObj::Perl_runops_debug
-#undef rxres_free
-#define rxres_free CPerlObj::Perl_rxres_free
-#undef rxres_restore
-#define rxres_restore CPerlObj::Perl_rxres_restore
-#undef rxres_save
-#define rxres_save CPerlObj::Perl_rxres_save
-#ifndef MYMALLOC
-#undef safefree
-#define safefree CPerlObj::Perl_safefree
-#undef safecalloc
-#define safecalloc CPerlObj::Perl_safecalloc
-#undef safemalloc
-#define safemalloc CPerlObj::Perl_safemalloc
-#undef saferealloc
-#define saferealloc CPerlObj::Perl_saferealloc
-#endif /* MYMALLOC */
-#undef same_dirent
-#define same_dirent CPerlObj::same_dirent
-#undef savepv
-#define savepv CPerlObj::Perl_savepv
-#undef savepvn
-#define savepvn CPerlObj::Perl_savepvn
-#undef savestack_grow
-#define savestack_grow CPerlObj::Perl_savestack_grow
-#undef save_aelem
-#define save_aelem CPerlObj::Perl_save_aelem
-#undef save_alloc
-#define save_alloc CPerlObj::Perl_save_alloc
-#undef save_aptr
-#define save_aptr CPerlObj::Perl_save_aptr
-#undef save_ary
-#define save_ary CPerlObj::Perl_save_ary
-#undef save_clearsv
-#define save_clearsv CPerlObj::Perl_save_clearsv
-#undef save_delete
-#define save_delete CPerlObj::Perl_save_delete
-#undef save_destructor
-#define save_destructor CPerlObj::Perl_save_destructor
-#undef save_freesv
-#define save_freesv CPerlObj::Perl_save_freesv
-#undef save_freeop
-#define save_freeop CPerlObj::Perl_save_freeop
-#undef save_freepv
-#define save_freepv CPerlObj::Perl_save_freepv
-#undef save_generic_svref
-#define save_generic_svref CPerlObj::Perl_save_generic_svref
-#undef save_gp
-#define save_gp CPerlObj::Perl_save_gp
-#undef save_hash
-#define save_hash CPerlObj::Perl_save_hash
-#undef save_hek
-#define save_hek CPerlObj::save_hek
-#undef save_helem
-#define save_helem CPerlObj::Perl_save_helem
-#undef save_hints
-#define save_hints CPerlObj::Perl_save_hints
-#undef save_hptr
-#define save_hptr CPerlObj::Perl_save_hptr
-#undef save_I16
-#define save_I16 CPerlObj::Perl_save_I16
-#undef save_I32
-#define save_I32 CPerlObj::Perl_save_I32
-#undef save_int
-#define save_int CPerlObj::Perl_save_int
-#undef save_item
-#define save_item CPerlObj::Perl_save_item
-#undef save_iv
-#define save_iv CPerlObj::Perl_save_iv
-#undef save_lines
-#define save_lines CPerlObj::save_lines
-#undef save_list
-#define save_list CPerlObj::Perl_save_list
-#undef save_long
-#define save_long CPerlObj::Perl_save_long
-#undef save_magic
-#define save_magic CPerlObj::save_magic
-#undef save_nogv
-#define save_nogv CPerlObj::Perl_save_nogv
-#undef save_op
-#define save_op CPerlObj::Perl_save_op
-#undef save_scalar
-#define save_scalar CPerlObj::Perl_save_scalar
-#undef save_scalar_at
-#define save_scalar_at CPerlObj::save_scalar_at
-#undef save_pptr
-#define save_pptr CPerlObj::Perl_save_pptr
-#undef save_re_context
-#define save_re_context CPerlObj::Perl_save_re_context
-#undef save_sptr
-#define save_sptr CPerlObj::Perl_save_sptr
-#undef save_svref
-#define save_svref CPerlObj::Perl_save_svref
-#undef save_threadsv
-#define save_threadsv CPerlObj::Perl_save_threadsv
-#undef sawparens
-#define sawparens CPerlObj::Perl_sawparens
-#undef scalar
-#define scalar CPerlObj::Perl_scalar
-#undef scalarboolean
-#define scalarboolean CPerlObj::scalarboolean
-#undef scalarkids
-#define scalarkids CPerlObj::Perl_scalarkids
-#undef scalarseq
-#define scalarseq CPerlObj::Perl_scalarseq
-#undef scalarvoid
-#define scalarvoid CPerlObj::Perl_scalarvoid
-#undef scan_commit
-#define scan_commit CPerlObj::scan_commit
-#undef scan_const
-#define scan_const CPerlObj::Perl_scan_const
-#undef scan_formline
-#define scan_formline CPerlObj::Perl_scan_formline
-#undef scan_ident
-#define scan_ident CPerlObj::Perl_scan_ident
-#undef scan_inputsymbol
-#define scan_inputsymbol CPerlObj::Perl_scan_inputsymbol
-#undef scan_heredoc
-#define scan_heredoc CPerlObj::Perl_scan_heredoc
-#undef scan_hex
-#define scan_hex CPerlObj::Perl_scan_hex
-#undef scan_num
-#define scan_num CPerlObj::Perl_scan_num
-#undef scan_oct
-#define scan_oct CPerlObj::Perl_scan_oct
-#undef scan_pat
-#define scan_pat CPerlObj::Perl_scan_pat
-#undef scan_str
-#define scan_str CPerlObj::Perl_scan_str
-#undef scan_subst
-#define scan_subst CPerlObj::Perl_scan_subst
-#undef scan_trans
-#define scan_trans CPerlObj::Perl_scan_trans
-#undef scan_word
-#define scan_word CPerlObj::Perl_scan_word
-#undef scope
-#define scope CPerlObj::Perl_scope
-#undef screaminstr
-#define screaminstr CPerlObj::Perl_screaminstr
-#undef seed
-#define seed CPerlObj::seed
-#undef setdefout
-#define setdefout CPerlObj::Perl_setdefout
-#undef setenv_getix
-#define setenv_getix CPerlObj::Perl_setenv_getix
-#undef sharepvn
-#define sharepvn CPerlObj::Perl_sharepvn
-#undef set_csh
-#define set_csh CPerlObj::set_csh
-#undef sighandler
-#define sighandler CPerlObj::Perl_sighandler
-#undef share_hek
-#define share_hek CPerlObj::Perl_share_hek
-#undef skipspace
-#define skipspace CPerlObj::Perl_skipspace
-#undef sortcv
-#define sortcv CPerlObj::sortcv
-#ifndef PERL_OBJECT
-#undef stack_base
-#define stack_base CPerlObj::Perl_stack_base
-#endif
-#undef stack_grow
-#define stack_grow CPerlObj::Perl_stack_grow
-#undef start_subparse
-#define start_subparse CPerlObj::Perl_start_subparse
-#undef study_chunk
-#define study_chunk CPerlObj::study_chunk
-#undef sub_crush_depth
-#define sub_crush_depth CPerlObj::Perl_sub_crush_depth
-#undef sublex_done
-#define sublex_done CPerlObj::sublex_done
-#undef sublex_push
-#define sublex_push CPerlObj::sublex_push
-#undef sublex_start
-#define sublex_start CPerlObj::sublex_start
-#undef sv_2bool
-#define sv_2bool CPerlObj::Perl_sv_2bool
-#undef sv_2cv
-#define sv_2cv CPerlObj::Perl_sv_2cv
-#undef sv_2io
-#define sv_2io CPerlObj::Perl_sv_2io
-#undef sv_2iv
-#define sv_2iv CPerlObj::Perl_sv_2iv
-#undef sv_2uv
-#define sv_2uv CPerlObj::Perl_sv_2uv
-#undef sv_2mortal
-#define sv_2mortal CPerlObj::Perl_sv_2mortal
-#undef sv_2nv
-#define sv_2nv CPerlObj::Perl_sv_2nv
-#undef sv_2pv
-#define sv_2pv CPerlObj::Perl_sv_2pv
-#undef sv_add_arena
-#define sv_add_arena CPerlObj::Perl_sv_add_arena
-#undef sv_backoff
-#define sv_backoff CPerlObj::Perl_sv_backoff
-#undef sv_bless
-#define sv_bless CPerlObj::Perl_sv_bless
-#undef sv_catpv
-#define sv_catpv CPerlObj::Perl_sv_catpv
-#undef sv_catpv_mg
-#define sv_catpv_mg CPerlObj::Perl_sv_catpv_mg
-#undef sv_catpvf
-#define sv_catpvf CPerlObj::Perl_sv_catpvf
-#undef sv_catpvf_mg
-#define sv_catpvf_mg CPerlObj::Perl_sv_catpvf_mg
-#undef sv_catpvn
-#define sv_catpvn CPerlObj::Perl_sv_catpvn
-#undef sv_catpvn_mg
-#define sv_catpvn_mg CPerlObj::Perl_sv_catpvn_mg
-#undef sv_catsv
-#define sv_catsv CPerlObj::Perl_sv_catsv
-#undef sv_catsv_mg
-#define sv_catsv_mg CPerlObj::Perl_sv_catsv_mg
-#undef sv_check_thinkfirst
-#define sv_check_thinkfirst CPerlObj::sv_check_thinkfirst
-#undef sv_chop
-#define sv_chop CPerlObj::Perl_sv_chop
-#undef sv_clean_all
-#define sv_clean_all CPerlObj::Perl_sv_clean_all
-#undef sv_clean_objs
-#define sv_clean_objs CPerlObj::Perl_sv_clean_objs
-#undef sv_clear
-#define sv_clear CPerlObj::Perl_sv_clear
-#undef sv_cmp
-#define sv_cmp CPerlObj::Perl_sv_cmp
-#undef sv_cmp_locale
-#define sv_cmp_locale CPerlObj::Perl_sv_cmp_locale
-#undef sv_collxfrm
-#define sv_collxfrm CPerlObj::Perl_sv_collxfrm
-#undef sv_compile_2op
-#define sv_compile_2op CPerlObj::Perl_sv_compile_2op
-#undef sv_dec
-#define sv_dec CPerlObj::Perl_sv_dec
-#undef sv_derived_from
-#define sv_derived_from CPerlObj::Perl_sv_derived_from
-#undef sv_dump
-#define sv_dump CPerlObj::Perl_sv_dump
-#undef sv_eq
-#define sv_eq CPerlObj::Perl_sv_eq
-#undef sv_free
-#define sv_free CPerlObj::Perl_sv_free
-#undef sv_free_arenas
-#define sv_free_arenas CPerlObj::Perl_sv_free_arenas
-#undef sv_gets
-#define sv_gets CPerlObj::Perl_sv_gets
-#undef sv_grow
-#define sv_grow CPerlObj::Perl_sv_grow
-#undef sv_inc
-#define sv_inc CPerlObj::Perl_sv_inc
-#undef sv_insert
-#define sv_insert CPerlObj::Perl_sv_insert
-#undef sv_isa
-#define sv_isa CPerlObj::Perl_sv_isa
-#undef sv_isobject
-#define sv_isobject CPerlObj::Perl_sv_isobject
-#undef sv_iv
-#define sv_iv CPerlObj::Perl_sv_iv
-#undef sv_len
-#define sv_len CPerlObj::Perl_sv_len
-#undef sv_len_utf8
-#define sv_len_utf8 CPerlObj::Perl_sv_len_utf8
-#undef sv_pos_u2b
-#define sv_pos_u2b CPerlObj::Perl_sv_pos_u2b
-#undef sv_pos_b2u
-#define sv_pos_b2u CPerlObj::Perl_sv_pos_b2u
-#undef sv_magic
-#define sv_magic CPerlObj::Perl_sv_magic
-#undef sv_mortalcopy
-#define sv_mortalcopy CPerlObj::Perl_sv_mortalcopy
-#undef sv_mortalgrow
-#define sv_mortalgrow CPerlObj::sv_mortalgrow
-#undef sv_newmortal
-#define sv_newmortal CPerlObj::Perl_sv_newmortal
-#undef sv_newref
-#define sv_newref CPerlObj::Perl_sv_newref
-#undef sv_nv
-#define sv_nv CPerlObj::Perl_sv_nv
-#undef sv_peek
-#define sv_peek CPerlObj::Perl_sv_peek
-#undef sv_pvn
-#define sv_pvn CPerlObj::Perl_sv_pvn
-#undef sv_pvn_force
-#define sv_pvn_force CPerlObj::Perl_sv_pvn_force
-#undef sv_reftype
-#define sv_reftype CPerlObj::Perl_sv_reftype
-#undef sv_replace
-#define sv_replace CPerlObj::Perl_sv_replace
-#undef sv_report_used
-#define sv_report_used CPerlObj::Perl_sv_report_used
-#undef sv_reset
-#define sv_reset CPerlObj::Perl_sv_reset
-#undef sv_setiv
-#define sv_setiv CPerlObj::Perl_sv_setiv
-#undef sv_setiv_mg
-#define sv_setiv_mg CPerlObj::Perl_sv_setiv_mg
-#undef sv_setnv
-#define sv_setnv CPerlObj::Perl_sv_setnv
-#undef sv_setnv_mg
-#define sv_setnv_mg CPerlObj::Perl_sv_setnv_mg
-#undef sv_setuv
-#define sv_setuv CPerlObj::Perl_sv_setuv
-#undef sv_setuv_mg
-#define sv_setuv_mg CPerlObj::Perl_sv_setuv_mg
-#undef sv_setref_iv
-#define sv_setref_iv CPerlObj::Perl_sv_setref_iv
-#undef sv_setref_nv
-#define sv_setref_nv CPerlObj::Perl_sv_setref_nv
-#undef sv_setref_pv
-#define sv_setref_pv CPerlObj::Perl_sv_setref_pv
-#undef sv_setref_pvn
-#define sv_setref_pvn CPerlObj::Perl_sv_setref_pvn
-#undef sv_setpv
-#define sv_setpv CPerlObj::Perl_sv_setpv
-#undef sv_setpv_mg
-#define sv_setpv_mg CPerlObj::Perl_sv_setpv_mg
-#undef sv_setpvf
-#define sv_setpvf CPerlObj::Perl_sv_setpvf
-#undef sv_setpvf_mg
-#define sv_setpvf_mg CPerlObj::Perl_sv_setpvf_mg
-#undef sv_setpviv
-#define sv_setpviv CPerlObj::Perl_sv_setpviv
-#undef sv_setpviv_mg
-#define sv_setpviv_mg CPerlObj::Perl_sv_setpviv_mg
-#undef sv_setpvn
-#define sv_setpvn CPerlObj::Perl_sv_setpvn
-#undef sv_setpvn_mg
-#define sv_setpvn_mg CPerlObj::Perl_sv_setpvn_mg
-#undef sv_setsv
-#define sv_setsv CPerlObj::Perl_sv_setsv
-#undef sv_setsv_mg
-#define sv_setsv_mg CPerlObj::Perl_sv_setsv_mg
-#undef sv_taint
-#define sv_taint CPerlObj::Perl_sv_taint
-#undef sv_tainted
-#define sv_tainted CPerlObj::Perl_sv_tainted
-#undef sv_true
-#define sv_true CPerlObj::Perl_sv_true
-#undef sv_unglob
-#define sv_unglob CPerlObj::sv_unglob
-#undef sv_unmagic
-#define sv_unmagic CPerlObj::Perl_sv_unmagic
-#undef sv_unref
-#define sv_unref CPerlObj::Perl_sv_unref
-#undef sv_untaint
-#define sv_untaint CPerlObj::Perl_sv_untaint
-#undef sv_upgrade
-#define sv_upgrade CPerlObj::Perl_sv_upgrade
-#undef sv_usepvn
-#define sv_usepvn CPerlObj::Perl_sv_usepvn
-#undef sv_usepvn_mg
-#define sv_usepvn_mg CPerlObj::Perl_sv_usepvn_mg
-#undef sv_uv
-#define sv_uv CPerlObj::Perl_sv_uv
-#undef sv_vcatpvfn
-#define sv_vcatpvfn CPerlObj::Perl_sv_vcatpvfn
-#undef sv_vsetpvfn
-#define sv_vsetpvfn CPerlObj::Perl_sv_vsetpvfn
-#undef swash_init
-#define swash_init CPerlObj::Perl_swash_init
-#undef swash_fetch
-#define swash_fetch CPerlObj::Perl_swash_fetch
-#undef taint_env
-#define taint_env CPerlObj::Perl_taint_env
-#undef taint_not
-#define taint_not CPerlObj::Perl_taint_not
-#undef taint_proper
-#define taint_proper CPerlObj::Perl_taint_proper
-#undef tokeq
-#define tokeq CPerlObj::tokeq
-
-#undef to_uni_lower
-#define to_uni_lower CPerlObj::Perl_to_uni_lower
-#undef to_uni_lower_lc
-#define to_uni_lower_lc CPerlObj::Perl_to_uni_lower_lc
-#undef to_uni_title
-#define to_uni_title CPerlObj::Perl_to_uni_title
-#undef to_uni_title_lc
-#define to_uni_title_lc CPerlObj::Perl_to_uni_title_lc
-#undef to_uni_upper
-#define to_uni_upper CPerlObj::Perl_to_uni_upper
-#undef to_uni_upper_lc
-#define to_uni_upper_lc CPerlObj::Perl_to_uni_upper_lc
-#undef to_utf8_lower
-#define to_utf8_lower CPerlObj::Perl_to_utf8_lower
-#undef to_utf8_title
-#define to_utf8_title CPerlObj::Perl_to_utf8_title
-#undef to_utf8_upper
-#define to_utf8_upper CPerlObj::Perl_to_utf8_upper
-
-#undef do_trans_CC_simple
-#define do_trans_CC_simple CPerlObj::do_trans_CC_simple
-#undef do_trans_CC_count
-#define do_trans_CC_count CPerlObj::do_trans_CC_count
-#undef do_trans_CC_complex
-#define do_trans_CC_complex CPerlObj::do_trans_CC_complex
-#undef do_trans_UU_simple
-#define do_trans_UU_simple CPerlObj::do_trans_UU_simple
-#undef do_trans_UU_count
-#define do_trans_UU_count CPerlObj::do_trans_UU_count
-#undef do_trans_UU_complex
-#define do_trans_UU_complex CPerlObj::do_trans_UU_complex
-#undef do_trans_UC_simple
-#define do_trans_UC_simple CPerlObj::do_trans_UC_simple
-#undef do_trans_CU_simple
-#define do_trans_CU_simple CPerlObj::do_trans_CU_simple
-#undef do_trans_UC_trivial
-#define do_trans_UC_trivial CPerlObj::do_trans_UC_trivial
-#undef do_trans_CU_trivial
-#define do_trans_CU_trivial CPerlObj::do_trans_CU_trivial
-
-#undef too_few_arguments
-#define too_few_arguments CPerlObj::Perl_too_few_arguments
-#undef too_many_arguments
-#define too_many_arguments CPerlObj::Perl_too_many_arguments
-#undef unlnk
-#define unlnk CPerlObj::unlnk
-#undef unsharepvn
-#define unsharepvn CPerlObj::Perl_unsharepvn
-#undef unshare_hek
-#define unshare_hek CPerlObj::Perl_unshare_hek
-#undef unwind_handler_stack
-#define unwind_handler_stack CPerlObj::unwind_handler_stack
-#undef usage
-#define usage CPerlObj::usage
-#undef utilize
-#define utilize CPerlObj::Perl_utilize
-
-
-#undef utf16_to_utf8
-#define utf16_to_utf8 CPerlObj::Perl_utf16_to_utf8
-#undef utf16_to_utf8_reversed
-#define utf16_to_utf8_reversed CPerlObj::Perl_utf16_to_utf8_reversed
-#undef utf8_distance
-#define utf8_distance CPerlObj::Perl_utf8_distance
-#undef utf8_hop
-#define utf8_hop CPerlObj::Perl_utf8_hop
-#undef utf8_to_uv
-#define utf8_to_uv CPerlObj::Perl_utf8_to_uv
-#undef uv_to_utf8
-#define uv_to_utf8 CPerlObj::Perl_uv_to_utf8
-
-
-#undef validate_suid
-#define validate_suid CPerlObj::validate_suid
-#undef visit
-#define visit CPerlObj::visit
-#undef vivify_defelem
-#define vivify_defelem CPerlObj::Perl_vivify_defelem
-#undef vivify_ref
-#define vivify_ref CPerlObj::Perl_vivify_ref
-#undef wait4pid
-#define wait4pid CPerlObj::Perl_wait4pid
-#undef warn
-#define warn CPerlObj::Perl_warn
-#undef warner
-#define warner CPerlObj::Perl_warner
-#undef watch
-#define watch CPerlObj::Perl_watch
-#undef whichsig
-#define whichsig CPerlObj::Perl_whichsig
-#undef win32_textfilter
-#define win32_textfilter CPerlObj::win32_textfilter
-#undef yyerror
-#define yyerror CPerlObj::Perl_yyerror
-#undef yylex
-#define yylex CPerlObj::Perl_yylex
-#undef yyparse
-#define yyparse CPerlObj::Perl_yyparse
-#undef yywarn
-#define yywarn CPerlObj::Perl_yywarn
-#undef yydestruct
-#define yydestruct CPerlObj::Perl_yydestruct
-
-#define new_he CPerlObj::new_he
-#define more_he CPerlObj::more_he
-#define del_he CPerlObj::del_he
-
-#if defined(WIN32) && !defined(WIN32IO_IS_STDIO)
-#undef errno
-#define errno CPerlObj::ErrorNo()
-
-#endif /* WIN32 */
-
-#endif /* __Objpp_h__ */
diff --git a/op.c b/op.c
index 4af15e7aae..75c7d9f7d2 100644
--- a/op.c
+++ b/op.c
@@ -19,9 +19,9 @@
#include "perl.h"
#ifdef PERL_OBJECT
-#define CHECKCALL this->*check
+#define CHECKCALL this->*PL_check
#else
-#define CHECKCALL *check
+#define CHECKCALL *PL_check
#endif
/*
@@ -31,7 +31,7 @@
#define CHECKOP(type,o) \
((PL_op_mask && PL_op_mask[type]) \
? ( op_free((OP*)o), \
- croak("%s trapped by operation mask", op_desc[type]), \
+ croak("%s trapped by operation mask", PL_op_desc[type]), \
Nullop ) \
: (CHECKCALL[type])((OP*)o))
@@ -65,7 +65,7 @@ STATIC OP *
no_fh_allowed(OP *o)
{
yyerror(form("Missing comma after first argument to %s function",
- op_desc[o->op_type]));
+ PL_op_desc[o->op_type]));
return o;
}
@@ -87,7 +87,7 @@ STATIC void
bad_type(I32 n, char *t, char *name, OP *kid)
{
yyerror(form("Type of arg %d to %s must be %s (not %s)",
- (int)n, name, t, op_desc[kid->op_type]));
+ (int)n, name, t, PL_op_desc[kid->op_type]));
}
void
@@ -95,7 +95,7 @@ assertref(OP *o)
{
int type = o->op_type;
if (type != OP_AELEM && type != OP_HELEM && type != OP_GELEM) {
- yyerror(form("Can't use subscript on %s", op_desc[type]));
+ yyerror(form("Can't use subscript on %s", PL_op_desc[type]));
if (type == OP_ENTERSUB || type == OP_RV2HV || type == OP_PADHV) {
dTHR;
SV *msg = sv_2mortal(
@@ -432,11 +432,11 @@ pad_alloc(I32 optype, U32 tmptype)
#ifdef USE_THREADS
DEBUG_X(PerlIO_printf(Perl_debug_log, "0x%lx Pad 0x%lx alloc %ld for %s\n",
(unsigned long) thr, (unsigned long) PL_curpad,
- (long) retval, op_name[optype]));
+ (long) retval, PL_op_name[optype]));
#else
DEBUG_X(PerlIO_printf(Perl_debug_log, "Pad 0x%lx alloc %ld for %s\n",
(unsigned long) PL_curpad,
- (long) retval, op_name[optype]));
+ (long) retval, PL_op_name[optype]));
#endif /* USE_THREADS */
return (PADOFFSET)retval;
}
@@ -624,7 +624,7 @@ op_free(OP *o)
#endif /* USE_THREADS */
default:
if (!(o->op_flags & OPf_REF)
- || (check[o->op_type] != FUNC_NAME_TO_PTR(ck_ftst)))
+ || (PL_check[o->op_type] != FUNC_NAME_TO_PTR(ck_ftst)))
break;
/* FALL THROUGH */
case OP_GVSV:
@@ -678,7 +678,7 @@ null(OP *o)
pad_free(o->op_targ);
o->op_targ = o->op_type;
o->op_type = OP_NULL;
- o->op_ppaddr = ppaddr[OP_NULL];
+ o->op_ppaddr = PL_ppaddr[OP_NULL];
}
/* Contextualizers */
@@ -820,7 +820,7 @@ scalarvoid(OP *o)
switch (o->op_type) {
default:
- if (!(opargs[o->op_type] & OA_FOLDCONST))
+ if (!(PL_opargs[o->op_type] & OA_FOLDCONST))
break;
/* FALL THROUGH */
case OP_REPEAT:
@@ -900,7 +900,7 @@ scalarvoid(OP *o)
case OP_GETLOGIN:
func_ops:
if (!(o->op_private & OPpLVAL_INTRO))
- useless = op_desc[o->op_type];
+ useless = PL_op_desc[o->op_type];
break;
case OP_RV2GV:
@@ -939,12 +939,12 @@ scalarvoid(OP *o)
case OP_POSTINC:
o->op_type = OP_PREINC; /* pre-increment is faster */
- o->op_ppaddr = ppaddr[OP_PREINC];
+ o->op_ppaddr = PL_ppaddr[OP_PREINC];
break;
case OP_POSTDEC:
o->op_type = OP_PREDEC; /* pre-decrement is faster */
- o->op_ppaddr = ppaddr[OP_PREDEC];
+ o->op_ppaddr = PL_ppaddr[OP_PREDEC];
break;
case OP_OR:
@@ -1152,7 +1152,7 @@ mod(OP *o, I32 type)
if ((type == OP_UNDEF || type == OP_REFGEN) &&
!(o->op_flags & OPf_STACKED)) {
o->op_type = OP_RV2CV; /* entersub => rv2cv */
- o->op_ppaddr = ppaddr[OP_RV2CV];
+ o->op_ppaddr = PL_ppaddr[OP_RV2CV];
assert(cUNOPo->op_first->op_type == OP_NULL);
null(((LISTOP*)cUNOPo->op_first)->op_first);/* disable pushmark */
break;
@@ -1165,8 +1165,8 @@ mod(OP *o, I32 type)
break;
yyerror(form("Can't modify %s in %s",
(o->op_type == OP_NULL && (o->op_flags & OPf_SPECIAL)
- ? "do block" : op_desc[o->op_type]),
- type ? op_desc[type] : "local"));
+ ? "do block" : PL_op_desc[o->op_type]),
+ type ? PL_op_desc[type] : "local"));
return o;
case OP_PREINC:
@@ -1393,7 +1393,7 @@ ref(OP *o, I32 type)
if ((type == OP_DEFINED || type == OP_LOCK) &&
!(o->op_flags & OPf_STACKED)) {
o->op_type = OP_RV2CV; /* entersub => rv2cv */
- o->op_ppaddr = ppaddr[OP_RV2CV];
+ o->op_ppaddr = PL_ppaddr[OP_RV2CV];
assert(cUNOPo->op_first->op_type == OP_NULL);
null(((LISTOP*)cUNOPo->op_first)->op_first); /* disable pushmark */
o->op_flags |= OPf_SPECIAL;
@@ -1485,7 +1485,7 @@ my(OP *o)
type != OP_PADHV &&
type != OP_PUSHMARK)
{
- yyerror(form("Can't declare %s in my", op_desc[o->op_type]));
+ yyerror(form("Can't declare %s in my", PL_op_desc[o->op_type]));
return o;
}
o->op_flags |= OPf_MOD;
@@ -1512,7 +1512,7 @@ bind_match(I32 type, OP *left, OP *right)
left->op_type == OP_RV2HV ||
left->op_type == OP_PADAV ||
left->op_type == OP_PADHV)) {
- char *desc = op_desc[(right->op_type == OP_SUBST ||
+ char *desc = PL_op_desc[(right->op_type == OP_SUBST ||
right->op_type == OP_TRANS)
? right->op_type : OP_MATCH];
char *sample = ((left->op_type == OP_RV2AV ||
@@ -1558,13 +1558,13 @@ scope(OP *o)
if (o->op_flags & OPf_PARENS || PERLDB_NOOPT || PL_tainting) {
o = prepend_elem(OP_LINESEQ, newOP(OP_ENTER, 0), o);
o->op_type = OP_LEAVE;
- o->op_ppaddr = ppaddr[OP_LEAVE];
+ o->op_ppaddr = PL_ppaddr[OP_LEAVE];
}
else {
if (o->op_type == OP_LINESEQ) {
OP *kid;
o->op_type = OP_SCOPE;
- o->op_ppaddr = ppaddr[OP_SCOPE];
+ o->op_ppaddr = PL_ppaddr[OP_SCOPE];
kid = ((LISTOP*)o)->op_first;
if (kid->op_type == OP_NEXTSTATE || kid->op_type == OP_DBSTATE){
SvREFCNT_dec(((COP*)kid)->cop_filegv);
@@ -1729,15 +1729,15 @@ fold_constants(register OP *o)
I32 type = o->op_type;
SV *sv;
- if (opargs[type] & OA_RETSCALAR)
+ if (PL_opargs[type] & OA_RETSCALAR)
scalar(o);
- if (opargs[type] & OA_TARGET)
+ if (PL_opargs[type] & OA_TARGET)
o->op_targ = pad_alloc(type, SVs_PADTMP);
- if ((opargs[type] & OA_OTHERINT) && (PL_hints & HINT_INTEGER))
- o->op_ppaddr = ppaddr[type = ++(o->op_type)];
+ if ((PL_opargs[type] & OA_OTHERINT) && (PL_hints & HINT_INTEGER))
+ o->op_ppaddr = PL_ppaddr[type = ++(o->op_type)];
- if (!(opargs[type] & OA_FOLDCONST))
+ if (!(PL_opargs[type] & OA_FOLDCONST))
goto nope;
switch (type) {
@@ -1800,7 +1800,7 @@ fold_constants(register OP *o)
}
nope:
- if (!(opargs[type] & OA_OTHERINT))
+ if (!(PL_opargs[type] & OA_OTHERINT))
return o;
if (!(PL_hints & HINT_INTEGER)) {
@@ -1813,11 +1813,11 @@ fold_constants(register OP *o)
continue;
return o;
}
- if (opargs[curop->op_type] & OA_RETINTEGER)
+ if (PL_opargs[curop->op_type] & OA_RETINTEGER)
continue;
return o;
}
- o->op_ppaddr = ppaddr[++(o->op_type)];
+ o->op_ppaddr = PL_ppaddr[++(o->op_type)];
}
return o;
@@ -1843,7 +1843,7 @@ gen_constant_list(register OP *o)
PL_tmps_floor = oldtmps_floor;
o->op_type = OP_RV2AV;
- o->op_ppaddr = ppaddr[OP_RV2AV];
+ o->op_ppaddr = PL_ppaddr[OP_RV2AV];
curop = ((UNOP*)o)->op_first;
((UNOP*)o)->op_first = newSVOP(OP_CONST, 0, SvREFCNT_inc(*PL_stack_sp--));
op_free(curop);
@@ -1862,11 +1862,11 @@ convert(I32 type, I32 flags, OP *o)
else
o->op_flags &= ~OPf_WANT;
- if (!(opargs[type] & OA_MARK))
+ if (!(PL_opargs[type] & OA_MARK))
null(cLISTOPo->op_first);
o->op_type = type;
- o->op_ppaddr = ppaddr[type];
+ o->op_ppaddr = PL_ppaddr[type];
o->op_flags |= flags;
o = CHECKOP(type, o);
@@ -1987,7 +1987,7 @@ newLISTOP(I32 type, I32 flags, OP *first, OP *last)
Newz(1101, listop, 1, LISTOP);
listop->op_type = type;
- listop->op_ppaddr = ppaddr[type];
+ listop->op_ppaddr = PL_ppaddr[type];
listop->op_children = (first != 0) + (last != 0);
listop->op_flags = flags;
@@ -2020,14 +2020,14 @@ newOP(I32 type, I32 flags)
OP *o;
Newz(1101, o, 1, OP);
o->op_type = type;
- o->op_ppaddr = ppaddr[type];
+ o->op_ppaddr = PL_ppaddr[type];
o->op_flags = flags;
o->op_next = o;
o->op_private = 0 + (flags >> 8);
- if (opargs[type] & OA_RETSCALAR)
+ if (PL_opargs[type] & OA_RETSCALAR)
scalar(o);
- if (opargs[type] & OA_TARGET)
+ if (PL_opargs[type] & OA_TARGET)
o->op_targ = pad_alloc(type, SVs_PADTMP);
return CHECKOP(type, o);
}
@@ -2039,12 +2039,12 @@ newUNOP(I32 type, I32 flags, OP *first)
if (!first)
first = newOP(OP_STUB, 0);
- if (opargs[type] & OA_MARK)
+ if (PL_opargs[type] & OA_MARK)
first = force_list(first);
Newz(1101, unop, 1, UNOP);
unop->op_type = type;
- unop->op_ppaddr = ppaddr[type];
+ unop->op_ppaddr = PL_ppaddr[type];
unop->op_first = first;
unop->op_flags = flags | OPf_KIDS;
unop->op_private = 1 | (flags >> 8);
@@ -2065,7 +2065,7 @@ newBINOP(I32 type, I32 flags, OP *first, OP *last)
first = newOP(OP_NULL, 0);
binop->op_type = type;
- binop->op_ppaddr = ppaddr[type];
+ binop->op_ppaddr = PL_ppaddr[type];
binop->op_first = first;
binop->op_flags = flags | OPf_KIDS;
if (!last) {
@@ -2358,7 +2358,7 @@ newPMOP(I32 type, I32 flags)
Newz(1101, pmop, 1, PMOP);
pmop->op_type = type;
- pmop->op_ppaddr = ppaddr[type];
+ pmop->op_ppaddr = PL_ppaddr[type];
pmop->op_flags = flags;
pmop->op_private = 0 | (flags >> 8);
@@ -2413,7 +2413,7 @@ pmruntime(OP *o, OP *expr, OP *repl)
Newz(1101, rcop, 1, LOGOP);
rcop->op_type = OP_REGCOMP;
- rcop->op_ppaddr = ppaddr[OP_REGCOMP];
+ rcop->op_ppaddr = PL_ppaddr[OP_REGCOMP];
rcop->op_first = scalar(expr);
rcop->op_flags |= ((PL_hints & HINT_RE_EVAL)
? (OPf_SPECIAL | OPf_KIDS)
@@ -2452,7 +2452,7 @@ pmruntime(OP *o, OP *expr, OP *repl)
else {
OP *lastop = 0;
for (curop = LINKLIST(repl); curop!=repl; curop = LINKLIST(curop)) {
- if (opargs[curop->op_type] & OA_DANGEROUS) {
+ if (PL_opargs[curop->op_type] & OA_DANGEROUS) {
#ifdef USE_THREADS
if (curop->op_type == OP_THREADSV) {
repl_has_vars = 1;
@@ -2505,7 +2505,7 @@ pmruntime(OP *o, OP *expr, OP *repl)
}
Newz(1101, rcop, 1, LOGOP);
rcop->op_type = OP_SUBSTCONT;
- rcop->op_ppaddr = ppaddr[OP_SUBSTCONT];
+ rcop->op_ppaddr = PL_ppaddr[OP_SUBSTCONT];
rcop->op_first = scalar(repl);
rcop->op_flags |= OPf_KIDS;
rcop->op_private = 1;
@@ -2530,13 +2530,13 @@ newSVOP(I32 type, I32 flags, SV *sv)
SVOP *svop;
Newz(1101, svop, 1, SVOP);
svop->op_type = type;
- svop->op_ppaddr = ppaddr[type];
+ svop->op_ppaddr = PL_ppaddr[type];
svop->op_sv = sv;
svop->op_next = (OP*)svop;
svop->op_flags = flags;
- if (opargs[type] & OA_RETSCALAR)
+ if (PL_opargs[type] & OA_RETSCALAR)
scalar((OP*)svop);
- if (opargs[type] & OA_TARGET)
+ if (PL_opargs[type] & OA_TARGET)
svop->op_targ = pad_alloc(type, SVs_PADTMP);
return CHECKOP(type, svop);
}
@@ -2548,13 +2548,13 @@ newGVOP(I32 type, I32 flags, GV *gv)
GVOP *gvop;
Newz(1101, gvop, 1, GVOP);
gvop->op_type = type;
- gvop->op_ppaddr = ppaddr[type];
+ gvop->op_ppaddr = PL_ppaddr[type];
gvop->op_gv = (GV*)SvREFCNT_inc(gv);
gvop->op_next = (OP*)gvop;
gvop->op_flags = flags;
- if (opargs[type] & OA_RETSCALAR)
+ if (PL_opargs[type] & OA_RETSCALAR)
scalar((OP*)gvop);
- if (opargs[type] & OA_TARGET)
+ if (PL_opargs[type] & OA_TARGET)
gvop->op_targ = pad_alloc(type, SVs_PADTMP);
return CHECKOP(type, gvop);
}
@@ -2565,13 +2565,13 @@ newPVOP(I32 type, I32 flags, char *pv)
PVOP *pvop;
Newz(1101, pvop, 1, PVOP);
pvop->op_type = type;
- pvop->op_ppaddr = ppaddr[type];
+ pvop->op_ppaddr = PL_ppaddr[type];
pvop->op_pv = pv;
pvop->op_next = (OP*)pvop;
pvop->op_flags = flags;
- if (opargs[type] & OA_RETSCALAR)
+ if (PL_opargs[type] & OA_RETSCALAR)
scalar((OP*)pvop);
- if (opargs[type] & OA_TARGET)
+ if (PL_opargs[type] & OA_TARGET)
pvop->op_targ = pad_alloc(type, SVs_PADTMP);
return CHECKOP(type, pvop);
}
@@ -2794,7 +2794,7 @@ newASSIGNOP(I32 flags, OP *left, I32 optype, OP *right)
OP *lastop = o;
PL_generation++;
for (curop = LINKLIST(o); curop != o; curop = LINKLIST(curop)) {
- if (opargs[curop->op_type] & OA_DANGEROUS) {
+ if (PL_opargs[curop->op_type] & OA_DANGEROUS) {
if (curop->op_type == OP_GV) {
GV *gv = ((GVOP*)curop)->op_gv;
if (gv == PL_defgv || SvCUR(gv) == PL_generation)
@@ -2903,11 +2903,11 @@ newSTATEOP(I32 flags, char *label, OP *o)
Newz(1101, cop, 1, COP);
if (PERLDB_LINE && PL_curcop->cop_line && PL_curstash != PL_debstash) {
cop->op_type = OP_DBSTATE;
- cop->op_ppaddr = ppaddr[ OP_DBSTATE ];
+ cop->op_ppaddr = PL_ppaddr[ OP_DBSTATE ];
}
else {
cop->op_type = OP_NEXTSTATE;
- cop->op_ppaddr = ppaddr[ OP_NEXTSTATE ];
+ cop->op_ppaddr = PL_ppaddr[ OP_NEXTSTATE ];
}
cop->op_flags = flags;
cop->op_private = (PL_hints & HINT_UTF8);
@@ -3011,7 +3011,7 @@ new_logop(I32 type, I32 flags, OP** firstp, OP** otherp)
if (first->op_type == OP_CONST) {
if (ckWARN(WARN_PRECEDENCE) && (first->op_private & OPpCONST_BARE))
warner(WARN_PRECEDENCE, "Probable precedence problem on %s",
- op_desc[type]);
+ PL_op_desc[type]);
if ((type == OP_AND) == (SvTRUE(((SVOP*)first)->op_sv))) {
op_free(first);
*firstp = Nullop;
@@ -3054,7 +3054,7 @@ new_logop(I32 type, I32 flags, OP** firstp, OP** otherp)
PL_curcop->cop_line = PL_copline;
warner(WARN_UNSAFE,
"Value of %s%s can be \"0\"; test with defined()",
- op_desc[warnop],
+ PL_op_desc[warnop],
((warnop == OP_READLINE || warnop == OP_GLOB)
? " construct" : "() operator"));
PL_curcop->cop_line = oldline;
@@ -3070,7 +3070,7 @@ new_logop(I32 type, I32 flags, OP** firstp, OP** otherp)
Newz(1101, logop, 1, LOGOP);
logop->op_type = type;
- logop->op_ppaddr = ppaddr[type];
+ logop->op_ppaddr = PL_ppaddr[type];
logop->op_first = first;
logop->op_flags = flags | OPf_KIDS;
logop->op_other = LINKLIST(other);
@@ -3119,7 +3119,7 @@ newCONDOP(I32 flags, OP *first, OP *trueop, OP *falseop)
Newz(1101, condop, 1, CONDOP);
condop->op_type = OP_COND_EXPR;
- condop->op_ppaddr = ppaddr[OP_COND_EXPR];
+ condop->op_ppaddr = PL_ppaddr[OP_COND_EXPR];
condop->op_first = first;
condop->op_flags = flags | OPf_KIDS;
condop->op_true = LINKLIST(trueop);
@@ -3152,7 +3152,7 @@ newRANGE(I32 flags, OP *left, OP *right)
Newz(1101, condop, 1, CONDOP);
condop->op_type = OP_RANGE;
- condop->op_ppaddr = ppaddr[OP_RANGE];
+ condop->op_ppaddr = PL_ppaddr[OP_RANGE];
condop->op_first = left;
condop->op_flags = OPf_KIDS;
condop->op_true = LINKLIST(left);
@@ -3312,7 +3312,7 @@ newWHILEOP(I32 flags, I32 debuggable, LOOP *loop, I32 whileline, OP *expr, OP *b
if (!loop) {
Newz(1101,loop,1,LOOP);
loop->op_type = OP_ENTERLOOP;
- loop->op_ppaddr = ppaddr[OP_ENTERLOOP];
+ loop->op_ppaddr = PL_ppaddr[OP_ENTERLOOP];
loop->op_private = 0;
loop->op_next = (OP*)loop;
}
@@ -3343,7 +3343,7 @@ newFOROP(I32 flags,char *label,line_t forline,OP *sv,OP *expr,OP *block,OP *cont
if (sv) {
if (sv->op_type == OP_RV2SV) { /* symbol table variable */
sv->op_type = OP_RV2GV;
- sv->op_ppaddr = ppaddr[OP_RV2GV];
+ sv->op_ppaddr = PL_ppaddr[OP_RV2GV];
}
else if (sv->op_type == OP_PADSV) { /* private variable */
padoff = sv->op_targ;
@@ -3357,7 +3357,7 @@ newFOROP(I32 flags,char *label,line_t forline,OP *sv,OP *expr,OP *block,OP *cont
sv = Nullop;
}
else
- croak("Can't use %s for loop variable", op_desc[sv->op_type]);
+ croak("Can't use %s for loop variable", PL_op_desc[sv->op_type]);
}
else {
#ifdef USE_THREADS
@@ -4170,12 +4170,12 @@ oopsAV(OP *o)
switch (o->op_type) {
case OP_PADSV:
o->op_type = OP_PADAV;
- o->op_ppaddr = ppaddr[OP_PADAV];
+ o->op_ppaddr = PL_ppaddr[OP_PADAV];
return ref(o, OP_RV2AV);
case OP_RV2SV:
o->op_type = OP_RV2AV;
- o->op_ppaddr = ppaddr[OP_RV2AV];
+ o->op_ppaddr = PL_ppaddr[OP_RV2AV];
ref(o, OP_RV2AV);
break;
@@ -4193,13 +4193,13 @@ oopsHV(OP *o)
case OP_PADSV:
case OP_PADAV:
o->op_type = OP_PADHV;
- o->op_ppaddr = ppaddr[OP_PADHV];
+ o->op_ppaddr = PL_ppaddr[OP_PADHV];
return ref(o, OP_RV2HV);
case OP_RV2SV:
case OP_RV2AV:
o->op_type = OP_RV2HV;
- o->op_ppaddr = ppaddr[OP_RV2HV];
+ o->op_ppaddr = PL_ppaddr[OP_RV2HV];
ref(o, OP_RV2HV);
break;
@@ -4215,7 +4215,7 @@ newAVREF(OP *o)
{
if (o->op_type == OP_PADANY) {
o->op_type = OP_PADAV;
- o->op_ppaddr = ppaddr[OP_PADAV];
+ o->op_ppaddr = PL_ppaddr[OP_PADAV];
return o;
}
return newUNOP(OP_RV2AV, 0, scalar(o));
@@ -4234,7 +4234,7 @@ newHVREF(OP *o)
{
if (o->op_type == OP_PADANY) {
o->op_type = OP_PADHV;
- o->op_ppaddr = ppaddr[OP_PADHV];
+ o->op_ppaddr = PL_ppaddr[OP_PADHV];
return o;
}
return newUNOP(OP_RV2HV, 0, scalar(o));
@@ -4259,7 +4259,7 @@ newSVREF(OP *o)
{
if (o->op_type == OP_PADANY) {
o->op_type = OP_PADSV;
- o->op_ppaddr = ppaddr[OP_PADSV];
+ o->op_ppaddr = PL_ppaddr[OP_PADSV];
return o;
}
else if (o->op_type == OP_THREADSV && !(o->op_flags & OPpDONE_SVREF)) {
@@ -4318,7 +4318,7 @@ ck_spair(OP *o)
newop = kUNOP->op_first->op_sibling;
if (newop &&
(newop->op_sibling ||
- !(opargs[newop->op_type] & OA_RETSCALAR) ||
+ !(PL_opargs[newop->op_type] & OA_RETSCALAR) ||
newop->op_type == OP_PADAV || newop->op_type == OP_PADHV ||
newop->op_type == OP_RV2AV || newop->op_type == OP_RV2HV)) {
@@ -4327,7 +4327,7 @@ ck_spair(OP *o)
op_free(kUNOP->op_first);
kUNOP->op_first = newop;
}
- o->op_ppaddr = ppaddr[++o->op_type];
+ o->op_ppaddr = PL_ppaddr[++o->op_type];
return ck_fun(o);
}
@@ -4342,7 +4342,7 @@ ck_delete(OP *o)
o->op_private |= OPpSLICE;
else if (kid->op_type != OP_HELEM)
croak("%s argument is not a HASH element or slice",
- op_desc[o->op_type]);
+ PL_op_desc[o->op_type]);
null(kid);
}
return o;
@@ -4384,7 +4384,7 @@ ck_eval(OP *o)
Newz(1101, enter, 1, LOGOP);
enter->op_type = OP_ENTERTRY;
- enter->op_ppaddr = ppaddr[OP_ENTERTRY];
+ enter->op_ppaddr = PL_ppaddr[OP_ENTERTRY];
enter->op_private = 0;
/* establish postfix order */
@@ -4392,7 +4392,7 @@ ck_eval(OP *o)
o = prepend_elem(OP_LINESEQ, (OP*)enter, (OP*)kid);
o->op_type = OP_LEAVETRY;
- o->op_ppaddr = ppaddr[OP_LEAVETRY];
+ o->op_ppaddr = PL_ppaddr[OP_LEAVETRY];
enter->op_other = o;
return o;
}
@@ -4429,12 +4429,13 @@ ck_exists(OP *o)
if (o->op_flags & OPf_KIDS) {
OP *kid = cUNOPo->op_first;
if (kid->op_type != OP_HELEM)
- croak("%s argument is not a HASH element", op_desc[o->op_type]);
+ croak("%s argument is not a HASH element", PL_op_desc[o->op_type]);
null(kid);
}
return o;
}
+#if 0
OP *
ck_gvconst(register OP *o)
{
@@ -4443,6 +4444,7 @@ ck_gvconst(register OP *o)
o->op_type = OP_GV;
return o;
}
+#endif
OP *
ck_rvconst(register OP *o)
@@ -4583,7 +4585,7 @@ ck_fun(OP *o)
OP *sibl;
I32 numargs = 0;
int type = o->op_type;
- register I32 oa = opargs[type] >> OASHIFT;
+ register I32 oa = PL_opargs[type] >> OASHIFT;
if (o->op_flags & OPf_STACKED) {
if ((oa & OA_OPTIONAL) && (oa >> 4) && !((oa >> 4) & OA_OPTIONAL))
@@ -4601,7 +4603,7 @@ ck_fun(OP *o)
tokid = &kid->op_sibling;
kid = kid->op_sibling;
}
- if (!kid && opargs[type] & OA_DEFGV)
+ if (!kid && PL_opargs[type] & OA_DEFGV)
*tokid = kid = newDEFSVOP();
while (oa && kid) {
@@ -4628,14 +4630,14 @@ ck_fun(OP *o)
if (ckWARN(WARN_SYNTAX))
warner(WARN_SYNTAX,
"Array @%s missing the @ in argument %ld of %s()",
- name, (long)numargs, op_desc[type]);
+ name, (long)numargs, PL_op_desc[type]);
op_free(kid);
kid = newop;
kid->op_sibling = sibl;
*tokid = kid;
}
else if (kid->op_type != OP_RV2AV && kid->op_type != OP_PADAV)
- bad_type(numargs, "array", op_desc[o->op_type], kid);
+ bad_type(numargs, "array", PL_op_desc[o->op_type], kid);
mod(kid, type);
break;
case OA_HVREF:
@@ -4647,14 +4649,14 @@ ck_fun(OP *o)
if (ckWARN(WARN_SYNTAX))
warner(WARN_SYNTAX,
"Hash %%%s missing the %% in argument %ld of %s()",
- name, (long)numargs, op_desc[type]);
+ name, (long)numargs, PL_op_desc[type]);
op_free(kid);
kid = newop;
kid->op_sibling = sibl;
*tokid = kid;
}
else if (kid->op_type != OP_RV2HV && kid->op_type != OP_PADHV)
- bad_type(numargs, "hash", op_desc[o->op_type], kid);
+ bad_type(numargs, "hash", PL_op_desc[o->op_type], kid);
mod(kid, type);
break;
case OA_CVREF:
@@ -4697,10 +4699,10 @@ ck_fun(OP *o)
}
o->op_private |= numargs;
if (kid)
- return too_many_arguments(o,op_desc[o->op_type]);
+ return too_many_arguments(o,PL_op_desc[o->op_type]);
listkids(o);
}
- else if (opargs[type] & OA_DEFGV) {
+ else if (PL_opargs[type] & OA_DEFGV) {
op_free(o);
return newUNOP(type, 0, newDEFSVOP());
}
@@ -4709,7 +4711,7 @@ ck_fun(OP *o)
while (oa & OA_OPTIONAL)
oa >>= 4;
if (oa && oa != OA_LIST)
- return too_few_arguments(o,op_desc[o->op_type]);
+ return too_few_arguments(o,PL_op_desc[o->op_type]);
}
return o;
}
@@ -4731,9 +4733,9 @@ ck_glob(OP *o)
append_elem(OP_GLOB, o,
newSVOP(OP_CONST, 0, newSViv(glob_index++)));
o->op_type = OP_LIST;
- o->op_ppaddr = ppaddr[OP_LIST];
+ o->op_ppaddr = PL_ppaddr[OP_LIST];
cLISTOPo->op_first->op_type = OP_PUSHMARK;
- cLISTOPo->op_first->op_ppaddr = ppaddr[OP_PUSHMARK];
+ cLISTOPo->op_first->op_ppaddr = PL_ppaddr[OP_PUSHMARK];
o = newUNOP(OP_ENTERSUB, OPf_STACKED,
append_elem(OP_LIST, o,
scalar(newUNOP(OP_RV2CV, 0,
@@ -4756,7 +4758,7 @@ ck_grep(OP *o)
OP *kid;
OPCODE type = o->op_type == OP_GREPSTART ? OP_GREPWHILE : OP_MAPWHILE;
- o->op_ppaddr = ppaddr[OP_GREPSTART];
+ o->op_ppaddr = PL_ppaddr[OP_GREPSTART];
Newz(1101, gwop, 1, LOGOP);
if (o->op_flags & OPf_STACKED) {
@@ -4783,7 +4785,7 @@ ck_grep(OP *o)
kid = kUNOP->op_first;
gwop->op_type = type;
- gwop->op_ppaddr = ppaddr[type];
+ gwop->op_ppaddr = PL_ppaddr[type];
gwop->op_first = listkids(o);
gwop->op_flags |= OPf_KIDS;
gwop->op_private = 1;
@@ -4793,7 +4795,7 @@ ck_grep(OP *o)
kid = cLISTOPo->op_first->op_sibling;
if (!kid || !kid->op_sibling)
- return too_few_arguments(o,op_desc[o->op_type]);
+ return too_few_arguments(o,PL_op_desc[o->op_type]);
for (kid = kid->op_sibling; kid; kid = kid->op_sibling)
mod(kid, OP_GREPSTART);
@@ -4944,6 +4946,7 @@ ck_require(OP *o)
return ck_fun(o);
}
+#if 0
OP *
ck_retarget(OP *o)
{
@@ -4951,6 +4954,7 @@ ck_retarget(OP *o)
/* STUB */
return o;
}
+#endif
OP *
ck_select(OP *o)
@@ -4960,7 +4964,7 @@ ck_select(OP *o)
kid = cLISTOPo->op_first->op_sibling; /* get past pushmark */
if (kid && kid->op_sibling) {
o->op_type = OP_SSELECT;
- o->op_ppaddr = ppaddr[OP_SSELECT];
+ o->op_ppaddr = PL_ppaddr[OP_SSELECT];
o = ck_fun(o);
return fold_constants(o);
}
@@ -5080,7 +5084,7 @@ ck_split(OP *o)
}
kid->op_type = OP_PUSHRE;
- kid->op_ppaddr = ppaddr[OP_PUSHRE];
+ kid->op_ppaddr = PL_ppaddr[OP_PUSHRE];
scalar(kid);
if (!kid->op_sibling)
@@ -5096,7 +5100,7 @@ ck_split(OP *o)
scalar(kid);
if (kid->op_sibling)
- return too_many_arguments(o,op_desc[o->op_type]);
+ return too_many_arguments(o,PL_op_desc[o->op_type]);
return o;
}
@@ -5319,7 +5323,7 @@ peep(register OP *o)
o->op_private |= o->op_next->op_private & OPpLVAL_INTRO;
o->op_next = o->op_next->op_next;
o->op_type = OP_GVSV;
- o->op_ppaddr = ppaddr[OP_GVSV];
+ o->op_ppaddr = PL_ppaddr[OP_GVSV];
}
}
else if (o->op_next->op_type == OP_RV2AV) {
@@ -5341,7 +5345,7 @@ peep(register OP *o)
o->op_flags |= pop->op_next->op_flags & OPf_MOD;
o->op_next = pop->op_next->op_next;
o->op_type = OP_AELEMFAST;
- o->op_ppaddr = ppaddr[OP_AELEMFAST];
+ o->op_ppaddr = PL_ppaddr[OP_AELEMFAST];
o->op_private = (U8)i;
GvAVn(((GVOP*)o)->op_gv);
}
@@ -5429,9 +5433,9 @@ peep(register OP *o)
if (ind < 1)
croak("Bad index while coercing array into hash");
rop->op_type = OP_RV2AV;
- rop->op_ppaddr = ppaddr[OP_RV2AV];
+ rop->op_ppaddr = PL_ppaddr[OP_RV2AV];
o->op_type = OP_AELEM;
- o->op_ppaddr = ppaddr[OP_AELEM];
+ o->op_ppaddr = PL_ppaddr[OP_AELEM];
SvREFCNT_dec(*svp);
*svp = newSViv(ind);
break;
diff --git a/opcode.h b/opcode.h
index 2abaa47940..abd9bffa85 100644
--- a/opcode.h
+++ b/opcode.h
@@ -358,9 +358,9 @@ typedef enum {
#define MAXO 348
#ifndef DOINIT
-EXT char *op_name[];
+EXT char *PL_op_name[];
#else
-EXT char *op_name[] = {
+EXT char *PL_op_name[] = {
"null",
"stub",
"scalar",
@@ -713,9 +713,9 @@ EXT char *op_name[] = {
#endif
#ifndef DOINIT
-EXT char *op_desc[];
+EXT char *PL_op_desc[];
#else
-EXT char *op_desc[] = {
+EXT char *PL_op_desc[] = {
"null operation",
"stub",
"scalar",
@@ -1070,396 +1070,21 @@ EXT char *op_desc[] = {
#ifndef PERL_OBJECT
START_EXTERN_C
-OP * ck_anoncode _((OP* o));
-OP * ck_bitop _((OP* o));
-OP * ck_concat _((OP* o));
-OP * ck_delete _((OP* o));
-OP * ck_eof _((OP* o));
-OP * ck_eval _((OP* o));
-OP * ck_exec _((OP* o));
-OP * ck_exists _((OP* o));
-OP * ck_ftst _((OP* o));
-OP * ck_fun _((OP* o));
-OP * ck_fun_locale _((OP* o));
-OP * ck_glob _((OP* o));
-OP * ck_grep _((OP* o));
-OP * ck_index _((OP* o));
-OP * ck_lengthconst _((OP* o));
-OP * ck_lfun _((OP* o));
-OP * ck_listiob _((OP* o));
-OP * ck_match _((OP* o));
-OP * ck_null _((OP* o));
-OP * ck_repeat _((OP* o));
-OP * ck_require _((OP* o));
-OP * ck_rfun _((OP* o));
-OP * ck_rvconst _((OP* o));
-OP * ck_scmp _((OP* o));
-OP * ck_select _((OP* o));
-OP * ck_shift _((OP* o));
-OP * ck_sort _((OP* o));
-OP * ck_spair _((OP* o));
-OP * ck_split _((OP* o));
-OP * ck_subr _((OP* o));
-OP * ck_svconst _((OP* o));
-OP * ck_trunc _((OP* o));
+#undef PERL_CKDEF
+#undef PERL_PPDEF
+#define PERL_CKDEF(s) OP *s _((OP *o));
+#define PERL_PPDEF(s) OP *s _((ARGSproto));
+
+#include "pp_proto.h"
-OP * pp_null _((ARGSproto));
-OP * pp_stub _((ARGSproto));
-OP * pp_scalar _((ARGSproto));
-OP * pp_pushmark _((ARGSproto));
-OP * pp_wantarray _((ARGSproto));
-OP * pp_const _((ARGSproto));
-OP * pp_gvsv _((ARGSproto));
-OP * pp_gv _((ARGSproto));
-OP * pp_gelem _((ARGSproto));
-OP * pp_padsv _((ARGSproto));
-OP * pp_padav _((ARGSproto));
-OP * pp_padhv _((ARGSproto));
-OP * pp_padany _((ARGSproto));
-OP * pp_pushre _((ARGSproto));
-OP * pp_rv2gv _((ARGSproto));
-OP * pp_rv2sv _((ARGSproto));
-OP * pp_av2arylen _((ARGSproto));
-OP * pp_rv2cv _((ARGSproto));
-OP * pp_anoncode _((ARGSproto));
-OP * pp_prototype _((ARGSproto));
-OP * pp_refgen _((ARGSproto));
-OP * pp_srefgen _((ARGSproto));
-OP * pp_ref _((ARGSproto));
-OP * pp_bless _((ARGSproto));
-OP * pp_backtick _((ARGSproto));
-OP * pp_glob _((ARGSproto));
-OP * pp_readline _((ARGSproto));
-OP * pp_rcatline _((ARGSproto));
-OP * pp_regcmaybe _((ARGSproto));
-OP * pp_regcreset _((ARGSproto));
-OP * pp_regcomp _((ARGSproto));
-OP * pp_match _((ARGSproto));
-OP * pp_qr _((ARGSproto));
-OP * pp_subst _((ARGSproto));
-OP * pp_substcont _((ARGSproto));
-OP * pp_trans _((ARGSproto));
-OP * pp_sassign _((ARGSproto));
-OP * pp_aassign _((ARGSproto));
-OP * pp_chop _((ARGSproto));
-OP * pp_schop _((ARGSproto));
-OP * pp_chomp _((ARGSproto));
-OP * pp_schomp _((ARGSproto));
-OP * pp_defined _((ARGSproto));
-OP * pp_undef _((ARGSproto));
-OP * pp_study _((ARGSproto));
-OP * pp_pos _((ARGSproto));
-OP * pp_preinc _((ARGSproto));
-OP * pp_i_preinc _((ARGSproto));
-OP * pp_predec _((ARGSproto));
-OP * pp_i_predec _((ARGSproto));
-OP * pp_postinc _((ARGSproto));
-OP * pp_i_postinc _((ARGSproto));
-OP * pp_postdec _((ARGSproto));
-OP * pp_i_postdec _((ARGSproto));
-OP * pp_pow _((ARGSproto));
-OP * pp_multiply _((ARGSproto));
-OP * pp_i_multiply _((ARGSproto));
-OP * pp_divide _((ARGSproto));
-OP * pp_i_divide _((ARGSproto));
-OP * pp_modulo _((ARGSproto));
-OP * pp_i_modulo _((ARGSproto));
-OP * pp_repeat _((ARGSproto));
-OP * pp_add _((ARGSproto));
-OP * pp_i_add _((ARGSproto));
-OP * pp_subtract _((ARGSproto));
-OP * pp_i_subtract _((ARGSproto));
-OP * pp_concat _((ARGSproto));
-OP * pp_stringify _((ARGSproto));
-OP * pp_left_shift _((ARGSproto));
-OP * pp_right_shift _((ARGSproto));
-OP * pp_lt _((ARGSproto));
-OP * pp_i_lt _((ARGSproto));
-OP * pp_gt _((ARGSproto));
-OP * pp_i_gt _((ARGSproto));
-OP * pp_le _((ARGSproto));
-OP * pp_i_le _((ARGSproto));
-OP * pp_ge _((ARGSproto));
-OP * pp_i_ge _((ARGSproto));
-OP * pp_eq _((ARGSproto));
-OP * pp_i_eq _((ARGSproto));
-OP * pp_ne _((ARGSproto));
-OP * pp_i_ne _((ARGSproto));
-OP * pp_ncmp _((ARGSproto));
-OP * pp_i_ncmp _((ARGSproto));
-OP * pp_slt _((ARGSproto));
-OP * pp_sgt _((ARGSproto));
-OP * pp_sle _((ARGSproto));
-OP * pp_sge _((ARGSproto));
-OP * pp_seq _((ARGSproto));
-OP * pp_sne _((ARGSproto));
-OP * pp_scmp _((ARGSproto));
-OP * pp_bit_and _((ARGSproto));
-OP * pp_bit_xor _((ARGSproto));
-OP * pp_bit_or _((ARGSproto));
-OP * pp_negate _((ARGSproto));
-OP * pp_i_negate _((ARGSproto));
-OP * pp_not _((ARGSproto));
-OP * pp_complement _((ARGSproto));
-OP * pp_atan2 _((ARGSproto));
-OP * pp_sin _((ARGSproto));
-OP * pp_cos _((ARGSproto));
-OP * pp_rand _((ARGSproto));
-OP * pp_srand _((ARGSproto));
-OP * pp_exp _((ARGSproto));
-OP * pp_log _((ARGSproto));
-OP * pp_sqrt _((ARGSproto));
-OP * pp_int _((ARGSproto));
-OP * pp_hex _((ARGSproto));
-OP * pp_oct _((ARGSproto));
-OP * pp_abs _((ARGSproto));
-OP * pp_length _((ARGSproto));
-OP * pp_substr _((ARGSproto));
-OP * pp_vec _((ARGSproto));
-OP * pp_index _((ARGSproto));
-OP * pp_rindex _((ARGSproto));
-OP * pp_sprintf _((ARGSproto));
-OP * pp_formline _((ARGSproto));
-OP * pp_ord _((ARGSproto));
-OP * pp_chr _((ARGSproto));
-OP * pp_crypt _((ARGSproto));
-OP * pp_ucfirst _((ARGSproto));
-OP * pp_lcfirst _((ARGSproto));
-OP * pp_uc _((ARGSproto));
-OP * pp_lc _((ARGSproto));
-OP * pp_quotemeta _((ARGSproto));
-OP * pp_rv2av _((ARGSproto));
-OP * pp_aelemfast _((ARGSproto));
-OP * pp_aelem _((ARGSproto));
-OP * pp_aslice _((ARGSproto));
-OP * pp_each _((ARGSproto));
-OP * pp_values _((ARGSproto));
-OP * pp_keys _((ARGSproto));
-OP * pp_delete _((ARGSproto));
-OP * pp_exists _((ARGSproto));
-OP * pp_rv2hv _((ARGSproto));
-OP * pp_helem _((ARGSproto));
-OP * pp_hslice _((ARGSproto));
-OP * pp_unpack _((ARGSproto));
-OP * pp_pack _((ARGSproto));
-OP * pp_split _((ARGSproto));
-OP * pp_join _((ARGSproto));
-OP * pp_list _((ARGSproto));
-OP * pp_lslice _((ARGSproto));
-OP * pp_anonlist _((ARGSproto));
-OP * pp_anonhash _((ARGSproto));
-OP * pp_splice _((ARGSproto));
-OP * pp_push _((ARGSproto));
-OP * pp_pop _((ARGSproto));
-OP * pp_shift _((ARGSproto));
-OP * pp_unshift _((ARGSproto));
-OP * pp_sort _((ARGSproto));
-OP * pp_reverse _((ARGSproto));
-OP * pp_grepstart _((ARGSproto));
-OP * pp_grepwhile _((ARGSproto));
-OP * pp_mapstart _((ARGSproto));
-OP * pp_mapwhile _((ARGSproto));
-OP * pp_range _((ARGSproto));
-OP * pp_flip _((ARGSproto));
-OP * pp_flop _((ARGSproto));
-OP * pp_and _((ARGSproto));
-OP * pp_or _((ARGSproto));
-OP * pp_xor _((ARGSproto));
-OP * pp_cond_expr _((ARGSproto));
-OP * pp_andassign _((ARGSproto));
-OP * pp_orassign _((ARGSproto));
-OP * pp_method _((ARGSproto));
-OP * pp_entersub _((ARGSproto));
-OP * pp_leavesub _((ARGSproto));
-OP * pp_caller _((ARGSproto));
-OP * pp_warn _((ARGSproto));
-OP * pp_die _((ARGSproto));
-OP * pp_reset _((ARGSproto));
-OP * pp_lineseq _((ARGSproto));
-OP * pp_nextstate _((ARGSproto));
-OP * pp_dbstate _((ARGSproto));
-OP * pp_unstack _((ARGSproto));
-OP * pp_enter _((ARGSproto));
-OP * pp_leave _((ARGSproto));
-OP * pp_scope _((ARGSproto));
-OP * pp_enteriter _((ARGSproto));
-OP * pp_iter _((ARGSproto));
-OP * pp_enterloop _((ARGSproto));
-OP * pp_leaveloop _((ARGSproto));
-OP * pp_return _((ARGSproto));
-OP * pp_last _((ARGSproto));
-OP * pp_next _((ARGSproto));
-OP * pp_redo _((ARGSproto));
-OP * pp_dump _((ARGSproto));
-OP * pp_goto _((ARGSproto));
-OP * pp_exit _((ARGSproto));
-OP * pp_open _((ARGSproto));
-OP * pp_close _((ARGSproto));
-OP * pp_pipe_op _((ARGSproto));
-OP * pp_fileno _((ARGSproto));
-OP * pp_umask _((ARGSproto));
-OP * pp_binmode _((ARGSproto));
-OP * pp_tie _((ARGSproto));
-OP * pp_untie _((ARGSproto));
-OP * pp_tied _((ARGSproto));
-OP * pp_dbmopen _((ARGSproto));
-OP * pp_dbmclose _((ARGSproto));
-OP * pp_sselect _((ARGSproto));
-OP * pp_select _((ARGSproto));
-OP * pp_getc _((ARGSproto));
-OP * pp_read _((ARGSproto));
-OP * pp_enterwrite _((ARGSproto));
-OP * pp_leavewrite _((ARGSproto));
-OP * pp_prtf _((ARGSproto));
-OP * pp_print _((ARGSproto));
-OP * pp_sysopen _((ARGSproto));
-OP * pp_sysseek _((ARGSproto));
-OP * pp_sysread _((ARGSproto));
-OP * pp_syswrite _((ARGSproto));
-OP * pp_send _((ARGSproto));
-OP * pp_recv _((ARGSproto));
-OP * pp_eof _((ARGSproto));
-OP * pp_tell _((ARGSproto));
-OP * pp_seek _((ARGSproto));
-OP * pp_truncate _((ARGSproto));
-OP * pp_fcntl _((ARGSproto));
-OP * pp_ioctl _((ARGSproto));
-OP * pp_flock _((ARGSproto));
-OP * pp_socket _((ARGSproto));
-OP * pp_sockpair _((ARGSproto));
-OP * pp_bind _((ARGSproto));
-OP * pp_connect _((ARGSproto));
-OP * pp_listen _((ARGSproto));
-OP * pp_accept _((ARGSproto));
-OP * pp_shutdown _((ARGSproto));
-OP * pp_gsockopt _((ARGSproto));
-OP * pp_ssockopt _((ARGSproto));
-OP * pp_getsockname _((ARGSproto));
-OP * pp_getpeername _((ARGSproto));
-OP * pp_lstat _((ARGSproto));
-OP * pp_stat _((ARGSproto));
-OP * pp_ftrread _((ARGSproto));
-OP * pp_ftrwrite _((ARGSproto));
-OP * pp_ftrexec _((ARGSproto));
-OP * pp_fteread _((ARGSproto));
-OP * pp_ftewrite _((ARGSproto));
-OP * pp_fteexec _((ARGSproto));
-OP * pp_ftis _((ARGSproto));
-OP * pp_fteowned _((ARGSproto));
-OP * pp_ftrowned _((ARGSproto));
-OP * pp_ftzero _((ARGSproto));
-OP * pp_ftsize _((ARGSproto));
-OP * pp_ftmtime _((ARGSproto));
-OP * pp_ftatime _((ARGSproto));
-OP * pp_ftctime _((ARGSproto));
-OP * pp_ftsock _((ARGSproto));
-OP * pp_ftchr _((ARGSproto));
-OP * pp_ftblk _((ARGSproto));
-OP * pp_ftfile _((ARGSproto));
-OP * pp_ftdir _((ARGSproto));
-OP * pp_ftpipe _((ARGSproto));
-OP * pp_ftlink _((ARGSproto));
-OP * pp_ftsuid _((ARGSproto));
-OP * pp_ftsgid _((ARGSproto));
-OP * pp_ftsvtx _((ARGSproto));
-OP * pp_fttty _((ARGSproto));
-OP * pp_fttext _((ARGSproto));
-OP * pp_ftbinary _((ARGSproto));
-OP * pp_chdir _((ARGSproto));
-OP * pp_chown _((ARGSproto));
-OP * pp_chroot _((ARGSproto));
-OP * pp_unlink _((ARGSproto));
-OP * pp_chmod _((ARGSproto));
-OP * pp_utime _((ARGSproto));
-OP * pp_rename _((ARGSproto));
-OP * pp_link _((ARGSproto));
-OP * pp_symlink _((ARGSproto));
-OP * pp_readlink _((ARGSproto));
-OP * pp_mkdir _((ARGSproto));
-OP * pp_rmdir _((ARGSproto));
-OP * pp_open_dir _((ARGSproto));
-OP * pp_readdir _((ARGSproto));
-OP * pp_telldir _((ARGSproto));
-OP * pp_seekdir _((ARGSproto));
-OP * pp_rewinddir _((ARGSproto));
-OP * pp_closedir _((ARGSproto));
-OP * pp_fork _((ARGSproto));
-OP * pp_wait _((ARGSproto));
-OP * pp_waitpid _((ARGSproto));
-OP * pp_system _((ARGSproto));
-OP * pp_exec _((ARGSproto));
-OP * pp_kill _((ARGSproto));
-OP * pp_getppid _((ARGSproto));
-OP * pp_getpgrp _((ARGSproto));
-OP * pp_setpgrp _((ARGSproto));
-OP * pp_getpriority _((ARGSproto));
-OP * pp_setpriority _((ARGSproto));
-OP * pp_time _((ARGSproto));
-OP * pp_tms _((ARGSproto));
-OP * pp_localtime _((ARGSproto));
-OP * pp_gmtime _((ARGSproto));
-OP * pp_alarm _((ARGSproto));
-OP * pp_sleep _((ARGSproto));
-OP * pp_shmget _((ARGSproto));
-OP * pp_shmctl _((ARGSproto));
-OP * pp_shmread _((ARGSproto));
-OP * pp_shmwrite _((ARGSproto));
-OP * pp_msgget _((ARGSproto));
-OP * pp_msgctl _((ARGSproto));
-OP * pp_msgsnd _((ARGSproto));
-OP * pp_msgrcv _((ARGSproto));
-OP * pp_semget _((ARGSproto));
-OP * pp_semctl _((ARGSproto));
-OP * pp_semop _((ARGSproto));
-OP * pp_require _((ARGSproto));
-OP * pp_dofile _((ARGSproto));
-OP * pp_entereval _((ARGSproto));
-OP * pp_leaveeval _((ARGSproto));
-OP * pp_entertry _((ARGSproto));
-OP * pp_leavetry _((ARGSproto));
-OP * pp_ghbyname _((ARGSproto));
-OP * pp_ghbyaddr _((ARGSproto));
-OP * pp_ghostent _((ARGSproto));
-OP * pp_gnbyname _((ARGSproto));
-OP * pp_gnbyaddr _((ARGSproto));
-OP * pp_gnetent _((ARGSproto));
-OP * pp_gpbyname _((ARGSproto));
-OP * pp_gpbynumber _((ARGSproto));
-OP * pp_gprotoent _((ARGSproto));
-OP * pp_gsbyname _((ARGSproto));
-OP * pp_gsbyport _((ARGSproto));
-OP * pp_gservent _((ARGSproto));
-OP * pp_shostent _((ARGSproto));
-OP * pp_snetent _((ARGSproto));
-OP * pp_sprotoent _((ARGSproto));
-OP * pp_sservent _((ARGSproto));
-OP * pp_ehostent _((ARGSproto));
-OP * pp_enetent _((ARGSproto));
-OP * pp_eprotoent _((ARGSproto));
-OP * pp_eservent _((ARGSproto));
-OP * pp_gpwnam _((ARGSproto));
-OP * pp_gpwuid _((ARGSproto));
-OP * pp_gpwent _((ARGSproto));
-OP * pp_spwent _((ARGSproto));
-OP * pp_epwent _((ARGSproto));
-OP * pp_ggrnam _((ARGSproto));
-OP * pp_ggrgid _((ARGSproto));
-OP * pp_ggrent _((ARGSproto));
-OP * pp_sgrent _((ARGSproto));
-OP * pp_egrent _((ARGSproto));
-OP * pp_getlogin _((ARGSproto));
-OP * pp_syscall _((ARGSproto));
-OP * pp_lock _((ARGSproto));
-OP * pp_threadsv _((ARGSproto));
END_EXTERN_C
#endif /* PERL_OBJECT */
#ifndef DOINIT
-EXT OP * (CPERLscope(*ppaddr)[])(ARGSproto);
+EXT OP * (CPERLscope(*PL_ppaddr)[])(ARGSproto);
#else
-#ifndef PERL_OBJECT
-EXT OP * (CPERLscope(*ppaddr)[])(ARGSproto) = {
+EXT OP * (CPERLscope(*PL_ppaddr)[])(ARGSproto) = {
pp_null,
pp_stub,
pp_scalar,
@@ -1809,14 +1434,12 @@ EXT OP * (CPERLscope(*ppaddr)[])(ARGSproto) = {
pp_lock,
pp_threadsv,
};
-#endif /* PERL_OBJECT */
#endif
#ifndef DOINIT
-EXT OP * (CPERLscope(*check)[]) _((OP *op));
+EXT OP * (CPERLscope(*PL_check)[]) _((OP *op));
#else
-#ifndef PERL_OBJECT
-EXT OP * (CPERLscope(*check)[]) _((OP *op)) = {
+EXT OP * (CPERLscope(*PL_check)[]) _((OP *op)) = {
ck_null, /* null */
ck_null, /* stub */
ck_fun, /* scalar */
@@ -2166,13 +1789,12 @@ EXT OP * (CPERLscope(*check)[]) _((OP *op)) = {
ck_rfun, /* lock */
ck_null, /* threadsv */
};
-#endif /* PERL_OBJECT */
#endif
#ifndef DOINIT
-EXT U32 opargs[];
+EXT U32 PL_opargs[];
#else
-EXT U32 opargs[] = {
+EXT U32 PL_opargs[] = {
0x00000000, /* null */
0x00000000, /* stub */
0x00001c04, /* scalar */
diff --git a/opcode.pl b/opcode.pl
index 92330a6266..0243847f4c 100755
--- a/opcode.pl
+++ b/opcode.pl
@@ -47,9 +47,9 @@ print "\n#define MAXO ", scalar @ops, "\n\n";
print <<END;
#ifndef DOINIT
-EXT char *op_name[];
+EXT char *PL_op_name[];
#else
-EXT char *op_name[] = {
+EXT char *PL_op_name[] = {
END
for (@ops) {
@@ -64,9 +64,9 @@ END
print <<END;
#ifndef DOINIT
-EXT char *op_desc[];
+EXT char *PL_op_desc[];
#else
-EXT char *op_desc[] = {
+EXT char *PL_op_desc[] = {
END
for (@ops) {
@@ -80,19 +80,26 @@ print <<END;
#ifndef PERL_OBJECT
START_EXTERN_C
-END
+#undef PERL_CKDEF
+#undef PERL_PPDEF
+#define PERL_CKDEF(s) OP *s _((OP *o));
+#define PERL_PPDEF(s) OP *s _((ARGSproto));
-# Emit function declarations.
+#include "pp_proto.h"
-for (sort keys %ckname) {
- print "OP *\t", &tab(3,$_),"_((OP* o));\n";
-}
+END
-print "\n";
+# Emit function declarations.
-for (@ops) {
- print "OP *\t", &tab(3, "pp_$_"), "_((ARGSproto));\n";
-}
+#for (sort keys %ckname) {
+# print "OP *\t", &tab(3,$_),"_((OP* o));\n";
+#}
+#
+#print "\n";
+#
+#for (@ops) {
+# print "OP *\t", &tab(3, "pp_$_"), "_((ARGSproto));\n";
+#}
# Emit ppcode switch array.
@@ -102,10 +109,9 @@ END_EXTERN_C
#endif /* PERL_OBJECT */
#ifndef DOINIT
-EXT OP * (CPERLscope(*ppaddr)[])(ARGSproto);
+EXT OP * (CPERLscope(*PL_ppaddr)[])(ARGSproto);
#else
-#ifndef PERL_OBJECT
-EXT OP * (CPERLscope(*ppaddr)[])(ARGSproto) = {
+EXT OP * (CPERLscope(*PL_ppaddr)[])(ARGSproto) = {
END
for (@ops) {
@@ -114,7 +120,6 @@ for (@ops) {
print <<END;
};
-#endif /* PERL_OBJECT */
#endif
END
@@ -123,10 +128,9 @@ END
print <<END;
#ifndef DOINIT
-EXT OP * (CPERLscope(*check)[]) _((OP *op));
+EXT OP * (CPERLscope(*PL_check)[]) _((OP *op));
#else
-#ifndef PERL_OBJECT
-EXT OP * (CPERLscope(*check)[]) _((OP *op)) = {
+EXT OP * (CPERLscope(*PL_check)[]) _((OP *op)) = {
END
for (@ops) {
@@ -135,7 +139,6 @@ for (@ops) {
print <<END;
};
-#endif /* PERL_OBJECT */
#endif
END
@@ -144,9 +147,9 @@ END
print <<END;
#ifndef DOINIT
-EXT U32 opargs[];
+EXT U32 PL_opargs[];
#else
-EXT U32 opargs[] = {
+EXT U32 PL_opargs[] = {
END
%argnum = (
@@ -210,13 +213,25 @@ END
close OC or die "Error closing opcode.h: $!";
unlink "pp_proto.h";
+unlink "pp.sym";
open PP, '>pp_proto.h' or die "Error creating pp_proto.h: $!";
+open PPSYM, '>pp.sym' or die "Error creating pp.sym: $!";
+
+for (sort keys %ckname) {
+ print PP "PERL_CKDEF($_)\n";
+#OP *\t", &tab(3,$_),"_((OP* o));\n";
+}
+
+print PP "\n\n";
+
for (@ops) {
next if /^i_(pre|post)(inc|dec)$/;
- print PP "PPDEF(pp_$_)\n";
+ print PP "PERL_PPDEF(pp_$_)\n";
+ print PPSYM "pp_$_\n";
}
close PP or die "Error closing pp_proto.h: $!";
+close PPSYM or die "Error closing pp.sym: $!";
###########################################################################
sub tab {
diff --git a/perl.c b/perl.c
index a7804f1fd9..388dd8bc6b 100644
--- a/perl.c
+++ b/perl.c
@@ -92,7 +92,7 @@ perl_alloc(void)
void
#ifdef PERL_OBJECT
-CPerlObj::perl_construct(void)
+perl_construct(void)
#else
perl_construct(register PerlInterpreter *sv_interp)
#endif
@@ -235,7 +235,7 @@ perl_construct(register PerlInterpreter *sv_interp)
void
#ifdef PERL_OBJECT
-CPerlObj::perl_destruct(void)
+perl_destruct(void)
#else
perl_destruct(register PerlInterpreter *sv_interp)
#endif
@@ -593,7 +593,7 @@ perl_destruct(register PerlInterpreter *sv_interp)
void
#ifdef PERL_OBJECT
-CPerlObj::perl_free(void)
+perl_free(void)
#else
perl_free(PerlInterpreter *sv_interp)
#endif
@@ -609,7 +609,7 @@ perl_free(PerlInterpreter *sv_interp)
void
#ifdef PERL_OBJECT
-CPerlObj::perl_atexit(void (*fn) (CPerlObj*,void *), void *ptr)
+perl_atexit(void (*fn) (CPerlObj*,void *), void *ptr)
#else
perl_atexit(void (*fn) (void *), void *ptr)
#endif
@@ -622,7 +622,7 @@ perl_atexit(void (*fn) (void *), void *ptr)
int
#ifdef PERL_OBJECT
-CPerlObj::perl_parse(void (*xsinit) (CPerlObj*), int argc, char **argv, char **env)
+perl_parse(void (*xsinit) (CPerlObj*), int argc, char **argv, char **env)
#else
perl_parse(PerlInterpreter *sv_interp, void (*xsinit) (void), int argc, char **argv, char **env)
#endif
@@ -813,14 +813,11 @@ setuid perl scripts securely.\n");
#else
sv_catpv(PL_Sv,"print \"\\nCharacteristics of this binary (from libperl): \\n\",");
#endif
-#if defined(DEBUGGING) || defined(NO_EMBED) || defined(MULTIPLICITY)
+#if defined(DEBUGGING) || defined(MULTIPLICITY)
sv_catpv(PL_Sv,"\" Compile-time options:");
# ifdef DEBUGGING
sv_catpv(PL_Sv," DEBUGGING");
# endif
-# ifdef NO_EMBED
- sv_catpv(PL_Sv," NO_EMBED");
-# endif
# ifdef MULTIPLICITY
sv_catpv(PL_Sv," MULTIPLICITY");
# endif
@@ -1018,7 +1015,7 @@ print \" \\@INC:\\n @INC\\n\";");
int
#ifdef PERL_OBJECT
-CPerlObj::perl_run(void)
+perl_run(void)
#else
perl_run(PerlInterpreter *sv_interp)
#endif
diff --git a/perl.h b/perl.h
index 1561884b78..ed72d40ecb 100644
--- a/perl.h
+++ b/perl.h
@@ -16,9 +16,6 @@
* Above symbol is defined via -D in 'x2p/Makefile.SH'
* Decouple x2p stuff from some of perls more extreme eccentricities.
*/
-#undef EMBED
-#undef NO_EMBED
-#define NO_EMBED
#undef MULTIPLICITY
#undef USE_STDIO
#define USE_STDIO
@@ -61,9 +58,9 @@ PERL CORE
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::Perl_var
+ #define var CPerlObj::PL_var
#define func CPerlObj::Perl_func
- * these are in objpp.h
+ * 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.
@@ -73,7 +70,7 @@ 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->Perl_var
+ #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
@@ -127,7 +124,7 @@ class CPerlObj;
#define PERL_OBJECT_THIS
#define _PERL_OBJECT_THIS
#define PERL_OBJECT_THIS_
-#define CALLRUNOPS PL_runops
+#define CALLRUNOPS (*PL_runops)
#define CALLREGCOMP (*PL_regcompp)
#define CALLREGEXEC (*PL_regexecp)
@@ -136,7 +133,9 @@ class CPerlObj;
#define VOIDUSED 1
#include "config.h"
-#include "embed.h"
+#if !defined(PERL_FOR_X2P)
+# include "embed.h"
+#endif
#undef START_EXTERN_C
#undef END_EXTERN_C
@@ -155,11 +154,7 @@ class CPerlObj;
# ifdef __GNUC__
# define stringify_immed(s) #s
# define stringify(s) stringify_immed(s)
-#ifdef EMBED
register struct op *Perl_op asm(stringify(OP_IN_REGISTER));
-#else
-register struct op *op asm(stringify(OP_IN_REGISTER));
-#endif
# endif
#endif
@@ -250,7 +245,7 @@ register struct op *op asm(stringify(OP_IN_REGISTER));
#define TAINT_NOT (PL_tainted = FALSE)
#define TAINT_IF(c) if (c) { PL_tainted = TRUE; }
#define TAINT_ENV() if (PL_tainting) { taint_env(); }
-#define TAINT_PROPER(s) if (PL_tainting) { taint_proper(no_security, s); }
+#define TAINT_PROPER(s) if (PL_tainting) { taint_proper(Nullch, s); }
/* XXX All process group stuff is handled in pp_sys.c. Should these
defines move there? If so, I could simplify this a lot. --AD 9/96.
@@ -1490,7 +1485,9 @@ union any {
#include "form.h"
#include "gv.h"
#include "cv.h"
+#ifndef PERL_OBJECT
#include "opcode.h"
+#endif
#include "op.h"
#include "cop.h"
#include "av.h"
@@ -1547,11 +1544,6 @@ typedef struct {
typedef I32 CHECKPOINT;
#endif /* PERL_OBJECT */
-/* work around some libPW problems */
-#ifdef DOINIT
-EXT char Error[1];
-#endif
-
#if defined(iAPX286) || defined(M_I286) || defined(I80286)
# define I286
#endif
@@ -1837,12 +1829,13 @@ typedef Sighandler_t Sigsave_t;
*/
#ifndef PERL_OBJECT
-typedef int runops_proc_t _((void));
+typedef int (*runops_proc_t) _((void));
int runops_standard _((void));
#ifdef DEBUGGING
int runops_debug _((void));
#endif
-#endif /* PERL_OBJECT */
+#endif
+
/* _ (for $_) must be first in the following list (DEFSV requires it) */
#define THREADSV_NAMES "_123456789&`'+/.,\\\";^-%=|~:\001\005!@"
@@ -1864,62 +1857,57 @@ EXT char *** environ_pointer;
#endif /* environ processing */
-/* for tmp use in stupid debuggers */
-EXT int * di;
-EXT short * ds;
-EXT char * dc;
-
/* handy constants */
-EXTCONST char warn_uninit[]
+EXTCONST char PL_warn_uninit[]
INIT("Use of uninitialized value");
-EXTCONST char warn_nosemi[]
+EXTCONST char PL_warn_nosemi[]
INIT("Semicolon seems to be missing");
-EXTCONST char warn_reserved[]
+EXTCONST char PL_warn_reserved[]
INIT("Unquoted string \"%s\" may clash with future reserved word");
-EXTCONST char warn_nl[]
+EXTCONST char PL_warn_nl[]
INIT("Unsuccessful %s on filename containing newline");
-EXTCONST char no_wrongref[]
+EXTCONST char PL_no_wrongref[]
INIT("Can't use %s ref as %s ref");
-EXTCONST char no_symref[]
+EXTCONST char PL_no_symref[]
INIT("Can't use string (\"%.32s\") as %s ref while \"strict refs\" in use");
-EXTCONST char no_usym[]
+EXTCONST char PL_no_usym[]
INIT("Can't use an undefined value as %s reference");
-EXTCONST char no_aelem[]
+EXTCONST char PL_no_aelem[]
INIT("Modification of non-creatable array value attempted, subscript %d");
-EXTCONST char no_helem[]
+EXTCONST char PL_no_helem[]
INIT("Modification of non-creatable hash value attempted, subscript \"%s\"");
-EXTCONST char no_modify[]
+EXTCONST char PL_no_modify[]
INIT("Modification of a read-only value attempted");
-EXTCONST char no_mem[]
+EXTCONST char PL_no_mem[]
INIT("Out of memory!\n");
-EXTCONST char no_security[]
+EXTCONST char PL_no_security[]
INIT("Insecure dependency in %s%s");
-EXTCONST char no_sock_func[]
+EXTCONST char PL_no_sock_func[]
INIT("Unsupported socket function \"%s\" called");
-EXTCONST char no_dir_func[]
+EXTCONST char PL_no_dir_func[]
INIT("Unsupported directory function \"%s\" called");
-EXTCONST char no_func[]
+EXTCONST char PL_no_func[]
INIT("The %s function is unimplemented");
-EXTCONST char no_myglob[]
+EXTCONST char PL_no_myglob[]
INIT("\"my\" variable %s can't be in a package");
#ifdef DOINIT
-EXT char *sig_name[] = { SIG_NAME };
-EXT int sig_num[] = { SIG_NUM };
-EXT SV * psig_ptr[sizeof(sig_num)/sizeof(*sig_num)];
-EXT SV * psig_name[sizeof(sig_num)/sizeof(*sig_num)];
+EXT char *PL_sig_name[] = { SIG_NAME };
+EXT int PL_sig_num[] = { SIG_NUM };
+EXT SV * PL_psig_ptr[sizeof(PL_sig_num)/sizeof(*PL_sig_num)];
+EXT SV * PL_psig_name[sizeof(PL_sig_num)/sizeof(*PL_sig_num)];
#else
-EXT char *sig_name[];
-EXT int sig_num[];
-EXT SV * psig_ptr[];
-EXT SV * psig_name[];
+EXT char *PL_sig_name[];
+EXT int PL_sig_num[];
+EXT SV * PL_psig_ptr[];
+EXT SV * PL_psig_name[];
#endif
/* fast case folding tables */
#ifdef DOINIT
#ifdef EBCDIC
-EXT unsigned char fold[] = { /* fast EBCDIC case folding table */
+EXT unsigned char PL_fold[] = { /* fast EBCDIC case folding table */
0, 1, 2, 3, 4, 5, 6, 7,
8, 9, 10, 11, 12, 13, 14, 15,
16, 17, 18, 19, 20, 21, 22, 23,
@@ -1954,7 +1942,7 @@ EXT unsigned char fold[] = { /* fast EBCDIC case folding table */
248, 249, 250, 251, 252, 253, 254, 255
};
#else /* ascii rather than ebcdic */
-EXTCONST unsigned char fold[] = {
+EXTCONST unsigned char PL_fold[] = {
0, 1, 2, 3, 4, 5, 6, 7,
8, 9, 10, 11, 12, 13, 14, 15,
16, 17, 18, 19, 20, 21, 22, 23,
@@ -1990,11 +1978,11 @@ EXTCONST unsigned char fold[] = {
};
#endif /* !EBCDIC */
#else
-EXTCONST unsigned char fold[];
+EXTCONST unsigned char PL_fold[];
#endif
#ifdef DOINIT
-EXT unsigned char fold_locale[] = {
+EXT unsigned char PL_fold_locale[] = {
0, 1, 2, 3, 4, 5, 6, 7,
8, 9, 10, 11, 12, 13, 14, 15,
16, 17, 18, 19, 20, 21, 22, 23,
@@ -2029,12 +2017,12 @@ EXT unsigned char fold_locale[] = {
248, 249, 250, 251, 252, 253, 254, 255
};
#else
-EXT unsigned char fold_locale[];
+EXT unsigned char PL_fold_locale[];
#endif
#ifdef DOINIT
#ifdef EBCDIC
-EXT unsigned char freq[] = {/* EBCDIC frequencies for mixed English/C */
+EXT unsigned char PL_freq[] = {/* EBCDIC frequencies for mixed English/C */
1, 2, 84, 151, 154, 155, 156, 157,
165, 246, 250, 3, 158, 7, 18, 29,
40, 51, 62, 73, 85, 96, 107, 118,
@@ -2069,7 +2057,7 @@ EXT unsigned char freq[] = {/* EBCDIC frequencies for mixed English/C */
191, 183, 141, 142, 143, 144, 145, 146
};
#else /* ascii rather than ebcdic */
-EXTCONST unsigned char freq[] = { /* letter frequencies for mixed English/C */
+EXTCONST unsigned char PL_freq[] = { /* letter frequencies for mixed English/C */
1, 2, 84, 151, 154, 155, 156, 157,
165, 246, 250, 3, 158, 7, 18, 29,
40, 51, 62, 73, 85, 96, 107, 118,
@@ -2105,12 +2093,12 @@ EXTCONST unsigned char freq[] = { /* letter frequencies for mixed English/C */
};
#endif
#else
-EXTCONST unsigned char freq[];
+EXTCONST unsigned char PL_freq[];
#endif
#ifdef DEBUGGING
#ifdef DOINIT
-EXTCONST char* block_type[] = {
+EXTCONST char* PL_block_type[] = {
"NULL",
"SUB",
"EVAL",
@@ -2119,7 +2107,7 @@ EXTCONST char* block_type[] = {
"BLOCK",
};
#else
-EXTCONST char* block_type[];
+EXTCONST char* PL_block_type[];
#endif
#endif
@@ -2207,7 +2195,10 @@ typedef struct exitlistentry {
#ifdef PERL_OBJECT
extern "C" CPerlObj* perl_alloc _((IPerlMem*, IPerlEnv*, IPerlStdIO*, IPerlLIO*, IPerlDir*, IPerlSock*, IPerlProc*));
+#ifdef PERL_OBJECT
typedef int (CPerlObj::*runops_proc_t) _((void));
+#endif /* PERL_OBJECT */
+
#undef EXT
#define EXT
#undef EXTCONST
@@ -2247,9 +2238,7 @@ struct perl_vars *PL_VarsPtr;
*/
struct interpreter {
-#ifndef USE_THREADS
#include "thrdvar.h"
-#endif
#include "intrpvar.h"
};
@@ -2284,17 +2273,14 @@ typedef void *Thread;
#include "pp.h"
#include "proto.h"
-#ifdef EMBED
#define Perl_sv_setptrobj(rv,ptr,name) Perl_sv_setref_iv(rv,name,(IV)ptr)
#define Perl_sv_setptrref(rv,ptr) Perl_sv_setref_iv(rv,Nullch,(IV)ptr)
-#else
-#define sv_setptrobj(rv,ptr,name) sv_setref_iv(rv,name,(IV)ptr)
-#define sv_setptrref(rv,ptr) sv_setref_iv(rv,Nullch,(IV)ptr)
-#endif
/* The following must follow proto.h as #defines mess up syntax */
-#include "embedvar.h"
+#if !defined(PERL_FOR_X2P)
+# include "embedvar.h"
+#endif
/* Now include all the 'global' variables
* If we don't have threads or multiple interpreters
@@ -2327,14 +2313,21 @@ typedef void *Thread;
PERLVAR(object_compatibility[30], char)
};
-#include "objpp.h"
-#ifdef DOINIT
-#include "INTERN.h"
-#else
-#include "EXTERN.h"
-#endif
-#endif /* PERL_OBJECT */
+# include "embed.h"
+# if defined(WIN32) && !defined(WIN32IO_IS_STDIO)
+# define errno CPerlObj::ErrorNo()
+# endif
+# ifdef DOINIT
+# include "INTERN.h"
+# else
+# include "EXTERN.h"
+# endif
+
+/* this has structure inits, so it cannot be included before here */
+# include "opcode.h"
+
+#endif /* PERL_OBJECT */
#undef PERLVAR
#undef PERLVARI
@@ -2354,125 +2347,125 @@ PERLVAR(object_compatibility[30], char)
#ifdef DOINIT
-EXT MGVTBL vtbl_sv = {magic_get,
+EXT MGVTBL PL_vtbl_sv = {magic_get,
magic_set,
magic_len,
0, 0};
-EXT MGVTBL vtbl_env = {0, magic_set_all_env,
+EXT MGVTBL PL_vtbl_env = {0, magic_set_all_env,
0, magic_clear_all_env,
0};
-EXT MGVTBL vtbl_envelem = {0, magic_setenv,
+EXT MGVTBL PL_vtbl_envelem = {0, magic_setenv,
0, magic_clearenv,
0};
-EXT MGVTBL vtbl_sig = {0, 0, 0, 0, 0};
-EXT MGVTBL vtbl_sigelem = {magic_getsig,
+EXT MGVTBL PL_vtbl_sig = {0, 0, 0, 0, 0};
+EXT MGVTBL PL_vtbl_sigelem = {magic_getsig,
magic_setsig,
0, magic_clearsig,
0};
-EXT MGVTBL vtbl_pack = {0, 0, magic_sizepack, magic_wipepack,
+EXT MGVTBL PL_vtbl_pack = {0, 0, magic_sizepack, magic_wipepack,
0};
-EXT MGVTBL vtbl_packelem = {magic_getpack,
+EXT MGVTBL PL_vtbl_packelem = {magic_getpack,
magic_setpack,
0, magic_clearpack,
0};
-EXT MGVTBL vtbl_dbline = {0, magic_setdbline,
+EXT MGVTBL PL_vtbl_dbline = {0, magic_setdbline,
0, 0, 0};
-EXT MGVTBL vtbl_isa = {0, magic_setisa,
+EXT MGVTBL PL_vtbl_isa = {0, magic_setisa,
0, magic_setisa,
0};
-EXT MGVTBL vtbl_isaelem = {0, magic_setisa,
+EXT MGVTBL PL_vtbl_isaelem = {0, magic_setisa,
0, 0, 0};
-EXT MGVTBL vtbl_arylen = {magic_getarylen,
+EXT MGVTBL PL_vtbl_arylen = {magic_getarylen,
magic_setarylen,
0, 0, 0};
-EXT MGVTBL vtbl_glob = {magic_getglob,
+EXT MGVTBL PL_vtbl_glob = {magic_getglob,
magic_setglob,
0, 0, 0};
-EXT MGVTBL vtbl_mglob = {0, magic_setmglob,
+EXT MGVTBL PL_vtbl_mglob = {0, magic_setmglob,
0, 0, 0};
-EXT MGVTBL vtbl_nkeys = {magic_getnkeys,
+EXT MGVTBL PL_vtbl_nkeys = {magic_getnkeys,
magic_setnkeys,
0, 0, 0};
-EXT MGVTBL vtbl_taint = {magic_gettaint,magic_settaint,
+EXT MGVTBL PL_vtbl_taint = {magic_gettaint,magic_settaint,
0, 0, 0};
-EXT MGVTBL vtbl_substr = {magic_getsubstr, magic_setsubstr,
+EXT MGVTBL PL_vtbl_substr = {magic_getsubstr, magic_setsubstr,
0, 0, 0};
-EXT MGVTBL vtbl_vec = {magic_getvec,
+EXT MGVTBL PL_vtbl_vec = {magic_getvec,
magic_setvec,
0, 0, 0};
-EXT MGVTBL vtbl_pos = {magic_getpos,
+EXT MGVTBL PL_vtbl_pos = {magic_getpos,
magic_setpos,
0, 0, 0};
-EXT MGVTBL vtbl_bm = {0, magic_setbm,
+EXT MGVTBL PL_vtbl_bm = {0, magic_setbm,
0, 0, 0};
-EXT MGVTBL vtbl_fm = {0, magic_setfm,
+EXT MGVTBL PL_vtbl_fm = {0, magic_setfm,
0, 0, 0};
-EXT MGVTBL vtbl_uvar = {magic_getuvar,
+EXT MGVTBL PL_vtbl_uvar = {magic_getuvar,
magic_setuvar,
0, 0, 0};
#ifdef USE_THREADS
-EXT MGVTBL vtbl_mutex = {0, 0, 0, 0, magic_mutexfree};
+EXT MGVTBL PL_vtbl_mutex = {0, 0, 0, 0, magic_mutexfree};
#endif /* USE_THREADS */
-EXT MGVTBL vtbl_defelem = {magic_getdefelem,magic_setdefelem,
+EXT MGVTBL PL_vtbl_defelem = {magic_getdefelem,magic_setdefelem,
0, 0, 0};
-EXT MGVTBL vtbl_regexp = {0,0,0,0, magic_freeregexp};
-EXT MGVTBL vtbl_regdata = {0, 0, magic_regdata_cnt, 0, 0};
-EXT MGVTBL vtbl_regdatum = {magic_regdatum_get, 0, 0, 0, 0};
+EXT MGVTBL PL_vtbl_regexp = {0,0,0,0, magic_freeregexp};
+EXT MGVTBL PL_vtbl_regdata = {0, 0, magic_regdata_cnt, 0, 0};
+EXT MGVTBL PL_vtbl_regdatum = {magic_regdatum_get, 0, 0, 0, 0};
#ifdef USE_LOCALE_COLLATE
-EXT MGVTBL vtbl_collxfrm = {0,
+EXT MGVTBL PL_vtbl_collxfrm = {0,
magic_setcollxfrm,
0, 0, 0};
#endif
#ifdef OVERLOAD
-EXT MGVTBL vtbl_amagic = {0, magic_setamagic,
+EXT MGVTBL PL_vtbl_amagic = {0, magic_setamagic,
0, 0, magic_setamagic};
-EXT MGVTBL vtbl_amagicelem = {0, magic_setamagic,
+EXT MGVTBL PL_vtbl_amagicelem = {0, magic_setamagic,
0, 0, magic_setamagic};
#endif /* OVERLOAD */
#else /* !DOINIT */
-EXT MGVTBL vtbl_sv;
-EXT MGVTBL vtbl_env;
-EXT MGVTBL vtbl_envelem;
-EXT MGVTBL vtbl_sig;
-EXT MGVTBL vtbl_sigelem;
-EXT MGVTBL vtbl_pack;
-EXT MGVTBL vtbl_packelem;
-EXT MGVTBL vtbl_dbline;
-EXT MGVTBL vtbl_isa;
-EXT MGVTBL vtbl_isaelem;
-EXT MGVTBL vtbl_arylen;
-EXT MGVTBL vtbl_glob;
-EXT MGVTBL vtbl_mglob;
-EXT MGVTBL vtbl_nkeys;
-EXT MGVTBL vtbl_taint;
-EXT MGVTBL vtbl_substr;
-EXT MGVTBL vtbl_vec;
-EXT MGVTBL vtbl_pos;
-EXT MGVTBL vtbl_bm;
-EXT MGVTBL vtbl_fm;
-EXT MGVTBL vtbl_uvar;
+EXT MGVTBL PL_vtbl_sv;
+EXT MGVTBL PL_vtbl_env;
+EXT MGVTBL PL_vtbl_envelem;
+EXT MGVTBL PL_vtbl_sig;
+EXT MGVTBL PL_vtbl_sigelem;
+EXT MGVTBL PL_vtbl_pack;
+EXT MGVTBL PL_vtbl_packelem;
+EXT MGVTBL PL_vtbl_dbline;
+EXT MGVTBL PL_vtbl_isa;
+EXT MGVTBL PL_vtbl_isaelem;
+EXT MGVTBL PL_vtbl_arylen;
+EXT MGVTBL PL_vtbl_glob;
+EXT MGVTBL PL_vtbl_mglob;
+EXT MGVTBL PL_vtbl_nkeys;
+EXT MGVTBL PL_vtbl_taint;
+EXT MGVTBL PL_vtbl_substr;
+EXT MGVTBL PL_vtbl_vec;
+EXT MGVTBL PL_vtbl_pos;
+EXT MGVTBL PL_vtbl_bm;
+EXT MGVTBL PL_vtbl_fm;
+EXT MGVTBL PL_vtbl_uvar;
#ifdef USE_THREADS
-EXT MGVTBL vtbl_mutex;
+EXT MGVTBL PL_vtbl_mutex;
#endif /* USE_THREADS */
-EXT MGVTBL vtbl_defelem;
-EXT MGVTBL vtbl_regexp;
-EXT MGVTBL vtbl_regdata;
-EXT MGVTBL vtbl_regdatum;
+EXT MGVTBL PL_vtbl_defelem;
+EXT MGVTBL PL_vtbl_regexp;
+EXT MGVTBL PL_vtbl_regdata;
+EXT MGVTBL PL_vtbl_regdatum;
#ifdef USE_LOCALE_COLLATE
-EXT MGVTBL vtbl_collxfrm;
+EXT MGVTBL PL_vtbl_collxfrm;
#endif
#ifdef OVERLOAD
-EXT MGVTBL vtbl_amagic;
-EXT MGVTBL vtbl_amagicelem;
+EXT MGVTBL PL_vtbl_amagic;
+EXT MGVTBL PL_vtbl_amagicelem;
#endif /* OVERLOAD */
#endif /* !DOINIT */
@@ -2481,7 +2474,7 @@ EXT MGVTBL vtbl_amagicelem;
#define NofAMmeth 58
#ifdef DOINIT
-EXTCONST char * AMG_names[NofAMmeth] = {
+EXTCONST char * PL_AMG_names[NofAMmeth] = {
"fallback", "abs", /* "fallback" should be the first. */
"bool", "nomethod",
"\"\"", "0+",
@@ -2513,7 +2506,7 @@ EXTCONST char * AMG_names[NofAMmeth] = {
"=", "neg"
};
#else
-EXTCONST char * AMG_names[NofAMmeth];
+EXTCONST char * PL_AMG_names[NofAMmeth];
#endif /* def INITAMAGIC */
struct am_table {
diff --git a/perl_exp.SH b/perl_exp.SH
index 07d41408d4..51c3ab2584 100644
--- a/perl_exp.SH
+++ b/perl_exp.SH
@@ -7,7 +7,7 @@
# Create the export list for perl.
# Needed by AIX to do dynamic linking.
#
-# This simple program relies on 'global.sym' and few other *.sym files
+# This simple program relies on global.sym and few other *.sym files
# and the *var*.h files being up to date with all of the global
# symbols that a dynamic link library might want to access.
#
@@ -52,9 +52,10 @@ echo "#!" > perl.exp
# No interp.sym since 5.005_03.
# perlio.sym will added later if needed.
-syms="global.sym thread.sym"
+syms="global.sym pp.sym"
sed -n '/^[A-Za-z]/ s/^/Perl_/p' $syms >> perl.exp
+sed -n '/^[A-Za-z]/ s/^/PL_/p' globvar.sym >> perl.exp
sed -n 's/^PERLVAR.*(G\([^[,]*\).*/PL_\1/p' perlvars.h >> perl.exp
sed -n 's/^PERLVAR.*(I\([^[,]*\).*/PL_\1/p' intrpvar.h >> perl.exp
@@ -99,9 +100,6 @@ perl_call_sv
perl_eval_pv
perl_eval_sv
perl_require_pv
-cast_i32
-cast_iv
-cast_uv
END
case "$ccflags" in
diff --git a/perlvars.h b/perlvars.h
index d42353df51..17924a9154 100644
--- a/perlvars.h
+++ b/perlvars.h
@@ -10,7 +10,7 @@
* and how they're initialized.
*
* The 'G' prefix is only needed for vars that need appropriate #defines
- * generated when built with or without EMBED. It is also used to generate
+ * generated in embed*.h. Such symbols are also used to generate
* the appropriate export list for win32.
*
* Avoid build-specific #ifdefs here, like DEBUGGING. That way,
@@ -70,11 +70,7 @@ PERLVAR(Ghe_root, HE *) /* free he list--shared by interpreters */
PERLVAR(Gnice_chunk, char *) /* a nice chunk of memory to reuse */
PERLVAR(Gnice_chunk_size, U32) /* how nice the chunk of memory is */
-#ifdef PERL_OBJECT
PERLVARI(Grunops, runops_proc_t, FUNC_NAME_TO_PTR(RUNOPS_DEFAULT))
-#else
-PERLVARI(Grunops, runops_proc_t *, RUNOPS_DEFAULT)
-#endif
PERLVAR(Gtokenbuf[256], char)
PERLVAR(Gna, STRLEN) /* for use in SvPV when length is
diff --git a/perly.c b/perly.c
index 2f9c045fdf..a13d388724 100644
--- a/perly.c
+++ b/perly.c
@@ -30,7 +30,7 @@ dep(void)
#line 30 "perly.y"
#define YYERRCODE 256
-short yylhs[] = { -1,
+static short yylhs[] = { -1,
45, 0, 9, 7, 10, 8, 11, 11, 11, 12,
12, 12, 12, 24, 24, 24, 24, 24, 24, 24,
15, 15, 15, 14, 14, 42, 42, 13, 13, 13,
@@ -50,7 +50,7 @@ short yylhs[] = { -1,
34, 34, 34, 2, 2, 43, 23, 18, 19, 20,
21, 22, 35, 35, 35, 35,
};
-short yylen[] = { 2,
+static short yylen[] = { 2,
0, 2, 4, 0, 4, 0, 0, 2, 2, 2,
1, 2, 3, 1, 1, 3, 3, 3, 3, 3,
0, 2, 6, 7, 7, 0, 2, 8, 8, 10,
@@ -70,7 +70,7 @@ short yylen[] = { 2,
0, 1, 2, 1, 1, 1, 2, 2, 2, 2,
2, 2, 1, 1, 1, 1,
};
-short yydefred[] = { 1,
+static short yydefred[] = { 1,
0, 7, 0, 45, 56, 54, 0, 54, 8, 46,
9, 11, 0, 47, 48, 49, 0, 0, 0, 63,
64, 14, 4, 157, 0, 0, 130, 0, 152, 0,
@@ -109,14 +109,14 @@ short yydefred[] = { 1,
22, 0, 0, 0, 31, 5, 0, 30, 0, 0,
33, 0, 23,
};
-short yydgoto[] = { 1,
+static short yydgoto[] = { 1,
9, 66, 10, 18, 95, 17, 86, 339, 89, 328,
3, 11, 12, 68, 344, 263, 70, 71, 72, 73,
74, 75, 76, 269, 78, 270, 259, 261, 264, 272,
260, 262, 113, 198, 91, 79, 238, 81, 83, 179,
250, 142, 267, 13, 2, 14, 15, 16, 85, 256,
};
-short yysindex[] = { 0,
+static short yysindex[] = { 0,
0, 0, -66, 0, 0, 0, -48, 0, 0, 0,
0, 0, 645, 0, 0, 0, -232, -227, -27, 0,
0, 0, 0, 0, -23, -23, 0, -6, 0, 2099,
@@ -155,7 +155,7 @@ short yysindex[] = { 0,
0, 2099, -206, 256, 0, 0, 259, 0, 92, 92,
0, -238, 0,
};
-short yyrindex[] = { 0,
+static short yyrindex[] = { 0,
0, 0, 249, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 184, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -194,7 +194,7 @@ short yyrindex[] = { 0,
0, 0, 59, 0, 0, 0, 0, 0, 0, 0,
0, 154, 0,
};
-short yygindex[] = { 0,
+static short yygindex[] = { 0,
0, 0, 0, 374, 351, 0, -12, 0, 946, 413,
-83, 0, 0, 0, -311, -13, 4007, 2893, 0, 0,
0, 0, 0, 372, -8, 0, 0, 246, -131, 43,
@@ -202,7 +202,7 @@ short yygindex[] = { 0,
0, -271, 0, 0, 0, 0, 0, 0, 0, 0,
};
#define YYTABLESIZE 4293
-short yytable[] = { 69,
+static short yytable[] = { 69,
207, 62, 181, 104, 168, 102, 104, 204, 168, 248,
20, 208, 62, 253, 58, 285, 274, 170, 298, 345,
104, 104, 172, 202, 80, 104, 311, 148, 149, 82,
@@ -634,7 +634,7 @@ short yytable[] = { 69,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 317,
};
-short yycheck[] = { 13,
+static short yycheck[] = { 13,
41, 36, 86, 41, 91, 40, 44, 59, 91, 59,
59, 93, 36, 183, 59, 59, 41, 91, 41, 331,
58, 59, 91, 40, 257, 63, 41, 297, 298, 257,
@@ -1072,7 +1072,7 @@ short yycheck[] = { 13,
#endif
#define YYMAXTOKEN 314
#if YYDEBUG
-char *yyname[] = {
+static char *yyname[] = {
"end-of-file",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
"'!'",0,0,"'$'","'%'","'&'",0,"'('","')'","'*'","'+'","','","'-'",0,0,0,0,0,0,0,
0,0,0,0,0,"':'","';'",0,0,0,"'?'","'@'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
@@ -1089,7 +1089,7 @@ char *yyname[] = {
"SHIFTOP","MATCHOP","UMINUS","REFGEN","POWOP","PREINC","PREDEC","POSTINC",
"POSTDEC","ARROW",
};
-char *yyrule[] = {
+static char *yyrule[] = {
"$accept : prog",
"$$1 :",
"prog : $$1 lineseq",
diff --git a/pod/perlguts.pod b/pod/perlguts.pod
index 769fd0164c..7ccb80e15a 100644
--- a/pod/perlguts.pod
+++ b/pod/perlguts.pod
@@ -2778,7 +2778,7 @@ indicated number of bytes (remember to reserve space for an extra
trailing NUL character). Calls C<sv_grow> to perform the expansion if
necessary. Returns a pointer to the character buffer.
- char* SvGROW( SV* sv, int len )
+ char* SvGROW( SV* sv, STRLEN len )
=item sv_grow
diff --git a/pp.c b/pp.c
index 63f20b8a0a..babf2c5361 100644
--- a/pp.c
+++ b/pp.c
@@ -233,14 +233,14 @@ PP(pp_rv2gv)
if (!SvOK(sv)) {
if (PL_op->op_flags & OPf_REF ||
PL_op->op_private & HINT_STRICT_REFS)
- DIE(no_usym, "a symbol");
+ DIE(PL_no_usym, "a symbol");
if (ckWARN(WARN_UNINITIALIZED))
- warner(WARN_UNINITIALIZED, warn_uninit);
+ warner(WARN_UNINITIALIZED, PL_warn_uninit);
RETSETUNDEF;
}
sym = SvPV(sv, PL_na);
if (PL_op->op_private & HINT_STRICT_REFS)
- DIE(no_symref, sym, "a symbol");
+ DIE(PL_no_symref, sym, "a symbol");
sv = (SV*)gv_fetchpv(sym, TRUE, SVt_PVGV);
}
}
@@ -277,14 +277,14 @@ PP(pp_rv2sv)
if (!SvOK(sv)) {
if (PL_op->op_flags & OPf_REF ||
PL_op->op_private & HINT_STRICT_REFS)
- DIE(no_usym, "a SCALAR");
+ DIE(PL_no_usym, "a SCALAR");
if (ckWARN(WARN_UNINITIALIZED))
- warner(WARN_UNINITIALIZED, warn_uninit);
+ warner(WARN_UNINITIALIZED, PL_warn_uninit);
RETSETUNDEF;
}
sym = SvPV(sv, PL_na);
if (PL_op->op_private & HINT_STRICT_REFS)
- DIE(no_symref, sym, "a SCALAR");
+ DIE(PL_no_symref, sym, "a SCALAR");
gv = (GV*)gv_fetchpv(sym, TRUE, SVt_PV);
}
sv = GvSV(gv);
@@ -390,13 +390,16 @@ PP(pp_prototype)
char str[ MAX_ARGS_OP * 2 + 2 ]; /* One ';', one '\0' */
while (i < MAXO) { /* The slow way. */
- if (strEQ(s + 6, op_name[i]) || strEQ(s + 6, op_desc[i]))
+ if (strEQ(s + 6, PL_op_name[i])
+ || strEQ(s + 6, PL_op_desc[i]))
+ {
goto found;
+ }
i++;
}
goto nonesuch; /* Should not happen... */
found:
- oa = opargs[i] >> OASHIFT;
+ oa = PL_opargs[i] >> OASHIFT;
while (oa) {
if (oa & OA_OPTIONAL) {
seen_question = 1;
@@ -812,7 +815,7 @@ PP(pp_predec)
{
djSP;
if (SvREADONLY(TOPs) || SvTYPE(TOPs) > SVt_PVLV)
- croak(no_modify);
+ croak(PL_no_modify);
if (SvIOK(TOPs) && !SvNOK(TOPs) && !SvPOK(TOPs) &&
SvIVX(TOPs) != IV_MIN)
{
@@ -829,7 +832,7 @@ PP(pp_postinc)
{
djSP; dTARGET;
if (SvREADONLY(TOPs) || SvTYPE(TOPs) > SVt_PVLV)
- croak(no_modify);
+ croak(PL_no_modify);
sv_setsv(TARG, TOPs);
if (SvIOK(TOPs) && !SvNOK(TOPs) && !SvPOK(TOPs) &&
SvIVX(TOPs) != IV_MAX)
@@ -850,7 +853,7 @@ PP(pp_postdec)
{
djSP; dTARGET;
if(SvREADONLY(TOPs) || SvTYPE(TOPs) > SVt_PVLV)
- croak(no_modify);
+ croak(PL_no_modify);
sv_setsv(TARG, TOPs);
if (SvIOK(TOPs) && !SvNOK(TOPs) && !SvPOK(TOPs) &&
SvIVX(TOPs) != IV_MIN)
@@ -2509,7 +2512,7 @@ PP(pp_aslice)
svp = av_fetch(av, elem, lval);
if (lval) {
if (!svp || *svp == &PL_sv_undef)
- DIE(no_aelem, elem);
+ DIE(PL_no_aelem, elem);
if (PL_op->op_private & OPpLVAL_INTRO)
save_aelem(av, elem, svp);
}
@@ -2649,7 +2652,7 @@ PP(pp_hslice)
}
if (lval) {
if (!svp || *svp == &PL_sv_undef)
- DIE(no_helem, SvPV(keysv, PL_na));
+ DIE(PL_no_helem, SvPV(keysv, PL_na));
if (PL_op->op_private & OPpLVAL_INTRO)
save_helem(hv, keysv, svp);
}
@@ -2801,7 +2804,7 @@ PP(pp_splice)
else
offset -= PL_curcop->cop_arybase;
if (offset < 0)
- DIE(no_aelem, i);
+ DIE(PL_no_aelem, i);
if (++MARK < SP) {
length = SvIVx(*MARK++);
if (length < 0) {
diff --git a/pp.h b/pp.h
index 6fe91f40c8..8e2c7d3679 100644
--- a/pp.h
+++ b/pp.h
@@ -14,11 +14,8 @@
#define ARGS
#define dARGS
#endif /* USE_THREADS */
-#ifdef PERL_OBJECT
-#define PP(s) OP * CPerlObj::s(ARGSproto)
-#else
+
#define PP(s) OP * s(ARGSproto)
-#endif
#define SP sp
#define MARK mark
diff --git a/pp.sym b/pp.sym
new file mode 100644
index 0000000000..e991d6b835
--- /dev/null
+++ b/pp.sym
@@ -0,0 +1,344 @@
+pp_null
+pp_stub
+pp_scalar
+pp_pushmark
+pp_wantarray
+pp_const
+pp_gvsv
+pp_gv
+pp_gelem
+pp_padsv
+pp_padav
+pp_padhv
+pp_padany
+pp_pushre
+pp_rv2gv
+pp_rv2sv
+pp_av2arylen
+pp_rv2cv
+pp_anoncode
+pp_prototype
+pp_refgen
+pp_srefgen
+pp_ref
+pp_bless
+pp_backtick
+pp_glob
+pp_readline
+pp_rcatline
+pp_regcmaybe
+pp_regcreset
+pp_regcomp
+pp_match
+pp_qr
+pp_subst
+pp_substcont
+pp_trans
+pp_sassign
+pp_aassign
+pp_chop
+pp_schop
+pp_chomp
+pp_schomp
+pp_defined
+pp_undef
+pp_study
+pp_pos
+pp_preinc
+pp_predec
+pp_postinc
+pp_postdec
+pp_pow
+pp_multiply
+pp_i_multiply
+pp_divide
+pp_i_divide
+pp_modulo
+pp_i_modulo
+pp_repeat
+pp_add
+pp_i_add
+pp_subtract
+pp_i_subtract
+pp_concat
+pp_stringify
+pp_left_shift
+pp_right_shift
+pp_lt
+pp_i_lt
+pp_gt
+pp_i_gt
+pp_le
+pp_i_le
+pp_ge
+pp_i_ge
+pp_eq
+pp_i_eq
+pp_ne
+pp_i_ne
+pp_ncmp
+pp_i_ncmp
+pp_slt
+pp_sgt
+pp_sle
+pp_sge
+pp_seq
+pp_sne
+pp_scmp
+pp_bit_and
+pp_bit_xor
+pp_bit_or
+pp_negate
+pp_i_negate
+pp_not
+pp_complement
+pp_atan2
+pp_sin
+pp_cos
+pp_rand
+pp_srand
+pp_exp
+pp_log
+pp_sqrt
+pp_int
+pp_hex
+pp_oct
+pp_abs
+pp_length
+pp_substr
+pp_vec
+pp_index
+pp_rindex
+pp_sprintf
+pp_formline
+pp_ord
+pp_chr
+pp_crypt
+pp_ucfirst
+pp_lcfirst
+pp_uc
+pp_lc
+pp_quotemeta
+pp_rv2av
+pp_aelemfast
+pp_aelem
+pp_aslice
+pp_each
+pp_values
+pp_keys
+pp_delete
+pp_exists
+pp_rv2hv
+pp_helem
+pp_hslice
+pp_unpack
+pp_pack
+pp_split
+pp_join
+pp_list
+pp_lslice
+pp_anonlist
+pp_anonhash
+pp_splice
+pp_push
+pp_pop
+pp_shift
+pp_unshift
+pp_sort
+pp_reverse
+pp_grepstart
+pp_grepwhile
+pp_mapstart
+pp_mapwhile
+pp_range
+pp_flip
+pp_flop
+pp_and
+pp_or
+pp_xor
+pp_cond_expr
+pp_andassign
+pp_orassign
+pp_method
+pp_entersub
+pp_leavesub
+pp_caller
+pp_warn
+pp_die
+pp_reset
+pp_lineseq
+pp_nextstate
+pp_dbstate
+pp_unstack
+pp_enter
+pp_leave
+pp_scope
+pp_enteriter
+pp_iter
+pp_enterloop
+pp_leaveloop
+pp_return
+pp_last
+pp_next
+pp_redo
+pp_dump
+pp_goto
+pp_exit
+pp_open
+pp_close
+pp_pipe_op
+pp_fileno
+pp_umask
+pp_binmode
+pp_tie
+pp_untie
+pp_tied
+pp_dbmopen
+pp_dbmclose
+pp_sselect
+pp_select
+pp_getc
+pp_read
+pp_enterwrite
+pp_leavewrite
+pp_prtf
+pp_print
+pp_sysopen
+pp_sysseek
+pp_sysread
+pp_syswrite
+pp_send
+pp_recv
+pp_eof
+pp_tell
+pp_seek
+pp_truncate
+pp_fcntl
+pp_ioctl
+pp_flock
+pp_socket
+pp_sockpair
+pp_bind
+pp_connect
+pp_listen
+pp_accept
+pp_shutdown
+pp_gsockopt
+pp_ssockopt
+pp_getsockname
+pp_getpeername
+pp_lstat
+pp_stat
+pp_ftrread
+pp_ftrwrite
+pp_ftrexec
+pp_fteread
+pp_ftewrite
+pp_fteexec
+pp_ftis
+pp_fteowned
+pp_ftrowned
+pp_ftzero
+pp_ftsize
+pp_ftmtime
+pp_ftatime
+pp_ftctime
+pp_ftsock
+pp_ftchr
+pp_ftblk
+pp_ftfile
+pp_ftdir
+pp_ftpipe
+pp_ftlink
+pp_ftsuid
+pp_ftsgid
+pp_ftsvtx
+pp_fttty
+pp_fttext
+pp_ftbinary
+pp_chdir
+pp_chown
+pp_chroot
+pp_unlink
+pp_chmod
+pp_utime
+pp_rename
+pp_link
+pp_symlink
+pp_readlink
+pp_mkdir
+pp_rmdir
+pp_open_dir
+pp_readdir
+pp_telldir
+pp_seekdir
+pp_rewinddir
+pp_closedir
+pp_fork
+pp_wait
+pp_waitpid
+pp_system
+pp_exec
+pp_kill
+pp_getppid
+pp_getpgrp
+pp_setpgrp
+pp_getpriority
+pp_setpriority
+pp_time
+pp_tms
+pp_localtime
+pp_gmtime
+pp_alarm
+pp_sleep
+pp_shmget
+pp_shmctl
+pp_shmread
+pp_shmwrite
+pp_msgget
+pp_msgctl
+pp_msgsnd
+pp_msgrcv
+pp_semget
+pp_semctl
+pp_semop
+pp_require
+pp_dofile
+pp_entereval
+pp_leaveeval
+pp_entertry
+pp_leavetry
+pp_ghbyname
+pp_ghbyaddr
+pp_ghostent
+pp_gnbyname
+pp_gnbyaddr
+pp_gnetent
+pp_gpbyname
+pp_gpbynumber
+pp_gprotoent
+pp_gsbyname
+pp_gsbyport
+pp_gservent
+pp_shostent
+pp_snetent
+pp_sprotoent
+pp_sservent
+pp_ehostent
+pp_enetent
+pp_eprotoent
+pp_eservent
+pp_gpwnam
+pp_gpwuid
+pp_gpwent
+pp_spwent
+pp_epwent
+pp_ggrnam
+pp_ggrgid
+pp_ggrent
+pp_sgrent
+pp_egrent
+pp_getlogin
+pp_syscall
+pp_lock
+pp_threadsv
diff --git a/pp_ctl.c b/pp_ctl.c
index 5a8cf00a86..c9ccb3ae1f 100644
--- a/pp_ctl.c
+++ b/pp_ctl.c
@@ -852,7 +852,7 @@ PP(pp_sort)
}
PL_sortcop = CvSTART(cv);
SAVESPTR(CvROOT(cv)->op_ppaddr);
- CvROOT(cv)->op_ppaddr = ppaddr[OP_NULL];
+ CvROOT(cv)->op_ppaddr = PL_ppaddr[OP_NULL];
SAVESPTR(PL_curpad);
PL_curpad = AvARRAY((AV*)AvARRAY(CvPADLIST(cv))[1]);
@@ -1047,22 +1047,22 @@ dopoptolabel(char *label)
case CXt_SUBST:
if (ckWARN(WARN_UNSAFE))
warner(WARN_UNSAFE, "Exiting substitution via %s",
- op_name[PL_op->op_type]);
+ PL_op_name[PL_op->op_type]);
break;
case CXt_SUB:
if (ckWARN(WARN_UNSAFE))
warner(WARN_UNSAFE, "Exiting subroutine via %s",
- op_name[PL_op->op_type]);
+ PL_op_name[PL_op->op_type]);
break;
case CXt_EVAL:
if (ckWARN(WARN_UNSAFE))
warner(WARN_UNSAFE, "Exiting eval via %s",
- op_name[PL_op->op_type]);
+ PL_op_name[PL_op->op_type]);
break;
case CXt_NULL:
if (ckWARN(WARN_UNSAFE))
warner(WARN_UNSAFE, "Exiting pseudo-block via %s",
- op_name[PL_op->op_type]);
+ PL_op_name[PL_op->op_type]);
return -1;
case CXt_LOOP:
if (!cx->blk_loop.label ||
@@ -1167,22 +1167,22 @@ dopoptoloop(I32 startingblock)
case CXt_SUBST:
if (ckWARN(WARN_UNSAFE))
warner(WARN_UNSAFE, "Exiting substitution via %s",
- op_name[PL_op->op_type]);
+ PL_op_name[PL_op->op_type]);
break;
case CXt_SUB:
if (ckWARN(WARN_UNSAFE))
warner(WARN_UNSAFE, "Exiting subroutine via %s",
- op_name[PL_op->op_type]);
+ PL_op_name[PL_op->op_type]);
break;
case CXt_EVAL:
if (ckWARN(WARN_UNSAFE))
warner(WARN_UNSAFE, "Exiting eval via %s",
- op_name[PL_op->op_type]);
+ PL_op_name[PL_op->op_type]);
break;
case CXt_NULL:
if (ckWARN(WARN_UNSAFE))
warner(WARN_UNSAFE, "Exiting pseudo-block via %s",
- op_name[PL_op->op_type]);
+ PL_op_name[PL_op->op_type]);
return -1;
case CXt_LOOP:
DEBUG_l( deb("(Found loop #%ld)\n", (long)i));
@@ -1203,7 +1203,7 @@ dounwind(I32 cxix)
while (cxstack_ix > cxix) {
cx = &cxstack[cxstack_ix];
DEBUG_l(PerlIO_printf(Perl_debug_log, "Unwinding block %ld, type %s\n",
- (long) cxstack_ix, block_type[CxTYPE(cx)]));
+ (long) cxstack_ix, PL_block_type[CxTYPE(cx)]));
/* Note: we don't need to restore the base context info till the end. */
switch (CxTYPE(cx)) {
case CXt_SUBST:
@@ -2459,7 +2459,7 @@ sv_compile_2op(SV *sv, OP** startop, char *code, AV** avp)
POPEVAL(cx);
(*startop)->op_type = OP_NULL;
- (*startop)->op_ppaddr = ppaddr[OP_NULL];
+ (*startop)->op_ppaddr = PL_ppaddr[OP_NULL];
lex_end();
*avp = (AV*)SvREFCNT_inc(PL_comppad);
LEAVE;
diff --git a/pp_hot.c b/pp_hot.c
index 53d42d83d9..26bf29cf8c 100644
--- a/pp_hot.c
+++ b/pp_hot.c
@@ -220,7 +220,7 @@ PP(pp_preinc)
{
djSP;
if (SvREADONLY(TOPs) || SvTYPE(TOPs) > SVt_PVLV)
- croak(no_modify);
+ croak(PL_no_modify);
if (SvIOK(TOPs) && !SvNOK(TOPs) && !SvPOK(TOPs) &&
SvIVX(TOPs) != IV_MAX)
{
@@ -438,16 +438,16 @@ PP(pp_rv2av)
if (!SvOK(sv)) {
if (PL_op->op_flags & OPf_REF ||
PL_op->op_private & HINT_STRICT_REFS)
- DIE(no_usym, "an ARRAY");
+ DIE(PL_no_usym, "an ARRAY");
if (ckWARN(WARN_UNINITIALIZED))
- warner(WARN_UNINITIALIZED, warn_uninit);
+ warner(WARN_UNINITIALIZED, PL_warn_uninit);
if (GIMME == G_ARRAY)
RETURN;
RETPUSHUNDEF;
}
sym = SvPV(sv,PL_na);
if (PL_op->op_private & HINT_STRICT_REFS)
- DIE(no_symref, sym, "an ARRAY");
+ DIE(PL_no_symref, sym, "an ARRAY");
gv = (GV*)gv_fetchpv(sym, TRUE, SVt_PVAV);
} else {
gv = (GV*)sv;
@@ -522,9 +522,9 @@ PP(pp_rv2hv)
if (!SvOK(sv)) {
if (PL_op->op_flags & OPf_REF ||
PL_op->op_private & HINT_STRICT_REFS)
- DIE(no_usym, "a HASH");
+ DIE(PL_no_usym, "a HASH");
if (ckWARN(WARN_UNINITIALIZED))
- warner(WARN_UNINITIALIZED, warn_uninit);
+ warner(WARN_UNINITIALIZED, PL_warn_uninit);
if (GIMME == G_ARRAY) {
SP--;
RETURN;
@@ -533,7 +533,7 @@ PP(pp_rv2hv)
}
sym = SvPV(sv,PL_na);
if (PL_op->op_private & HINT_STRICT_REFS)
- DIE(no_symref, sym, "a HASH");
+ DIE(PL_no_symref, sym, "a HASH");
gv = (GV*)gv_fetchpv(sym, TRUE, SVt_PVHV);
} else {
gv = (GV*)sv;
@@ -690,7 +690,7 @@ PP(pp_aassign)
if (SvTHINKFIRST(sv)) {
if (SvREADONLY(sv) && PL_curcop != &PL_compiling) {
if (!SvIMMORTAL(sv))
- DIE(no_modify);
+ DIE(PL_no_modify);
if (relem <= lastrelem)
relem++;
break;
@@ -1368,7 +1368,7 @@ PP(pp_helem)
SV* lv;
SV* key2;
if (!defer)
- DIE(no_helem, SvPV(keysv, PL_na));
+ DIE(PL_no_helem, SvPV(keysv, PL_na));
lv = sv_newmortal();
sv_upgrade(lv, SVt_PVLV);
LvTYPE(lv) = 'y';
@@ -1598,7 +1598,7 @@ PP(pp_subst)
if (SvREADONLY(TARG)
|| (SvTYPE(TARG) > SVt_PVLV
&& !(SvTYPE(TARG) == SVt_PVGV && SvFAKE(TARG))))
- croak(no_modify);
+ croak(PL_no_modify);
PUTBACK;
s = SvPV(TARG, len);
@@ -2010,9 +2010,9 @@ PP(pp_entersub)
else
sym = SvPV(sv, PL_na);
if (!sym)
- DIE(no_usym, "a subroutine");
+ DIE(PL_no_usym, "a subroutine");
if (PL_op->op_private & HINT_STRICT_REFS)
- DIE(no_symref, sym, "a subroutine");
+ DIE(PL_no_symref, sym, "a subroutine");
cv = perl_get_cv(sym, TRUE);
break;
}
@@ -2427,7 +2427,7 @@ PP(pp_aelem)
if (!svp || *svp == &PL_sv_undef) {
SV* lv;
if (!defer)
- DIE(no_aelem, elem);
+ DIE(PL_no_aelem, elem);
lv = sv_newmortal();
sv_upgrade(lv, SVt_PVLV);
LvTYPE(lv) = 'y';
@@ -2457,7 +2457,7 @@ vivify_ref(SV *sv, U32 to_what)
mg_get(sv);
if (!SvOK(sv)) {
if (SvREADONLY(sv))
- croak(no_modify);
+ croak(PL_no_modify);
if (SvTYPE(sv) < SVt_RV)
sv_upgrade(sv, SVt_RV);
else if (SvTYPE(sv) >= SVt_PV) {
diff --git a/pp_proto.h b/pp_proto.h
index ad82696849..76ac6f499c 100644
--- a/pp_proto.h
+++ b/pp_proto.h
@@ -1,344 +1,378 @@
-PPDEF(pp_null)
-PPDEF(pp_stub)
-PPDEF(pp_scalar)
-PPDEF(pp_pushmark)
-PPDEF(pp_wantarray)
-PPDEF(pp_const)
-PPDEF(pp_gvsv)
-PPDEF(pp_gv)
-PPDEF(pp_gelem)
-PPDEF(pp_padsv)
-PPDEF(pp_padav)
-PPDEF(pp_padhv)
-PPDEF(pp_padany)
-PPDEF(pp_pushre)
-PPDEF(pp_rv2gv)
-PPDEF(pp_rv2sv)
-PPDEF(pp_av2arylen)
-PPDEF(pp_rv2cv)
-PPDEF(pp_anoncode)
-PPDEF(pp_prototype)
-PPDEF(pp_refgen)
-PPDEF(pp_srefgen)
-PPDEF(pp_ref)
-PPDEF(pp_bless)
-PPDEF(pp_backtick)
-PPDEF(pp_glob)
-PPDEF(pp_readline)
-PPDEF(pp_rcatline)
-PPDEF(pp_regcmaybe)
-PPDEF(pp_regcreset)
-PPDEF(pp_regcomp)
-PPDEF(pp_match)
-PPDEF(pp_qr)
-PPDEF(pp_subst)
-PPDEF(pp_substcont)
-PPDEF(pp_trans)
-PPDEF(pp_sassign)
-PPDEF(pp_aassign)
-PPDEF(pp_chop)
-PPDEF(pp_schop)
-PPDEF(pp_chomp)
-PPDEF(pp_schomp)
-PPDEF(pp_defined)
-PPDEF(pp_undef)
-PPDEF(pp_study)
-PPDEF(pp_pos)
-PPDEF(pp_preinc)
-PPDEF(pp_predec)
-PPDEF(pp_postinc)
-PPDEF(pp_postdec)
-PPDEF(pp_pow)
-PPDEF(pp_multiply)
-PPDEF(pp_i_multiply)
-PPDEF(pp_divide)
-PPDEF(pp_i_divide)
-PPDEF(pp_modulo)
-PPDEF(pp_i_modulo)
-PPDEF(pp_repeat)
-PPDEF(pp_add)
-PPDEF(pp_i_add)
-PPDEF(pp_subtract)
-PPDEF(pp_i_subtract)
-PPDEF(pp_concat)
-PPDEF(pp_stringify)
-PPDEF(pp_left_shift)
-PPDEF(pp_right_shift)
-PPDEF(pp_lt)
-PPDEF(pp_i_lt)
-PPDEF(pp_gt)
-PPDEF(pp_i_gt)
-PPDEF(pp_le)
-PPDEF(pp_i_le)
-PPDEF(pp_ge)
-PPDEF(pp_i_ge)
-PPDEF(pp_eq)
-PPDEF(pp_i_eq)
-PPDEF(pp_ne)
-PPDEF(pp_i_ne)
-PPDEF(pp_ncmp)
-PPDEF(pp_i_ncmp)
-PPDEF(pp_slt)
-PPDEF(pp_sgt)
-PPDEF(pp_sle)
-PPDEF(pp_sge)
-PPDEF(pp_seq)
-PPDEF(pp_sne)
-PPDEF(pp_scmp)
-PPDEF(pp_bit_and)
-PPDEF(pp_bit_xor)
-PPDEF(pp_bit_or)
-PPDEF(pp_negate)
-PPDEF(pp_i_negate)
-PPDEF(pp_not)
-PPDEF(pp_complement)
-PPDEF(pp_atan2)
-PPDEF(pp_sin)
-PPDEF(pp_cos)
-PPDEF(pp_rand)
-PPDEF(pp_srand)
-PPDEF(pp_exp)
-PPDEF(pp_log)
-PPDEF(pp_sqrt)
-PPDEF(pp_int)
-PPDEF(pp_hex)
-PPDEF(pp_oct)
-PPDEF(pp_abs)
-PPDEF(pp_length)
-PPDEF(pp_substr)
-PPDEF(pp_vec)
-PPDEF(pp_index)
-PPDEF(pp_rindex)
-PPDEF(pp_sprintf)
-PPDEF(pp_formline)
-PPDEF(pp_ord)
-PPDEF(pp_chr)
-PPDEF(pp_crypt)
-PPDEF(pp_ucfirst)
-PPDEF(pp_lcfirst)
-PPDEF(pp_uc)
-PPDEF(pp_lc)
-PPDEF(pp_quotemeta)
-PPDEF(pp_rv2av)
-PPDEF(pp_aelemfast)
-PPDEF(pp_aelem)
-PPDEF(pp_aslice)
-PPDEF(pp_each)
-PPDEF(pp_values)
-PPDEF(pp_keys)
-PPDEF(pp_delete)
-PPDEF(pp_exists)
-PPDEF(pp_rv2hv)
-PPDEF(pp_helem)
-PPDEF(pp_hslice)
-PPDEF(pp_unpack)
-PPDEF(pp_pack)
-PPDEF(pp_split)
-PPDEF(pp_join)
-PPDEF(pp_list)
-PPDEF(pp_lslice)
-PPDEF(pp_anonlist)
-PPDEF(pp_anonhash)
-PPDEF(pp_splice)
-PPDEF(pp_push)
-PPDEF(pp_pop)
-PPDEF(pp_shift)
-PPDEF(pp_unshift)
-PPDEF(pp_sort)
-PPDEF(pp_reverse)
-PPDEF(pp_grepstart)
-PPDEF(pp_grepwhile)
-PPDEF(pp_mapstart)
-PPDEF(pp_mapwhile)
-PPDEF(pp_range)
-PPDEF(pp_flip)
-PPDEF(pp_flop)
-PPDEF(pp_and)
-PPDEF(pp_or)
-PPDEF(pp_xor)
-PPDEF(pp_cond_expr)
-PPDEF(pp_andassign)
-PPDEF(pp_orassign)
-PPDEF(pp_method)
-PPDEF(pp_entersub)
-PPDEF(pp_leavesub)
-PPDEF(pp_caller)
-PPDEF(pp_warn)
-PPDEF(pp_die)
-PPDEF(pp_reset)
-PPDEF(pp_lineseq)
-PPDEF(pp_nextstate)
-PPDEF(pp_dbstate)
-PPDEF(pp_unstack)
-PPDEF(pp_enter)
-PPDEF(pp_leave)
-PPDEF(pp_scope)
-PPDEF(pp_enteriter)
-PPDEF(pp_iter)
-PPDEF(pp_enterloop)
-PPDEF(pp_leaveloop)
-PPDEF(pp_return)
-PPDEF(pp_last)
-PPDEF(pp_next)
-PPDEF(pp_redo)
-PPDEF(pp_dump)
-PPDEF(pp_goto)
-PPDEF(pp_exit)
-PPDEF(pp_open)
-PPDEF(pp_close)
-PPDEF(pp_pipe_op)
-PPDEF(pp_fileno)
-PPDEF(pp_umask)
-PPDEF(pp_binmode)
-PPDEF(pp_tie)
-PPDEF(pp_untie)
-PPDEF(pp_tied)
-PPDEF(pp_dbmopen)
-PPDEF(pp_dbmclose)
-PPDEF(pp_sselect)
-PPDEF(pp_select)
-PPDEF(pp_getc)
-PPDEF(pp_read)
-PPDEF(pp_enterwrite)
-PPDEF(pp_leavewrite)
-PPDEF(pp_prtf)
-PPDEF(pp_print)
-PPDEF(pp_sysopen)
-PPDEF(pp_sysseek)
-PPDEF(pp_sysread)
-PPDEF(pp_syswrite)
-PPDEF(pp_send)
-PPDEF(pp_recv)
-PPDEF(pp_eof)
-PPDEF(pp_tell)
-PPDEF(pp_seek)
-PPDEF(pp_truncate)
-PPDEF(pp_fcntl)
-PPDEF(pp_ioctl)
-PPDEF(pp_flock)
-PPDEF(pp_socket)
-PPDEF(pp_sockpair)
-PPDEF(pp_bind)
-PPDEF(pp_connect)
-PPDEF(pp_listen)
-PPDEF(pp_accept)
-PPDEF(pp_shutdown)
-PPDEF(pp_gsockopt)
-PPDEF(pp_ssockopt)
-PPDEF(pp_getsockname)
-PPDEF(pp_getpeername)
-PPDEF(pp_lstat)
-PPDEF(pp_stat)
-PPDEF(pp_ftrread)
-PPDEF(pp_ftrwrite)
-PPDEF(pp_ftrexec)
-PPDEF(pp_fteread)
-PPDEF(pp_ftewrite)
-PPDEF(pp_fteexec)
-PPDEF(pp_ftis)
-PPDEF(pp_fteowned)
-PPDEF(pp_ftrowned)
-PPDEF(pp_ftzero)
-PPDEF(pp_ftsize)
-PPDEF(pp_ftmtime)
-PPDEF(pp_ftatime)
-PPDEF(pp_ftctime)
-PPDEF(pp_ftsock)
-PPDEF(pp_ftchr)
-PPDEF(pp_ftblk)
-PPDEF(pp_ftfile)
-PPDEF(pp_ftdir)
-PPDEF(pp_ftpipe)
-PPDEF(pp_ftlink)
-PPDEF(pp_ftsuid)
-PPDEF(pp_ftsgid)
-PPDEF(pp_ftsvtx)
-PPDEF(pp_fttty)
-PPDEF(pp_fttext)
-PPDEF(pp_ftbinary)
-PPDEF(pp_chdir)
-PPDEF(pp_chown)
-PPDEF(pp_chroot)
-PPDEF(pp_unlink)
-PPDEF(pp_chmod)
-PPDEF(pp_utime)
-PPDEF(pp_rename)
-PPDEF(pp_link)
-PPDEF(pp_symlink)
-PPDEF(pp_readlink)
-PPDEF(pp_mkdir)
-PPDEF(pp_rmdir)
-PPDEF(pp_open_dir)
-PPDEF(pp_readdir)
-PPDEF(pp_telldir)
-PPDEF(pp_seekdir)
-PPDEF(pp_rewinddir)
-PPDEF(pp_closedir)
-PPDEF(pp_fork)
-PPDEF(pp_wait)
-PPDEF(pp_waitpid)
-PPDEF(pp_system)
-PPDEF(pp_exec)
-PPDEF(pp_kill)
-PPDEF(pp_getppid)
-PPDEF(pp_getpgrp)
-PPDEF(pp_setpgrp)
-PPDEF(pp_getpriority)
-PPDEF(pp_setpriority)
-PPDEF(pp_time)
-PPDEF(pp_tms)
-PPDEF(pp_localtime)
-PPDEF(pp_gmtime)
-PPDEF(pp_alarm)
-PPDEF(pp_sleep)
-PPDEF(pp_shmget)
-PPDEF(pp_shmctl)
-PPDEF(pp_shmread)
-PPDEF(pp_shmwrite)
-PPDEF(pp_msgget)
-PPDEF(pp_msgctl)
-PPDEF(pp_msgsnd)
-PPDEF(pp_msgrcv)
-PPDEF(pp_semget)
-PPDEF(pp_semctl)
-PPDEF(pp_semop)
-PPDEF(pp_require)
-PPDEF(pp_dofile)
-PPDEF(pp_entereval)
-PPDEF(pp_leaveeval)
-PPDEF(pp_entertry)
-PPDEF(pp_leavetry)
-PPDEF(pp_ghbyname)
-PPDEF(pp_ghbyaddr)
-PPDEF(pp_ghostent)
-PPDEF(pp_gnbyname)
-PPDEF(pp_gnbyaddr)
-PPDEF(pp_gnetent)
-PPDEF(pp_gpbyname)
-PPDEF(pp_gpbynumber)
-PPDEF(pp_gprotoent)
-PPDEF(pp_gsbyname)
-PPDEF(pp_gsbyport)
-PPDEF(pp_gservent)
-PPDEF(pp_shostent)
-PPDEF(pp_snetent)
-PPDEF(pp_sprotoent)
-PPDEF(pp_sservent)
-PPDEF(pp_ehostent)
-PPDEF(pp_enetent)
-PPDEF(pp_eprotoent)
-PPDEF(pp_eservent)
-PPDEF(pp_gpwnam)
-PPDEF(pp_gpwuid)
-PPDEF(pp_gpwent)
-PPDEF(pp_spwent)
-PPDEF(pp_epwent)
-PPDEF(pp_ggrnam)
-PPDEF(pp_ggrgid)
-PPDEF(pp_ggrent)
-PPDEF(pp_sgrent)
-PPDEF(pp_egrent)
-PPDEF(pp_getlogin)
-PPDEF(pp_syscall)
-PPDEF(pp_lock)
-PPDEF(pp_threadsv)
+PERL_CKDEF(ck_anoncode)
+PERL_CKDEF(ck_bitop)
+PERL_CKDEF(ck_concat)
+PERL_CKDEF(ck_delete)
+PERL_CKDEF(ck_eof)
+PERL_CKDEF(ck_eval)
+PERL_CKDEF(ck_exec)
+PERL_CKDEF(ck_exists)
+PERL_CKDEF(ck_ftst)
+PERL_CKDEF(ck_fun)
+PERL_CKDEF(ck_fun_locale)
+PERL_CKDEF(ck_glob)
+PERL_CKDEF(ck_grep)
+PERL_CKDEF(ck_index)
+PERL_CKDEF(ck_lengthconst)
+PERL_CKDEF(ck_lfun)
+PERL_CKDEF(ck_listiob)
+PERL_CKDEF(ck_match)
+PERL_CKDEF(ck_null)
+PERL_CKDEF(ck_repeat)
+PERL_CKDEF(ck_require)
+PERL_CKDEF(ck_rfun)
+PERL_CKDEF(ck_rvconst)
+PERL_CKDEF(ck_scmp)
+PERL_CKDEF(ck_select)
+PERL_CKDEF(ck_shift)
+PERL_CKDEF(ck_sort)
+PERL_CKDEF(ck_spair)
+PERL_CKDEF(ck_split)
+PERL_CKDEF(ck_subr)
+PERL_CKDEF(ck_svconst)
+PERL_CKDEF(ck_trunc)
+
+
+PERL_PPDEF(pp_null)
+PERL_PPDEF(pp_stub)
+PERL_PPDEF(pp_scalar)
+PERL_PPDEF(pp_pushmark)
+PERL_PPDEF(pp_wantarray)
+PERL_PPDEF(pp_const)
+PERL_PPDEF(pp_gvsv)
+PERL_PPDEF(pp_gv)
+PERL_PPDEF(pp_gelem)
+PERL_PPDEF(pp_padsv)
+PERL_PPDEF(pp_padav)
+PERL_PPDEF(pp_padhv)
+PERL_PPDEF(pp_padany)
+PERL_PPDEF(pp_pushre)
+PERL_PPDEF(pp_rv2gv)
+PERL_PPDEF(pp_rv2sv)
+PERL_PPDEF(pp_av2arylen)
+PERL_PPDEF(pp_rv2cv)
+PERL_PPDEF(pp_anoncode)
+PERL_PPDEF(pp_prototype)
+PERL_PPDEF(pp_refgen)
+PERL_PPDEF(pp_srefgen)
+PERL_PPDEF(pp_ref)
+PERL_PPDEF(pp_bless)
+PERL_PPDEF(pp_backtick)
+PERL_PPDEF(pp_glob)
+PERL_PPDEF(pp_readline)
+PERL_PPDEF(pp_rcatline)
+PERL_PPDEF(pp_regcmaybe)
+PERL_PPDEF(pp_regcreset)
+PERL_PPDEF(pp_regcomp)
+PERL_PPDEF(pp_match)
+PERL_PPDEF(pp_qr)
+PERL_PPDEF(pp_subst)
+PERL_PPDEF(pp_substcont)
+PERL_PPDEF(pp_trans)
+PERL_PPDEF(pp_sassign)
+PERL_PPDEF(pp_aassign)
+PERL_PPDEF(pp_chop)
+PERL_PPDEF(pp_schop)
+PERL_PPDEF(pp_chomp)
+PERL_PPDEF(pp_schomp)
+PERL_PPDEF(pp_defined)
+PERL_PPDEF(pp_undef)
+PERL_PPDEF(pp_study)
+PERL_PPDEF(pp_pos)
+PERL_PPDEF(pp_preinc)
+PERL_PPDEF(pp_predec)
+PERL_PPDEF(pp_postinc)
+PERL_PPDEF(pp_postdec)
+PERL_PPDEF(pp_pow)
+PERL_PPDEF(pp_multiply)
+PERL_PPDEF(pp_i_multiply)
+PERL_PPDEF(pp_divide)
+PERL_PPDEF(pp_i_divide)
+PERL_PPDEF(pp_modulo)
+PERL_PPDEF(pp_i_modulo)
+PERL_PPDEF(pp_repeat)
+PERL_PPDEF(pp_add)
+PERL_PPDEF(pp_i_add)
+PERL_PPDEF(pp_subtract)
+PERL_PPDEF(pp_i_subtract)
+PERL_PPDEF(pp_concat)
+PERL_PPDEF(pp_stringify)
+PERL_PPDEF(pp_left_shift)
+PERL_PPDEF(pp_right_shift)
+PERL_PPDEF(pp_lt)
+PERL_PPDEF(pp_i_lt)
+PERL_PPDEF(pp_gt)
+PERL_PPDEF(pp_i_gt)
+PERL_PPDEF(pp_le)
+PERL_PPDEF(pp_i_le)
+PERL_PPDEF(pp_ge)
+PERL_PPDEF(pp_i_ge)
+PERL_PPDEF(pp_eq)
+PERL_PPDEF(pp_i_eq)
+PERL_PPDEF(pp_ne)
+PERL_PPDEF(pp_i_ne)
+PERL_PPDEF(pp_ncmp)
+PERL_PPDEF(pp_i_ncmp)
+PERL_PPDEF(pp_slt)
+PERL_PPDEF(pp_sgt)
+PERL_PPDEF(pp_sle)
+PERL_PPDEF(pp_sge)
+PERL_PPDEF(pp_seq)
+PERL_PPDEF(pp_sne)
+PERL_PPDEF(pp_scmp)
+PERL_PPDEF(pp_bit_and)
+PERL_PPDEF(pp_bit_xor)
+PERL_PPDEF(pp_bit_or)
+PERL_PPDEF(pp_negate)
+PERL_PPDEF(pp_i_negate)
+PERL_PPDEF(pp_not)
+PERL_PPDEF(pp_complement)
+PERL_PPDEF(pp_atan2)
+PERL_PPDEF(pp_sin)
+PERL_PPDEF(pp_cos)
+PERL_PPDEF(pp_rand)
+PERL_PPDEF(pp_srand)
+PERL_PPDEF(pp_exp)
+PERL_PPDEF(pp_log)
+PERL_PPDEF(pp_sqrt)
+PERL_PPDEF(pp_int)
+PERL_PPDEF(pp_hex)
+PERL_PPDEF(pp_oct)
+PERL_PPDEF(pp_abs)
+PERL_PPDEF(pp_length)
+PERL_PPDEF(pp_substr)
+PERL_PPDEF(pp_vec)
+PERL_PPDEF(pp_index)
+PERL_PPDEF(pp_rindex)
+PERL_PPDEF(pp_sprintf)
+PERL_PPDEF(pp_formline)
+PERL_PPDEF(pp_ord)
+PERL_PPDEF(pp_chr)
+PERL_PPDEF(pp_crypt)
+PERL_PPDEF(pp_ucfirst)
+PERL_PPDEF(pp_lcfirst)
+PERL_PPDEF(pp_uc)
+PERL_PPDEF(pp_lc)
+PERL_PPDEF(pp_quotemeta)
+PERL_PPDEF(pp_rv2av)
+PERL_PPDEF(pp_aelemfast)
+PERL_PPDEF(pp_aelem)
+PERL_PPDEF(pp_aslice)
+PERL_PPDEF(pp_each)
+PERL_PPDEF(pp_values)
+PERL_PPDEF(pp_keys)
+PERL_PPDEF(pp_delete)
+PERL_PPDEF(pp_exists)
+PERL_PPDEF(pp_rv2hv)
+PERL_PPDEF(pp_helem)
+PERL_PPDEF(pp_hslice)
+PERL_PPDEF(pp_unpack)
+PERL_PPDEF(pp_pack)
+PERL_PPDEF(pp_split)
+PERL_PPDEF(pp_join)
+PERL_PPDEF(pp_list)
+PERL_PPDEF(pp_lslice)
+PERL_PPDEF(pp_anonlist)
+PERL_PPDEF(pp_anonhash)
+PERL_PPDEF(pp_splice)
+PERL_PPDEF(pp_push)
+PERL_PPDEF(pp_pop)
+PERL_PPDEF(pp_shift)
+PERL_PPDEF(pp_unshift)
+PERL_PPDEF(pp_sort)
+PERL_PPDEF(pp_reverse)
+PERL_PPDEF(pp_grepstart)
+PERL_PPDEF(pp_grepwhile)
+PERL_PPDEF(pp_mapstart)
+PERL_PPDEF(pp_mapwhile)
+PERL_PPDEF(pp_range)
+PERL_PPDEF(pp_flip)
+PERL_PPDEF(pp_flop)
+PERL_PPDEF(pp_and)
+PERL_PPDEF(pp_or)
+PERL_PPDEF(pp_xor)
+PERL_PPDEF(pp_cond_expr)
+PERL_PPDEF(pp_andassign)
+PERL_PPDEF(pp_orassign)
+PERL_PPDEF(pp_method)
+PERL_PPDEF(pp_entersub)
+PERL_PPDEF(pp_leavesub)
+PERL_PPDEF(pp_caller)
+PERL_PPDEF(pp_warn)
+PERL_PPDEF(pp_die)
+PERL_PPDEF(pp_reset)
+PERL_PPDEF(pp_lineseq)
+PERL_PPDEF(pp_nextstate)
+PERL_PPDEF(pp_dbstate)
+PERL_PPDEF(pp_unstack)
+PERL_PPDEF(pp_enter)
+PERL_PPDEF(pp_leave)
+PERL_PPDEF(pp_scope)
+PERL_PPDEF(pp_enteriter)
+PERL_PPDEF(pp_iter)
+PERL_PPDEF(pp_enterloop)
+PERL_PPDEF(pp_leaveloop)
+PERL_PPDEF(pp_return)
+PERL_PPDEF(pp_last)
+PERL_PPDEF(pp_next)
+PERL_PPDEF(pp_redo)
+PERL_PPDEF(pp_dump)
+PERL_PPDEF(pp_goto)
+PERL_PPDEF(pp_exit)
+PERL_PPDEF(pp_open)
+PERL_PPDEF(pp_close)
+PERL_PPDEF(pp_pipe_op)
+PERL_PPDEF(pp_fileno)
+PERL_PPDEF(pp_umask)
+PERL_PPDEF(pp_binmode)
+PERL_PPDEF(pp_tie)
+PERL_PPDEF(pp_untie)
+PERL_PPDEF(pp_tied)
+PERL_PPDEF(pp_dbmopen)
+PERL_PPDEF(pp_dbmclose)
+PERL_PPDEF(pp_sselect)
+PERL_PPDEF(pp_select)
+PERL_PPDEF(pp_getc)
+PERL_PPDEF(pp_read)
+PERL_PPDEF(pp_enterwrite)
+PERL_PPDEF(pp_leavewrite)
+PERL_PPDEF(pp_prtf)
+PERL_PPDEF(pp_print)
+PERL_PPDEF(pp_sysopen)
+PERL_PPDEF(pp_sysseek)
+PERL_PPDEF(pp_sysread)
+PERL_PPDEF(pp_syswrite)
+PERL_PPDEF(pp_send)
+PERL_PPDEF(pp_recv)
+PERL_PPDEF(pp_eof)
+PERL_PPDEF(pp_tell)
+PERL_PPDEF(pp_seek)
+PERL_PPDEF(pp_truncate)
+PERL_PPDEF(pp_fcntl)
+PERL_PPDEF(pp_ioctl)
+PERL_PPDEF(pp_flock)
+PERL_PPDEF(pp_socket)
+PERL_PPDEF(pp_sockpair)
+PERL_PPDEF(pp_bind)
+PERL_PPDEF(pp_connect)
+PERL_PPDEF(pp_listen)
+PERL_PPDEF(pp_accept)
+PERL_PPDEF(pp_shutdown)
+PERL_PPDEF(pp_gsockopt)
+PERL_PPDEF(pp_ssockopt)
+PERL_PPDEF(pp_getsockname)
+PERL_PPDEF(pp_getpeername)
+PERL_PPDEF(pp_lstat)
+PERL_PPDEF(pp_stat)
+PERL_PPDEF(pp_ftrread)
+PERL_PPDEF(pp_ftrwrite)
+PERL_PPDEF(pp_ftrexec)
+PERL_PPDEF(pp_fteread)
+PERL_PPDEF(pp_ftewrite)
+PERL_PPDEF(pp_fteexec)
+PERL_PPDEF(pp_ftis)
+PERL_PPDEF(pp_fteowned)
+PERL_PPDEF(pp_ftrowned)
+PERL_PPDEF(pp_ftzero)
+PERL_PPDEF(pp_ftsize)
+PERL_PPDEF(pp_ftmtime)
+PERL_PPDEF(pp_ftatime)
+PERL_PPDEF(pp_ftctime)
+PERL_PPDEF(pp_ftsock)
+PERL_PPDEF(pp_ftchr)
+PERL_PPDEF(pp_ftblk)
+PERL_PPDEF(pp_ftfile)
+PERL_PPDEF(pp_ftdir)
+PERL_PPDEF(pp_ftpipe)
+PERL_PPDEF(pp_ftlink)
+PERL_PPDEF(pp_ftsuid)
+PERL_PPDEF(pp_ftsgid)
+PERL_PPDEF(pp_ftsvtx)
+PERL_PPDEF(pp_fttty)
+PERL_PPDEF(pp_fttext)
+PERL_PPDEF(pp_ftbinary)
+PERL_PPDEF(pp_chdir)
+PERL_PPDEF(pp_chown)
+PERL_PPDEF(pp_chroot)
+PERL_PPDEF(pp_unlink)
+PERL_PPDEF(pp_chmod)
+PERL_PPDEF(pp_utime)
+PERL_PPDEF(pp_rename)
+PERL_PPDEF(pp_link)
+PERL_PPDEF(pp_symlink)
+PERL_PPDEF(pp_readlink)
+PERL_PPDEF(pp_mkdir)
+PERL_PPDEF(pp_rmdir)
+PERL_PPDEF(pp_open_dir)
+PERL_PPDEF(pp_readdir)
+PERL_PPDEF(pp_telldir)
+PERL_PPDEF(pp_seekdir)
+PERL_PPDEF(pp_rewinddir)
+PERL_PPDEF(pp_closedir)
+PERL_PPDEF(pp_fork)
+PERL_PPDEF(pp_wait)
+PERL_PPDEF(pp_waitpid)
+PERL_PPDEF(pp_system)
+PERL_PPDEF(pp_exec)
+PERL_PPDEF(pp_kill)
+PERL_PPDEF(pp_getppid)
+PERL_PPDEF(pp_getpgrp)
+PERL_PPDEF(pp_setpgrp)
+PERL_PPDEF(pp_getpriority)
+PERL_PPDEF(pp_setpriority)
+PERL_PPDEF(pp_time)
+PERL_PPDEF(pp_tms)
+PERL_PPDEF(pp_localtime)
+PERL_PPDEF(pp_gmtime)
+PERL_PPDEF(pp_alarm)
+PERL_PPDEF(pp_sleep)
+PERL_PPDEF(pp_shmget)
+PERL_PPDEF(pp_shmctl)
+PERL_PPDEF(pp_shmread)
+PERL_PPDEF(pp_shmwrite)
+PERL_PPDEF(pp_msgget)
+PERL_PPDEF(pp_msgctl)
+PERL_PPDEF(pp_msgsnd)
+PERL_PPDEF(pp_msgrcv)
+PERL_PPDEF(pp_semget)
+PERL_PPDEF(pp_semctl)
+PERL_PPDEF(pp_semop)
+PERL_PPDEF(pp_require)
+PERL_PPDEF(pp_dofile)
+PERL_PPDEF(pp_entereval)
+PERL_PPDEF(pp_leaveeval)
+PERL_PPDEF(pp_entertry)
+PERL_PPDEF(pp_leavetry)
+PERL_PPDEF(pp_ghbyname)
+PERL_PPDEF(pp_ghbyaddr)
+PERL_PPDEF(pp_ghostent)
+PERL_PPDEF(pp_gnbyname)
+PERL_PPDEF(pp_gnbyaddr)
+PERL_PPDEF(pp_gnetent)
+PERL_PPDEF(pp_gpbyname)
+PERL_PPDEF(pp_gpbynumber)
+PERL_PPDEF(pp_gprotoent)
+PERL_PPDEF(pp_gsbyname)
+PERL_PPDEF(pp_gsbyport)
+PERL_PPDEF(pp_gservent)
+PERL_PPDEF(pp_shostent)
+PERL_PPDEF(pp_snetent)
+PERL_PPDEF(pp_sprotoent)
+PERL_PPDEF(pp_sservent)
+PERL_PPDEF(pp_ehostent)
+PERL_PPDEF(pp_enetent)
+PERL_PPDEF(pp_eprotoent)
+PERL_PPDEF(pp_eservent)
+PERL_PPDEF(pp_gpwnam)
+PERL_PPDEF(pp_gpwuid)
+PERL_PPDEF(pp_gpwent)
+PERL_PPDEF(pp_spwent)
+PERL_PPDEF(pp_epwent)
+PERL_PPDEF(pp_ggrnam)
+PERL_PPDEF(pp_ggrgid)
+PERL_PPDEF(pp_ggrent)
+PERL_PPDEF(pp_sgrent)
+PERL_PPDEF(pp_egrent)
+PERL_PPDEF(pp_getlogin)
+PERL_PPDEF(pp_syscall)
+PERL_PPDEF(pp_lock)
+PERL_PPDEF(pp_threadsv)
diff --git a/pp_sys.c b/pp_sys.c
index 32ce19f72c..6ab33d41f8 100644
--- a/pp_sys.c
+++ b/pp_sys.c
@@ -359,7 +359,7 @@ PP(pp_glob)
* so for security reasons we must assume the worst.
*/
TAINT;
- taint_proper(no_security, "glob");
+ taint_proper(PL_no_security, "glob");
}
#endif /* !VMS */
@@ -484,12 +484,12 @@ PP(pp_open)
if (MAXARG > 1)
sv = POPs;
if (!isGV(TOPs))
- DIE(no_usym, "filehandle");
+ DIE(PL_no_usym, "filehandle");
if (MAXARG <= 1)
sv = GvSV(TOPs);
gv = (GV*)POPs;
if (!isGV(gv))
- DIE(no_usym, "filehandle");
+ DIE(PL_no_usym, "filehandle");
if (GvIOp(gv))
IoFLAGS(GvIOp(gv)) &= ~IOf_UNTAINT;
tmps = SvPV(sv, len);
@@ -545,7 +545,7 @@ PP(pp_pipe_op)
goto badexit;
if (SvTYPE(rgv) != SVt_PVGV || SvTYPE(wgv) != SVt_PVGV)
- DIE(no_usym, "filehandle");
+ DIE(PL_no_usym, "filehandle");
rstio = GvIOn(rgv);
wstio = GvIOn(wgv);
@@ -576,7 +576,7 @@ PP(pp_pipe_op)
badexit:
RETPUSHUNDEF;
#else
- DIE(no_func, "pipe");
+ DIE(PL_no_func, "pipe");
#endif
}
@@ -1404,7 +1404,7 @@ PP(pp_sysread)
}
#else
if (PL_op->op_type == OP_RECV)
- DIE(no_sock_func, "recv");
+ DIE(PL_no_sock_func, "recv");
#endif
if (offset < 0) {
if (-offset > blen)
@@ -1542,7 +1542,7 @@ PP(pp_send)
#else
else
- DIE(no_sock_func, "send");
+ DIE(PL_no_sock_func, "send");
#endif
if (length < 0)
goto say_undef;
@@ -1733,7 +1733,7 @@ PP(pp_ioctl)
if (SvPOK(argsv)) {
if (s[SvCUR(argsv)] != 17)
DIE("Possible memory corruption: %s overflowed 3rd argument",
- op_name[optype]);
+ PL_op_name[optype]);
s[SvCUR(argsv)] = 0; /* put our null back */
SvSETMAGIC(argsv); /* Assume it has changed */
}
@@ -1776,7 +1776,7 @@ PP(pp_flock)
PUSHi(value);
RETURN;
#else
- DIE(no_func, "flock()");
+ DIE(PL_no_func, "flock()");
#endif
}
@@ -1820,7 +1820,7 @@ PP(pp_socket)
RETPUSHYES;
#else
- DIE(no_sock_func, "socket");
+ DIE(PL_no_sock_func, "socket");
#endif
}
@@ -1870,7 +1870,7 @@ PP(pp_sockpair)
RETPUSHYES;
#else
- DIE(no_sock_func, "socketpair");
+ DIE(PL_no_sock_func, "socketpair");
#endif
}
@@ -1929,7 +1929,7 @@ nuts:
SETERRNO(EBADF,SS$_IVCHAN);
RETPUSHUNDEF;
#else
- DIE(no_sock_func, "bind");
+ DIE(PL_no_sock_func, "bind");
#endif
}
@@ -1959,7 +1959,7 @@ nuts:
SETERRNO(EBADF,SS$_IVCHAN);
RETPUSHUNDEF;
#else
- DIE(no_sock_func, "connect");
+ DIE(PL_no_sock_func, "connect");
#endif
}
@@ -1985,7 +1985,7 @@ nuts:
SETERRNO(EBADF,SS$_IVCHAN);
RETPUSHUNDEF;
#else
- DIE(no_sock_func, "listen");
+ DIE(PL_no_sock_func, "listen");
#endif
}
@@ -2042,7 +2042,7 @@ badexit:
RETPUSHUNDEF;
#else
- DIE(no_sock_func, "accept");
+ DIE(PL_no_sock_func, "accept");
#endif
}
@@ -2066,7 +2066,7 @@ nuts:
SETERRNO(EBADF,SS$_IVCHAN);
RETPUSHUNDEF;
#else
- DIE(no_sock_func, "shutdown");
+ DIE(PL_no_sock_func, "shutdown");
#endif
}
@@ -2075,7 +2075,7 @@ PP(pp_gsockopt)
#ifdef HAS_SOCKET
return pp_ssockopt(ARGS);
#else
- DIE(no_sock_func, "getsockopt");
+ DIE(PL_no_sock_func, "getsockopt");
#endif
}
@@ -2146,7 +2146,7 @@ nuts2:
RETPUSHUNDEF;
#else
- DIE(no_sock_func, "setsockopt");
+ DIE(PL_no_sock_func, "setsockopt");
#endif
}
@@ -2155,7 +2155,7 @@ PP(pp_getsockname)
#ifdef HAS_SOCKET
return pp_getpeername(ARGS);
#else
- DIE(no_sock_func, "getsockname");
+ DIE(PL_no_sock_func, "getsockname");
#endif
}
@@ -2219,7 +2219,7 @@ nuts2:
RETPUSHUNDEF;
#else
- DIE(no_sock_func, "getpeername");
+ DIE(PL_no_sock_func, "getpeername");
#endif
}
@@ -2271,7 +2271,7 @@ PP(pp_stat)
PL_laststatval = PerlLIO_stat(SvPV(PL_statname, PL_na), &PL_statcache);
if (PL_laststatval < 0) {
if (ckWARN(WARN_NEWLINE) && strchr(SvPV(PL_statname, PL_na), '\n'))
- warner(WARN_NEWLINE, warn_nl, "stat");
+ warner(WARN_NEWLINE, PL_warn_nl, "stat");
max = 0;
}
}
@@ -2785,7 +2785,7 @@ PP(pp_fttext)
#endif
if (i < 0) {
if (ckWARN(WARN_NEWLINE) && strchr(SvPV(sv, PL_na), '\n'))
- warner(WARN_NEWLINE, warn_nl, "open");
+ warner(WARN_NEWLINE, PL_warn_nl, "open");
RETPUSHUNDEF;
}
PL_laststatval = PerlLIO_fstat(i, &PL_statcache);
@@ -2882,7 +2882,7 @@ PP(pp_chown)
PUSHi(value);
RETURN;
#else
- DIE(no_func, "Unsupported function chown");
+ DIE(PL_no_func, "Unsupported function chown");
#endif
}
@@ -2896,7 +2896,7 @@ PP(pp_chroot)
PUSHi( chroot(tmps) >= 0 );
RETURN;
#else
- DIE(no_func, "chroot");
+ DIE(PL_no_func, "chroot");
#endif
}
@@ -2965,7 +2965,7 @@ PP(pp_link)
TAINT_PROPER("link");
SETi( link(tmps, tmps2) >= 0 );
#else
- DIE(no_func, "Unsupported function link");
+ DIE(PL_no_func, "Unsupported function link");
#endif
RETURN;
}
@@ -2980,7 +2980,7 @@ PP(pp_symlink)
SETi( symlink(tmps, tmps2) >= 0 );
RETURN;
#else
- DIE(no_func, "symlink");
+ DIE(PL_no_func, "symlink");
#endif
}
@@ -3157,7 +3157,7 @@ nope:
SETERRNO(EBADF,RMS$_DIR);
RETPUSHUNDEF;
#else
- DIE(no_dir_func, "opendir");
+ DIE(PL_no_dir_func, "opendir");
#endif
}
@@ -3213,7 +3213,7 @@ nope:
else
RETPUSHUNDEF;
#else
- DIE(no_dir_func, "readdir");
+ DIE(PL_no_dir_func, "readdir");
#endif
}
@@ -3237,7 +3237,7 @@ nope:
SETERRNO(EBADF,RMS$_ISI);
RETPUSHUNDEF;
#else
- DIE(no_dir_func, "telldir");
+ DIE(PL_no_dir_func, "telldir");
#endif
}
@@ -3260,7 +3260,7 @@ nope:
SETERRNO(EBADF,RMS$_ISI);
RETPUSHUNDEF;
#else
- DIE(no_dir_func, "seekdir");
+ DIE(PL_no_dir_func, "seekdir");
#endif
}
@@ -3281,7 +3281,7 @@ nope:
SETERRNO(EBADF,RMS$_ISI);
RETPUSHUNDEF;
#else
- DIE(no_dir_func, "rewinddir");
+ DIE(PL_no_dir_func, "rewinddir");
#endif
}
@@ -3311,7 +3311,7 @@ nope:
SETERRNO(EBADF,RMS$_IFI);
RETPUSHUNDEF;
#else
- DIE(no_dir_func, "closedir");
+ DIE(PL_no_dir_func, "closedir");
#endif
}
@@ -3337,7 +3337,7 @@ PP(pp_fork)
PUSHi(childpid);
RETURN;
#else
- DIE(no_func, "Unsupported function fork");
+ DIE(PL_no_func, "Unsupported function fork");
#endif
}
@@ -3353,7 +3353,7 @@ PP(pp_wait)
XPUSHi(childpid);
RETURN;
#else
- DIE(no_func, "Unsupported function wait");
+ DIE(PL_no_func, "Unsupported function wait");
#endif
}
@@ -3372,7 +3372,7 @@ PP(pp_waitpid)
SETi(childpid);
RETURN;
#else
- DIE(no_func, "Unsupported function waitpid");
+ DIE(PL_no_func, "Unsupported function waitpid");
#endif
}
@@ -3498,7 +3498,7 @@ PP(pp_kill)
PUSHi(value);
RETURN;
#else
- DIE(no_func, "Unsupported function kill");
+ DIE(PL_no_func, "Unsupported function kill");
#endif
}
@@ -3509,7 +3509,7 @@ PP(pp_getppid)
XPUSHi( getppid() );
RETURN;
#else
- DIE(no_func, "getppid");
+ DIE(PL_no_func, "getppid");
#endif
}
@@ -3534,7 +3534,7 @@ PP(pp_getpgrp)
XPUSHi(value);
RETURN;
#else
- DIE(no_func, "getpgrp()");
+ DIE(PL_no_func, "getpgrp()");
#endif
}
@@ -3563,7 +3563,7 @@ PP(pp_setpgrp)
#endif /* USE_BSDPGRP */
RETURN;
#else
- DIE(no_func, "setpgrp()");
+ DIE(PL_no_func, "setpgrp()");
#endif
}
@@ -3578,7 +3578,7 @@ PP(pp_getpriority)
SETi( getpriority(which, who) );
RETURN;
#else
- DIE(no_func, "getpriority()");
+ DIE(PL_no_func, "getpriority()");
#endif
}
@@ -3596,7 +3596,7 @@ PP(pp_setpriority)
SETi( setpriority(which, who, niceval) >= 0 );
RETURN;
#else
- DIE(no_func, "setpriority()");
+ DIE(PL_no_func, "setpriority()");
#endif
}
@@ -3728,7 +3728,7 @@ PP(pp_alarm)
PUSHi((I32)anum);
RETURN;
#else
- DIE(no_func, "Unsupported function alarm");
+ DIE(PL_no_func, "Unsupported function alarm");
#endif
}
@@ -3876,7 +3876,7 @@ PP(pp_ghbyname)
#ifdef HAS_GETHOSTBYNAME
return pp_ghostent(ARGS);
#else
- DIE(no_sock_func, "gethostbyname");
+ DIE(PL_no_sock_func, "gethostbyname");
#endif
}
@@ -3885,7 +3885,7 @@ PP(pp_ghbyaddr)
#ifdef HAS_GETHOSTBYADDR
return pp_ghostent(ARGS);
#else
- DIE(no_sock_func, "gethostbyaddr");
+ DIE(PL_no_sock_func, "gethostbyaddr");
#endif
}
@@ -3909,7 +3909,7 @@ PP(pp_ghostent)
#ifdef HAS_GETHOSTBYNAME
hent = PerlSock_gethostbyname(POPp);
#else
- DIE(no_sock_func, "gethostbyname");
+ DIE(PL_no_sock_func, "gethostbyname");
#endif
else if (which == OP_GHBYADDR) {
#ifdef HAS_GETHOSTBYADDR
@@ -3920,14 +3920,14 @@ PP(pp_ghostent)
hent = PerlSock_gethostbyaddr(addr, (Netdb_hlen_t) addrlen, addrtype);
#else
- DIE(no_sock_func, "gethostbyaddr");
+ DIE(PL_no_sock_func, "gethostbyaddr");
#endif
}
else
#ifdef HAS_GETHOSTENT
hent = PerlSock_gethostent();
#else
- DIE(no_sock_func, "gethostent");
+ DIE(PL_no_sock_func, "gethostent");
#endif
#ifdef HOST_NOT_FOUND
@@ -3975,7 +3975,7 @@ PP(pp_ghostent)
}
RETURN;
#else
- DIE(no_sock_func, "gethostent");
+ DIE(PL_no_sock_func, "gethostent");
#endif
}
@@ -3984,7 +3984,7 @@ PP(pp_gnbyname)
#ifdef HAS_GETNETBYNAME
return pp_gnetent(ARGS);
#else
- DIE(no_sock_func, "getnetbyname");
+ DIE(PL_no_sock_func, "getnetbyname");
#endif
}
@@ -3993,7 +3993,7 @@ PP(pp_gnbyaddr)
#ifdef HAS_GETNETBYADDR
return pp_gnetent(ARGS);
#else
- DIE(no_sock_func, "getnetbyaddr");
+ DIE(PL_no_sock_func, "getnetbyaddr");
#endif
}
@@ -4015,7 +4015,7 @@ PP(pp_gnetent)
#ifdef HAS_GETNETBYNAME
nent = PerlSock_getnetbyname(POPp);
#else
- DIE(no_sock_func, "getnetbyname");
+ DIE(PL_no_sock_func, "getnetbyname");
#endif
else if (which == OP_GNBYADDR) {
#ifdef HAS_GETNETBYADDR
@@ -4023,14 +4023,14 @@ PP(pp_gnetent)
Netdb_net_t addr = (Netdb_net_t) U_L(POPn);
nent = PerlSock_getnetbyaddr(addr, addrtype);
#else
- DIE(no_sock_func, "getnetbyaddr");
+ DIE(PL_no_sock_func, "getnetbyaddr");
#endif
}
else
#ifdef HAS_GETNETENT
nent = PerlSock_getnetent();
#else
- DIE(no_sock_func, "getnetent");
+ DIE(PL_no_sock_func, "getnetent");
#endif
EXTEND(SP, 4);
@@ -4062,7 +4062,7 @@ PP(pp_gnetent)
RETURN;
#else
- DIE(no_sock_func, "getnetent");
+ DIE(PL_no_sock_func, "getnetent");
#endif
}
@@ -4071,7 +4071,7 @@ PP(pp_gpbyname)
#ifdef HAS_GETPROTOBYNAME
return pp_gprotoent(ARGS);
#else
- DIE(no_sock_func, "getprotobyname");
+ DIE(PL_no_sock_func, "getprotobyname");
#endif
}
@@ -4080,7 +4080,7 @@ PP(pp_gpbynumber)
#ifdef HAS_GETPROTOBYNUMBER
return pp_gprotoent(ARGS);
#else
- DIE(no_sock_func, "getprotobynumber");
+ DIE(PL_no_sock_func, "getprotobynumber");
#endif
}
@@ -4102,19 +4102,19 @@ PP(pp_gprotoent)
#ifdef HAS_GETPROTOBYNAME
pent = PerlSock_getprotobyname(POPp);
#else
- DIE(no_sock_func, "getprotobyname");
+ DIE(PL_no_sock_func, "getprotobyname");
#endif
else if (which == OP_GPBYNUMBER)
#ifdef HAS_GETPROTOBYNUMBER
pent = PerlSock_getprotobynumber(POPi);
#else
- DIE(no_sock_func, "getprotobynumber");
+ DIE(PL_no_sock_func, "getprotobynumber");
#endif
else
#ifdef HAS_GETPROTOENT
pent = PerlSock_getprotoent();
#else
- DIE(no_sock_func, "getprotoent");
+ DIE(PL_no_sock_func, "getprotoent");
#endif
EXTEND(SP, 3);
@@ -4144,7 +4144,7 @@ PP(pp_gprotoent)
RETURN;
#else
- DIE(no_sock_func, "getprotoent");
+ DIE(PL_no_sock_func, "getprotoent");
#endif
}
@@ -4153,7 +4153,7 @@ PP(pp_gsbyname)
#ifdef HAS_GETSERVBYNAME
return pp_gservent(ARGS);
#else
- DIE(no_sock_func, "getservbyname");
+ DIE(PL_no_sock_func, "getservbyname");
#endif
}
@@ -4162,7 +4162,7 @@ PP(pp_gsbyport)
#ifdef HAS_GETSERVBYPORT
return pp_gservent(ARGS);
#else
- DIE(no_sock_func, "getservbyport");
+ DIE(PL_no_sock_func, "getservbyport");
#endif
}
@@ -4190,7 +4190,7 @@ PP(pp_gservent)
sent = PerlSock_getservbyname(name, proto);
#else
- DIE(no_sock_func, "getservbyname");
+ DIE(PL_no_sock_func, "getservbyname");
#endif
}
else if (which == OP_GSBYPORT) {
@@ -4203,14 +4203,14 @@ PP(pp_gservent)
#endif
sent = PerlSock_getservbyport(port, proto);
#else
- DIE(no_sock_func, "getservbyport");
+ DIE(PL_no_sock_func, "getservbyport");
#endif
}
else
#ifdef HAS_GETSERVENT
sent = PerlSock_getservent();
#else
- DIE(no_sock_func, "getservent");
+ DIE(PL_no_sock_func, "getservent");
#endif
EXTEND(SP, 4);
@@ -4251,7 +4251,7 @@ PP(pp_gservent)
RETURN;
#else
- DIE(no_sock_func, "getservent");
+ DIE(PL_no_sock_func, "getservent");
#endif
}
@@ -4262,7 +4262,7 @@ PP(pp_shostent)
PerlSock_sethostent(TOPi);
RETSETYES;
#else
- DIE(no_sock_func, "sethostent");
+ DIE(PL_no_sock_func, "sethostent");
#endif
}
@@ -4273,7 +4273,7 @@ PP(pp_snetent)
PerlSock_setnetent(TOPi);
RETSETYES;
#else
- DIE(no_sock_func, "setnetent");
+ DIE(PL_no_sock_func, "setnetent");
#endif
}
@@ -4284,7 +4284,7 @@ PP(pp_sprotoent)
PerlSock_setprotoent(TOPi);
RETSETYES;
#else
- DIE(no_sock_func, "setprotoent");
+ DIE(PL_no_sock_func, "setprotoent");
#endif
}
@@ -4295,7 +4295,7 @@ PP(pp_sservent)
PerlSock_setservent(TOPi);
RETSETYES;
#else
- DIE(no_sock_func, "setservent");
+ DIE(PL_no_sock_func, "setservent");
#endif
}
@@ -4307,7 +4307,7 @@ PP(pp_ehostent)
EXTEND(SP,1);
RETPUSHYES;
#else
- DIE(no_sock_func, "endhostent");
+ DIE(PL_no_sock_func, "endhostent");
#endif
}
@@ -4319,7 +4319,7 @@ PP(pp_enetent)
EXTEND(SP,1);
RETPUSHYES;
#else
- DIE(no_sock_func, "endnetent");
+ DIE(PL_no_sock_func, "endnetent");
#endif
}
@@ -4331,7 +4331,7 @@ PP(pp_eprotoent)
EXTEND(SP,1);
RETPUSHYES;
#else
- DIE(no_sock_func, "endprotoent");
+ DIE(PL_no_sock_func, "endprotoent");
#endif
}
@@ -4343,7 +4343,7 @@ PP(pp_eservent)
EXTEND(SP,1);
RETPUSHYES;
#else
- DIE(no_sock_func, "endservent");
+ DIE(PL_no_sock_func, "endservent");
#endif
}
@@ -4352,7 +4352,7 @@ PP(pp_gpwnam)
#ifdef HAS_PASSWD
return pp_gpwent(ARGS);
#else
- DIE(no_func, "getpwnam");
+ DIE(PL_no_func, "getpwnam");
#endif
}
@@ -4361,7 +4361,7 @@ PP(pp_gpwuid)
#ifdef HAS_PASSWD
return pp_gpwent(ARGS);
#else
- DIE(no_func, "getpwuid");
+ DIE(PL_no_func, "getpwuid");
#endif
}
@@ -4453,7 +4453,7 @@ PP(pp_gpwent)
}
RETURN;
#else
- DIE(no_func, "getpwent");
+ DIE(PL_no_func, "getpwent");
#endif
}
@@ -4464,7 +4464,7 @@ PP(pp_spwent)
setpwent();
RETPUSHYES;
#else
- DIE(no_func, "setpwent");
+ DIE(PL_no_func, "setpwent");
#endif
}
@@ -4475,7 +4475,7 @@ PP(pp_epwent)
endpwent();
RETPUSHYES;
#else
- DIE(no_func, "endpwent");
+ DIE(PL_no_func, "endpwent");
#endif
}
@@ -4484,7 +4484,7 @@ PP(pp_ggrnam)
#ifdef HAS_GROUP
return pp_ggrent(ARGS);
#else
- DIE(no_func, "getgrnam");
+ DIE(PL_no_func, "getgrnam");
#endif
}
@@ -4493,7 +4493,7 @@ PP(pp_ggrgid)
#ifdef HAS_GROUP
return pp_ggrent(ARGS);
#else
- DIE(no_func, "getgrgid");
+ DIE(PL_no_func, "getgrgid");
#endif
}
@@ -4547,7 +4547,7 @@ PP(pp_ggrent)
RETURN;
#else
- DIE(no_func, "getgrent");
+ DIE(PL_no_func, "getgrent");
#endif
}
@@ -4558,7 +4558,7 @@ PP(pp_sgrent)
setgrent();
RETPUSHYES;
#else
- DIE(no_func, "setgrent");
+ DIE(PL_no_func, "setgrent");
#endif
}
@@ -4569,7 +4569,7 @@ PP(pp_egrent)
endgrent();
RETPUSHYES;
#else
- DIE(no_func, "endgrent");
+ DIE(PL_no_func, "endgrent");
#endif
}
@@ -4584,7 +4584,7 @@ PP(pp_getlogin)
PUSHp(tmps, strlen(tmps));
RETURN;
#else
- DIE(no_func, "getlogin");
+ DIE(PL_no_func, "getlogin");
#endif
}
@@ -4683,7 +4683,7 @@ PP(pp_syscall)
PUSHi(retval);
RETURN;
#else
- DIE(no_func, "syscall");
+ DIE(PL_no_func, "syscall");
#endif
}
diff --git a/proto.h b/proto.h
index 0aec76dc4d..03d7d0c633 100644
--- a/proto.h
+++ b/proto.h
@@ -56,14 +56,14 @@ VIRTUAL int block_start _((int full));
VIRTUAL void boot_core_UNIVERSAL _((void));
VIRTUAL void call_list _((I32 oldscope, AV* av_list));
VIRTUAL I32 cando _((I32 bit, I32 effective, Stat_t* statbufp));
-#ifndef CASTNEGFLOAT
VIRTUAL U32 cast_ulong _((double f));
-#endif
+VIRTUAL I32 cast_i32 _((double f));
+VIRTUAL IV cast_iv _((double f));
+VIRTUAL UV cast_uv _((double f));
#if !defined(HAS_TRUNCATE) && !defined(HAS_CHSIZE) && defined(F_FREESP)
VIRTUAL I32 my_chsize _((int fd, Off_t length));
#endif
-VIRTUAL OP* ck_gvconst _((OP* o));
-VIRTUAL OP* ck_retarget _((OP* o));
+
#ifdef USE_THREADS
VIRTUAL MAGIC * condpair_magic _((SV *sv));
#endif
@@ -593,11 +593,7 @@ VIRTUAL I32 sv_eq _((SV* sv1, SV* sv2));
VIRTUAL void sv_free _((SV* sv));
VIRTUAL void sv_free_arenas _((void));
VIRTUAL char* sv_gets _((SV* sv, PerlIO* fp, I32 append));
-#ifndef DOSISH
-VIRTUAL char* sv_grow _((SV* sv, I32 newlen));
-#else
-VIRTUAL char* sv_grow _((SV* sv, unsigned long newlen));
-#endif
+VIRTUAL char* sv_grow _((SV* sv, STRLEN newlen));
VIRTUAL void sv_inc _((SV* sv));
VIRTUAL void sv_insert _((SV* bigsv, STRLEN offset, STRLEN len, char* little, STRLEN littlelen));
VIRTUAL int sv_isa _((SV* sv, char* name));
@@ -674,7 +670,7 @@ VIRTUAL int yyerror _((char* s));
#ifdef USE_PURE_BISON
# define PERL_YYLEX_PARAM_DECL YYSTYPE *, int *
#else
-# define PERL_YYLEX_PARAM_DECL
+# define PERL_YYLEX_PARAM_DECL void
#endif
VIRTUAL int yylex _((PERL_YYLEX_PARAM_DECL));
VIRTUAL int yyparse _((void));
@@ -903,43 +899,14 @@ I32 do_trans_CU_simple _((SV *sv));
I32 do_trans_UC_trivial _((SV *sv));
I32 do_trans_CU_trivial _((SV *sv));
-#define PPDEF(s) OP* CPerlObj::s _((ARGSproto));
+#undef PERL_CKDEF
+#undef PERL_PPDEF
+#define PERL_CKDEF(s) OP* s _((OP *o));
+#define PERL_PPDEF(s) OP* s _((ARGSproto));
public:
#include "pp_proto.h"
-OP * ck_ftst _((OP *o));
-OP *ck_anoncode _((OP *o));
-OP *ck_bitop _((OP *o));
-OP *ck_concat _((OP *o));
-OP *ck_spair _((OP *o));
-OP *ck_delete _((OP *o));
-OP *ck_eof _((OP *o));
-OP *ck_eval _((OP *o));
-OP *ck_exec _((OP *o));
-OP *ck_exists _((OP *o));
-OP *ck_rvconst _((OP *o));
-OP *ck_fun _((OP *o));
-OP *ck_glob _((OP *o));
-OP *ck_grep _((OP *o));
-OP *ck_index _((OP *o));
-OP *ck_lengthconst _((OP *o));
-OP *ck_lfun _((OP *o));
-OP *ck_rfun _((OP *o));
-OP *ck_listiob _((OP *o));
-OP *ck_fun_locale _((OP *o));
-OP *ck_scmp _((OP *o));
-OP *ck_match _((OP *o));
-OP *ck_null _((OP *o));
-OP *ck_repeat _((OP *o));
-OP *ck_require _((OP *o));
-OP *ck_select _((OP *o));
-OP *ck_shift _((OP *o));
-OP *ck_sort _((OP *o));
-OP *ck_split _((OP *o));
-OP *ck_subr _((OP *o));
-OP *ck_svconst _((OP *o));
-OP *ck_trunc _((OP *o));
void unwind_handler_stack _((void *p));
void restore_magic _((void *p));
void restore_rsfp _((void *f));
diff --git a/regcomp.c b/regcomp.c
index ca0fd09490..4fcef363ab 100644
--- a/regcomp.c
+++ b/regcomp.c
@@ -259,7 +259,7 @@ study_chunk(regnode **scanp, I32 *deltap, regnode *last, scan_data_t *data, U32
while (scan && OP(scan) != END && scan < last) {
/* Peephole optimizer: */
- if (regkind[(U8)OP(scan)] == EXACT) {
+ if (PL_regkind[(U8)OP(scan)] == EXACT) {
regnode *n = regnext(scan);
U32 stringok = 1;
#ifdef DEBUGGING
@@ -269,13 +269,13 @@ study_chunk(regnode **scanp, I32 *deltap, regnode *last, scan_data_t *data, U32
next = scan + (*OPERAND(scan) + 2 - 1)/sizeof(regnode) + 2;
/* Skip NOTHING, merge EXACT*. */
while (n &&
- ( regkind[(U8)OP(n)] == NOTHING ||
+ ( PL_regkind[(U8)OP(n)] == NOTHING ||
(stringok && (OP(n) == OP(scan))))
&& NEXT_OFF(n)
&& NEXT_OFF(scan) + NEXT_OFF(n) < I16_MAX) {
if (OP(n) == TAIL || n > next)
stringok = 0;
- if (regkind[(U8)OP(n)] == NOTHING) {
+ if (PL_regkind[(U8)OP(n)] == NOTHING) {
NEXT_OFF(scan) += NEXT_OFF(n);
next = n + NODE_STEP_REGNODE;
#ifdef DEBUGGING
@@ -311,7 +311,7 @@ study_chunk(regnode **scanp, I32 *deltap, regnode *last, scan_data_t *data, U32
* don't initialize the OP() slot of a node when that node
* is occupied by just the trailing null of the string in
* an EXACT node */
- if (regkind[(U8)OP(n)] != NOTHING || OP(n) == NOTHING) {
+ if (PL_regkind[(U8)OP(n)] != NOTHING || OP(n) == NOTHING) {
OP(n) = OPTIMIZED;
NEXT_OFF(n) = 0;
}
@@ -331,7 +331,7 @@ study_chunk(regnode **scanp, I32 *deltap, regnode *last, scan_data_t *data, U32
/* Skip NOTHING and LONGJMP. */
while ((n = regnext(n))
- && ((regkind[(U8)OP(n)] == NOTHING && (noff = NEXT_OFF(n)))
+ && ((PL_regkind[(U8)OP(n)] == NOTHING && (noff = NEXT_OFF(n)))
|| ((OP(n) == LONGJMP) && (noff = ARG(n))))
&& off + noff < max)
off += noff;
@@ -420,7 +420,7 @@ study_chunk(regnode **scanp, I32 *deltap, regnode *last, scan_data_t *data, U32
data->flags &= ~SF_BEFORE_EOL;
}
}
- else if (regkind[(U8)OP(scan)] == EXACT) {
+ else if (PL_regkind[(U8)OP(scan)] == EXACT) {
I32 l = *OPERAND(scan);
if (flags & SCF_DO_SUBSTR)
scan_commit(data);
@@ -438,11 +438,11 @@ study_chunk(regnode **scanp, I32 *deltap, regnode *last, scan_data_t *data, U32
if (data && (flags & SCF_DO_SUBSTR))
data->pos_min += l;
}
- else if (strchr(varies,OP(scan))) {
+ else if (strchr(PL_varies,OP(scan))) {
I32 mincount, maxcount, minnext, deltanext, pos_before, fl;
regnode *oscan = scan;
- switch (regkind[(U8)OP(scan)]) {
+ switch (PL_regkind[(U8)OP(scan)]) {
case WHILEM:
scan = NEXTOPER(scan);
goto finish;
@@ -513,8 +513,8 @@ study_chunk(regnode **scanp, I32 *deltap, regnode *last, scan_data_t *data, U32
/* Skip open. */
nxt = regnext(nxt);
- if (!strchr(simple,OP(nxt))
- && !(regkind[(U8)OP(nxt)] == EXACT
+ if (!strchr(PL_simple,OP(nxt))
+ && !(PL_regkind[(U8)OP(nxt)] == EXACT
&& *OPERAND(nxt) == 1))
goto nogo;
nxt2 = nxt;
@@ -646,7 +646,7 @@ study_chunk(regnode **scanp, I32 *deltap, regnode *last, scan_data_t *data, U32
data->flags |= SF_HAS_EVAL;
optimize_curly_tail:
if (OP(oscan) != CURLYX) {
- while (regkind[(U8)OP(next = regnext(oscan))] == NOTHING
+ while (PL_regkind[(U8)OP(next = regnext(oscan))] == NOTHING
&& NEXT_OFF(next))
NEXT_OFF(oscan) += NEXT_OFF(next);
}
@@ -660,19 +660,19 @@ study_chunk(regnode **scanp, I32 *deltap, regnode *last, scan_data_t *data, U32
break;
}
}
- else if (strchr(simple,OP(scan)) || regkind[(U8)OP(scan)] == ANYUTF8) {
+ else if (strchr(PL_simple,OP(scan)) || PL_regkind[(U8)OP(scan)] == ANYUTF8) {
if (flags & SCF_DO_SUBSTR) {
scan_commit(data);
data->pos_min++;
}
min++;
}
- else if (regkind[(U8)OP(scan)] == EOL && flags & SCF_DO_SUBSTR) {
+ else if (PL_regkind[(U8)OP(scan)] == EOL && flags & SCF_DO_SUBSTR) {
data->flags |= (OP(scan) == MEOL
? SF_BEFORE_MEOL
: SF_BEFORE_SEOL);
}
- else if (regkind[(U8)OP(scan)] == BRANCHJ
+ else if (PL_regkind[(U8)OP(scan)] == BRANCHJ
&& (scan->flags || data)
&& (OP(scan) == IFMATCH || OP(scan) == UNLESSM)) {
I32 deltanext, minnext;
@@ -839,7 +839,7 @@ pregcomp(char *exp, char *xend, PMOP *pm)
PL_regnpar = 1;
PL_regsize = 0L;
PL_regcode = &PL_regdummy;
- regc((U8)MAGIC, (char*)PL_regcode);
+ regc((U8)REG_MAGIC, (char*)PL_regcode);
if (reg(0, &flags) == NULL) {
Safefree(PL_regprecomp);
PL_regprecomp = Nullch;
@@ -874,7 +874,7 @@ pregcomp(char *exp, char *xend, PMOP *pm)
PL_regcode = r->program;
/* Store the count of eval-groups for security checks: */
PL_regcode->next_off = ((PL_seen_evals > U16_MAX) ? U16_MAX : PL_seen_evals);
- regc((U8)MAGIC, (char*) PL_regcode++);
+ regc((U8)REG_MAGIC, (char*) PL_regcode++);
r->data = 0;
if (reg(0, &flags) == NULL)
return(NULL);
@@ -905,7 +905,7 @@ pregcomp(char *exp, char *xend, PMOP *pm)
(OP(first) == BRANCH && OP(regnext(first)) != BRANCH) ||
(OP(first) == PLUS) ||
(OP(first) == MINMOD) ||
- (regkind[(U8)OP(first)] == CURLY && ARG1(first) > 0) ) {
+ (PL_regkind[(U8)OP(first)] == CURLY && ARG1(first) > 0) ) {
if (OP(first) == PLUS)
sawplus = 1;
else
@@ -916,12 +916,12 @@ pregcomp(char *exp, char *xend, PMOP *pm)
/* Starting-point info. */
again:
if (OP(first) == EXACT); /* Empty, get anchored substr later. */
- else if (strchr(simple+4,OP(first)))
+ else if (strchr(PL_simple+4,OP(first)))
r->regstclass = first;
- else if (regkind[(U8)OP(first)] == BOUND ||
- regkind[(U8)OP(first)] == NBOUND)
+ else if (PL_regkind[(U8)OP(first)] == BOUND ||
+ PL_regkind[(U8)OP(first)] == NBOUND)
r->regstclass = first;
- else if (regkind[(U8)OP(first)] == BOL) {
+ else if (PL_regkind[(U8)OP(first)] == BOL) {
r->reganch |= (OP(first) == MBOL ? ROPT_ANCH_MBOL: ROPT_ANCH_BOL);
first = NEXTOPER(first);
goto again;
@@ -932,7 +932,7 @@ pregcomp(char *exp, char *xend, PMOP *pm)
goto again;
}
else if ((OP(first) == STAR &&
- regkind[(U8)OP(NEXTOPER(first))] == ANY) &&
+ PL_regkind[(U8)OP(NEXTOPER(first))] == REG_ANY) &&
!(r->reganch & ROPT_ANCH) )
{
/* turn .* into ^.* with an implied $*=1 */
@@ -1658,7 +1658,7 @@ tryagain:
if (PL_regflags & PMf_SINGLELINE)
ret = reg_node(SANY);
else
- ret = reg_node(ANY);
+ ret = reg_node(REG_ANY);
*flagp |= HASWIDTH|SIMPLE;
}
PL_regnaughty++;
@@ -2295,7 +2295,7 @@ regclass(void)
if (!SIZE_ONLY && (*opnd & (0xFF ^ ANYOF_INVERT)) == ANYOF_FOLD) {
for (value = 0; value < 256; ++value) {
if (ANYOF_TEST(opnd, value)) {
- I32 cf = fold[value];
+ I32 cf = PL_fold[value];
ANYOF_SET(opnd, cf);
}
}
@@ -2654,7 +2654,7 @@ reginsert(U8 op, regnode *opnd)
register regnode *place;
register int offset = regarglen[(U8)op];
-/* (regkind[(U8)op] == CURLY ? EXTRA_STEP_2ARGS : 0); */
+/* (PL_regkind[(U8)op] == CURLY ? EXTRA_STEP_2ARGS : 0); */
if (SIZE_ONLY) {
PL_regsize += NODE_STEP_REGNODE + offset;
@@ -2714,10 +2714,10 @@ regoptail(regnode *p, regnode *val)
/* "Operandless" and "op != BRANCH" are synonymous in practice. */
if (p == NULL || SIZE_ONLY)
return;
- if (regkind[(U8)OP(p)] == BRANCH) {
+ if (PL_regkind[(U8)OP(p)] == BRANCH) {
regtail(NEXTOPER(p), val);
}
- else if ( regkind[(U8)OP(p)] == BRANCHJ) {
+ else if ( PL_regkind[(U8)OP(p)] == BRANCHJ) {
regtail(NEXTOPER(NEXTOPER(p)), val);
}
else
@@ -2773,7 +2773,7 @@ dumpuntil(regnode *start, regnode *node, regnode *last, SV* sv, I32 l)
PerlIO_printf(Perl_debug_log, "(%d)", next - start);
(void)PerlIO_putc(Perl_debug_log, '\n');
after_print:
- if (regkind[(U8)op] == BRANCHJ) {
+ if (PL_regkind[(U8)op] == BRANCHJ) {
register regnode *nnode = (OP(next) == LONGJMP
? regnext(next)
: next);
@@ -2781,14 +2781,14 @@ dumpuntil(regnode *start, regnode *node, regnode *last, SV* sv, I32 l)
nnode = last;
node = dumpuntil(start, NEXTOPER(NEXTOPER(node)), nnode, sv, l + 1);
}
- else if (regkind[(U8)op] == BRANCH) {
+ else if (PL_regkind[(U8)op] == BRANCH) {
node = dumpuntil(start, NEXTOPER(node), next, sv, l + 1);
}
else if ( op == CURLY) { /* `next' might be very big: optimizer */
node = dumpuntil(start, NEXTOPER(node) + EXTRA_STEP_2ARGS,
NEXTOPER(node) + EXTRA_STEP_2ARGS + 1, sv, l + 1);
}
- else if (regkind[(U8)op] == CURLY && op != CURLYX) {
+ else if (PL_regkind[(U8)op] == CURLY && op != CURLYX) {
node = dumpuntil(start, NEXTOPER(node) + EXTRA_STEP_2ARGS,
next, sv, l + 1);
}
@@ -2799,7 +2799,7 @@ dumpuntil(regnode *start, regnode *node, regnode *last, SV* sv, I32 l)
node = NEXTOPER(node);
node += ANY_SKIP;
}
- else if (regkind[(U8)op] == EXACT) {
+ else if (PL_regkind[(U8)op] == EXACT) {
/* Literal string, where present. */
node += ((*OPERAND(node)) + 2 + sizeof(regnode) - 1) / sizeof(regnode);
node = NEXTOPER(node);
@@ -2915,7 +2915,7 @@ regprop(SV *sv, regnode *o)
case SEOL:
p = "SEOL";
break;
- case ANY:
+ case REG_ANY:
p = "ANY";
break;
case SANY:
diff --git a/regcomp.h b/regcomp.h
index 38b15acc69..fef317a2ac 100644
--- a/regcomp.h
+++ b/regcomp.h
@@ -150,7 +150,7 @@ struct regnode_2 {
#define FILL_ADVANCE_NODE_ARG(ptr, op, arg) STMT_START { \
ARG_SET(ptr, arg); FILL_ADVANCE_NODE(ptr, op); (ptr) += 1; } STMT_END
-#define MAGIC 0234
+#define REG_MAGIC 0234
#define SIZE_ONLY (PL_regcode == &PL_regdummy)
@@ -200,9 +200,9 @@ struct regnode_2 {
/* The following have no fixed length. char* since we do strchr on it. */
#ifndef DOINIT
-EXTCONST char varies[];
+EXTCONST char PL_varies[];
#else
-EXTCONST char varies[] = {
+EXTCONST char PL_varies[] = {
BRANCH, BACK, STAR, PLUS, CURLY, CURLYX, REF, REFF, REFFL,
WHILEM, CURLYM, CURLYN, BRANCHJ, IFTHEN, SUSPEND, CLUMP, 0
};
@@ -211,10 +211,10 @@ EXTCONST char varies[] = {
/* The following always have a length of 1. char* since we do strchr on it. */
/* (Note that lenght 1 means "one character" under UTF8, not "one octet".) */
#ifndef DOINIT
-EXTCONST char simple[];
+EXTCONST char PL_simple[];
#else
-EXTCONST char simple[] = {
- ANY, ANYUTF8, SANY, SANYUTF8, ANYOF, ANYOFUTF8,
+EXTCONST char PL_simple[] = {
+ REG_ANY, ANYUTF8, SANY, SANYUTF8, ANYOF, ANYOFUTF8,
ALNUM, ALNUMUTF8, ALNUML, ALNUMLUTF8,
NALNUM, NALNUMUTF8, NALNUML, NALNUMLUTF8,
SPACE, SPACEUTF8, SPACEL, SPACELUTF8,
diff --git a/regcomp.pl b/regcomp.pl
index cfe59adc22..d78321895c 100644
--- a/regcomp.pl
+++ b/regcomp.pl
@@ -39,9 +39,9 @@ EOP
print OUT <<EOP;
#ifndef DOINIT
-EXTCONST U8 regkind[];
+EXTCONST U8 PL_regkind[];
#else
-EXTCONST U8 regkind[] = {
+EXTCONST U8 PL_regkind[] = {
EOP
$ind = 0;
diff --git a/regcomp.sym b/regcomp.sym
index c831bce5c2..1391dfb22c 100644
--- a/regcomp.sym
+++ b/regcomp.sym
@@ -26,10 +26,10 @@ NBOUNDLUTF8 NBOUND, no Match "" at any word non-boundary
GPOS GPOS, no Matches where last m//g left off.
# [Special] alternatives
-ANY ANY, no Match any one character (except newline).
-ANYUTF8 ANY, no Match any one Unicode character (except newline).
-SANY ANY, no Match any one character.
-SANYUTF8 ANY, no Match any one Unicode character.
+REG_ANY REG_ANY, no Match any one character (except newline).
+ANYUTF8 REG_ANY, no Match any one Unicode character (except newline).
+SANY REG_ANY, no Match any one character.
+SANYUTF8 REG_ANY, no Match any one Unicode character.
ANYOF ANYOF, sv Match character in (or not in) this class.
ANYOFUTF8 ANYOF, sv 1 Match character in (or not in) this class.
ALNUM ALNUM, no Match any alphanumeric character
diff --git a/regexec.c b/regexec.c
index a3a31921ae..1fc37fc2af 100644
--- a/regexec.c
+++ b/regexec.c
@@ -73,7 +73,6 @@
*/
#include "EXTERN.h"
#include "perl.h"
-typedef MAGIC *my_magic;
#include "regcomp.h"
@@ -315,7 +314,7 @@ regexec_flags(register regexp *prog, char *stringarg, register char *strend,
}
/* Check validity of program. */
- if (UCHARAT(prog->program) != MAGIC) {
+ if (UCHARAT(prog->program) != REG_MAGIC) {
FAIL("corrupted regexp program");
}
@@ -1213,7 +1212,7 @@ regmatch(regnode *prog)
sayNO;
nextchr = UCHARAT(++locinput);
break;
- case ANY:
+ case REG_ANY:
if (!nextchr && locinput >= PL_regeol || nextchr == '\n')
sayNO;
nextchr = UCHARAT(++locinput);
@@ -1262,7 +1261,7 @@ regmatch(regnode *prog)
/* Inline the first character, for speed. */
if (UCHARAT(s) != nextchr &&
UCHARAT(s) != ((OP(scan) == EXACTF)
- ? fold : fold_locale)[nextchr])
+ ? PL_fold : PL_fold_locale)[nextchr])
sayNO;
if (PL_regeol - locinput < ln)
sayNO;
@@ -1560,7 +1559,7 @@ regmatch(regnode *prog)
if (UCHARAT(s) != nextchr &&
(OP(scan) == REF ||
(UCHARAT(s) != ((OP(scan) == REFF
- ? fold : fold_locale)[nextchr]))))
+ ? PL_fold : PL_fold_locale)[nextchr]))))
sayNO;
ln = PL_regendp[n] - s;
if (locinput + ln > PL_regeol)
@@ -1604,7 +1603,7 @@ regmatch(regnode *prog)
if (logical) {
if (logical == 2) { /* Postponed subexpression. */
regexp *re;
- my_magic mg = Null(my_magic);
+ MAGIC *mg = Null(MAGIC*);
re_cc_state state;
CURCUR cctmp;
CHECKPOINT cp, lastcp;
@@ -1977,12 +1976,12 @@ regmatch(regnode *prog)
&& !(paren && ln == 0))
ln = n;
locinput = PL_reginput;
- if (regkind[(U8)OP(next)] == EXACT) {
+ if (PL_regkind[(U8)OP(next)] == EXACT) {
c1 = UCHARAT(OPERAND(next) + 1);
if (OP(next) == EXACTF)
- c2 = fold[c1];
+ c2 = PL_fold[c1];
else if (OP(next) == EXACTFL)
- c2 = fold_locale[c1];
+ c2 = PL_fold_locale[c1];
else
c2 = c1;
}
@@ -2033,12 +2032,12 @@ regmatch(regnode *prog)
REPORT_CODE_OFF+PL_regindent*2, "", n, l)
);
if (n >= ln) {
- if (regkind[(U8)OP(next)] == EXACT) {
+ if (PL_regkind[(U8)OP(next)] == EXACT) {
c1 = UCHARAT(OPERAND(next) + 1);
if (OP(next) == EXACTF)
- c2 = fold[c1];
+ c2 = PL_fold[c1];
else if (OP(next) == EXACTFL)
- c2 = fold_locale[c1];
+ c2 = PL_fold_locale[c1];
else
c2 = c1;
}
@@ -2110,12 +2109,12 @@ regmatch(regnode *prog)
* Lookahead to avoid useless match attempts
* when we know what character comes next.
*/
- if (regkind[(U8)OP(next)] == EXACT) {
+ if (PL_regkind[(U8)OP(next)] == EXACT) {
c1 = UCHARAT(OPERAND(next) + 1);
if (OP(next) == EXACTF)
- c2 = fold[c1];
+ c2 = PL_fold[c1];
else if (OP(next) == EXACTFL)
- c2 = fold_locale[c1];
+ c2 = PL_fold_locale[c1];
else
c2 = c1;
}
@@ -2161,7 +2160,7 @@ regmatch(regnode *prog)
CHECKPOINT lastcp;
n = regrepeat(scan, n);
locinput = PL_reginput;
- if (ln < n && regkind[(U8)OP(next)] == EOL &&
+ if (ln < n && PL_regkind[(U8)OP(next)] == EOL &&
(!PL_multiline || OP(next) == SEOL))
ln = n; /* why back off? */
REGCP_SET;
@@ -2355,7 +2354,7 @@ regrepeat(regnode *p, I32 max)
loceol = scan + max;
opnd = (char *) OPERAND(p);
switch (OP(p)) {
- case ANY:
+ case REG_ANY:
while (scan < loceol && *scan != '\n')
scan++;
break;
@@ -2384,14 +2383,14 @@ regrepeat(regnode *p, I32 max)
case EXACTF: /* length of string is 1 */
c = UCHARAT(++opnd);
while (scan < loceol &&
- (UCHARAT(scan) == c || UCHARAT(scan) == fold[c]))
+ (UCHARAT(scan) == c || UCHARAT(scan) == PL_fold[c]))
scan++;
break;
case EXACTFL: /* length of string is 1 */
PL_reg_flags |= RF_tainted;
c = UCHARAT(++opnd);
while (scan < loceol &&
- (UCHARAT(scan) == c || UCHARAT(scan) == fold_locale[c]))
+ (UCHARAT(scan) == c || UCHARAT(scan) == PL_fold_locale[c]))
scan++;
break;
case ANYOFUTF8:
@@ -2619,10 +2618,10 @@ reginclass(register char *p, register I32 c)
I32 cf;
if (flags & ANYOF_LOCALE) {
PL_reg_flags |= RF_tainted;
- cf = fold_locale[c];
+ cf = PL_fold_locale[c];
}
else
- cf = fold[c];
+ cf = PL_fold[c];
if (ANYOF_TEST(p, cf))
match = TRUE;
}
diff --git a/regnodes.h b/regnodes.h
index c64c4b7944..8e834eea59 100644
--- a/regnodes.h
+++ b/regnodes.h
@@ -3,7 +3,7 @@
Any changes made here will be lost!
*/
-#define END 0 /* 0x0 End of program. */
+#define END 0 /* 0 End of program. */
#define SUCCEED 1 /* 0x1 Return from a subroutine, basically. */
#define BOL 2 /* 0x2 Match "" at beginning of line. */
#define MBOL 3 /* 0x3 Same, assuming multiline. */
@@ -21,7 +21,7 @@
#define NBOUNDL 15 /* 0xf Match "" at any word non-boundary */
#define NBOUNDLUTF8 16 /* 0x10 Match "" at any word non-boundary */
#define GPOS 17 /* 0x11 Matches where last m//g left off. */
-#define ANY 18 /* 0x12 Match any one character (except newline). */
+#define REG_ANY 18 /* 0x12 Match any one character (except newline). */
#define ANYUTF8 19 /* 0x13 Match any one Unicode character (except newline). */
#define SANY 20 /* 0x14 Match any one character. */
#define SANYUTF8 21 /* 0x15 Match any one Unicode character. */
@@ -81,9 +81,9 @@
#define OPTIMIZED 75 /* 0x4b Placeholder for dump. */
#ifndef DOINIT
-EXTCONST U8 regkind[];
+EXTCONST U8 PL_regkind[];
#else
-EXTCONST U8 regkind[] = {
+EXTCONST U8 PL_regkind[] = {
END, /* END */
END, /* SUCCEED */
BOL, /* BOL */
@@ -102,10 +102,10 @@ EXTCONST U8 regkind[] = {
NBOUND, /* NBOUNDL */
NBOUND, /* NBOUNDLUTF8 */
GPOS, /* GPOS */
- ANY, /* ANY */
- ANY, /* ANYUTF8 */
- ANY, /* SANY */
- ANY, /* SANYUTF8 */
+ REG_ANY, /* REG_ANY */
+ REG_ANY, /* ANYUTF8 */
+ REG_ANY, /* SANY */
+ REG_ANY, /* SANYUTF8 */
ANYOF, /* ANYOF */
ANYOF, /* ANYOFUTF8 */
ALNUM, /* ALNUM */
@@ -184,7 +184,7 @@ const static U8 regarglen[] = {
0, /* NBOUNDL */
0, /* NBOUNDLUTF8 */
0, /* GPOS */
- 0, /* ANY */
+ 0, /* REG_ANY */
0, /* ANYUTF8 */
0, /* SANY */
0, /* SANYUTF8 */
@@ -263,7 +263,7 @@ const static char reg_off_by_arg[] = {
0, /* NBOUNDL */
0, /* NBOUNDLUTF8 */
0, /* GPOS */
- 0, /* ANY */
+ 0, /* REG_ANY */
0, /* ANYUTF8 */
0, /* SANY */
0, /* SANYUTF8 */
diff --git a/run.c b/run.c
index 97444ec58e..c38df7f0a4 100644
--- a/run.c
+++ b/run.c
@@ -34,10 +34,6 @@ runops_standard(void)
}
#ifdef DEBUGGING
-
-dEXT char **watchaddr = 0;
-dEXT char *watchok;
-
#ifndef PERL_OBJECT
static void debprof _((OP*o));
#endif
@@ -56,9 +52,9 @@ runops_debug(void)
do {
if (PL_debug) {
- if (watchaddr != 0 && *watchaddr != watchok)
+ if (PL_watchaddr != 0 && *PL_watchaddr != PL_watchok)
PerlIO_printf(Perl_debug_log, "WARNING: %lx changed from %lx to %lx\n",
- (long)watchaddr, (long)watchok, (long)*watchaddr);
+ (long)PL_watchaddr, (long)PL_watchok, (long)*PL_watchaddr);
DEBUG_s(debstack());
DEBUG_t(debop(PL_op));
DEBUG_P(debprof(PL_op));
@@ -77,7 +73,7 @@ debop(OP *o)
{
#ifdef DEBUGGING
SV *sv;
- deb("%s", op_name[o->op_type]);
+ deb("%s", PL_op_name[o->op_type]);
switch (o->op_type) {
case OP_CONST:
PerlIO_printf(Perl_debug_log, "(%s)", SvPEEK(cSVOPo->op_sv));
@@ -105,10 +101,11 @@ void
watch(char **addr)
{
#ifdef DEBUGGING
- watchaddr = addr;
- watchok = *addr;
+ dTHR;
+ PL_watchaddr = addr;
+ PL_watchok = *addr;
PerlIO_printf(Perl_debug_log, "WATCHING, %lx is currently %lx\n",
- (long)watchaddr, (long)watchok);
+ (long)PL_watchaddr, (long)PL_watchok);
#endif /* DEBUGGING */
}
@@ -133,7 +130,7 @@ debprofdump(void)
if (PL_profiledata[i])
PerlIO_printf(Perl_debug_log,
"%5lu %s\n", (unsigned long)PL_profiledata[i],
- op_name[i]);
+ PL_op_name[i]);
}
#endif /* DEBUGGING */
}
diff --git a/scope.c b/scope.c
index 020713f285..b6c0c0a811 100644
--- a/scope.c
+++ b/scope.c
@@ -863,7 +863,7 @@ cx_dump(PERL_CONTEXT *cx)
{
#ifdef DEBUGGING
dTHR;
- PerlIO_printf(Perl_debug_log, "CX %ld = %s\n", (long)(cx - cxstack), block_type[CxTYPE(cx)]);
+ PerlIO_printf(Perl_debug_log, "CX %ld = %s\n", (long)(cx - cxstack), PL_block_type[CxTYPE(cx)]);
if (CxTYPE(cx) != CXt_SUBST) {
PerlIO_printf(Perl_debug_log, "BLK_OLDSP = %ld\n", (long)cx->blk_oldsp);
PerlIO_printf(Perl_debug_log, "BLK_OLDCOP = 0x%lx\n", (long)cx->blk_oldcop);
@@ -893,8 +893,8 @@ cx_dump(PERL_CONTEXT *cx)
PerlIO_printf(Perl_debug_log, "BLK_EVAL.OLD_IN_EVAL = %ld\n",
(long)cx->blk_eval.old_in_eval);
PerlIO_printf(Perl_debug_log, "BLK_EVAL.OLD_OP_TYPE = %s (%s)\n",
- op_name[cx->blk_eval.old_op_type],
- op_desc[cx->blk_eval.old_op_type]);
+ PL_op_name[cx->blk_eval.old_op_type],
+ PL_op_desc[cx->blk_eval.old_op_type]);
PerlIO_printf(Perl_debug_log, "BLK_EVAL.OLD_NAME = %s\n",
cx->blk_eval.old_name);
PerlIO_printf(Perl_debug_log, "BLK_EVAL.OLD_EVAL_ROOT = 0x%lx\n",
diff --git a/sv.c b/sv.c
index ab419e4513..90a4e0d8fd 100644
--- a/sv.c
+++ b/sv.c
@@ -1088,11 +1088,7 @@ sv_backoff(register SV *sv)
}
char *
-#ifndef DOSISH
-sv_grow(register SV *sv, register I32 newlen)
-#else
-sv_grow(SV* sv, unsigned long newlen)
-#endif
+sv_grow(register SV *sv, register STRLEN newlen)
{
register char *s;
@@ -1169,7 +1165,7 @@ sv_setiv(register SV *sv, IV i)
{
dTHR;
croak("Can't coerce %s to integer in %s", sv_reftype(sv,0),
- op_desc[PL_op->op_type]);
+ PL_op_desc[PL_op->op_type]);
}
}
(void)SvIOK_only(sv); /* validate number */
@@ -1229,7 +1225,7 @@ sv_setnv(register SV *sv, double num)
{
dTHR;
croak("Can't coerce %s to number in %s", sv_reftype(sv,0),
- op_name[PL_op->op_type]);
+ PL_op_name[PL_op->op_type]);
}
}
SvNVX(sv) = num;
@@ -1294,7 +1290,7 @@ not_a_number(SV *sv)
if (PL_op)
warner(WARN_NUMERIC, "Argument \"%s\" isn't numeric in %s", tmpbuf,
- op_name[PL_op->op_type]);
+ PL_op_name[PL_op->op_type]);
else
warner(WARN_NUMERIC, "Argument \"%s\" isn't numeric", tmpbuf);
}
@@ -1320,7 +1316,7 @@ sv_2iv(register SV *sv)
if (!(SvFLAGS(sv) & SVs_PADTMP)) {
dTHR;
if (ckWARN(WARN_UNINITIALIZED) && !PL_localizing)
- warner(WARN_UNINITIALIZED, warn_uninit);
+ warner(WARN_UNINITIALIZED, PL_warn_uninit);
}
return 0;
}
@@ -1346,7 +1342,7 @@ sv_2iv(register SV *sv)
{
dTHR;
if (ckWARN(WARN_UNINITIALIZED))
- warner(WARN_UNINITIALIZED, warn_uninit);
+ warner(WARN_UNINITIALIZED, PL_warn_uninit);
}
return 0;
}
@@ -1376,7 +1372,7 @@ sv_2iv(register SV *sv)
else {
dTHR;
if (ckWARN(WARN_UNINITIALIZED) && !PL_localizing && !(SvFLAGS(sv) & SVs_PADTMP))
- warner(WARN_UNINITIALIZED, warn_uninit);
+ warner(WARN_UNINITIALIZED, PL_warn_uninit);
return 0;
}
DEBUG_c(PerlIO_printf(Perl_debug_log, "0x%lx 2iv(%ld)\n",
@@ -1401,7 +1397,7 @@ sv_2uv(register SV *sv)
if (!(SvFLAGS(sv) & SVs_PADTMP)) {
dTHR;
if (ckWARN(WARN_UNINITIALIZED) && !PL_localizing)
- warner(WARN_UNINITIALIZED, warn_uninit);
+ warner(WARN_UNINITIALIZED, PL_warn_uninit);
}
return 0;
}
@@ -1424,7 +1420,7 @@ sv_2uv(register SV *sv)
{
dTHR;
if (ckWARN(WARN_UNINITIALIZED))
- warner(WARN_UNINITIALIZED, warn_uninit);
+ warner(WARN_UNINITIALIZED, PL_warn_uninit);
}
return 0;
}
@@ -1452,7 +1448,7 @@ sv_2uv(register SV *sv)
if (!(SvFLAGS(sv) & SVs_PADTMP)) {
dTHR;
if (ckWARN(WARN_UNINITIALIZED) && !PL_localizing)
- warner(WARN_UNINITIALIZED, warn_uninit);
+ warner(WARN_UNINITIALIZED, PL_warn_uninit);
}
return 0;
}
@@ -1483,7 +1479,7 @@ sv_2nv(register SV *sv)
if (!(SvFLAGS(sv) & SVs_PADTMP)) {
dTHR;
if (ckWARN(WARN_UNINITIALIZED) && !PL_localizing)
- warner(WARN_UNINITIALIZED, warn_uninit);
+ warner(WARN_UNINITIALIZED, PL_warn_uninit);
}
return 0;
}
@@ -1508,7 +1504,7 @@ sv_2nv(register SV *sv)
if (SvIOKp(sv))
return (double)SvIVX(sv);
if (ckWARN(WARN_UNINITIALIZED))
- warner(WARN_UNINITIALIZED, warn_uninit);
+ warner(WARN_UNINITIALIZED, PL_warn_uninit);
return 0.0;
}
}
@@ -1538,7 +1534,7 @@ sv_2nv(register SV *sv)
else {
dTHR;
if (ckWARN(WARN_UNINITIALIZED) && !PL_localizing && !(SvFLAGS(sv) & SVs_PADTMP))
- warner(WARN_UNINITIALIZED, warn_uninit);
+ warner(WARN_UNINITIALIZED, PL_warn_uninit);
return 0.0;
}
SvNOK_on(sv);
@@ -1699,7 +1695,7 @@ sv_2pv(register SV *sv, STRLEN *lp)
if (!(SvFLAGS(sv) & SVs_PADTMP)) {
dTHR;
if (ckWARN(WARN_UNINITIALIZED) && !PL_localizing)
- warner(WARN_UNINITIALIZED, warn_uninit);
+ warner(WARN_UNINITIALIZED, PL_warn_uninit);
}
*lp = 0;
return "";
@@ -1807,7 +1803,7 @@ sv_2pv(register SV *sv, STRLEN *lp)
{
dTHR;
if (ckWARN(WARN_UNINITIALIZED))
- warner(WARN_UNINITIALIZED, warn_uninit);
+ warner(WARN_UNINITIALIZED, PL_warn_uninit);
}
*lp = 0;
return "";
@@ -1856,7 +1852,7 @@ sv_2pv(register SV *sv, STRLEN *lp)
else {
dTHR;
if (ckWARN(WARN_UNINITIALIZED) && !PL_localizing && !(SvFLAGS(sv) & SVs_PADTMP))
- warner(WARN_UNINITIALIZED, warn_uninit);
+ warner(WARN_UNINITIALIZED, PL_warn_uninit);
*lp = 0;
return "";
}
@@ -2064,7 +2060,7 @@ sv_setsv(SV *dstr, register SV *sstr)
case SVt_PVIO:
if (PL_op)
croak("Bizarre copy of %s in %s", sv_reftype(sstr, 0),
- op_name[PL_op->op_type]);
+ PL_op_name[PL_op->op_type]);
else
croak("Bizarre copy of %s", sv_reftype(sstr, 0));
break;
@@ -2434,7 +2430,7 @@ sv_check_thinkfirst(register SV *sv)
if (SvREADONLY(sv)) {
dTHR;
if (PL_curcop != &PL_compiling)
- croak(no_modify);
+ croak(PL_no_modify);
}
if (SvROK(sv))
sv_unref(sv);
@@ -2560,7 +2556,7 @@ sv_magic(register SV *sv, SV *obj, int how, char *name, I32 namlen)
if (SvREADONLY(sv)) {
dTHR;
if (PL_curcop != &PL_compiling && !strchr("gBf", how))
- croak(no_modify);
+ croak(PL_no_modify);
}
if (SvMAGICAL(sv) || (how == 't' && SvTYPE(sv) >= SVt_PVMG)) {
if (SvMAGIC(sv) && (mg = mg_find(sv, how))) {
@@ -2593,106 +2589,106 @@ sv_magic(register SV *sv, SV *obj, int how, char *name, I32 namlen)
switch (how) {
case 0:
- mg->mg_virtual = &vtbl_sv;
+ mg->mg_virtual = &PL_vtbl_sv;
break;
#ifdef OVERLOAD
case 'A':
- mg->mg_virtual = &vtbl_amagic;
+ mg->mg_virtual = &PL_vtbl_amagic;
break;
case 'a':
- mg->mg_virtual = &vtbl_amagicelem;
+ mg->mg_virtual = &PL_vtbl_amagicelem;
break;
case 'c':
mg->mg_virtual = 0;
break;
#endif /* OVERLOAD */
case 'B':
- mg->mg_virtual = &vtbl_bm;
+ mg->mg_virtual = &PL_vtbl_bm;
break;
case 'D':
- mg->mg_virtual = &vtbl_regdata;
+ mg->mg_virtual = &PL_vtbl_regdata;
break;
case 'd':
- mg->mg_virtual = &vtbl_regdatum;
+ mg->mg_virtual = &PL_vtbl_regdatum;
break;
case 'E':
- mg->mg_virtual = &vtbl_env;
+ mg->mg_virtual = &PL_vtbl_env;
break;
case 'f':
- mg->mg_virtual = &vtbl_fm;
+ mg->mg_virtual = &PL_vtbl_fm;
break;
case 'e':
- mg->mg_virtual = &vtbl_envelem;
+ mg->mg_virtual = &PL_vtbl_envelem;
break;
case 'g':
- mg->mg_virtual = &vtbl_mglob;
+ mg->mg_virtual = &PL_vtbl_mglob;
break;
case 'I':
- mg->mg_virtual = &vtbl_isa;
+ mg->mg_virtual = &PL_vtbl_isa;
break;
case 'i':
- mg->mg_virtual = &vtbl_isaelem;
+ mg->mg_virtual = &PL_vtbl_isaelem;
break;
case 'k':
- mg->mg_virtual = &vtbl_nkeys;
+ mg->mg_virtual = &PL_vtbl_nkeys;
break;
case 'L':
SvRMAGICAL_on(sv);
mg->mg_virtual = 0;
break;
case 'l':
- mg->mg_virtual = &vtbl_dbline;
+ mg->mg_virtual = &PL_vtbl_dbline;
break;
#ifdef USE_THREADS
case 'm':
- mg->mg_virtual = &vtbl_mutex;
+ mg->mg_virtual = &PL_vtbl_mutex;
break;
#endif /* USE_THREADS */
#ifdef USE_LOCALE_COLLATE
case 'o':
- mg->mg_virtual = &vtbl_collxfrm;
+ mg->mg_virtual = &PL_vtbl_collxfrm;
break;
#endif /* USE_LOCALE_COLLATE */
case 'P':
- mg->mg_virtual = &vtbl_pack;
+ mg->mg_virtual = &PL_vtbl_pack;
break;
case 'p':
case 'q':
- mg->mg_virtual = &vtbl_packelem;
+ mg->mg_virtual = &PL_vtbl_packelem;
break;
case 'r':
- mg->mg_virtual = &vtbl_regexp;
+ mg->mg_virtual = &PL_vtbl_regexp;
break;
case 'S':
- mg->mg_virtual = &vtbl_sig;
+ mg->mg_virtual = &PL_vtbl_sig;
break;
case 's':
- mg->mg_virtual = &vtbl_sigelem;
+ mg->mg_virtual = &PL_vtbl_sigelem;
break;
case 't':
- mg->mg_virtual = &vtbl_taint;
+ mg->mg_virtual = &PL_vtbl_taint;
mg->mg_len = 1;
break;
case 'U':
- mg->mg_virtual = &vtbl_uvar;
+ mg->mg_virtual = &PL_vtbl_uvar;
break;
case 'v':
- mg->mg_virtual = &vtbl_vec;
+ mg->mg_virtual = &PL_vtbl_vec;
break;
case 'x':
- mg->mg_virtual = &vtbl_substr;
+ mg->mg_virtual = &PL_vtbl_substr;
break;
case 'y':
- mg->mg_virtual = &vtbl_defelem;
+ mg->mg_virtual = &PL_vtbl_defelem;
break;
case '*':
- mg->mg_virtual = &vtbl_glob;
+ mg->mg_virtual = &PL_vtbl_glob;
break;
case '#':
- mg->mg_virtual = &vtbl_arylen;
+ mg->mg_virtual = &PL_vtbl_arylen;
break;
case '.':
- mg->mg_virtual = &vtbl_pos;
+ mg->mg_virtual = &PL_vtbl_pos;
break;
case '~': /* Reserved for use by extensions not perl internals. */
/* Useful for attaching extension internal data to perl vars. */
@@ -3602,7 +3598,7 @@ sv_inc(register SV *sv)
if (SvREADONLY(sv)) {
dTHR;
if (PL_curcop != &PL_compiling)
- croak(no_modify);
+ croak(PL_no_modify);
}
if (SvROK(sv)) {
IV i;
@@ -3696,7 +3692,7 @@ sv_dec(register SV *sv)
if (SvREADONLY(sv)) {
dTHR;
if (PL_curcop != &PL_compiling)
- croak(no_modify);
+ croak(PL_no_modify);
}
if (SvROK(sv)) {
IV i;
@@ -4009,7 +4005,7 @@ sv_2io(SV *sv)
break;
default:
if (!SvOK(sv))
- croak(no_usym, "filehandle");
+ croak(PL_no_usym, "filehandle");
if (SvROK(sv))
return sv_2io(SvRV(sv));
gv = gv_fetchpv(SvPV(sv,PL_na), FALSE, SVt_PVIO);
@@ -4154,7 +4150,7 @@ sv_pvn_force(SV *sv, STRLEN *lp)
if (SvREADONLY(sv)) {
dTHR;
if (PL_curcop != &PL_compiling)
- croak(no_modify);
+ croak(PL_no_modify);
}
if (SvPOK(sv)) {
@@ -4170,7 +4166,7 @@ sv_pvn_force(SV *sv, STRLEN *lp)
else {
dTHR;
croak("Can't coerce %s to string in %s", sv_reftype(sv,0),
- op_name[PL_op->op_type]);
+ PL_op_name[PL_op->op_type]);
}
}
else
@@ -4331,7 +4327,7 @@ sv_bless(SV *sv, HV *stash)
tmpRef = SvRV(sv);
if (SvFLAGS(tmpRef) & (SVs_OBJECT|SVf_READONLY)) {
if (SvREADONLY(tmpRef))
- croak(no_modify);
+ croak(PL_no_modify);
if (SvOBJECT(tmpRef)) {
if (SvTYPE(tmpRef) != SVt_PVIO)
--PL_sv_objcount;
diff --git a/t/op/filetest.t b/t/op/filetest.t
index d1332f0299..13c5917adc 100644
--- a/t/op/filetest.t
+++ b/t/op/filetest.t
@@ -24,8 +24,15 @@ print "ok 4\n";
print "not " unless -r 'TEST';
print "ok 5\n";
-print "not " if -w 'TEST';
-print "ok 6\n";
+# make sure TEST is r-x
+eval { chmod 0555, 'TEST' };
+if ($@) {
+ print "#[$@]\nok 6 # skipped\n";
+}
+else {
+ print "not " if -w 'TEST';
+ print "ok 6\n";
+}
# Scripts are not -x everywhere.
diff --git a/taint.c b/taint.c
index 05a1a44d04..5a88699449 100644
--- a/taint.c
+++ b/taint.c
@@ -17,6 +17,8 @@ taint_proper(const char *f, char *s)
"%s %d %d %d\n", s, PL_tainted, PL_uid, PL_euid));
if (PL_tainted) {
+ if (!f)
+ f = PL_no_security;
if (PL_euid != PL_uid)
ug = " while running setuid";
else if (PL_egid != PL_gid)
diff --git a/thrdvar.h b/thrdvar.h
index 958db6dfa5..fb45e47f52 100644
--- a/thrdvar.h
+++ b/thrdvar.h
@@ -162,7 +162,10 @@ PERLVARI(Tregexecp, regexec_t, FUNC_NAME_TO_PTR(regexec_flags))
/* Pointer to RE executer */
PERLVARI(Treginterp_cnt,int, 0) /* Whether `Regexp'
was interpolated. */
-
+#ifdef DEBUGGING
+PERLVARI(Twatchaddr, char **, 0)
+PERLVAR(Twatchok, char *)
+#endif
/* Note that the variables below are all explicitly referenced in the code
* as thr->whatever and therefore don't need the 'T' prefix. */
diff --git a/thread.sym b/thread.sym
deleted file mode 100644
index 1e0ca6a5f2..0000000000
--- a/thread.sym
+++ /dev/null
@@ -1 +0,0 @@
-#
diff --git a/toke.c b/toke.c
index d2dbca7978..9a2fbd6ffd 100644
--- a/toke.c
+++ b/toke.c
@@ -112,10 +112,8 @@ static char ident_too_long[] = "Identifier too long";
#ifdef USE_PURE_BISON
YYSTYPE* yylval_pointer = NULL;
int* yychar_pointer = NULL;
-# ifdef EMBED
-# undef yylval
-# undef yychar
-# endif
+# undef yylval
+# undef yychar
# define yylval (*yylval_pointer)
# define yychar (*yychar_pointer)
# define PERL_YYLEX_PARAM yylval_pointer,yychar_pointer
@@ -1614,7 +1612,7 @@ int yylex(PERL_YYLEX_PARAM_DECL)
*/
if (PL_in_my) {
if (strchr(PL_tokenbuf,':'))
- croak(no_myglob,PL_tokenbuf);
+ croak(PL_no_myglob,PL_tokenbuf);
yylval.opval = newOP(OP_PADANY, 0);
yylval.opval->op_targ = pad_allocmy(PL_tokenbuf);
@@ -2532,7 +2530,7 @@ int yylex(PERL_YYLEX_PARAM_DECL)
if (PL_expect == XOPERATOR) {
if (ckWARN(WARN_SEMICOLON) && isIDFIRST_lazy(s) && PL_bufptr == PL_linestart) {
PL_curcop->cop_line--;
- warner(WARN_SEMICOLON, warn_nosemi);
+ warner(WARN_SEMICOLON, PL_warn_nosemi);
PL_curcop->cop_line++;
}
BAop(OP_BIT_AND);
@@ -3065,7 +3063,7 @@ int yylex(PERL_YYLEX_PARAM_DECL)
if (PL_expect == XOPERATOR) {
if (PL_bufptr == PL_linestart) {
PL_curcop->cop_line--;
- warner(WARN_SEMICOLON, warn_nosemi);
+ warner(WARN_SEMICOLON, PL_warn_nosemi);
PL_curcop->cop_line++;
}
else
@@ -3121,7 +3119,7 @@ int yylex(PERL_YYLEX_PARAM_DECL)
(PL_oldoldbufptr == PL_last_lop || PL_oldoldbufptr == PL_last_uni) &&
/* NO SKIPSPACE BEFORE HERE! */
(PL_expect == XREF
- || ((opargs[PL_last_lop_op] >> OASHIFT)& 7) == OA_FILEREF
+ || ((PL_opargs[PL_last_lop_op] >> OASHIFT)& 7) == OA_FILEREF
|| (PL_last_lop_op == OP_ENTERSUB
&& PL_last_proto
&& PL_last_proto[PL_last_proto[0] == ';' ? 1 : 0] == '*')) )
@@ -3251,7 +3249,7 @@ int yylex(PERL_YYLEX_PARAM_DECL)
if (lastchar != '-') {
for (d = PL_tokenbuf; *d && isLOWER(*d); d++) ;
if (!*d)
- warner(WARN_RESERVED, warn_reserved, PL_tokenbuf);
+ warner(WARN_RESERVED, PL_warn_reserved, PL_tokenbuf);
}
}
diff --git a/util.c b/util.c
index 873fcd80b7..ffc2fd3633 100644
--- a/util.c
+++ b/util.c
@@ -97,7 +97,7 @@ safemalloc(MEM_SIZE size)
else if (PL_nomemok)
return Nullch;
else {
- PerlIO_puts(PerlIO_stderr(),no_mem) FLUSH;
+ PerlIO_puts(PerlIO_stderr(),PL_no_mem) FLUSH;
my_exit(1);
return Nullch;
}
@@ -151,7 +151,7 @@ saferealloc(Malloc_t where,MEM_SIZE size)
else if (PL_nomemok)
return Nullch;
else {
- PerlIO_puts(PerlIO_stderr(),no_mem) FLUSH;
+ PerlIO_puts(PerlIO_stderr(),PL_no_mem) FLUSH;
my_exit(1);
return Nullch;
}
@@ -206,7 +206,7 @@ safecalloc(MEM_SIZE count, MEM_SIZE size)
else if (PL_nomemok)
return Nullch;
else {
- PerlIO_puts(PerlIO_stderr(),no_mem) FLUSH;
+ PerlIO_puts(PerlIO_stderr(),PL_no_mem) FLUSH;
my_exit(1);
return Nullch;
}
@@ -486,11 +486,11 @@ perl_new_ctype(char *newctype)
for (i = 0; i < 256; i++) {
if (isUPPER_LC(i))
- fold_locale[i] = toLOWER_LC(i);
+ PL_fold_locale[i] = toLOWER_LC(i);
else if (isLOWER_LC(i))
- fold_locale[i] = toUPPER_LC(i);
+ PL_fold_locale[i] = toUPPER_LC(i);
else
- fold_locale[i] = i;
+ PL_fold_locale[i] = i;
}
#endif /* USE_LOCALE_CTYPE */
@@ -928,9 +928,9 @@ fbm_compile(SV *sv, U32 flags /* not used yet */)
s = (unsigned char*)(SvPVX(sv)); /* deeper magic */
for (i = 0; i < len; i++) {
- if (freq[s[i]] < frequency) {
+ if (PL_freq[s[i]] < frequency) {
rarest = i;
- frequency = freq[s[i]];
+ frequency = PL_freq[s[i]];
}
}
BmRARE(sv) = s[rarest];
@@ -1137,7 +1137,7 @@ ibcmp(char *s1, char *s2, register I32 len)
register U8 *a = (U8 *)s1;
register U8 *b = (U8 *)s2;
while (len--) {
- if (*a != *b && *a != fold[*b])
+ if (*a != *b && *a != PL_fold[*b])
return 1;
a++,b++;
}
@@ -1150,7 +1150,7 @@ ibcmp_locale(char *s1, char *s2, register I32 len)
register U8 *a = (U8 *)s1;
register U8 *b = (U8 *)s2;
while (len--) {
- if (*a != *b && *a != fold_locale[*b])
+ if (*a != *b && *a != PL_fold_locale[*b])
return 1;
a++,b++;
}
@@ -2300,10 +2300,8 @@ repeatcpy(register char *to, register char *from, I32 len, register I32 count)
}
}
-#ifndef CASTNEGFLOAT
U32
-cast_ulong(f)
-double f;
+cast_ulong(double f)
{
long along;
@@ -2318,9 +2316,6 @@ double f;
return (unsigned long)along;
}
# undef BIGDOUBLE
-#endif
-
-#ifndef CASTI32
/* Unfortunately, on some systems the cast_uv() function doesn't
work with the system-supplied definition of ULONG_MAX. The
@@ -2343,8 +2338,7 @@ double f;
#endif
I32
-cast_i32(f)
-double f;
+cast_i32(double f)
{
if (f >= I32_MAX)
return (I32) I32_MAX;
@@ -2354,8 +2348,7 @@ double f;
}
IV
-cast_iv(f)
-double f;
+cast_iv(double f)
{
if (f >= IV_MAX)
return (IV) IV_MAX;
@@ -2365,21 +2358,16 @@ double f;
}
UV
-cast_uv(f)
-double f;
+cast_uv(double f)
{
if (f >= MY_UV_MAX)
return (UV) MY_UV_MAX;
return (UV) f;
}
-#endif
-
#ifndef HAS_RENAME
I32
-same_dirent(a,b)
-char *a;
-char *b;
+same_dirent(char *a, char *b)
{
char *fa = strrchr(a,'/');
char *fb = strrchr(b,'/');
@@ -2698,15 +2686,13 @@ schedule(void)
}
void
-perl_cond_init(cp)
-perl_cond *cp;
+perl_cond_init(perl_cond *cp)
{
*cp = 0;
}
void
-perl_cond_signal(cp)
-perl_cond *cp;
+perl_cond_signal(perl_cond *cp)
{
perl_os_thread t;
perl_cond cond = *cp;
@@ -2726,8 +2712,7 @@ perl_cond *cp;
}
void
-perl_cond_broadcast(cp)
-perl_cond *cp;
+perl_cond_broadcast(perl_cond *cp)
{
perl_os_thread t;
perl_cond cond, cond_next;
@@ -2748,8 +2733,7 @@ perl_cond *cp;
}
void
-perl_cond_wait(cp)
-perl_cond *cp;
+perl_cond_wait(perl_cond *cp)
{
perl_cond cond;
@@ -2960,28 +2944,27 @@ Perl_GetVars(void)
char **
get_op_names(void)
{
- return op_name;
+ return PL_op_name;
}
char **
get_op_descs(void)
{
- return op_desc;
+ return PL_op_desc;
}
char *
get_no_modify(void)
{
- return (char*)no_modify;
+ return (char*)PL_no_modify;
}
U32 *
get_opargs(void)
{
- return opargs;
+ return PL_opargs;
}
-
SV **
get_specialsv_list(void)
{
diff --git a/win32/Makefile b/win32/Makefile
index d6b6ddaeb0..d70a3f8585 100644
--- a/win32/Makefile
+++ b/win32/Makefile
@@ -661,7 +661,7 @@ $(DLL_OBJ) : $(CORE_H)
$(PERL95_OBJ) : $(CORE_H)
$(X2P_OBJ) : $(CORE_H)
-perldll.def : $(MINIPERL) $(CONFIGPM) ..\global.sym makedef.pl
+perldll.def : $(MINIPERL) $(CONFIGPM) ..\global.sym ..\pp.sym makedef.pl
$(MINIPERL) -w makedef.pl $(OPTIMIZE) $(DEFINES) $(OBJECT) \
CCTYPE=$(CCTYPE) > perldll.def
@@ -881,7 +881,7 @@ distclean: clean
-del /f perl95.c
-del /f bin\*.bat
cd $(EXTDIR)
- -del /s *.lib *.def *.map *.bs Makefile *$(o) pm_to_blib
+ -del /s *.lib *.def *.map *.pdb *.bs Makefile *$(o) pm_to_blib
cd ..\win32
-rmdir /s /q $(AUTODIR) || rmdir /s $(AUTODIR)
-rmdir /s /q $(COREDIR) || rmdir /s $(COREDIR)
diff --git a/win32/config.bc b/win32/config.bc
index 69620ab5d5..d91fbb977a 100644
--- a/win32/config.bc
+++ b/win32/config.bc
@@ -546,7 +546,8 @@ shrpenv=''
shsharp='true'
sig_name='ZERO NUM01 INT QUIT ILL NUM05 NUM06 NUM07 FPE KILL NUM10 SEGV NUM12 PIPE ALRM TERM USR1 USR2 CHLD NUM19 USR3 BREAK ABRT STOP NUM24 CONT CLD'
sig_name_init='"ZERO", "NUM01", "INT", "QUIT", "ILL", "NUM05", "NUM06", "NUM07", "FPE", "KILL", "NUM10", "SEGV", "NUM12", "PIPE", "ALRM", "TERM", "USR1", "USR2", "CHLD", "NUM19", "USR3", "BREAK", "ABRT", "STOP", "NUM24", "CONT", "CLD", 0'
-sig_num='0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 18, 0'
+sig_num='0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 18 0'
+sig_num_init='0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 18, 0'
signal_t='void'
sitearch='~INST_TOP~\site~INST_VER~\lib\~archname~'
sitearchexp='~INST_TOP~\site~INST_VER~\lib\~archname~'
diff --git a/win32/config.gc b/win32/config.gc
index c4c6d1a3ae..745d407f21 100644
--- a/win32/config.gc
+++ b/win32/config.gc
@@ -546,7 +546,8 @@ shrpenv=''
shsharp='true'
sig_name='ZERO NUM01 INT QUIT ILL NUM05 NUM06 NUM07 FPE KILL NUM10 SEGV NUM12 PIPE ALRM TERM NUM16 NUM17 NUM18 NUM19 CHLD BREAK ABRT STOP NUM24 CONT CLD'
sig_name_init='"ZERO", "NUM01", "INT", "QUIT", "ILL", "NUM05", "NUM06", "NUM07", "FPE", "KILL", "NUM10", "SEGV", "NUM12", "PIPE", "ALRM", "TERM", "NUM16", "NUM17", "NUM18", "NUM19", "CHLD", "BREAK", "ABRT", "STOP", "NUM24", "CONT", "CLD", 0'
-sig_num='0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 20, 0'
+sig_num='0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 20 0'
+sig_num_init='0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 20, 0'
signal_t='void'
sitearch='~INST_TOP~\site~INST_VER~\lib\~archname~'
sitearchexp='~INST_TOP~\site~INST_VER~\lib\~archname~'
diff --git a/win32/config.vc b/win32/config.vc
index c9ef76c339..1a99dd99e4 100644
--- a/win32/config.vc
+++ b/win32/config.vc
@@ -546,7 +546,8 @@ shrpenv=''
shsharp='true'
sig_name='ZERO NUM01 INT QUIT ILL NUM05 NUM06 NUM07 FPE KILL NUM10 SEGV NUM12 PIPE ALRM TERM NUM16 NUM17 NUM18 NUM19 CHLD BREAK ABRT STOP NUM24 CONT CLD'
sig_name_init='"ZERO", "NUM01", "INT", "QUIT", "ILL", "NUM05", "NUM06", "NUM07", "FPE", "KILL", "NUM10", "SEGV", "NUM12", "PIPE", "ALRM", "TERM", "NUM16", "NUM17", "NUM18", "NUM19", "CHLD", "BREAK", "ABRT", "STOP", "NUM24", "CONT", "CLD", 0'
-sig_num='0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 20, 0'
+sig_num='0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 20 0'
+sig_num_init='0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 20, 0'
signal_t='void'
sitearch='~INST_TOP~\site~INST_VER~\lib\~archname~'
sitearchexp='~INST_TOP~\site~INST_VER~\lib\~archname~'
diff --git a/win32/config_H.bc b/win32/config_H.bc
index 8c06b3673e..58ce965c54 100644
--- a/win32/config_H.bc
+++ b/win32/config_H.bc
@@ -1851,7 +1851,7 @@
* the sig_name list.
*/
#define SIG_NAME "ZERO", "NUM01", "INT", "QUIT", "ILL", "NUM05", "NUM06", "NUM07", "FPE", "KILL", "NUM10", "SEGV", "NUM12", "PIPE", "ALRM", "TERM", "USR1", "USR2", "CHLD", "NUM19", "USR3", "BREAK", "ABRT", "STOP", "NUM24", "CONT", "CLD", 0 /**/
-#define SIG_NUM 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 18, 0 /**/
+#define SIG_NUM 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 18, 0 /**/
/* VOIDFLAGS:
* This symbol indicates how much support of the void type is given by this
@@ -2268,11 +2268,11 @@
#define SCHED_YIELD /**/
/*#define HAS_SCHED_YIELD /**/
-/* PTHREADS_CREATED_JOINABLE:
- * This symbol, if defined, indicates that pthreads are created
- * in the joinable (aka undetached) state.
+/* I_MACH_CTHREADS:
+ * This symbol, if defined, indicates to the C program that it should
+ * include <mach/cthreads.h>.
*/
-/*#define PTHREADS_CREATED_JOINABLE /**/
+/*#define I_MACH_CTHREADS /**/
/* MULTIPLICITY:
* This symbol, if defined, indicates that Perl should
diff --git a/win32/config_H.gc b/win32/config_H.gc
index 0e178b61d7..f048f67dde 100644
--- a/win32/config_H.gc
+++ b/win32/config_H.gc
@@ -1851,7 +1851,7 @@
* the sig_name list.
*/
#define SIG_NAME "ZERO", "NUM01", "INT", "QUIT", "ILL", "NUM05", "NUM06", "NUM07", "FPE", "KILL", "NUM10", "SEGV", "NUM12", "PIPE", "ALRM", "TERM", "NUM16", "NUM17", "NUM18", "NUM19", "CHLD", "BREAK", "ABRT", "STOP", "NUM24", "CONT", "CLD", 0 /**/
-#define SIG_NUM 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 20, 0 /**/
+#define SIG_NUM 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 20, 0 /**/
/* VOIDFLAGS:
* This symbol indicates how much support of the void type is given by this
@@ -2268,17 +2268,17 @@
#define SCHED_YIELD /**/
/*#define HAS_SCHED_YIELD /**/
-/* PTHREADS_CREATED_JOINABLE:
- * This symbol, if defined, indicates that pthreads are created
- * in the joinable (aka undetached) state.
+/* I_MACH_CTHREADS:
+ * This symbol, if defined, indicates to the C program that it should
+ * include <mach/cthreads.h>.
*/
-/*#define PTHREADS_CREATED_JOINABLE /**/
+/*#define I_MACH_CTHREADS /**/
/* MULTIPLICITY:
* This symbol, if defined, indicates that Perl should
* be built to use multiplicity.
*/
-#define MULTIPLICITY /**/
+/*#define MULTIPLICITY /**/
/* USE_THREADS:
* This symbol, if defined, indicates that Perl should
diff --git a/win32/config_H.vc b/win32/config_H.vc
index 82d6218998..c12fedc7d0 100644
--- a/win32/config_H.vc
+++ b/win32/config_H.vc
@@ -1851,7 +1851,7 @@
* the sig_name list.
*/
#define SIG_NAME "ZERO", "NUM01", "INT", "QUIT", "ILL", "NUM05", "NUM06", "NUM07", "FPE", "KILL", "NUM10", "SEGV", "NUM12", "PIPE", "ALRM", "TERM", "NUM16", "NUM17", "NUM18", "NUM19", "CHLD", "BREAK", "ABRT", "STOP", "NUM24", "CONT", "CLD", 0 /**/
-#define SIG_NUM 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 20, 0 /**/
+#define SIG_NUM 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 20, 0 /**/
/* VOIDFLAGS:
* This symbol indicates how much support of the void type is given by this
@@ -2268,11 +2268,11 @@
#define SCHED_YIELD /**/
/*#define HAS_SCHED_YIELD /**/
-/* PTHREADS_CREATED_JOINABLE:
- * This symbol, if defined, indicates that pthreads are created
- * in the joinable (aka undetached) state.
+/* I_MACH_CTHREADS:
+ * This symbol, if defined, indicates to the C program that it should
+ * include <mach/cthreads.h>.
*/
-/*#define PTHREADS_CREATED_JOINABLE /**/
+/*#define I_MACH_CTHREADS /**/
/* MULTIPLICITY:
* This symbol, if defined, indicates that Perl should
diff --git a/win32/makedef.pl b/win32/makedef.pl
index 80ea5e3947..537f09a9a6 100644
--- a/win32/makedef.pl
+++ b/win32/makedef.pl
@@ -1,18 +1,8 @@
#!../miniperl
-# Written: 10 April 1996 Gary Ng (71564.1743@compuserve.com)
+# Create the export list for perl. Needed by WIN32 for creating perl.dll.
-# Create the export list for perl.
-# Needed by WIN32 for creating perl.dll
-# based on perl_exp.SH in the main perl distribution directory
-
-# This simple program relys on 'global.sym' being up to date
-# with all of the global symbols that a dynamicly link library
-# might want to access.
-
-# There is some symbol defined in global.sym and interp.sym
-# that does not present in the WIN32 port but there is no easy
-# way to find them so I just put a exception list here
+# reads global.sym, pp.sym, perlvars.h, intrpvar.h, thrdvar.h, config.h
my $CCTYPE = "MSVC"; # default
@@ -143,7 +133,6 @@ Perl_pp_evalonce
Perl_pp_interp
Perl_pp_map
Perl_pp_nswitch
-Perl_q
Perl_reall_srchlen
Perl_same_dirent
Perl_saw_return
@@ -228,7 +217,7 @@ PL_nthreads_cond
PL_threadnum
PL_threadsv_names
PL_thrsv
-Perl_vtbl_mutex
+PL_vtbl_mutex
Perl_getTHR
Perl_setTHR
Perl_condpair_magic
@@ -292,8 +281,8 @@ unless ($define{'DEBUGGING'})
Perl_debstackptrs
Perl_runops_debug
Perl_sv_peek
- Perl_watchaddr
- Perl_watchok)];
+ PL_watchaddr
+ PL_watchok)];
}
if ($define{'HAVE_DES_FCRYPT'})
@@ -301,23 +290,25 @@ if ($define{'HAVE_DES_FCRYPT'})
emit_symbols [qw(win32_crypt)];
}
-open (GLOBAL, "<../global.sym") || die "failed to open global.sym" . $!;
-while (<GLOBAL>)
+# functions from *.sym files
+
+for my $syms ('../global.sym','../pp.sym', '../globvar.sym')
{
- next if (!/^[A-Za-z]/);
- next if (/_amg[ \t]*$/);
- # All symbols have a Perl_ prefix because that's what embed.h
- # sticks in front of them.
- chomp($_);
- my $symbol = "Perl_$_";
- emit_symbol($symbol) unless exists $skip{$symbol};
+ open (GLOBAL, "<$syms") || die "failed to open $syms" . $!;
+ while (<GLOBAL>)
+ {
+ next if (!/^[A-Za-z]/);
+ # Functions have a Perl_ prefix
+ # Variables have a PL_ prefix
+ chomp($_);
+ my $symbol = ($syms =~ /var\.sym$/i ? "PL_" : "Perl_");
+ $symbol .= $_;
+ emit_symbol($symbol) unless exists $skip{$symbol};
+ }
+ close(GLOBAL);
}
-close(GLOBAL);
-# also add symbols from interp.sym
-# They are only needed if -DMULTIPLICITY is not set but it
-# doesn't hurt to include them anyway.
-# these don't have Perl prefix
+# variables
unless ($define{'PERL_GLOBAL_STRUCT'})
{
diff --git a/win32/makefile.mk b/win32/makefile.mk
index 80f01fa4fb..50f2ab7c34 100644
--- a/win32/makefile.mk
+++ b/win32/makefile.mk
@@ -220,7 +220,7 @@ OPTIMIZE = -O2 $(RUNTIME)
LINK_DBG =
.ENDIF
-CFLAGS = -w -g0 -a4 -tWM -tWD $(INCLUDES) $(DEFINES) $(LOCDEFS) \
+CFLAGS = -w -g0 -tWM -tWD $(INCLUDES) $(DEFINES) $(LOCDEFS) \
$(PCHFLAGS) $(OPTIMIZE)
LINK_FLAGS = $(LINK_DBG) -L$(CCLIBDIR) $(EXTRALIBDIRS:^"-L")
OBJOUT_FLAG = -o
@@ -791,7 +791,7 @@ $(DLL_OBJ) : $(CORE_H)
$(PERL95_OBJ) : $(CORE_H)
$(X2P_OBJ) : $(CORE_H)
-perldll.def : $(MINIPERL) $(CONFIGPM) ..\global.sym makedef.pl
+perldll.def : $(MINIPERL) $(CONFIGPM) ..\global.sym ..\pp.sym makedef.pl
$(MINIPERL) -w makedef.pl $(OPTIMIZE) $(DEFINES) $(OBJECT) \
CCTYPE=$(CCTYPE) > perldll.def
@@ -1032,7 +1032,8 @@ distclean: clean
-rmdir /s /q $(LIBDIR)\Data || rmdir /s $(LIBDIR)\Data
-del /f $(PODDIR)\*.html
-del /f $(PODDIR)\*.bat
- -cd ..\utils && del /f h2ph splain perlbug pl2pm c2ph h2xs perldoc pstruct *.bat
+ -cd ..\utils && del /f h2ph splain perlbug pl2pm c2ph h2xs perldoc \
+ pstruct *.bat
-cd ..\x2p && del /f find2perl s2p *.bat
-del /f ..\config.sh ..\splittree.pl perlmain.c dlutils.c config.h.new
-del /f $(CONFIGPM)
@@ -1040,7 +1041,8 @@ distclean: clean
-del /f perl95.c
.ENDIF
-del /f bin\*.bat
- -cd $(EXTDIR) && del /s *$(a) *.def *.map *.bs Makefile *$(o) pm_to_blib
+ -cd $(EXTDIR) && del /s *$(a) *.def *.map *.pdb *.bs Makefile *$(o) \
+ pm_to_blib
-rmdir /s /q $(AUTODIR) || rmdir /s $(AUTODIR)
-rmdir /s /q $(COREDIR) || rmdir /s $(COREDIR)
diff --git a/win32/perlhost.h b/win32/perlhost.h
index 842d9c3275..21908098a5 100644
--- a/win32/perlhost.h
+++ b/win32/perlhost.h
@@ -861,13 +861,13 @@ public:
{
try
{
- pPerl->perl_construct();
+ perl_construct();
}
catch(...)
{
win32_fprintf(stderr, "%s\n",
"Error: Unable to construct data structures");
- pPerl->perl_free();
+ perl_free();
pPerl = NULL;
}
}
@@ -884,7 +884,7 @@ public:
int retVal;
try
{
- retVal = pPerl->perl_parse(xs_init, argc, argv, env);
+ retVal = perl_parse(xs_init, argc, argv, env);
}
catch(int x)
{
@@ -904,7 +904,7 @@ public:
int retVal;
try
{
- retVal = pPerl->perl_run();
+ retVal = perl_run();
}
catch(int x)
{
@@ -922,8 +922,8 @@ public:
{
try
{
- pPerl->perl_destruct();
- pPerl->perl_free();
+ perl_destruct();
+ perl_free();
}
catch(...)
{