Running 'make headerizer' in master earlier this evening, I got this message at the end of the run:

src/extend.c
Parrot_ext_try: "void *))" isn't protected with an ARGIN, ARGOUT or ARGMOD (or a _NULLOK variant), or ARGFREE Parrot_ext_try: "PMC *" isn't protected with an ARGIN, ARGOUT or ARGMOD (or a _NULLOK variant), or ARGFREE Parrot_ext_try: "void *))" isn't protected with an ARGIN, ARGOUT or ARGMOD (or a _NULLOK variant), or ARGFREE
3 warnings in 1 funcs in 1 C files

The patch attached wraps these 3 instances in ARGIN_NULLOK. Re-running 'make headerizer' updates the corresponding header file and enables 'make test' (see: http://smolder.parrot.org/app/projects/report_details/23782) and 'make codetest' to pass once again.

I haven't applied the patch because I can't be 100% certain that ARGIN_NULLOK is the correct wrapper here. If it is, you can simply apply the patch (or let me know to do it).

Thank you very much.
Jim Keenan
diff --git a/include/parrot/extend.h b/include/parrot/extend.h
index 520af2f..4209b43 100644
--- a/include/parrot/extend.h
+++ b/include/parrot/extend.h
@@ -57,10 +57,10 @@ void Parrot_ext_call(PARROT_INTERP,
 PARROT_EXPORT
 void Parrot_ext_try(PARROT_INTERP,
     ARGIN_NULLOK(void (*cfunction)(Parrot_Interp,
-    void *)),
+    ARGIN_NULLOK(void *))),
     ARGIN_NULLOK(void (*chandler)(Parrot_Interp,
-    PMC *,
-    void *)),
+    ARGIN_NULLOK(PMC *),
+    ARGIN_NULLOK(void *))),
     ARGIN_NULLOK(void *data))
         __attribute__nonnull__(1);
 
diff --git a/src/extend.c b/src/extend.c
index 9c0c288..7146e27 100644
--- a/src/extend.c
+++ b/src/extend.c
@@ -341,9 +341,9 @@ If the function throws, the provided handler function is invoked
 PARROT_EXPORT
 void
 Parrot_ext_try(PARROT_INTERP,
-                ARGIN_NULLOK(void (*cfunction)(Parrot_Interp, void *)),
-                ARGIN_NULLOK(void (*chandler)(Parrot_Interp, PMC *, void *)),
-                ARGIN_NULLOK(void *data))
+    ARGIN_NULLOK(void (*cfunction)(Parrot_Interp, ARGIN_NULLOK(void *))),
+    ARGIN_NULLOK(void (*chandler)(Parrot_Interp, ARGIN_NULLOK(PMC *), ARGIN_NULLOK(void *))),
+    ARGIN_NULLOK(void *data))
 {
     ASSERT_ARGS(Parrot_ext_try)
     if (cfunction) {
_______________________________________________
http://lists.parrot.org/mailman/listinfo/parrot-dev

Reply via email to