From: Gurusamy Sarathy Date: Fri, 25 Sep 1998 00:20:07 +0000 (+0000) Subject: tweaks to enable PERL_OBJECT to build & test on win32 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=942e002ed0b680ac66fb5ed33d36b864f6c264af;p=p5sagit%2Fp5-mst-13.2.git tweaks to enable PERL_OBJECT to build & test on win32 p4raw-id: //depot/perl@1879 --- diff --git a/Changes b/Changes index 843ef45..42e1498 100644 --- a/Changes +++ b/Changes @@ -78,6 +78,46 @@ Version 5.005_52 Development release working toward 5.006 ---------------- ____________________________________________________________________________ +[ 1876] By: gsar on 1998/09/24 09:04:43 + Log: From: Colin Kuskie + Date: Wed, 26 Aug 1998 14:53:01 -0700 (PDT) + Message-ID: + Subject: [PATCH 5.005_51] perlform.pod + Branch: perl + ! pod/perlform.pod +____________________________________________________________________________ +[ 1875] By: gsar on 1998/09/24 08:47:47 + Log: From: Ilya Zakharevich + Date: Tue, 25 Aug 1998 15:35:58 -0400 (EDT) + Message-Id: <199808251935.PAA11384@monk.mps.ohio-state.edu> + Subject: Re: problem with (?p{}) [PATCH 5.005_5*] + Branch: perl + ! regexec.c +____________________________________________________________________________ +[ 1874] By: gsar on 1998/09/24 08:44:55 + Log: From: Ilya Zakharevich + Date: Tue, 25 Aug 1998 14:56:06 -0400 (EDT) + Message-Id: <199808251856.OAA10825@monk.mps.ohio-state.edu> + Subject: Re: your Regexp.patch dated 21.8 [PATCH] + Branch: perl + ! toke.c +____________________________________________________________________________ +[ 1873] By: gsar on 1998/09/24 08:39:41 + Log: From: Ilya Zakharevich + Date: Tue, 25 Aug 1998 04:29:49 -0400 (EDT) + Message-Id: <199808250829.EAA02470@monk.mps.ohio-state.edu> + Subject: [PATCH 5.005_*] Extraneous warning for (?()A|B) + Branch: perl + ! Changes regcomp.c +____________________________________________________________________________ +[ 1872] By: gsar on 1998/09/24 08:37:00 + Log: From: Krishna Sethuraman + Date: Sun, 23 Aug 1998 23:18:38 PDT + Message-Id: <199808240618.XAA05329@shamu.engr.sgi.com> + Subject: new irix_6.sh hints file + Branch: perl + ! hints/irix_6.sh +____________________________________________________________________________ [ 1871] By: gsar on 1998/09/24 07:26:37 Log: correct FSF address in various places Branch: perl diff --git a/doop.c b/doop.c index a3663f9..8502d1a 100644 --- a/doop.c +++ b/doop.c @@ -18,7 +18,20 @@ #include #endif -static I32 +#ifndef PERL_OBJECT +static I32 do_trans_CC_simple _((SV *sv)); +static I32 do_trans_CC_count _((SV *sv)); +static I32 do_trans_CC_complex _((SV *sv)); +static I32 do_trans_UU_simple _((SV *sv)); +static I32 do_trans_UU_count _((SV *sv)); +static I32 do_trans_UU_complex _((SV *sv)); +static I32 do_trans_UC_simple _((SV *sv)); +static I32 do_trans_CU_simple _((SV *sv)); +static I32 do_trans_UC_trivial _((SV *sv)); +static I32 do_trans_CU_trivial _((SV *sv)); +#endif + +STATIC I32 do_trans_CC_simple(SV *sv) { dTHR; @@ -48,7 +61,7 @@ do_trans_CC_simple(SV *sv) return matches; } -static I32 +STATIC I32 do_trans_CC_count(SV *sv) { dTHR; @@ -74,7 +87,7 @@ do_trans_CC_count(SV *sv) return matches; } -static I32 +STATIC I32 do_trans_CC_complex(SV *sv) { dTHR; @@ -131,7 +144,7 @@ do_trans_CC_complex(SV *sv) return matches; } -static I32 +STATIC I32 do_trans_UU_simple(SV *sv) { dTHR; @@ -183,7 +196,7 @@ do_trans_UU_simple(SV *sv) return matches; } -static I32 +STATIC I32 do_trans_UU_count(SV *sv) { dTHR; @@ -211,7 +224,7 @@ do_trans_UU_count(SV *sv) return matches; } -static I32 +STATIC I32 do_trans_UC_simple(SV *sv) { dTHR; @@ -264,7 +277,7 @@ do_trans_UC_simple(SV *sv) return matches; } -static I32 +STATIC I32 do_trans_CU_simple(SV *sv) { dTHR; @@ -327,7 +340,7 @@ do_trans_CU_simple(SV *sv) /* utf-8 to latin-1 */ -static I32 +STATIC I32 do_trans_UC_trivial(SV *sv) { dTHR; @@ -359,7 +372,7 @@ do_trans_UC_trivial(SV *sv) /* latin-1 to utf-8 */ -static I32 +STATIC I32 do_trans_CU_trivial(SV *sv) { dTHR; @@ -393,7 +406,7 @@ do_trans_CU_trivial(SV *sv) return matches; } -static I32 +STATIC I32 do_trans_UU_complex(SV *sv) { dTHR; diff --git a/mg.c b/mg.c index e7472a6..90bea2b 100644 --- a/mg.c +++ b/mg.c @@ -307,7 +307,7 @@ mg_free(SV *sv) #include #endif -int +U32 magic_regdata_cnt(SV *sv, MAGIC *mg) { dTHR; @@ -318,7 +318,7 @@ magic_regdata_cnt(SV *sv, MAGIC *mg) if (PL_curpm && (rx = PL_curpm->op_pmregexp)) return rx->lastparen; - return -1; + return (U32)-1; } int diff --git a/objpp.h b/objpp.h index 005d472..8bab61a 100644 --- a/objpp.h +++ b/objpp.h @@ -1064,6 +1064,10 @@ #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 @@ -1504,6 +1508,27 @@ #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 diff --git a/proto.h b/proto.h index c294d30..e1406f6 100644 --- a/proto.h +++ b/proto.h @@ -267,7 +267,7 @@ VIRTUAL U32 magic_len _((SV* sv, MAGIC* mg)); VIRTUAL int magic_mutexfree _((SV* sv, MAGIC* mg)); #endif /* USE_THREADS */ VIRTUAL int magic_nextpack _((SV* sv, MAGIC* mg, SV* key)); -VIRTUAL int magic_regdata_cnt _((SV* sv, MAGIC* mg)); +VIRTUAL U32 magic_regdata_cnt _((SV* sv, MAGIC* mg)); VIRTUAL int magic_regdatum_get _((SV* sv, MAGIC* mg)); VIRTUAL int magic_set _((SV* sv, MAGIC* mg)); #ifdef OVERLOAD @@ -735,7 +735,7 @@ void visit _((SVFUNC f)); typedef I32 (CPerlObj::*SVCOMPARE) _((SV*, SV*)); void qsortsv _((SV ** array, size_t num_elts, SVCOMPARE f)); I32 sortcv _((SV *a, SV *b)); -void save_magic _((MGS *mgs, SV *sv)); +void save_magic _((I32 mgs_ix, SV *sv)); int magic_methpack _((SV *sv, MAGIC *mg, char *meth)); int magic_methcall _((MAGIC *mg, char *meth, I32 flags, int n, SV *val)); OP * doform _((CV *cv, GV *gv, OP *retop)); @@ -863,6 +863,8 @@ bool reginclass _((char *p, I32 c)); bool reginclassutf8 _((regnode *f, U8* p)); CHECKPOINT regcppush _((I32 parenfloor)); char * regcppop _((void)); +char * regcp_set_to _((I32 ss)); +void cache_re _((regexp *prog)); U8 * reghop _((U8 *pos, I32 off)); U8 * reghopmaybe _((U8 *pos, I32 off)); void dump _((char *pat,...)); @@ -878,6 +880,17 @@ void debprof _((OP *o)); void *bset_obj_store _((void *obj, I32 ix)); OP *new_logop _((I32 type, I32 flags, OP **firstp, OP **otherp)); +I32 do_trans_CC_simple _((SV *sv)); +I32 do_trans_CC_count _((SV *sv)); +I32 do_trans_CC_complex _((SV *sv)); +I32 do_trans_UU_simple _((SV *sv)); +I32 do_trans_UU_count _((SV *sv)); +I32 do_trans_UU_complex _((SV *sv)); +I32 do_trans_UC_simple _((SV *sv)); +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)); public: diff --git a/regexec.c b/regexec.c index d4e1fc4..a529e86 100644 --- a/regexec.c +++ b/regexec.c @@ -107,6 +107,8 @@ static bool reginclass _((char *p, I32 c)); static bool reginclassutf8 _((regnode *f, U8* p)); static CHECKPOINT regcppush _((I32 parenfloor)); static char * regcppop _((void)); +static char * regcp_set_to _((I32 ss)); +static void cache_re _((regexp *prog)); #endif #define REGINCLASS(p,c) (*(p) ? reginclass(p,c) : ANYOF_TEST(p,c)) @@ -211,6 +213,7 @@ regcp_set_to(I32 ss) PL_savestack_ix = ss; regcppop(); PL_savestack_ix = tmp; + return Nullch; } typedef struct re_cc_state diff --git a/util.c b/util.c index 5be4969..fd99576 100644 --- a/util.c +++ b/util.c @@ -897,14 +897,14 @@ mem_collxfrm(const char *s, STRLEN len, STRLEN *xlen) void fbm_compile(SV *sv, U32 flags /* not used yet */) { - register unsigned char *s; - register unsigned char *table; + register U8 *s; + register U8 *table; register U32 i; STRLEN len; I32 rarest = 0; U32 frequency = 256; - s = SvPV_force(sv, len); + s = (U8*)SvPV_force(sv, len); sv_upgrade(sv, SVt_PVBM); if (len > 255 || len == 0) /* TAIL might be on on a zero-length string. */ return; /* can't have offsets that big */ diff --git a/win32/GenCAPI.pl b/win32/GenCAPI.pl index 4c3947f..275ed5a 100644 --- a/win32/GenCAPI.pl +++ b/win32/GenCAPI.pl @@ -426,6 +426,7 @@ mess_sv ors opsave eval_mutex +strtab_mutex orslen ofmt modcount