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.

Reply via email to