A tool to analyze #includes in C and C++ source files
"Include what you use" means this: for every symbol (type, function, variable, or macro) that you use in foo.cc (or foo.cpp), either foo.cc or foo.h should include a .h file that exports the declaration of that symbol. The include-what-you-use program is a tool to analyze includes of source files to find include-what-you-use violations, and suggest fixes for them.
The main goal of include-what-you-use is to remove superfluous includes. It does this both by figuring out what includes are not actually needed for this file (for both .cc and .h files), and replacing includes with forward declarations when possible.
- Developed at devel:tools:compiler
-
1
derived packages
- Download package
-
Checkout Package
osc -A https://api.opensuse.org checkout openSUSE:Factory/include-what-you-use && cd $_
- Create Badge
Refresh
Refresh
Source Files
Filename | Size | Changed |
---|---|---|
fix-shebang.patch | 0000000520 520 Bytes | |
include-what-you-use-0.19.src.tar.gz | 0000757653 740 KB | |
include-what-you-use.changes | 0000011040 10.8 KB | |
include-what-you-use.spec | 0000003221 3.15 KB | |
iwyu_include_picker.patch | 0000050551 49.4 KB |
Revision 16 (latest revision is 21)
Dominique Leuenberger (dimstar_suse)
accepted
request 1061822
from
Aaron Puchert (aaronpuchert)
(revision 16)
- Update to version 0.19, update LLVM/Clang to version 15. * New `--comment_style` option to control verbosity of 'why' comments. * New `--regex` option to select regex dialect. * Add support for regex replacement in mappings. * Add `begin_keep`/`end_keep` pragmas for protecting ranges of includes or forward-declares. * Fix several crash bugs for unusual inputs. * More exhaustive handling of type aliases and enums. * Recognize IWYU pragmas in CRLF source files. * Respect configured toolchain on macOS (and overrides via `-nostdinc++` + `-isystem`). * In fix_includes.py, recognize namespace alias declarations. * Improve mappings for POSIX and libc headers. - Update iwyu_include_picker.patch.
Comments 0