Need to return something when the compiler doesn't know that a
[p5sagit/p5-mst-13.2.git] / mg.c
diff --git a/mg.c b/mg.c
index 679c51e..f7300e4 100644 (file)
--- a/mg.c
+++ b/mg.c
@@ -427,6 +427,7 @@ U32
 Perl_magic_regdata_cnt(pTHX_ SV *sv, MAGIC *mg)
 {
     register const REGEXP *rx;
+    (void)sv;
 
     if (PL_curpm && (rx = PM_GETRE(PL_curpm))) {
        if (mg->mg_obj)         /* @+ */
@@ -474,9 +475,14 @@ Perl_magic_regdatum_get(pTHX_ SV *sv, MAGIC *mg)
 int
 Perl_magic_regdatum_set(pTHX_ SV *sv, MAGIC *mg)
 {
+    (void)sv; (void)mg;
     Perl_croak(aTHX_ PL_no_modify);
     /* NOT REACHED */
+#ifndef HASATTRIBUTE
+    /* No __attribute__, so the compiler doesn't know that croak never returns
+     */
     return 0;
+#endif
 }
 
 U32
@@ -484,7 +490,7 @@ Perl_magic_len(pTHX_ SV *sv, MAGIC *mg)
 {
     register I32 paren;
     register I32 i;
-    register REGEXP *rx;
+    register const REGEXP *rx;
     I32 s1, t1;
 
     switch (*mg->mg_ptr) {
@@ -1033,6 +1039,7 @@ int
 Perl_magic_clearenv(pTHX_ SV *sv, MAGIC *mg)
 {
     STRLEN n_a;
+    (void)sv;
     my_setenv(MgPV(mg,n_a),Nullch);
     return 0;
 }
@@ -1092,6 +1099,8 @@ Perl_magic_clear_all_env(pTHX_ SV *sv, MAGIC *mg)
 #   endif /* PERL_IMPLICIT_SYS || WIN32 */
 #endif /* VMS || EPOC */
 #endif /* !PERL_MICRO */
+    (void)sv;
+    (void)mg;
     return 0;
 }
 
@@ -1151,8 +1160,8 @@ Perl_magic_clearsig(pTHX_ SV *sv, MAGIC *mg)
      * refactoring might be in order.
      */
     STRLEN n_a;
-    SV* to_dec;
     register const char *s = MgPV(mg,n_a);
+    (void)sv;
     if (*s == '_') {
        SV** svp;
        if (strEQ(s,"__DIE__"))
@@ -1162,7 +1171,7 @@ Perl_magic_clearsig(pTHX_ SV *sv, MAGIC *mg)
        else
            Perl_croak(aTHX_ "No such hook: %s", s);
        if (*svp) {
-           to_dec = *svp;
+            SV *to_dec = *svp;
            *svp = 0;
            SvREFCNT_dec(to_dec);
        }
@@ -1199,7 +1208,7 @@ Perl_magic_clearsig(pTHX_ SV *sv, MAGIC *mg)
                PL_psig_name[i]=0;
            }
            if(PL_psig_ptr[i]) {
-               to_dec=PL_psig_ptr[i];
+                SV *to_dec=PL_psig_ptr[i];
                PL_psig_ptr[i]=0;
                LEAVE;
                SvREFCNT_dec(to_dec);
@@ -1211,8 +1220,8 @@ Perl_magic_clearsig(pTHX_ SV *sv, MAGIC *mg)
     return 0;
 }
 
-void
-Perl_raise_signal(pTHX_ int sig)
+static void
+S_raise_signal(pTHX_ int sig)
 {
     /* Set a flag to say this signal is pending */
     PL_psig_pend[sig]++;
@@ -1245,7 +1254,7 @@ Perl_csighandler(int sig)
         * with risk we may be in malloc() etc. */
        (*PL_sighandlerp)(sig);
    else
-       Perl_raise_signal(aTHX_ sig);
+       S_raise_signal(aTHX_ sig);
 }
 
 #if defined(FAKE_PERSISTENT_SIGNAL_HANDLERS) || defined(FAKE_DEFAULT_SIGNAL_HANDLERS)
@@ -1410,6 +1419,8 @@ Perl_magic_setsig(pTHX_ SV *sv, MAGIC *mg)
 int
 Perl_magic_setisa(pTHX_ SV *sv, MAGIC *mg)
 {
+    (void)sv;
+    (void)mg;
     PL_sub_generation++;
     return 0;
 }
@@ -1417,6 +1428,8 @@ Perl_magic_setisa(pTHX_ SV *sv, MAGIC *mg)
 int
 Perl_magic_setamagic(pTHX_ SV *sv, MAGIC *mg)
 {
+    (void)sv;
+    (void)mg;
     /* HV_badAMAGIC_on(Sv_STASH(sv)); */
     PL_amagic_generation++;
 
@@ -1426,8 +1439,9 @@ Perl_magic_setamagic(pTHX_ SV *sv, MAGIC *mg)
 int
 Perl_magic_getnkeys(pTHX_ SV *sv, MAGIC *mg)
 {
-    HV *hv = (HV*)LvTARG(sv);
+    HV * const hv = (HV*)LvTARG(sv);
     I32 i = 0;
+    (void)mg;
 
     if (hv) {
          (void) hv_iterinit(hv);
@@ -1446,6 +1460,7 @@ Perl_magic_getnkeys(pTHX_ SV *sv, MAGIC *mg)
 int
 Perl_magic_setnkeys(pTHX_ SV *sv, MAGIC *mg)
 {
+    (void)mg;
     if (LvTARG(sv)) {
        hv_ksplit((HV*)LvTARG(sv), SvIV(sv));
     }
@@ -1740,6 +1755,7 @@ Perl_magic_setpos(pTHX_ SV *sv, MAGIC *mg)
 int
 Perl_magic_getglob(pTHX_ SV *sv, MAGIC *mg)
 {
+    (void)mg;
     if (SvFAKE(sv)) {                  /* FAKE globs can get coerced */
        SvFAKE_off(sv);
        gv_efullname3(sv,((GV*)sv), "*");
@@ -1754,6 +1770,7 @@ int
 Perl_magic_setglob(pTHX_ SV *sv, MAGIC *mg)
 {
     GV* gv;
+    (void)mg;
  
     if (!SvOK(sv))
        return 0;
@@ -1774,6 +1791,7 @@ Perl_magic_getsubstr(pTHX_ SV *sv, MAGIC *mg)
     const char * const tmps = SvPV(lsv,len);
     I32 offs = LvTARGOFF(sv);
     I32 rem = LvTARGLEN(sv);
+    (void)mg;
 
     if (SvUTF8(lsv))
        sv_pos_u2b(lsv, &offs, &rem);
@@ -1792,9 +1810,10 @@ Perl_magic_setsubstr(pTHX_ SV *sv, MAGIC *mg)
 {
     STRLEN len;
     char *tmps = SvPV(sv, len);
-    SV *lsv = LvTARG(sv);
+    SV * const lsv = LvTARG(sv);
     I32 lvoff = LvTARGOFF(sv);
     I32 lvlen = LvTARGLEN(sv);
+    (void)mg;
 
     if (DO_UTF8(sv)) {
        sv_utf8_upgrade(lsv);
@@ -1830,6 +1849,7 @@ Perl_magic_gettaint(pTHX_ SV *sv, MAGIC *mg)
 int
 Perl_magic_settaint(pTHX_ SV *sv, MAGIC *mg)
 {
+    (void)sv;
     if (PL_localizing) {
        if (PL_localizing == 1)
            mg->mg_len <<= 1;
@@ -1847,6 +1867,7 @@ int
 Perl_magic_getvec(pTHX_ SV *sv, MAGIC *mg)
 {
     SV * const lsv = LvTARG(sv);
+    (void)mg;
 
     if (!lsv) {
        SvOK_off(sv);
@@ -1860,6 +1881,7 @@ Perl_magic_getvec(pTHX_ SV *sv, MAGIC *mg)
 int
 Perl_magic_setvec(pTHX_ SV *sv, MAGIC *mg)
 {
+    (void)mg;
     do_vecset(sv);     /* XXX slurp this routine */
     return 0;
 }
@@ -1899,6 +1921,7 @@ Perl_magic_getdefelem(pTHX_ SV *sv, MAGIC *mg)
 int
 Perl_magic_setdefelem(pTHX_ SV *sv, MAGIC *mg)
 {
+    (void)mg;
     if (LvTARGLEN(sv))
        vivify_defelem(sv);
     if (LvTARG(sv)) {
@@ -1950,6 +1973,8 @@ Perl_magic_killbackrefs(pTHX_ SV *sv, MAGIC *mg)
     AV *av = (AV*)mg->mg_obj;
     SV **svp = AvARRAY(av);
     I32 i = AvFILLp(av);
+    (void)sv;
+
     while (i >= 0) {
        if (svp[i]) {
            if (!SvWEAKREF(svp[i]))
@@ -1977,6 +2002,7 @@ Perl_magic_setmglob(pTHX_ SV *sv, MAGIC *mg)
 int
 Perl_magic_setbm(pTHX_ SV *sv, MAGIC *mg)
 {
+    (void)mg;
     sv_unmagic(sv, PERL_MAGIC_bm);
     SvVALID_off(sv);
     return 0;
@@ -1985,6 +2011,7 @@ Perl_magic_setbm(pTHX_ SV *sv, MAGIC *mg)
 int
 Perl_magic_setfm(pTHX_ SV *sv, MAGIC *mg)
 {
+    (void)mg;
     sv_unmagic(sv, PERL_MAGIC_fm);
     SvCOMPILED_off(sv);
     return 0;
@@ -2003,6 +2030,7 @@ Perl_magic_setuvar(pTHX_ SV *sv, MAGIC *mg)
 int
 Perl_magic_setregexp(pTHX_ SV *sv, MAGIC *mg)
 {
+    (void)mg;
     sv_unmagic(sv, PERL_MAGIC_qr);
     return 0;
 }
@@ -2012,6 +2040,7 @@ Perl_magic_freeregexp(pTHX_ SV *sv, MAGIC *mg)
 {
     regexp *re = (regexp *)mg->mg_obj;
     ReREFCNT_dec(re);
+    (void)sv;
     return 0;
 }
 
@@ -2023,6 +2052,7 @@ Perl_magic_setcollxfrm(pTHX_ SV *sv, MAGIC *mg)
      * RenE<eacute> Descartes said "I think not."
      * and vanished with a faint plop.
      */
+    (void)sv;
     if (mg->mg_ptr) {
        Safefree(mg->mg_ptr);
        mg->mg_ptr = NULL;
@@ -2036,6 +2066,7 @@ Perl_magic_setcollxfrm(pTHX_ SV *sv, MAGIC *mg)
 int
 Perl_magic_setutf8(pTHX_ SV *sv, MAGIC *mg)
 {
+    (void)sv;
     Safefree(mg->mg_ptr);      /* The mg_ptr holds the pos cache. */
     mg->mg_ptr = 0;
     mg->mg_len = -1;           /* The mg_len holds the len cache. */