NNs and NULLOKs for MAD's new functions.
Nicholas Clark [Sat, 11 Mar 2006 22:29:56 +0000 (22:29 +0000)]
p4raw-id: //depot/perl@27478

embed.fnc
proto.h

index ea1f33a..4503983 100644 (file)
--- a/embed.fnc
+++ b/embed.fnc
@@ -1689,17 +1689,19 @@ Mp      |void   |pmop_xmldump   |NULLOK const PMOP* pm
 Mp     |void   |do_op_xmldump  |I32 level|NN PerlIO *file|NULLOK const OP *o
 Mp     |void   |op_xmldump     |NN const OP* arg
 
-Mp     |TOKEN* |newTOKEN       |I32 optype|YYSTYPE lval|MADPROP* madprop
-Mp     |void   |token_free     |TOKEN* arg
-Mp     |void   |token_getmad   |TOKEN* arg|OP* o|char slot
-Mp     |void   |op_getmad_weak |OP* from|OP* o|char slot
-Mp     |void   |op_getmad      |OP* from|OP* o|char slot
-Mp     |void   |prepend_madprops|MADPROP* mp|OP* o|char slot
-Mp     |void   |append_madprops|MADPROP* tm|OP* o|char slot
-Mp     |void   |addmad         |MADPROP* tm|MADPROP** root|char slot
-Mp     |MADPROP*|newMADsv      |char key|SV* sv
-Mp     |MADPROP*|newMADPROP    |char key|char type|void* val|I32 vlen
-Mp     |void   |mad_free       |MADPROP* mp
+Mp     |TOKEN* |newTOKEN       |I32 optype|YYSTYPE lval \
+                               |NULLOK MADPROP* madprop
+Mp     |void   |token_free     |NN TOKEN* arg
+Mp     |void   |token_getmad   |NN TOKEN* arg|NULLOK OP* o|char slot
+Mp     |void   |op_getmad_weak |NULLOK OP* from|NULLOK OP* o|char slot
+Mp     |void   |op_getmad      |NULLOK OP* from|NULLOK OP* o|char slot
+Mp     |void   |prepend_madprops|NULLOK MADPROP* mp|NULLOK OP* o|char slot
+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     |void   |mad_free       |NULLOK MADPROP* mp
 
 #  if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT)
 s      |char*  |skipspace0     |NN char *s
diff --git a/proto.h b/proto.h
index 61f9571..c6c0d2f 100644 (file)
--- a/proto.h
+++ b/proto.h
@@ -4344,14 +4344,20 @@ PERL_CALLCONV void      Perl_op_xmldump(pTHX_ const OP* arg)
 
 
 PERL_CALLCONV TOKEN*   Perl_newTOKEN(pTHX_ I32 optype, YYSTYPE lval, MADPROP* madprop);
-PERL_CALLCONV void     Perl_token_free(pTHX_ TOKEN* arg);
-PERL_CALLCONV void     Perl_token_getmad(pTHX_ TOKEN* arg, OP* o, char slot);
+PERL_CALLCONV void     Perl_token_free(pTHX_ TOKEN* arg)
+                       __attribute__nonnull__(pTHX_1);
+
+PERL_CALLCONV void     Perl_token_getmad(pTHX_ TOKEN* arg, OP* o, char slot)
+                       __attribute__nonnull__(pTHX_1);
+
 PERL_CALLCONV void     Perl_op_getmad_weak(pTHX_ OP* from, OP* o, char slot);
 PERL_CALLCONV void     Perl_op_getmad(pTHX_ OP* from, OP* o, char slot);
 PERL_CALLCONV void     Perl_prepend_madprops(pTHX_ MADPROP* mp, OP* o, char slot);
 PERL_CALLCONV void     Perl_append_madprops(pTHX_ MADPROP* tm, OP* o, char slot);
 PERL_CALLCONV void     Perl_addmad(pTHX_ MADPROP* tm, MADPROP** root, char slot);
-PERL_CALLCONV MADPROP* Perl_newMADsv(pTHX_ char key, SV* sv);
+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 void     Perl_mad_free(pTHX_ MADPROP* mp);