Add a macro MUTABLE_PTR(p), which on (non-pedantic) gcc will not cast
authorNicholas Clark <nick@ccl4.org>
Mon, 27 Oct 2008 20:25:46 +0000 (20:25 +0000)
committerNicholas Clark <nick@ccl4.org>
Mon, 27 Oct 2008 20:25:46 +0000 (20:25 +0000)
commitb1bc3f345d4dfe19cd94c120c46649336b5cb92b
treebdfcef0c7875037af6a5fa8195d2203fe76e6b27
parentbb5dd93d07e2d54d352e519c7b43ff2d3e5c5f36
Add a macro MUTABLE_PTR(p), which on (non-pedantic) gcc will not cast
away const, returning a void *. Add MUTABLE_SV(sv) which uses this, and
replace all (SV *) casts either with MUTABLE_SV(sv), or (const SV *).

This probably still needs some work - assigning to SvPVX() and SvRV()
is now likely to generate a casting error. The core doesn't do this.
But as-is it's finding bugs that can be fixed.

p4raw-id: //depot/perl@34605
av.h
cop.h
gv.h
handy.h
hv.h
mg.h
op.h
pad.h
scope.h
sv.h