Change 26688 by [EMAIL PROTECTED] on 2006/01/06 22:22:00
Integrate:
[ 25754]
Subject: [PATCH] Stas' croak patch and then some
From: Andy Lester <[EMAIL PROTECTED]>
Date: Thu, 13 Oct 2005 16:42:12 -0500
Message-ID: <[EMAIL PROTECTED]>
[ 25757]
gcc complains when it sees variables declared
const register ...
switched them all to
register const ...
[ 25779]
Make some casts explicit to keep VC++ 7 happy
Specifically, this silences the warnings from the following smoke:
http://www.nntp.perl.org/group/perl.daily-build.reports/32258
(Hmm. Looks like you need to decode the base64 yourself before you
can read that.)
[ 25803]
Subject: [PATCH] More consting, and DRY leads to shrinking object code
From: Andy Lester <[EMAIL PROTECTED]>
Date: Tue, 18 Oct 2005 09:57:23 -0500
Message-ID: <[EMAIL PROTECTED]>
Affected files ...
... //depot/maint-5.8/perl/av.c#31 integrate
... //depot/maint-5.8/perl/gv.c#60 integrate
... //depot/maint-5.8/perl/hv.c#72 integrate
... //depot/maint-5.8/perl/mg.c#92 integrate
... //depot/maint-5.8/perl/numeric.c#20 integrate
... //depot/maint-5.8/perl/op.c#118 integrate
... //depot/maint-5.8/perl/pp.c#84 integrate
... //depot/maint-5.8/perl/pp_ctl.c#108 integrate
... //depot/maint-5.8/perl/pp_hot.c#89 integrate
... //depot/maint-5.8/perl/regexec.c#55 integrate
... //depot/maint-5.8/perl/sv.c#204 integrate
... //depot/maint-5.8/perl/toke.c#105 integrate
... //depot/maint-5.8/perl/util.c#94 integrate
Differences ...
==== //depot/maint-5.8/perl/av.c#31 (text) ====
Index: perl/av.c
--- perl/av.c#30~25773~ 2005-10-16 13:03:58.000000000 -0700
+++ perl/av.c 2006-01-06 14:22:00.000000000 -0800
@@ -60,8 +60,8 @@
void
Perl_av_extend(pTHX_ AV *av, I32 key)
{
- MAGIC *mg;
- if ((mg = SvTIED_mg((SV*)av, PERL_MAGIC_tied))) {
+ MAGIC * const mg = SvTIED_mg((SV*)av, PERL_MAGIC_tied);
+ if (mg) {
dSP;
ENTER;
SAVETMPS;
@@ -92,7 +92,6 @@
while (tmp)
ary[--tmp] = &PL_sv_undef;
}
-
if (key > AvMAX(av) - 10) {
newmax = key + AvMAX(av);
goto resize;
@@ -198,7 +197,7 @@
if (tied_magic && key < 0) {
/* Handle negative array indices 20020222 MJD */
- SV **negative_indices_glob =
+ SV * const * const negative_indices_glob =
hv_fetch(SvSTASH(SvRV(SvTIED_obj((SV *)av,
tied_magic))),
NEGATIVE_INDICES_VAR, 16, 0);
@@ -285,7 +284,7 @@
/* Handle negative array indices 20020222 MJD */
if (key < 0) {
unsigned adjust_index = 1;
- SV **negative_indices_glob =
+ SV * const * const negative_indices_glob =
hv_fetch(SvSTASH(SvRV(SvTIED_obj((SV *)av,
tied_magic))),
NEGATIVE_INDICES_VAR, 16, 0);
@@ -354,9 +353,8 @@
AV *
Perl_newAV(pTHX)
{
- register AV *av;
+ register AV * const av = (AV*)NEWSV(3,0);
- av = (AV*)NEWSV(3,0);
sv_upgrade((SV *)av, SVt_PVAV);
/* sv_upgrade does AvREAL_only() */
AvALLOC(av) = 0;
@@ -378,9 +376,8 @@
AV *
Perl_av_make(pTHX_ register I32 size, register SV **strp)
{
- register AV *av;
+ register AV * const av = (AV*)NEWSV(8,0);
- av = (AV*)NEWSV(8,0);
sv_upgrade((SV *) av,SVt_PVAV);
/* sv_upgrade does AvREAL_only() */
if (size) { /* "defined" was returning undef for size==0
anyway. */
@@ -404,10 +401,9 @@
AV *
Perl_av_fake(pTHX_ register I32 size, register SV **strp)
{
- register AV *av;
register SV** ary;
+ register AV * const av = (AV*)NEWSV(9,0);
- av = (AV*)NEWSV(9,0);
sv_upgrade((SV *)av, SVt_PVAV);
Newx(ary,size+1,SV*);
AvALLOC(av) = ary;
@@ -457,10 +453,10 @@
return;
if (AvREAL(av)) {
- SV** ary = AvARRAY(av);
+ SV** const ary = AvARRAY(av);
key = AvFILLp(av) + 1;
while (key) {
- SV * sv = ary[--key];
+ SV * const sv = ary[--key];
/* undef the slot before freeing the value, because a
* destructor might try to modify this arrray */
ary[key] = &PL_sv_undef;
@@ -820,7 +816,7 @@
if (key < 0) {
unsigned adjust_index = 1;
if (tied_magic) {
- SV **negative_indices_glob =
+ SV * const * const negative_indices_glob =
hv_fetch(SvSTASH(SvRV(SvTIED_obj((SV *)av,
tied_magic))),
NEGATIVE_INDICES_VAR, 16, 0);
@@ -905,7 +901,7 @@
if (key < 0) {
unsigned adjust_index = 1;
if (tied_magic) {
- SV **negative_indices_glob =
+ SV * const * const negative_indices_glob =
hv_fetch(SvSTASH(SvRV(SvTIED_obj((SV *)av,
tied_magic))),
NEGATIVE_INDICES_VAR, 16, 0);
==== //depot/maint-5.8/perl/gv.c#60 (text) ====
Index: perl/gv.c
--- perl/gv.c#59~26686~ 2006-01-06 14:05:28.000000000 -0800
+++ perl/gv.c 2006-01-06 14:22:00.000000000 -0800
@@ -306,8 +306,8 @@
/* NOTE: No support for tied ISA */
I32 items = AvFILLp(av) + 1;
while (items--) {
- SV* sv = *svp++;
- HV* basestash = gv_stashsv(sv, FALSE);
+ SV* const sv = *svp++;
+ HV* const basestash = gv_stashsv(sv, FALSE);
if (!basestash) {
if (ckWARN(WARN_MISC))
Perl_warner(aTHX_ packWARN(WARN_MISC), "Can't locate
package %"SVf" for @%s::ISA",
@@ -324,9 +324,9 @@
/* if at top level, try UNIVERSAL */
if (level == 0 || level == -1) {
- HV* lastchance;
+ HV* const lastchance = gv_stashpvn("UNIVERSAL", 9, FALSE);
- if ((lastchance = gv_stashpvn("UNIVERSAL", 9, FALSE))) {
+ if (lastchance) {
if ((gv = gv_fetchmeth(lastchance, name, len,
(level >= 0) ? level + 1 : level - 1)))
{
==== //depot/maint-5.8/perl/hv.c#72 (text) ====
Index: perl/hv.c
--- perl/hv.c#71~26681~ 2006-01-06 11:03:59.000000000 -0800
+++ perl/hv.c 2006-01-06 14:22:00.000000000 -0800
@@ -834,13 +834,13 @@
SV *
Perl_hv_scalar(pTHX_ HV *hv)
{
- MAGIC *mg;
SV *sv;
-
- if ((SvRMAGICAL(hv) && (mg = mg_find((SV*)hv, PERL_MAGIC_tied)))) {
- sv = magic_scalarpack(hv, mg);
- return sv;
- }
+
+ if (SvRMAGICAL(hv)) {
+ MAGIC * const mg = mg_find((SV*)hv, PERL_MAGIC_tied);
+ if (mg)
+ return magic_scalarpack(hv, mg);
+ }
sv = sv_newmortal();
if (HvFILL((HV*)hv))
==== //depot/maint-5.8/perl/mg.c#92 (text) ====
Index: perl/mg.c
--- perl/mg.c#91~26577~ 2006-01-02 08:41:40.000000000 -0800
+++ perl/mg.c 2006-01-06 14:22:00.000000000 -0800
@@ -369,13 +369,18 @@
if ((mg->mg_flags & MGf_COPY) && vtbl->svt_copy){
count += CALL_FPTR(vtbl->svt_copy)(aTHX_ sv, mg, nsv, key, klen);
}
- else if (isUPPER(mg->mg_type)) {
- sv_magic(nsv,
- mg->mg_type == PERL_MAGIC_tied ? SvTIED_obj(sv, mg) :
- (mg->mg_type == PERL_MAGIC_regdata && mg->mg_obj)
- ? sv : mg->mg_obj,
- toLOWER(mg->mg_type), key, klen);
- count++;
+ else {
+ const char type = mg->mg_type;
+ if (isUPPER(type)) {
+ sv_magic(nsv,
+ (type == PERL_MAGIC_tied)
+ ? SvTIED_obj(sv, mg)
+ : (type == PERL_MAGIC_regdata && mg->mg_obj)
+ ? sv
+ : mg->mg_obj,
+ toLOWER(type), key, klen);
+ count++;
+ }
}
}
return count;
@@ -571,6 +576,8 @@
register char *s = NULL;
register I32 i;
register REGEXP *rx;
+ const char * const remaining = mg->mg_ptr + 1;
+ const char nextchar = *remaining;
switch (*mg->mg_ptr) {
case '\001': /* ^A */
@@ -587,7 +594,7 @@
#endif
break;
case '\005': /* ^E */
- if (*(mg->mg_ptr+1) == '\0') {
+ if (nextchar == '\0') {
#ifdef MACOS_TRADITIONAL
{
char msg[256];
@@ -615,7 +622,7 @@
sv_setpv(sv, errno ? Strerror(errno) : "");
} else {
if (errno != errno_isOS2) {
- int tmp = _syserrno();
+ const int tmp = _syserrno();
if (tmp) /* 2nd call to _syserrno() makes it 0 */
Perl_rc = tmp;
}
@@ -627,8 +634,7 @@
{
DWORD dwErr = GetLastError();
sv_setnv(sv, (NV)dwErr);
- if (dwErr)
- {
+ if (dwErr) {
PerlProc_GetOSError(sv, dwErr);
}
else
@@ -648,7 +654,7 @@
#endif
SvNOK_on(sv); /* what a wonderful hack! */
}
- else if (strEQ(mg->mg_ptr+1, "NCODING"))
+ else if (strEQ(remaining, "NCODING"))
sv_setsv(sv, PL_encoding);
break;
case '\006': /* ^F */
@@ -664,11 +670,11 @@
sv_setsv(sv, &PL_sv_undef);
break;
case '\017': /* ^O & ^OPEN */
- if (*(mg->mg_ptr+1) == '\0') {
+ if (nextchar == '\0') {
sv_setpv(sv, PL_osname);
SvTAINTED_off(sv);
}
- else if (strEQ(mg->mg_ptr, "\017PEN")) {
+ else if (strEQ(remaining, "PEN")) {
if (!PL_compiling.cop_io)
sv_setsv(sv, &PL_sv_undef);
else {
@@ -680,7 +686,7 @@
sv_setiv(sv, (IV)PL_perldb);
break;
case '\023': /* ^S */
- if (*(mg->mg_ptr+1) == '\0') {
+ if (nextchar == '\0') {
if (PL_lex_state != LEX_NOTPARSING)
SvOK_off(sv);
else if (PL_in_eval)
@@ -690,28 +696,28 @@
}
break;
case '\024': /* ^T */
- if (*(mg->mg_ptr+1) == '\0') {
+ if (nextchar == '\0') {
#ifdef BIG_TIME
sv_setnv(sv, PL_basetime);
#else
sv_setiv(sv, (IV)PL_basetime);
#endif
}
- else if (strEQ(mg->mg_ptr, "\024AINT"))
+ else if (strEQ(remaining, "AINT"))
sv_setiv(sv, PL_tainting
? (PL_taint_warn || PL_unsafe ? -1 : 1)
: 0);
break;
case '\025': /* $^UNICODE, $^UTF8LOCALE */
- if (strEQ(mg->mg_ptr, "\025NICODE"))
+ if (strEQ(remaining, "NICODE"))
sv_setuv(sv, (UV) PL_unicode);
- else if (strEQ(mg->mg_ptr, "\025TF8LOCALE"))
+ else if (strEQ(remaining, "TF8LOCALE"))
sv_setuv(sv, (UV) PL_utf8locale);
break;
case '\027': /* ^W & $^WARNING_BITS */
- if (*(mg->mg_ptr+1) == '\0')
+ if (nextchar == '\0')
sv_setiv(sv, (IV)((PL_dowarn & G_WARN_ON) ? TRUE : FALSE));
- else if (strEQ(mg->mg_ptr+1, "ARNING_BITS")) {
+ else if (strEQ(remaining, "ARNING_BITS")) {
if (PL_compiling.cop_warnings == pWARN_NONE) {
sv_setpvn(sv, WARN_NONEstring, WARNsize) ;
}
@@ -726,7 +732,7 @@
/* Get the bit mask for $warnings::Bits{all}, because
* it could have been extended by warnings::register */
SV **bits_all;
- HV *bits=get_hv("warnings::Bits", FALSE);
+ HV * const bits=get_hv("warnings::Bits", FALSE);
if (bits && (bits_all=hv_fetch(bits, "all", 3, FALSE))) {
sv_setsv(sv, *bits_all);
}
@@ -769,7 +775,7 @@
SvUTF8_off(sv);
if (PL_tainting) {
if (RX_MATCH_TAINTED(rx)) {
- MAGIC* mg = SvMAGIC(sv);
+ MAGIC* const mg = SvMAGIC(sv);
MAGIC* mgt;
PL_tainted = 1;
SvMAGIC_set(sv, mg->mg_moremagic);
==== //depot/maint-5.8/perl/numeric.c#20 (text) ====
Index: perl/numeric.c
--- perl/numeric.c#19~25673~ 2005-09-30 10:13:04.000000000 -0700
+++ perl/numeric.c 2006-01-06 14:22:00.000000000 -0800
@@ -151,7 +151,7 @@
NV value_nv = 0;
const UV max_div_2 = UV_MAX / 2;
- const bool allow_underscores = *flags & PERL_SCAN_ALLOW_UNDERSCORES;
+ const bool allow_underscores = (bool)(*flags &
PERL_SCAN_ALLOW_UNDERSCORES);
bool overflowed = FALSE;
char bit;
@@ -267,7 +267,7 @@
NV value_nv = 0;
const UV max_div_16 = UV_MAX / 16;
- const bool allow_underscores = *flags & PERL_SCAN_ALLOW_UNDERSCORES;
+ const bool allow_underscores = (bool)(*flags &
PERL_SCAN_ALLOW_UNDERSCORES);
bool overflowed = FALSE;
if (!(*flags & PERL_SCAN_DISALLOW_PREFIX)) {
@@ -381,7 +381,7 @@
NV value_nv = 0;
const UV max_div_8 = UV_MAX / 8;
- const bool allow_underscores = *flags & PERL_SCAN_ALLOW_UNDERSCORES;
+ const bool allow_underscores = (bool)(*flags &
PERL_SCAN_ALLOW_UNDERSCORES);
bool overflowed = FALSE;
for (; len-- && *s; s++) {
==== //depot/maint-5.8/perl/op.c#118 (text) ====
Index: perl/op.c
--- perl/op.c#117~26686~ 2006-01-06 14:05:28.000000000 -0800
+++ perl/op.c 2006-01-06 14:22:00.000000000 -0800
@@ -2361,7 +2361,7 @@
unop->op_type = (OPCODE)type;
unop->op_ppaddr = PL_ppaddr[type];
unop->op_first = first;
- unop->op_flags = flags | OPf_KIDS;
+ unop->op_flags = (U8)(flags | OPf_KIDS);
unop->op_private = (U8)(1 | (flags >> 8));
unop = (UNOP*) CHECKOP(type, unop);
if (unop->op_next)
@@ -2382,7 +2382,7 @@
binop->op_type = (OPCODE)type;
binop->op_ppaddr = PL_ppaddr[type];
binop->op_first = first;
- binop->op_flags = flags | OPf_KIDS;
+ binop->op_flags = (U8)(flags | OPf_KIDS);
if (!last) {
last = first;
binop->op_private = (U8)(1 | (flags >> 8));
@@ -2680,7 +2680,7 @@
j = rlen - 1;
else
cPVOPo->op_pv = (char*)Renew(tbl, 0x101+rlen-j, short);
- tbl[0x100] = rlen - j;
+ tbl[0x100] = (short)(rlen - j);
for (i=0; i < (I32)rlen - j; i++)
tbl[0x101+i] = r[j+i];
}
@@ -3620,7 +3620,7 @@
logop->op_type = (OPCODE)type;
logop->op_ppaddr = PL_ppaddr[type];
logop->op_first = first;
- logop->op_flags = flags | OPf_KIDS;
+ logop->op_flags = (U8)(flags | OPf_KIDS);
logop->op_other = LINKLIST(other);
logop->op_private = (U8)(1 | (flags >> 8));
@@ -3670,7 +3670,7 @@
logop->op_type = OP_COND_EXPR;
logop->op_ppaddr = PL_ppaddr[OP_COND_EXPR];
logop->op_first = first;
- logop->op_flags = flags | OPf_KIDS;
+ logop->op_flags = (U8)(flags | OPf_KIDS);
logop->op_private = (U8)(1 | (flags >> 8));
logop->op_other = LINKLIST(trueop);
logop->op_next = LINKLIST(falseop);
==== //depot/maint-5.8/perl/pp.c#84 (text) ====
Index: perl/pp.c
--- perl/pp.c#83~26660~ 2006-01-05 08:57:55.000000000 -0800
+++ perl/pp.c 2006-01-06 14:22:00.000000000 -0800
@@ -3587,7 +3587,7 @@
}
s = (U8*)SvPV_force_nomg(sv, len);
if (len) {
- const register U8 *send = s + len;
+ register const U8 *send = s + len;
if (IN_LOCALE_RUNTIME) {
TAINT;
@@ -3714,7 +3714,7 @@
dSP; dTARGET;
SV * const sv = TOPs;
STRLEN len;
- const register char *s = SvPV_const(sv,len);
+ register const char *s = SvPV_const(sv,len);
SvUTF8_off(TARG); /* decontaminate */
if (len) {
==== //depot/maint-5.8/perl/pp_ctl.c#108 (text) ====
Index: perl/pp_ctl.c
--- perl/pp_ctl.c#107~26683~ 2006-01-06 13:04:51.000000000 -0800
+++ perl/pp_ctl.c 2006-01-06 14:22:00.000000000 -0800
@@ -195,7 +195,7 @@
? (REXEC_IGNOREPOS|REXEC_NOT_FIRST)
:
(REXEC_COPY_STR|REXEC_IGNOREPOS|REXEC_NOT_FIRST))))
{
- SV *targ = cx->sb_targ;
+ SV * const targ = cx->sb_targ;
assert(cx->sb_strend >= s);
if(cx->sb_strend > s) {
@@ -338,7 +338,7 @@
PP(pp_formline)
{
dSP; dMARK; dORIGMARK;
- register SV *tmpForm = *++MARK;
+ register SV * const tmpForm = *++MARK;
register U32 *fpc;
register char *t;
const char *f;
@@ -354,7 +354,7 @@
NV value;
bool gotsome = FALSE;
STRLEN len;
- STRLEN fudge = SvPOK(tmpForm)
+ const STRLEN fudge = SvPOK(tmpForm)
? (SvCUR(tmpForm) * (IN_BYTES ? 1 : 3) + 1) : 0;
bool item_is_utf8 = FALSE;
bool targ_is_utf8 = FALSE;
@@ -1086,7 +1086,7 @@
else {
SV * const final = sv_mortalcopy(right);
STRLEN len;
- const char *tmps = SvPV_const(final, len);
+ const char * const tmps = SvPV_const(final, len);
SV *sv = sv_mortalcopy(left);
SvPV_force_nolen(sv);
==== //depot/maint-5.8/perl/pp_hot.c#89 (text) ====
Index: perl/pp_hot.c
--- perl/pp_hot.c#88~26627~ 2006-01-03 12:17:14.000000000 -0800
+++ perl/pp_hot.c 2006-01-06 14:22:00.000000000 -0800
@@ -1233,8 +1233,8 @@
dSP; dTARG;
register PMOP *pm = cPMOP;
PMOP *dynpm = pm;
- const register char *t;
- const register char *s;
+ register const char *t;
+ register const char *s;
const char *strend;
I32 global;
I32 r_flags = REXEC_CHECKED;
@@ -2563,7 +2563,7 @@
&& (gv = (GV*)*svp) ))) {
/* Use GV from the stack as a fallback. */
/* GV is potentially non-unique, or contain different CV. */
- SV *tmp = newRV((SV*)cv);
+ SV * const tmp = newRV((SV*)cv);
sv_setsv(dbsv, tmp);
SvREFCNT_dec(tmp);
}
@@ -2624,7 +2624,7 @@
}
got_rv:
{
- SV **sp = &sv; /* Used in tryAMAGICunDEREF macro. */
+ SV * const * sp = &sv; /* Used in tryAMAGICunDEREF
macro. */
tryAMAGICunDEREF(to_cv);
}
cv = (CV*)SvRV(sv);
==== //depot/maint-5.8/perl/regexec.c#55 (text) ====
Index: perl/regexec.c
--- perl/regexec.c#54~26111~ 2005-11-13 10:09:54.000000000 -0800
+++ perl/regexec.c 2006-01-06 14:22:00.000000000 -0800
@@ -2315,7 +2315,7 @@
#if 0
I32 firstcp = PL_savestack_ix;
#endif
- const register bool do_utf8 = PL_reg_match_utf8;
+ register const bool do_utf8 = PL_reg_match_utf8;
#ifdef DEBUGGING
SV *dsv0 = PERL_DEBUG_PAD_ZERO(0);
SV *dsv1 = PERL_DEBUG_PAD_ZERO(1);
==== //depot/maint-5.8/perl/sv.c#204 (text) ====
Index: perl/sv.c
--- perl/sv.c#203~26686~ 2006-01-06 14:05:28.000000000 -0800
+++ perl/sv.c 2006-01-06 14:22:00.000000000 -0800
@@ -2924,7 +2924,7 @@
S_uiv_2buf(char *buf, IV iv, UV uv, int is_uv, char **peob)
{
char *ptr = buf + TYPE_CHARS(UV);
- char *ebuf = ptr;
+ char * const ebuf = ptr;
int sign;
if (is_uv)
@@ -3243,7 +3243,7 @@
return (char *)"";
}
{
- STRLEN len = s - SvPVX_const(sv);
+ const STRLEN len = s - SvPVX_const(sv);
if (lp)
*lp = len;
SvCUR_set(sv, len);
@@ -3871,7 +3871,7 @@
if (sflags & SVf_ROK) {
if (dtype >= SVt_PV) {
if (dtype == SVt_PVGV) {
- SV *sref = SvREFCNT_inc(SvRV(sstr));
+ SV * const sref = SvREFCNT_inc(SvRV(sstr));
SV *dref = 0;
const int intro = GvINTRO(dstr);
@@ -3925,7 +3925,7 @@
else
dref = (SV*)GvCV(dstr);
if (GvCV(dstr) != (CV*)sref) {
- CV* cv = GvCV(dstr);
+ CV* const cv = GvCV(dstr);
if (cv) {
if (!GvCVGEN((GV*)dstr) &&
(CvROOT(cv) || CvXSUB(cv)))
@@ -6458,7 +6458,7 @@
screamer2:
if (rslen) {
- const register STDCHAR *bpe = buf + sizeof(buf);
+ register const STDCHAR *bpe = buf + sizeof(buf);
bp = buf;
while ((i = PerlIO_getc(fp)) != EOF && (*bp++ = (STDCHAR)i) !=
rslast && bp < bpe)
; /* keep reading */
@@ -7344,7 +7344,7 @@
if (SvGMAGICAL(sv))
mg_get(sv);
if (SvROK(sv)) {
- SV **sp = &sv; /* Used in tryAMAGICunDEREF macro. */
+ SV * const *sp = &sv; /* Used in tryAMAGICunDEREF macro. */
tryAMAGICunDEREF(to_cv);
sv = SvRV(sv);
@@ -7405,8 +7405,8 @@
if (!sv)
return 0;
if (SvPOK(sv)) {
- const register XPV* tXpv;
- if ((tXpv = (XPV*)SvANY(sv)) &&
+ register const XPV* const tXpv = (XPV*)SvANY(sv);
+ if (tXpv &&
(tXpv->xpv_cur > 1 ||
(tXpv->xpv_cur && *tXpv->xpv_pv != '0')))
return 1;
@@ -8139,7 +8139,7 @@
Perl_sv_tainted(pTHX_ SV *sv)
{
if (SvTYPE(sv) >= SVt_PVMG && SvMAGIC(sv)) {
- MAGIC * const mg = mg_find(sv, PERL_MAGIC_taint);
+ const MAGIC * const mg = mg_find(sv, PERL_MAGIC_taint);
if (mg && ((mg->mg_len & 1) || ((mg->mg_len & 2) && mg->mg_obj == sv)))
return TRUE;
}
==== //depot/maint-5.8/perl/toke.c#105 (text) ====
Index: perl/toke.c
--- perl/toke.c#104~26686~ 2006-01-06 14:05:28.000000000 -0800
+++ perl/toke.c 2006-01-06 14:22:00.000000000 -0800
@@ -455,7 +455,7 @@
#endif
) {
*tmpbuf = '^';
- tmpbuf[1] = toCTRL(PL_multi_close);
+ tmpbuf[1] = (char)toCTRL(PL_multi_close);
tmpbuf[2] = '\0';
s = tmpbuf;
}
@@ -1170,7 +1170,7 @@
STATIC I32
S_sublex_start(pTHX)
{
- const register I32 op_type = yylval.ival;
+ register const I32 op_type = yylval.ival;
if (op_type == OP_NULL) {
yylval.opval = PL_lex_op;
==== //depot/maint-5.8/perl/util.c#94 (text) ====
Index: perl/util.c
--- perl/util.c#93~26117~ 2005-11-13 13:53:32.000000000 -0800
+++ perl/util.c 2006-01-06 14:22:00.000000000 -0800
@@ -364,7 +364,7 @@
void
Perl_fbm_compile(pTHX_ SV *sv, U32 flags)
{
- const register U8 *s;
+ register const U8 *s;
register U32 i;
STRLEN len;
I32 rarest = 0;
@@ -569,7 +569,7 @@
{ /* Do actual FBM. */
register const unsigned char *table = little + littlelen +
FBM_TABLE_OFFSET;
- const register unsigned char *oldlittle;
+ register const unsigned char *oldlittle;
if (littlelen > (STRLEN)(bigend - big))
return Nullch;
@@ -631,13 +631,13 @@
char *
Perl_screaminstr(pTHX_ SV *bigstr, SV *littlestr, I32 start_shift, I32
end_shift, I32 *old_posp, I32 last)
{
- const register unsigned char *big;
+ register const unsigned char *big;
register I32 pos;
register I32 previous;
register I32 first;
- const register unsigned char *little;
+ register const unsigned char *little;
register I32 stop_pos;
- const register unsigned char *littleend;
+ register const unsigned char *littleend;
I32 found = 0;
if (*old_posp == -1
@@ -679,7 +679,7 @@
}
big -= previous;
do {
- const register unsigned char *s, *x;
+ register const unsigned char *s, *x;
if (pos >= stop_pos) break;
if (big[pos] != first)
continue;
@@ -1567,7 +1567,7 @@
Perl_setenv_getix(pTHX_ char *nam)
{
register I32 i;
- const register I32 len = strlen(nam);
+ register const I32 len = strlen(nam);
for (i = 0; environ[i]; i++) {
if (
End of Patch.