diff options
Diffstat (limited to 'doc/xolint.rst')
-rw-r--r-- | doc/xolint.rst | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/doc/xolint.rst b/doc/xolint.rst new file mode 100644 index 000000000000..91371d5db598 --- /dev/null +++ b/doc/xolint.rst @@ -0,0 +1,40 @@ + +xolint +====== + +`xolint` is a tool for reporting common mistakes in format strings +in source code that invokes `xo_emit`. It allows these errors +to be diagnosed at build time, rather than waiting until runtime. + +`xolint` takes the one or more C files as arguments, and reports +and errors, warning, or informational messages as needed: + +============ =================================================== + Option Meaning +============ =================================================== + -c Invoke 'cpp' against the input file + -C <flags> Flags that are passed to 'cpp + -d Enable debug output + -D Generate documentation for all xolint messages + -I Generate info table code + -p Print the offending lines after the message + -V Print vocabulary of all field names + -X Extract samples from xolint, suitable for testing +============ =================================================== + +The output message will contain the source filename and line number, the +class of the message, the message, and, if -p is given, the +line that contains the error:: + + % xolint.pl -t xolint.c + xolint.c: 16: error: anchor format should be "%d" + 16 xo_emit("{[:/%s}"); + +The "-I" option will generate a table of `xo_info_t`_ structures, +suitable for inclusion in source code. + +.. _xo_info_t: :ref:`field-information` + +The "-V" option does not report errors, but prints a complete list of +all field names, sorted alphabetically. The output can help spot +inconsistencies and spelling errors. |