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