xref: /freebsd/contrib/libxo/xolint/xolint.1 (revision 083c8ded054841f6b1a197acf6867e16fd044a7c)
131337658SMarcel Moolenaar.\" #
231337658SMarcel Moolenaar.\" # Copyright (c) 2014, Juniper Networks, Inc.
331337658SMarcel Moolenaar.\" # All rights reserved.
431337658SMarcel Moolenaar.\" # This SOFTWARE is licensed under the LICENSE provided in the
531337658SMarcel Moolenaar.\" # ../Copyright file. By downloading, installing, copying, or
631337658SMarcel Moolenaar.\" # using the SOFTWARE, you agree to be bound by the terms of that
731337658SMarcel Moolenaar.\" # LICENSE.
831337658SMarcel Moolenaar.\" # Phil Shafer, July 2014
931337658SMarcel Moolenaar.\"
10545ddfbeSMarcel Moolenaar.Dd December 4, 2014
11545ddfbeSMarcel Moolenaar.Dt XOLINT 1
1231337658SMarcel Moolenaar.Os
1331337658SMarcel Moolenaar.Sh NAME
1431337658SMarcel Moolenaar.Nm xolint
15545ddfbeSMarcel Moolenaar.Nd detect errors in programs using
16545ddfbeSMarcel Moolenaar.Xr xo_emit 3
1731337658SMarcel Moolenaar.Sh SYNOPSIS
1831337658SMarcel Moolenaar.Nm xolint
1931337658SMarcel Moolenaar.Op Fl c
2031337658SMarcel Moolenaar.Op Fl "C <flags>"
2131337658SMarcel Moolenaar.Op Fl "d"
2231337658SMarcel Moolenaar.Op Fl "D"
2331337658SMarcel Moolenaar.Op Fl "I"
2431337658SMarcel Moolenaar.Op Fl "p"
2531337658SMarcel Moolenaar.Op Fl "V"
2631337658SMarcel Moolenaar.Op Fl "X"
2731337658SMarcel Moolenaar.Op Ar files...
2831337658SMarcel Moolenaar.Sh DESCRIPTION
29545ddfbeSMarcel Moolenaar.Nm
30545ddfbeSMarcel Moolenaaris a tool for reporting common mistakes in format strings
31545ddfbeSMarcel Moolenaarin source code that invokes
32545ddfbeSMarcel Moolenaar.Xr xo_emit 3 .
33545ddfbeSMarcel MoolenaarIt allows these errors
3431337658SMarcel Moolenaarto be diagnosed at build time, rather than waiting until runtime.
3531337658SMarcel Moolenaar.Pp
36545ddfbeSMarcel Moolenaar.Nm
37545ddfbeSMarcel Moolenaartakes one or more C files as arguments, and reports
38545ddfbeSMarcel Moolenaarerror, warning, or informational messages as needed.
3931337658SMarcel Moolenaar.Bl -tag -width "C <flags>"
4031337658SMarcel Moolenaar.It Fl c
4131337658SMarcel MoolenaarInvoke 'cpp' against the input file
4231337658SMarcel Moolenaar.It Fl "C <flags>"
43545ddfbeSMarcel MoolenaarFlags that are passed to 'cpp'
4431337658SMarcel Moolenaar.It Fl "d"
4531337658SMarcel MoolenaarEnable debug output
4631337658SMarcel Moolenaar.It Fl "D"
47545ddfbeSMarcel MoolenaarGenerate documentation for all
48545ddfbeSMarcel Moolenaar.Nm
49545ddfbeSMarcel Moolenaarmessages
5031337658SMarcel Moolenaar.It Fl "I"
51545ddfbeSMarcel MoolenaarGenerate a table of
52545ddfbeSMarcel Moolenaar.Dv xo_info_t
53545ddfbeSMarcel Moolenaarstructures.
5431337658SMarcel Moolenaar.It Fl "p"
5531337658SMarcel MoolenaarPrint the offending lines after the error message is displayed
5631337658SMarcel Moolenaar.It Fl "V"
5731337658SMarcel MoolenaarDo not report errors, but instead print a complete list of
58545ddfbeSMarcel Moolenaarall field names, sorted alphabetically.
59545ddfbeSMarcel MoolenaarThe output can help spot
6031337658SMarcel Moolenaarinconsistencies and spelling errors.
6131337658SMarcel Moolenaar.It Fl "X"
62545ddfbeSMarcel MoolenaarExtract samples from
63545ddfbeSMarcel Moolenaar.Nm ,
64545ddfbeSMarcel Moolenaarsuitable for internal testing.
6531337658SMarcel Moolenaar.El
6631337658SMarcel Moolenaar.Pp
67545ddfbeSMarcel MoolenaarThe output message contains the source filename and line number, the
6831337658SMarcel Moolenaarclass of the message, the message, and, if
6931337658SMarcel Moolenaar.Fl p
7031337658SMarcel Moolenaaris given, the
7131337658SMarcel Moolenaarline that contains the error:
7231337658SMarcel Moolenaar.Bd -literal -offset indent
7331337658SMarcel Moolenaar    % xolint -t xolint.c
7431337658SMarcel Moolenaar    xolint.c: 16: error: anchor format should be "%d"
7531337658SMarcel Moolenaar    16         xo_emit("{[:/%s}");
7631337658SMarcel Moolenaar.Ed
7731337658SMarcel Moolenaar.Sh SEE ALSO
78545ddfbeSMarcel Moolenaar.Xr libxo 3 ,
7931337658SMarcel Moolenaar.Xr xo_emit 3
80*fd5e3f3eSPhil Shafer.Sh HISTORY
81*fd5e3f3eSPhil ShaferThe
82*fd5e3f3eSPhil Shafer.Nm libxo
83*fd5e3f3eSPhil Shaferlibrary first appeared in
84*fd5e3f3eSPhil Shafer.Fx 11.0 .
85*fd5e3f3eSPhil Shafer.Sh AUTHORS
86*fd5e3f3eSPhil Shafer.Nm libxo
87*fd5e3f3eSPhil Shaferwas written by
88*fd5e3f3eSPhil Shafer.An Phil Shafer Aq Mt phil@freebsd.org .
89*fd5e3f3eSPhil Shafer
90