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.