Change 34593 by [EMAIL PROTECTED] on 2008/10/25 17:33:16

        Integrate:
        [ 34576]
        Make C++ compilers happy #3: make implicit cast
        from 'void *' explicit.

Affected files ...

... //depot/maint-5.10/perl/sv.c#29 integrate

Differences ...

==== //depot/maint-5.10/perl/sv.c#29 (text) ====
Index: perl/sv.c
--- perl/sv.c#28~34495~ 2008-10-16 13:45:27.000000000 -0700
+++ perl/sv.c   2008-10-25 10:33:16.000000000 -0700
@@ -178,6 +178,7 @@
 
 #ifdef PERL_POISON
 #  define SvARENA_CHAIN(sv)    ((sv)->sv_u.svu_rv)
+#  define SvARENA_CHAIN_SET(sv,val)    (sv)->sv_u.svu_rv = (SV *)(val)
 /* Whilst I'd love to do this, it seems that things like to check on
    unreferenced scalars
 #  define POSION_SV_HEAD(sv)   PoisonNew(sv, 1, struct STRUCT_SV)
@@ -186,6 +187,7 @@
                                PoisonNew(&SvREFCNT(sv), 1, U32)
 #else
 #  define SvARENA_CHAIN(sv)    SvANY(sv)
+#  define SvARENA_CHAIN_SET(sv,val)    SvANY(sv) = (void *)(val)
 #  define POSION_SV_HEAD(sv)
 #endif
 
@@ -203,7 +205,7 @@
        POSION_SV_HEAD(p);                              \
        SvFLAGS(p) = SVTYPEMASK;                        \
        if (!(old_flags & SVf_BREAK)) {         \
-           SvARENA_CHAIN(p) = (void *)PL_sv_root;      \
+           SvARENA_CHAIN_SET(p, PL_sv_root);   \
            PL_sv_root = (p);                           \
        }                                               \
        --PL_sv_count;                                  \
@@ -359,7 +361,7 @@
     svend = &sva[SvREFCNT(sva) - 1];
     sv = sva + 1;
     while (sv < svend) {
-       SvARENA_CHAIN(sv) = (void *)(SV*)(sv + 1);
+       SvARENA_CHAIN_SET(sv, (sv + 1));
 #ifdef DEBUGGING
        SvREFCNT(sv) = 0;
 #endif
@@ -368,7 +370,7 @@
        SvFLAGS(sv) = SVTYPEMASK;
        sv++;
     }
-    SvARENA_CHAIN(sv) = 0;
+    SvARENA_CHAIN_SET(sv, 0);
 #ifdef DEBUGGING
     SvREFCNT(sv) = 0;
 #endif
End of Patch.

Reply via email to