include-what-you-use(1)
Analyze #includes in C and C++ source files
DESCRIPTION
USAGE: include-what-you-use [-Xiwyu
--iwyu_opt]... <clang opts> <source file>
Here are the <iwyu_opts> you can specify (e.g.
-Xiwyu --verbose=
,3/):
-
--check_also=<glob>: tells iwyu to print iwyu-violation info
-
- for all files matching the given glob pattern (in addition
to the default of reporting for the input .cc file and its
associated .h files). This flag may be specified multiple
times to specify multiple glob patterns.
-
--cwd=<dir>: tells iwyu what the current working directory is.
-
--howtodebug[=<filename>]: with no arg, prints instructions on
-
- how to run iwyu under gdb for the input file, and exits.
With an arg, prints only when input file matches the arg.
-
--mapping_file=<filename>: gives iwyu a mapping file.
-
--no_default_mappings: do not add iwyu's default mappings.
-
--pch_in_code: mark the first include in a translation unit as a
- precompiled header.
-
Use --pch_in_code to prevent IWYU from
- removing necessary PCH includes.
-
Though Clang forces PCHs
-
to be listed as prefix headers, the PCH-in-code pattern can
be used with GCC and is standard practice on MSVC
(e.g. stdafx.h).
-
--prefix_header_includes=<value>: tells iwyu what to do with
-
- in-source includes and forward declarations involving
prefix headers. Prefix header is a file included via
command-line option -include. If prefix header makes
include or forward declaration obsolete, presence of such
include can be controlled with the following values
- add:
-
new lines are added
- keep:
-
new lines aren't added, existing are kept intact
-
remove: new lines aren't added, existing are removed
-
Default value is 'add'.
-
--transitive_includes_only: do not suggest that a file add
-
- foo.h unless foo.h is already visible in the file's
transitive includes.
-
--max_line_length: maximum line length for includes.
-
- Note that this only affects comments and alignment thereof,
the maximum line length can still be exceeded with long
file names (default: 80).
-
--no_comments: do not add 'why' comments.
-
--verbose=<level>: the higher the level, the more output.
In addition to IWYU-specific options you can specify the following
options without -Xiwyu prefix:
-
--help: prints this help and exits.
-
--version: prints version and exits.