Provided by: cpplint_2.0.2-3_all bug

NAME

       cpplint - Static code checker for C++

DESCRIPTION

       Syntax: cpplint.py [--verbose=#] [--output=emacs|eclipse|vs7|junit|sed|gsed]

              [--filter=-x,+y,...]    [--counting=total|toplevel|detailed]  [--root=subdir]  [--repository=path]
              [--linelength=digits]         [--headers=x,y,...]          [--recursive]          [--exclude=path]
              [--extensions=hpp,cpp,...]   [--includeorder=default|standardcfirst] [--config=filename] [--quiet]
              [--version]

              <file> [file] ...

              Style checker for C/C++ source files.  This is a fork of  the  Google  style  checker  with  minor
              extensions.

              The style guidelines this tries to follow are those in

              https://google.github.io/styleguide/cppguide.html

              Every  problem is given a confidence score from 1-5, with 5 meaning we are certain of the problem,
              and 1 meaning it could be a legitimate construct.  This will  miss  some  errors,  and  is  not  a
              substitute for a code review.

              To  suppress  false-positive errors of certain categories, add a 'NOLINT(category[, category...])'
              comment to the line.  NOLINT or NOLINT(*) suppresses errors of all categories  on  that  line.  To
              suppress categories on the next line use NOLINTNEXTLINE instead of NOLINT. To suppress errors in a
              block  of  code 'NOLINTBEGIN(category[, category...])' comment to a line at the start of the block
              and to end the block add  a  comment  with  'NOLINTEND'.   NOLINT  blocks  are  inclusive  so  any
              statements on the same line as a BEGIN or END will have the error suppression applied.

              The files passed in will be linted; at least one file must be provided.  Default linted extensions
              are  ['c',  'c++',  'cc',  'cpp', 'cu', 'cuh', 'cxx', 'h', 'h++', 'hh', 'hpp', 'hxx'].  Other file
              types will be ignored.  Change the extensions with the --extensions flag.

              Flags:

              output=emacs|eclipse|vs7|junit|sed|gsed

       By default, the output is formatted to ease emacs parsing.
              Visual Studio

       compatible output (vs7) may also be used.
              Further support exists for

              eclipse (eclipse), and JUnit (junit). XML parsers such as those used in  Jenkins  and  Bamboo  may
              also  be used.  The sed format outputs sed commands that should fix some of the errors.  Note that
              this requires gnu sed. If that is installed as gsed on your system  (common  e.g.  on  macOS  with
              homebrew)  you  can use the gsed output format. Sed commands are written to stdout, not stderr, so
              you should be able to pipe output straight to a shell to run the fixes.

              verbose=#

              Specify a number 0-5 to restrict errors to certain verbosity levels.  Errors with lower  verbosity
              levels have lower confidence and are more likely to be false positives.

              quiet

              Don't print anything if no errors are found.

              filter=-x,+y,...

              Specify  a  comma-separated  list of category-filters to apply: only error messages whose category
              names pass the filters will be printed.  (Category names are printed with  the  message  and  look
              like  "[whitespace/indent]".)   Filters  are  evaluated left to right.  "-FOO" means "do not print
              categories that start with FOO".  "+FOO" means "do print categories that start with FOO".

              Examples: --filter=-whitespace,+whitespace/braces

              --filter=-whitespace,-runtime/printf,+runtime/printf_format --filter=-,+build/include_what_you_use

              To see a list of all the categories used in cpplint, pass no arg:

       --filter=

              Filters can directly be limited to files and also line numbers. The syntax is category:file:line ,
              where line is optional. The filter limitation works for both + and -  and  can  be  combined  with
              ordinary filters:

              Examples: --filter=-whitespace:foo.h,+whitespace/braces:foo.h

              --filter=-whitespace,-runtime/printf:foo.h:14,+runtime/printf_format:foo.h
              --filter=-,+build/include_what_you_use:foo.h:321

              counting=total|toplevel|detailed

              The  total  number of errors found is always printed. If 'toplevel' is provided, then the count of
              errors in each of the top-level categories like 'build' and 'whitespace' will also be printed.  If
              'detailed' is provided, then a count is provided for each category like 'legal/copyright'.

              repository=path

              The  top  level  directory  of  the  repository,  used to derive the header guard CPP variable. By
              default, this is determined by searching for a path that contains .git, .hg, or  .svn.  When  this
              flag  is  specified,  the  given  path  is  used  instead. This option allows the header guard CPP
              variable to remain consistent even if members of a team have different repository root directories
              (such as when checking out a subdirectory with SVN). In addition, users of non-mainstream  version
              control systems can use this flag to ensure readable header guard CPP variables.

              Examples:

              Assuming that Alice checks out ProjectName and Bob checks out ProjectName/trunk and trunk contains
              src/chrome/ui/browser.h, then with no --repository flag, the header guard CPP variable will be:

              Alice => TRUNK_SRC_CHROME_BROWSER_UI_BROWSER_H_ Bob   => SRC_CHROME_BROWSER_UI_BROWSER_H_

              If  Alice  uses the --repository=trunk flag and Bob omits the flag or uses --repository=. then the
              header guard CPP variable will be:

              Alice => SRC_CHROME_BROWSER_UI_BROWSER_H_ Bob   => SRC_CHROME_BROWSER_UI_BROWSER_H_

              root=subdir

              The root directory used for deriving header guard CPP variable.  This directory is relative to the
              top level directory of the repository which by default is determined by searching for a  directory
              that  contains  .git,  .hg, or .svn but can also be controlled with the --repository flag.  If the
              specified directory does not exist, this flag is ignored.

              Examples:

              Assuming that src is the top level directory of the repository (and cwd=top/src), the header guard
              CPP variables for src/chrome/browser/ui/browser.h are:

              No    flag    =>    CHROME_BROWSER_UI_BROWSER_H_    --root=chrome     =>     BROWSER_UI_BROWSER_H_
              --root=chrome/browser => UI_BROWSER_H_ --root=.. => SRC_CHROME_BROWSER_UI_BROWSER_H_

              linelength=digits

              This is the allowed line length for the project. The default value is 80 characters.

              Examples:

       --linelength=120

              recursive

              Search  for  files  to lint recursively. Each directory given in the list of files to be linted is
              replaced by all files that descend from that directory. Files with extensions  not  in  the  valid
              extensions list are excluded.

              exclude=path

              Exclude  the given path from the list of files to be linted. Relative paths are evaluated relative
              to the current directory and shell globbing is performed. This flag can be provided multiple times
              to exclude multiple files.

              Examples:

       --exclude=one.cc

       --exclude=src/*.cc

       --exclude=src/*.cc --exclude=test/*.cc

              extensions=extension,extension,...

              The allowed file extensions that cpplint will check

              Examples:

       --extensions=c,c++,cc,cpp,cu,cuh,cxx,h,h++,hh,hpp,hxx

              includeorder=default|standardcfirst

              For the build/include_order rule, the default is to blindly assume  angle  bracket  includes  with
              file  extension are c-system-headers (default), even knowing this will have false classifications.
              The default is established at google.  standardcfirst means to instead use an allow-list of  known
              c headers and treat all others as separate group of "other system headers". The C headers included
              are those of the C-standard lib and closely related ones.

              config=filename

              Search for config files with the specified name instead of CPPLINT.cfg

              headers=x,y,...

              The  header  extensions that cpplint will treat as .h in checks. Values are automatically added to
              --extensions list.

              (by default, only files with extensions ['cuh', 'h', 'h++', 'hh', 'hpp', 'hxx'] will be assumed to
              be headers)

              Examples:

       --headers=cuh,h,h++,hh,hpp,hxx

       --headers=hpp,hxx

       --headers=hpp

              cpplint.py supports per-directory configurations specified in CPPLINT.cfg files. CPPLINT.cfg  file
              can contain a number of key=value pairs.  Currently the following options are supported:

              set   noparent   filter=+filter1,-filter2,...    exclude_files=regex   linelength=80   root=subdir
              headers=x,y,...

              "set noparent" option prevents cpplint from traversing directory tree  upwards  looking  for  more
              .cfg  files  in  parent  directories.  This  option  is  usually  placed  in the top-level project
              directory.

              The "filter" option is similar in function to --filter  flag.  It  specifies  message  filters  in
              addition to the |_DEFAULT_FILTERS| and those specified through --filter command-line flag.

              "exclude_files"  allows  to specify a regular expression to be matched against a file name. If the
              expression matches, the file is skipped and not run through the linter.

              "linelength" allows to specify the allowed line length for the project.

              The "root" option is similar in function to  the  --root  flag  (see  example  above).  Paths  are
              relative to the directory of the CPPLINT.cfg.

              The "headers" option is similar in function to the --headers flag (see example above).

              CPPLINT.cfg  has  an  effect  on  files  in  the  same  directory  and all sub-directories, unless
              overridden by a nested configuration file.

              Example file:

              filter=-build/include_order,+build/include_alpha exclude_files=.*\.cc

              The above example disables build/include_order warning and enables build/include_alpha as well  as
              excludes  all .cc from being processed by linter, in the current directory (where the .cfg file is
              located) and all sub-directories.

cpplint 2.0.2                                     December 2025                                       CPPLINT(1)