Clear up most of the VC6 compiler warnings in the following smoke:
Steve Hay [Thu, 27 Jul 2006 16:25:41 +0000 (16:25 +0000)]
http://www.nntp.perl.org/group/perl.daily-build.reports/39733

p4raw-id: //depot/perl@28626

doio.c
ext/B/B.xs
ext/XS/APItest/APItest.xs
hv.c
op.c
pp.c
pp_pack.c
utf8.c

diff --git a/doio.c b/doio.c
index 809459f..585eb54 100644 (file)
--- a/doio.c
+++ b/doio.c
@@ -1287,6 +1287,7 @@ Perl_my_stat(pTHX)
                 return (PL_laststatval = PerlLIO_fstat(dirfd(IoDIRP(io)), &PL_statcache));
 #else
                 Perl_die(aTHX_ PL_no_func, "dirfd");
+                NORETURN_FUNCTION_END;
 #endif
             } else {
                 if (ckWARN2(WARN_UNOPENED,WARN_CLOSED))
index 2e3e4b1..2eedb95 100644 (file)
@@ -1170,7 +1170,7 @@ COP_warnings(o)
        ST(0) = make_warnings_object(aTHX_ sv_newmortal(), o->cop_warnings);
        XSRETURN(1);
 
-B::SV
+void
 COP_io(o)
        B::COP  o
        PPCODE:
index bcf46ee..0bba0bb 100644 (file)
@@ -225,7 +225,6 @@ test_hv_delayfree_ent()
 SV *
 test_share_unshare_pvn(input)
        PREINIT:
-       SV *output;
        STRLEN len;
        U32 hash;
        char *pvx;
diff --git a/hv.c b/hv.c
index c3a4188..1643515 100644 (file)
--- a/hv.c
+++ b/hv.c
@@ -2766,7 +2766,7 @@ Perl_refcounted_he_fetch(pTHX_ const struct refcounted_he *chain, SV *keysv,
 #else
        if (hash != HEK_HASH(chain->refcounted_he_hek))
            continue;
-       if (klen != HEK_LEN(chain->refcounted_he_hek))
+       if (klen != (STRLEN)HEK_LEN(chain->refcounted_he_hek))
            continue;
        if (memNE(HEK_KEY(chain->refcounted_he_hek),key,klen))
            continue;
diff --git a/op.c b/op.c
index 45ccd85..1a4ab2d 100644 (file)
--- a/op.c
+++ b/op.c
@@ -2233,7 +2233,7 @@ Perl_fold_constants(pTHX_ register OP *o)
     if (type == OP_RV2GV)
        newop = newGVOP(OP_GV, 0, (GV*)sv);
     else
-       newop = newSVOP(OP_CONST, 0, sv);
+       newop = newSVOP(OP_CONST, 0, (SV*)sv);
     op_getmad(o,newop,'f');
     return newop;
 
diff --git a/pp.c b/pp.c
index 638b1e1..df16635 100644 (file)
--- a/pp.c
+++ b/pp.c
@@ -4035,7 +4035,7 @@ PP(pp_hslice)
                        STRLEN keylen;
                        const char * const key = SvPV_const(keysv, keylen);
                        SAVEDELETE(hv, savepvn(key,keylen),
-                                  SvUTF8(keysv) ? -keylen : keylen);
+                                  SvUTF8(keysv) ? -(I32)keylen : keylen);
                    }
                }
             }
index fe41b3e..b593e30 100644 (file)
--- a/pp_pack.c
+++ b/pp_pack.c
@@ -2962,7 +2962,7 @@ S_pack_rec(pTHX_ SV *cat, tempsym_t* symptr, SV **beglist, SV **endlist )
            break;
        case 'W': {
            char *end;
-           U8 in_bytes = IN_BYTES;
+           U8 in_bytes = (U8)IN_BYTES;
 
            end = start+SvLEN(cat)-1;
            if (utf8) end -= UTF8_MAXLEN-1;
diff --git a/utf8.c b/utf8.c
index 3b2297a..28ac605 100644 (file)
--- a/utf8.c
+++ b/utf8.c
@@ -1741,6 +1741,7 @@ Perl_swash_fetch(pTHX_ SV *swash, const U8 *ptr, bool do_utf8)
        return (tmps[off] << 24) + (tmps[off+1] << 16) + (tmps[off+2] << 8) + tmps[off + 3] ;
     }
     Perl_croak(aTHX_ "panic: swash_fetch got swatch of unexpected bit width");
+    NORETURN_FUNCTION_END;
 }
 
 /* Note: