2018-10-13 18:42:09 +02:00
<?xml version="1.0" encoding="UTF-8"?>
< !DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
2008-11-01 18:16:48 +01:00
<!--
`xsltproc -''-nonet \
-''-param man.charmap.use.subset "0" \
-''-param make.year.ranges "1" \
-''-param make.single.year.ranges "1" \
/usr/share/xml/docbook/stylesheet/nwalsh/manpages/docbook.xsl \
manpage.xml'
A manual page <package > .<section > will be generated. You may view the
manual page with: nroff -man <package > .<section > | less'. A typical entry
in a Makefile or Makefile.am is:
DB2MAN = /usr/share/sgml/docbook/stylesheet/xsl/nwalsh/manpages/docbook.xsl
XP = xsltproc -''-nonet -''-param man.charmap.use.subset "0"
manpage.1: manpage.xml
$(XP) $(DB2MAN) $<
The xsltproc binary is found in the xsltproc package. The XSL files are in
docbook-xsl. A description of the parameters you can use can be found in the
docbook-xsl-doc-* packages. Please remember that if you create the nroff
version in one of the debian/rules file targets (such as build), you will need
to include xsltproc and docbook-xsl in your Build-Depends control field.
Alternatively use the xmlto command/package. That will also automatically
pull in xsltproc and docbook-xsl.
Notes for using docbook2x: docbook2x-man does not automatically create the
AUTHOR(S) and COPYRIGHT sections. In this case, please add them manually as
<refsect1 > ... </refsect1> .
To disable the automatic creation of the AUTHOR(S) and COPYRIGHT sections
read /usr/share/doc/docbook-xsl/doc/manpages/authors.html. This file can be
found in the docbook-xsl-doc-html package.
Validation can be done using: `xmllint -''-noout -''-valid manpage.xml`
General documentation about man-pages and man-page-formatting:
man(1), man(7), http://www.tldp.org/HOWTO/Man-Page/
2018-10-13 18:42:09 +02:00
--><!-- Fill in your name for FIRSTNAME and SURNAME. --> <!ENTITY dhfirstname "Reijo">
<!ENTITY dhsurname "Tomperi">
<!-- dhusername could also be set to "&firstname; &surname;". --> <!ENTITY dhusername "&dhfirstname; &dhsurname;">
<!ENTITY dhemail "aggro80@users.sourceforge.net">
<!-- SECTION should be 1 - 8, maybe w/ subsection other parameters are
2008-11-01 18:16:48 +01:00
allowed: see man(7), man(1) and
2018-10-13 18:42:09 +02:00
http://www.tldp.org/HOWTO/Man-Page/q2.html. --><!ENTITY dhsection "1">
<!-- TITLE should be something like "User commands" or similar (see
http://www.tldp.org/HOWTO/Man-Page/q2.html). --><!ENTITY dhtitle "cppcheck User Manual">
<!ENTITY dhucpackage "CPPCHECK">
<!ENTITY dhpackage "cppcheck">
2008-11-01 18:16:48 +01:00
]>
<refentry >
<refentryinfo >
<title > &dhtitle; </title>
<productname > &dhpackage; </productname>
<authorgroup >
<author >
2018-10-13 18:42:09 +02:00
<firstname > &dhfirstname; </firstname>
2008-11-01 18:16:48 +01:00
<surname > &dhsurname; </surname>
<contrib > Wrote this manpage for the Debian system.</contrib>
<address >
<email > &dhemail; </email>
</address>
</author>
</authorgroup>
<copyright >
2016-01-01 14:34:45 +01:00
<year > 2009 - 2016</year>
2008-11-01 18:16:48 +01:00
<holder > &dhusername; </holder>
</copyright>
<legalnotice >
<para > This manual page was written for the Debian system
(but may be used by others).</para>
<para > Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU General Public License,
2010-10-11 23:37:38 +02:00
Version 3 or (at your option) any later version published by
2008-11-01 18:16:48 +01:00
the Free Software Foundation.</para>
<para > On Debian systems, the complete text of the GNU General Public
License can be found in
2012-09-22 20:41:13 +02:00
<filename > /usr/share/common-licenses/GPL-3</filename> .</para>
2008-11-01 18:16:48 +01:00
</legalnotice>
</refentryinfo>
<refmeta >
<refentrytitle > &dhucpackage; </refentrytitle>
<manvolnum > &dhsection; </manvolnum>
</refmeta>
<refnamediv >
<refname > &dhpackage; </refname>
2010-07-08 16:51:28 +02:00
<refpurpose > Tool for static C/C++ code analysis</refpurpose>
2008-11-01 18:16:48 +01:00
</refnamediv>
<refsynopsisdiv >
<cmdsynopsis >
<command > &dhpackage; </command>
2018-10-13 18:42:09 +02:00
<arg choice= "opt" >
<option > --check-config</option>
</arg>
<arg choice= "opt" >
<option > --check-library</option>
</arg>
<arg choice= "opt" >
<option > -D< id> </option>
</arg>
<arg choice= "opt" >
<option > -U< id> </option>
</arg>
2023-01-21 10:39:44 +01:00
<arg choice= "opt" >
<option > --disable=< id> </option>
</arg>
2018-10-13 18:42:09 +02:00
<arg choice= "opt" >
<option > --enable=< id> </option>
</arg>
<arg choice= "opt" >
<option > --error-exitcode=< n> </option>
</arg>
<arg choice= "opt" >
<option > --errorlist</option>
</arg>
<arg choice= "opt" >
<option > --exitcode-suppressions=< file> </option>
</arg>
<arg choice= "opt" >
<option > --file-list=< file> </option>
</arg>
<arg choice= "opt" >
<option > --force</option>
</arg>
<arg choice= "opt" >
<option > --help</option>
</arg>
<arg choice= "opt" >
<option > -I< dir> </option>
</arg>
<arg choice= "opt" >
<option > --includes-file=< file> </option>
</arg>
<arg choice= "opt" >
<option > --config-exclude=< dir> </option>
</arg>
<arg choice= "opt" >
<option > --config-excludes-file=< file> </option>
</arg>
<arg choice= "opt" >
<option > --include=< file> </option>
</arg>
<arg choice= "opt" >
<option > -i< dir> </option>
</arg>
<arg choice= "opt" >
<option > --inconclusive</option>
</arg>
<arg choice= "opt" >
<option > --inline-suppr</option>
</arg>
<arg choice= "opt" >
<option > -j< jobs> </option>
</arg>
<arg choice= "opt" >
<option > -l< load> </option>
</arg>
<arg choice= "opt" >
<option > --language=< language> </option>
</arg>
<arg choice= "opt" >
<option > --library=< cfg> </option>
</arg>
<arg choice= "opt" >
<option > --max-configs=< limit> </option>
</arg>
2019-02-03 17:51:02 +01:00
<arg choice= "opt" >
<option > --max-ctu-depth=< limit> </option>
</arg>
2018-10-13 18:42:09 +02:00
<arg choice= "opt" >
<option > --platform=< type> </option>
</arg>
<arg choice= "opt" >
<option > --quiet</option>
</arg>
<arg choice= "opt" >
<option > --relative-paths=< paths> </option>
</arg>
<arg choice= "opt" >
<option > --report-progress</option>
</arg>
<arg choice= "opt" >
<option > --rule=< rule> </option>
</arg>
<arg choice= "opt" >
<option > --rule-file=< file> </option>
</arg>
<arg choice= "opt" >
<option > --std=< id> </option>
</arg>
<arg choice= "opt" >
<option > --suppress=< spec> </option>
</arg>
<arg choice= "opt" >
<option > --suppressions-list=< file> </option>
</arg>
<arg choice= "opt" >
<option > --suppress-xml=< .xml file> </option>
</arg>
<arg choice= "opt" >
<option > --template='< text> '</option>
</arg>
<arg choice= "opt" >
<option > --verbose</option>
</arg>
<arg choice= "opt" >
<option > --version</option>
</arg>
<arg choice= "opt" >
<option > --xml</option>
</arg>
<arg choice= "opt" >
<option > --xml-version=< version> ]</option>
</arg>
<arg choice= "opt" >
<option > file or path</option>
</arg>
<arg choice= "plain" >
<option > ...</option>
</arg>
2008-11-01 18:16:48 +01:00
</cmdsynopsis>
</refsynopsisdiv>
<refsect1 id= "description" >
<title > DESCRIPTION</title>
2012-09-22 20:41:13 +02:00
<para > Cppcheck is a command-line tool that tries to detect bugs that your C/C++
compiler doesn't see. It is versatile, and can check non-standard code
including various compiler extensions, inline assembly code, etc.
Its internal preprocessor can handle includes, macros, and several
preprocessor commands. While Cppcheck is highly configurable,
2010-07-08 16:51:28 +02:00
you can start using it just by giving it a path to the source code.
</para>
2008-11-01 18:16:48 +01:00
</refsect1>
<refsect1 id= "options" >
<title > OPTIONS</title>
<para > Analyze given C/C++ files for common errors.</para>
<variablelist >
<!-- Use the variablelist.term.separator and the
variablelist.term.break.after parameters to
control the term elements. -->
2011-10-04 20:59:47 +02:00
<varlistentry >
2018-10-13 18:42:09 +02:00
<term >
<option > --check-config</option>
</term>
2011-10-04 20:59:47 +02:00
<listitem >
<para > Check Cppcheck configuration. The normal code analysis is disabled by this flag.</para>
</listitem>
2012-09-22 20:41:13 +02:00
</varlistentry>
2013-07-20 09:38:44 +02:00
<varlistentry >
2018-10-13 18:42:09 +02:00
<term >
<option > --check-library</option>
</term>
2013-07-20 09:38:44 +02:00
<listitem >
<para > Show information messages when library files have incomplete info.</para>
</listitem>
</varlistentry>
2010-06-05 12:13:42 +02:00
<varlistentry >
2018-10-13 18:42:09 +02:00
<term >
<option > -D< id> </option>
</term>
2010-06-05 12:13:42 +02:00
<listitem >
2012-09-22 20:41:13 +02:00
<para > By default Cppcheck checks all configurations. Use -D to limit the checking. When -D is used the checking is limited to the given configuration.
2010-10-02 23:02:46 +02:00
Example: -DDEBUG=1 -D__cplusplus</para>
2010-06-05 12:13:42 +02:00
</listitem>
2011-11-30 20:24:01 +01:00
</varlistentry>
2018-10-13 18:42:09 +02:00
<varlistentry >
<term >
<option > -U< id> </option>
</term>
<listitem >
<para > By default Cppcheck checks all configurations. Use '-U' to explicitly hide certain #ifdef < id> code paths from checking.
2011-11-30 20:24:01 +01:00
Example: '-UDEBUG'</para>
2018-10-13 18:42:09 +02:00
</listitem>
</varlistentry>
2023-01-21 10:39:44 +01:00
<varlistentry >
<term >
<option > --disable=< id> </option>
</term>
<listitem >
2023-03-06 11:25:07 +01:00
<para > Disable individual checks. Please refer to the documentation of --enable=< id> for further details.
2023-01-21 10:39:44 +01:00
</para>
</listitem>
</varlistentry>
2018-10-13 18:42:09 +02:00
<varlistentry >
<term >
<option > --enable=< id> </option>
</term>
2009-11-15 15:47:57 +01:00
<listitem >
2011-02-04 23:40:12 +01:00
<para > Enable additional checks. The available ids are:
2018-10-13 18:42:09 +02:00
<glosslist > <glossentry > <glossterm > all</glossterm> <glossdef > <para > Enable all checks. It is recommended to only use
2013-07-20 09:38:44 +02:00
--enable=all when the whole program is scanned, because this
2018-10-13 18:42:09 +02:00
enables unusedFunction.</para> </glossdef> </glossentry> <glossentry > <glossterm > warning</glossterm> <glossdef > <para > Enable warning messages</para> </glossdef> </glossentry> <glossentry > <glossterm > style</glossterm> <glossdef > <para > Enable all coding style checks. All messages with the
2013-07-20 09:38:44 +02:00
severities 'style', 'performance' and 'portability' are
2018-10-13 18:42:09 +02:00
enabled.</para> </glossdef> </glossentry> <glossentry > <glossterm > performance</glossterm> <glossdef > <para > Enable performance messages</para> </glossdef> </glossentry> <glossentry > <glossterm > portability</glossterm> <glossdef > <para > Enable portability messages</para> </glossdef> </glossentry> <glossentry > <glossterm > information</glossterm> <glossdef > <para > Enable information messages</para> </glossdef> </glossentry> <glossentry > <glossterm > unusedFunction</glossterm> <glossdef > <para > Check for unused functions. It is recommend to only
2023-03-04 09:02:35 +01:00
enable this when the whole program is scanned</para> </glossdef> </glossentry> <glossentry > <glossterm > missingInclude</glossterm> <glossdef > <para > Warn if there are missing includes</para> </glossdef> </glossentry> </glosslist>
2012-02-09 17:34:16 +01:00
By default none of the additional checks are enabled. Several ids can be given if you separate them with commas, e.g. --enable=style,unusedFunction. See also --std
2010-06-05 12:13:42 +02:00
</para>
2009-11-15 15:47:57 +01:00
</listitem>
</varlistentry>
2009-03-06 01:03:31 +01:00
<varlistentry >
2018-10-13 18:42:09 +02:00
<term >
<option > --error-exitcode=< n> </option>
</term>
2009-03-06 01:03:31 +01:00
<listitem >
2011-02-05 21:31:31 +01:00
<para > If errors are found, integer < n> is returned instead of default 0.
2009-03-06 01:03:31 +01:00
EXIT_FAILURE is returned if arguments are not valid or if no input files are
2009-03-07 08:56:12 +01:00
provided. Note that your operating system can modify this value, e.g.
2009-03-06 01:03:31 +01:00
256 can become 0.</para>
</listitem>
</varlistentry>
2010-06-05 12:13:42 +02:00
<varlistentry >
2018-10-13 18:42:09 +02:00
<term >
<option > --errorlist</option>
</term>
2011-02-04 23:40:12 +01:00
<listitem >
<para > Print a list of all possible error messages in XML format.</para>
</listitem>
2012-09-22 20:41:13 +02:00
</varlistentry>
2011-02-04 23:40:12 +01:00
<varlistentry >
2018-10-13 18:42:09 +02:00
<term >
<option > --exitcode-suppressions=< file> </option>
</term>
2010-06-05 12:13:42 +02:00
<listitem >
<para > Used when certain messages should be displayed but should not cause a non-zero exitcode.</para>
</listitem>
</varlistentry>
<varlistentry >
2018-10-13 18:42:09 +02:00
<term >
<option > --file-list=< file> </option>
</term>
2010-06-05 12:13:42 +02:00
<listitem >
2011-09-27 03:43:39 +02:00
<para > Specify the files to check in a text file. One filename per line. When file is -, the file list will be read from standard input.</para>
2010-06-05 12:13:42 +02:00
</listitem>
</varlistentry>
2009-01-22 20:59:50 +01:00
<varlistentry >
2018-10-13 18:42:09 +02:00
<term >
<option > -f</option>
</term>
<term >
<option > --force</option>
</term>
2009-01-22 20:59:50 +01:00
<listitem >
2009-03-07 08:56:12 +01:00
<para > Force checking of files that have a lot of configurations. Error is printed if such a file is found so there is no reason to use this by
2012-04-25 19:58:34 +02:00
default. If used together with --max-configs=, the last option is the one that is effective.</para>
2009-01-22 20:59:50 +01:00
</listitem>
</varlistentry>
2009-01-22 21:26:04 +01:00
<varlistentry >
2018-10-13 18:42:09 +02:00
<term >
<option > -h</option>
</term>
<term >
<option > --help</option>
</term>
2009-01-22 21:26:04 +01:00
<listitem >
<para > Print help text.</para>
</listitem>
</varlistentry>
2009-01-22 20:59:50 +01:00
<varlistentry >
2018-10-13 18:42:09 +02:00
<term >
<option > -I < dir> </option>
</term>
2009-01-22 20:59:50 +01:00
<listitem >
2011-10-30 21:19:16 +01:00
<para > Give path to search for include files. Give several -I parameters to give several paths. First given path is
searched for contained header files first. If paths are relative to source files, this is not needed.</para>
2009-01-22 20:59:50 +01:00
</listitem>
</varlistentry>
2011-10-23 10:47:18 +02:00
<varlistentry >
2018-10-13 18:42:09 +02:00
<term >
<option > --includes-file=< file> </option>
</term>
2011-10-23 10:47:18 +02:00
<listitem >
2011-10-30 21:19:16 +01:00
<para > Specify directory paths to search for included header files in a text file. Add one include path per line.
First given path is searched for contained header files first. If paths are relative to source files, this is not needed.</para>
2011-10-23 10:47:18 +02:00
</listitem>
</varlistentry>
2014-04-26 00:14:27 +02:00
<varlistentry >
2018-10-13 18:42:09 +02:00
<term >
<option > --config-exclude=< dir> </option>
</term>
2014-04-26 00:14:27 +02:00
<listitem >
2015-01-03 12:14:58 +01:00
<para > Path (prefix) to be excluded from configuration checking. Preprocessor configurations defined in headers
2014-04-26 00:14:27 +02:00
(but not sources) matching the prefix will not be considered for evaluation of configuration alternatives.</para>
</listitem>
</varlistentry>
<varlistentry >
2018-10-13 18:42:09 +02:00
<term >
<option > --config-exclude-file=< file> </option>
</term>
2014-04-26 00:14:27 +02:00
<listitem >
<para > A file that contains a list of config-excludes.</para>
</listitem>
</varlistentry>
<varlistentry >
2018-10-13 18:42:09 +02:00
<term >
<option > --include=< file> </option>
</term>
2014-04-26 00:14:27 +02:00
<listitem >
2015-01-03 12:14:58 +01:00
<para > Force inclusion of a file before the checked file. Can be used for example when checking the Linux kernel,
2014-04-26 00:14:27 +02:00
where autoconf.h needs to be included for every file compiled. Works the same way as the GCC -include option.</para>
</listitem>
</varlistentry>
2011-02-04 23:40:12 +01:00
<varlistentry >
2018-10-13 18:42:09 +02:00
<term >
<option > -i < dir> </option>
</term>
2011-02-04 23:40:12 +01:00
<listitem >
2012-09-22 20:41:13 +02:00
<para > Give path to ignore. Give several -i parameters to ignore several paths. Give directory name or filename with path as parameter.
2011-02-04 23:40:12 +01:00
Directory name is matched to all parts of the path.</para>
</listitem>
</varlistentry>
2012-08-25 23:02:44 +02:00
<varlistentry >
2018-10-13 18:42:09 +02:00
<term >
<option > --inconclusive</option>
</term>
2012-08-25 23:02:44 +02:00
<listitem >
2012-09-22 20:41:13 +02:00
<para > Allow that Cppcheck reports even though the analysis is inconclusive.
2012-08-25 23:02:44 +02:00
There are false positives with this option. Each result must be carefully investigated before you know if it is good or bad.</para>
</listitem>
2012-09-22 20:41:13 +02:00
</varlistentry>
2010-06-05 12:13:42 +02:00
<varlistentry >
2018-10-13 18:42:09 +02:00
<term >
<option > --inline-suppr</option>
</term>
2010-06-05 12:13:42 +02:00
<listitem >
<para > Enable inline suppressions. Use them by placing comments in the form: // cppcheck-suppress memleak
before the line to suppress.</para>
</listitem>
</varlistentry>
2009-03-06 22:17:42 +01:00
<varlistentry >
2018-10-13 18:42:09 +02:00
<term >
<option > -j < jobs> </option>
</term>
2009-03-06 22:17:42 +01:00
<listitem >
2011-02-05 21:31:31 +01:00
<para > Start < jobs> threads to do the checking work.</para>
2009-03-06 22:17:42 +01:00
</listitem>
</varlistentry>
2014-04-26 00:14:27 +02:00
<varlistentry >
2018-10-13 18:42:09 +02:00
<term >
<option > -l < load> </option>
</term>
2014-04-26 00:14:27 +02:00
<listitem >
<para > Specifies that no new threads should be started if there are other threads running and the load average is at least
< load> (ignored on non UNIX-like systems)</para>
</listitem>
</varlistentry>
2013-07-20 09:38:44 +02:00
<varlistentry >
2018-10-13 18:42:09 +02:00
<term >
<option > --language=< language> </option>
</term>
2013-07-20 09:38:44 +02:00
<listitem >
<para > Forces cppcheck to check all files as the given language. Valid
values are: c, c++</para>
</listitem>
</varlistentry>
<varlistentry >
2018-10-13 18:42:09 +02:00
<term >
<option > --library=< cfg> </option>
</term>
2013-07-20 09:38:44 +02:00
<listitem >
<para > Use library configuration.</para>
</listitem>
</varlistentry>
2011-10-05 07:37:43 +02:00
<varlistentry >
2018-10-13 18:42:09 +02:00
<term >
<option > --max-configs=< limit> </option>
</term>
2011-10-05 07:37:43 +02:00
<listitem >
<para > Maximum number of configurations to check in a file before skipping it. Default is 12. If used together with --force, the last option is
the one that is effective.</para>
</listitem>
</varlistentry>
2019-02-03 17:51:02 +01:00
<varlistentry >
<term >
2022-06-12 11:09:41 +02:00
<option > --max-ctu-depth=< limit> </option>
2019-02-03 17:51:02 +01:00
</term>
<listitem >
<para > Maximum depth in whole program analysis. Default is 2.</para>
</listitem>
</varlistentry>
2011-10-04 20:59:47 +02:00
<varlistentry >
2018-10-13 18:42:09 +02:00
<term >
<option > --platform=< type> </option>
</term>
2011-10-04 20:59:47 +02:00
<listitem >
<para > Specifies platform specific types and sizes.The available platforms are:
2018-10-13 18:42:09 +02:00
<glosslist > <glossentry > <glossterm > unix32</glossterm> <glossdef > <para > 32 bit unix variant</para> </glossdef> </glossentry> <glossentry > <glossterm > unix64</glossterm> <glossdef > <para > 64 bit unix variant</para> </glossdef> </glossentry> <glossentry > <glossterm > win32A</glossterm> <glossdef > <para > 32 bit Windows ASCII character encoding</para> </glossdef> </glossentry> <glossentry > <glossterm > win32W</glossterm> <glossdef > <para > 32 bit Windows UNICODE character encoding</para> </glossdef> </glossentry> <glossentry > <glossterm > win64</glossterm> <glossdef > <para > 64 bit Windows</para> </glossdef> </glossentry> </glosslist>
2011-10-04 20:59:47 +02:00
By default the platform which was used to compile Cppcheck is used.
</para>
</listitem>
2012-09-22 20:41:13 +02:00
</varlistentry>
2008-11-01 18:16:48 +01:00
<varlistentry >
2018-10-13 18:42:09 +02:00
<term >
<option > -q</option>
</term>
<term >
<option > --quiet</option>
</term>
2008-11-01 18:16:48 +01:00
<listitem >
2008-12-19 20:19:26 +01:00
<para > Only print something when there is an error.</para>
2008-11-01 18:16:48 +01:00
</listitem>
</varlistentry>
2012-04-14 07:57:23 +02:00
<varlistentry >
2018-10-13 18:42:09 +02:00
<term >
<option > -rp</option>
</term>
<term >
<option > -rp=< paths> </option>
</term>
<term >
<option > --relative-paths;</option>
</term>
<term >
<option > --relative-paths=< paths> </option>
</term>
2012-04-14 07:57:23 +02:00
<listitem >
2012-04-14 16:07:37 +02:00
<para > Use relative paths in output. When given, < paths> are used as base. You can separate multiple paths by ';'. Otherwise path where source files are searched is used. E.g. if given value is test, when checking test/test.cpp, the path in output will be test.cpp instead of test/test.cpp. The feature uses string comparison to create relative paths, so using e.g. ~ for home folder does not work. It is currently only possible to apply the base paths to files that are on a lower level in the directory tree.</para>
2012-04-14 07:57:23 +02:00
</listitem>
</varlistentry>
2010-08-12 21:03:33 +02:00
<varlistentry >
2018-10-13 18:42:09 +02:00
<term >
<option > --report-progress</option>
</term>
2010-08-12 21:03:33 +02:00
<listitem >
<para > Report progress when checking a file.</para>
</listitem>
</varlistentry>
2011-02-05 21:31:31 +01:00
<varlistentry >
2018-10-13 18:42:09 +02:00
<term >
<option > --rule=< rule> </option>
</term>
2011-02-05 21:31:31 +01:00
<listitem >
2018-10-13 18:42:09 +02:00
<para > Match regular expression to create your own checks. E.g. rule "/ 0" can be used to check division by zero. This command is only available if cppcheck was compiled with HAVE_RULES=yes.</para>
2011-02-05 21:31:31 +01:00
</listitem>
2012-09-22 20:41:13 +02:00
</varlistentry>
2011-02-05 21:31:31 +01:00
<varlistentry >
2018-10-13 18:42:09 +02:00
<term >
<option > --rule-file=< file> </option>
</term>
2011-02-05 21:31:31 +01:00
<listitem >
2014-03-26 12:24:29 +01:00
<para > Use given rule XML file. See https://sourceforge.net/projects/cppcheck/files/Articles/ for more info about the syntax. This command is only available if cppcheck was compiled with HAVE_RULES=yes.</para>
2008-11-15 07:44:32 +01:00
</listitem>
</varlistentry>
2012-02-02 22:43:21 +01:00
<varlistentry >
2018-10-13 18:42:09 +02:00
<term >
<option > --std=< id> </option>
</term>
2012-02-02 22:43:21 +01:00
<listitem >
2012-08-25 23:02:44 +02:00
<para > Set standard. The available options are:
2022-05-04 13:27:17 +02:00
<glosslist > <glossentry > <glossterm > c89</glossterm> <glossdef > <para > C code is C89 compatible</para> </glossdef> </glossentry> <glossentry > <glossterm > c99</glossterm> <glossdef > <para > C code is C99 compatible</para> </glossdef> </glossentry> <glossentry > <glossterm > c11</glossterm> <glossdef > <para > C code is C11 compatible (default)</para> </glossdef> </glossentry> <glossentry > <glossterm > c++03</glossterm> <glossdef > <para > C++ code is C++03 compatible</para> </glossdef> </glossentry> <glossentry > <glossterm > c++11</glossterm> <glossdef > <para > C++ code is C++11 compatible (default)</para> </glossdef> </glossentry> </glosslist>
2012-02-02 22:43:21 +01:00
</para>
</listitem>
2012-09-22 20:41:13 +02:00
</varlistentry>
2011-02-23 08:59:30 +01:00
<varlistentry >
2018-10-13 18:42:09 +02:00
<term >
<option > --suppress=< spec> </option>
</term>
2011-02-23 08:59:30 +01:00
<listitem >
<para > Suppress a specific warning. The format of < spec> is: [error id]:[filename]:[line].
The [filename] and [line] are optional.
2011-03-10 10:00:48 +01:00
[error id] may be * to suppress all warnings (for a specified file or files).
2011-02-23 08:59:30 +01:00
[filename] may contain the wildcard characters * or ?.</para>
</listitem>
</varlistentry>
2009-10-08 16:56:30 +02:00
<varlistentry >
2018-10-13 18:42:09 +02:00
<term >
<option > --suppressions-list=< file> </option>
</term>
2009-10-08 16:56:30 +02:00
<listitem >
2011-02-23 08:59:30 +01:00
<para > Suppress warnings listed in the file.
Each suppression is in the format of < spec> above.</para>
2009-10-08 16:56:30 +02:00
</listitem>
</varlistentry>
2018-10-13 18:41:12 +02:00
<varlistentry >
2018-10-13 18:42:09 +02:00
<term >
<option > --suppress-xml=< .xml file> </option>
</term>
2018-10-13 18:41:12 +02:00
<listitem >
<para > Use suppressions defined in xml as described in the manual</para>
</listitem>
</varlistentry>
2009-09-05 21:01:49 +02:00
<varlistentry >
2018-10-13 18:42:09 +02:00
<term >
<option > --template='< text> '</option>
</term>
2009-09-05 21:01:49 +02:00
<listitem >
2009-09-28 21:48:27 +02:00
<para > Format the error messages. E.g. '{file}:{line},{severity},{id},{message}' or '{file}({line}):({severity}) {message}'. Pre-defined templates: gcc, vs</para>
2009-09-05 21:01:49 +02:00
</listitem>
</varlistentry>
2008-11-30 11:38:58 +01:00
<varlistentry >
2018-10-13 18:42:09 +02:00
<term >
<option > -v</option>
</term>
<term >
<option > --verbose</option>
</term>
2008-11-30 11:38:58 +01:00
<listitem >
<para > More detailed error reports</para>
</listitem>
</varlistentry>
2009-02-20 20:40:42 +01:00
<varlistentry >
2018-10-13 18:42:09 +02:00
<term >
<option > --version</option>
</term>
2009-02-20 20:40:42 +01:00
<listitem >
2009-03-06 22:17:42 +01:00
<para > Print out version information</para>
2009-02-20 20:40:42 +01:00
</listitem>
</varlistentry>
2009-01-28 22:01:29 +01:00
<varlistentry >
2018-10-13 18:42:09 +02:00
<term >
<option > --xml</option>
</term>
2009-01-28 22:01:29 +01:00
<listitem >
2010-12-15 18:45:53 +01:00
<para > Write results in XML to error stream</para>
2009-01-28 22:01:29 +01:00
</listitem>
</varlistentry>
2011-02-04 23:40:12 +01:00
<varlistentry >
2018-10-13 18:42:09 +02:00
<term >
<option > --xml-version=< version> </option>
</term>
2011-02-04 23:40:12 +01:00
<listitem >
2022-04-21 09:11:59 +02:00
<para > Select the XML file version. Also implies --xml. Currently only version 2 is available. The default version is 2.</para>
2011-02-04 23:40:12 +01:00
</listitem>
</varlistentry>
2008-11-01 18:16:48 +01:00
</variablelist>
</refsect1>
<refsect1 id= "author" >
<title > AUTHOR</title>
2011-02-04 23:40:12 +01:00
<para > The program was written by Daniel Marjamäki and Cppcheck team. See AUTHORS file for list of team members.</para>
2008-11-01 18:16:48 +01:00
</refsect1>
<refsect1 id= "see_also" >
<title > SEE ALSO</title>
2018-05-14 13:11:45 +02:00
<!-- In alphabetical order. -->
2019-02-28 20:37:49 +01:00
<para > Full list of features: https://sourceforge.net/p/cppcheck/wiki/Home/</para>
2009-03-07 08:56:12 +01:00
</refsect1>
2008-11-01 18:16:48 +01:00
</refentry>