When we prepare a release, the release manager has to fun 'make fulltest', one part of which is 'make codetest' -- the target which measures compliance with our coding standards. Among the tests run in 'codetest' is t/codingstd/c_function_docs.t, which, as its name implies, reports on the presence of documentation for all functions in C source code (.c) files. c_function_docs.t always PASSes, but that's only because we TODO those 25 files where we still have undocumented functions.

prove -v t/codingstd/c_function_docs.t | grep 'not ok'
not ok 2 - config/gen/platform/darwin/memalign.c # TODO Missing function docs
not ok 13 - compilers/imcc/parser_util.c # TODO Missing function docs
not ok 14 - compilers/imcc/pbc.c # TODO Missing function docs
not ok 15 - compilers/imcc/pcc.c # TODO Missing function docs
not ok 16 - compilers/imcc/reg_alloc.c # TODO Missing function docs
not ok 18 - compilers/imcc/symreg.c # TODO Missing function docs
not ok 21 - compilers/pirc/src/pircapi.c # TODO Missing function docs
not ok 30 - config/gen/platform/ansi/dl.c # TODO Missing function docs
not ok 31 - config/gen/platform/ansi/exec.c # TODO Missing function docs
not ok 32 - config/gen/platform/ansi/time.c # TODO Missing function docs
not ok 35 - config/gen/platform/generic/dl.c # TODO Missing function docs
not ok 37 - config/gen/platform/generic/exec.c # TODO Missing function docs
not ok 40 - config/gen/platform/generic/math.c # TODO Missing function docs
not ok 41 - config/gen/platform/generic/memalign.c # TODO Missing function docs
not ok 44 - config/gen/platform/generic/stat.c # TODO Missing function docs
not ok 45 - config/gen/platform/generic/time.c # TODO Missing function docs
not ok 46 - config/gen/platform/netbsd/math.c # TODO Missing function docs
not ok 48 - config/gen/platform/openbsd/math.c # TODO Missing function docs
not ok 50 - config/gen/platform/solaris/math.c # TODO Missing function docs
not ok 51 - config/gen/platform/solaris/time.c # TODO Missing function docs
not ok 66 - examples/compilers/japhc.c # TODO Missing function docs
not ok 136 - src/string/charset/ascii.c # TODO Missing function docs
not ok 137 - src/string/charset/binary.c # TODO Missing function docs
not ok 138 - src/string/charset/iso-8859-1.c # TODO Missing function docs
not ok 140 - src/string/charset/unicode.c # TODO Missing function docs

The facts that we have only 25 TODO-ed files left and that many of them are relatively simple C files under config/gen/platform/ is an indication that getting this test to pass without TODOs is actually achievable.

I am willing to put some energy into writing documentation for these files, subject to a couple of provisos.

1. Since I'm not (professionally) a C programmer, I would need one or two code reviewers to read the documentation I write. Any volunteers?

2. To the extent that the undocumented functions are little more than Parrot wrappers around standard C library functions, it makes sense to quote from existing man pages. Do we have a preference as to which man pages we quote from or use as guidance? (I have immediate access to Linux and Darwin man pages, and via Darwin indirect access to FreeBSD.) And are there any licensing/copyright issues to be considered here?

Thank you very much.
kid51

_______________________________________________
http://lists.parrot.org/mailman/listinfo/parrot-dev

Reply via email to