Get mad compiling as C++. (At least for me)
Nicholas Clark [Thu, 20 Sep 2007 19:34:51 +0000 (19:34 +0000)]
p4raw-id: //depot/perl@31933

embed.fnc
op.c
op.h
proto.h

index eae7f25..1048331 100644 (file)
--- a/embed.fnc
+++ b/embed.fnc
@@ -1858,7 +1858,8 @@ Mp        |void   |append_madprops|NULLOK MADPROP* tm|NULLOK OP* o|char slot
 Mp     |void   |addmad         |NULLOK MADPROP* tm|NULLOK MADPROP** root \
                                |char slot
 Mp     |MADPROP*|newMADsv      |char key|NN SV* sv
-Mp     |MADPROP*|newMADPROP    |char key|char type|NULLOK void* val|I32 vlen
+Mp     |MADPROP*|newMADPROP    |char key|char type|NULLOK const void* val \
+                               |I32 vlen
 Mp     |void   |mad_free       |NULLOK MADPROP* mp
 
 #  if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT)
diff --git a/op.c b/op.c
index d3fabf3..05ddc86 100644 (file)
--- a/op.c
+++ b/op.c
@@ -2818,7 +2818,7 @@ Perl_newMADsv(pTHX_ char key, SV* sv)
 }
 
 MADPROP *
-Perl_newMADPROP(pTHX_ char key, char type, void* val, I32 vlen)
+Perl_newMADPROP(pTHX_ char key, char type, const void* val, I32 vlen)
 {
     MADPROP *mp;
     Newxz(mp, 1, MADPROP);
diff --git a/op.h b/op.h
index f03251f..f7ab172 100644 (file)
--- a/op.h
+++ b/op.h
@@ -635,7 +635,7 @@ struct loop {
 
 struct madprop {
     MADPROP* mad_next;
-    void *mad_val;
+    const void *mad_val;
     U32 mad_vlen;
 /*    short mad_count; */
     char mad_key;
diff --git a/proto.h b/proto.h
index 3909b05..9ceac44 100644 (file)
--- a/proto.h
+++ b/proto.h
@@ -4646,7 +4646,7 @@ PERL_CALLCONV void        Perl_addmad(pTHX_ MADPROP* tm, MADPROP** root, char slot);
 PERL_CALLCONV MADPROP* Perl_newMADsv(pTHX_ char key, SV* sv)
                        __attribute__nonnull__(pTHX_2);
 
-PERL_CALLCONV MADPROP* Perl_newMADPROP(pTHX_ char key, char type, void* val, I32 vlen);
+PERL_CALLCONV MADPROP* Perl_newMADPROP(pTHX_ char key, char type, const void* val, I32 vlen);
 PERL_CALLCONV void     Perl_mad_free(pTHX_ MADPROP* mp);
 
 #  if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT)