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 | 0000000524 524 Bytes | |
include-what-you-use-0.21.src.tar.gz | 0000776165 758 KB | |
include-what-you-use.changes | 0000012503 12.2 KB | |
include-what-you-use.spec | 0000003221 3.15 KB | |
iwyu_include_picker.patch | 0000050682 49.5 KB |
Revision 18 (latest revision is 21)
Ana Guerrero (anag+factory)
accepted
request 1124310
from
Aaron Puchert (aaronpuchert)
(revision 18)
- Update to version 0.21, update LLVM/Clang to version 17. * Improve analysis of type aliases (typedef and using). * Improve analysis of namespace aliases (namespace xyz = foobar). * Improve support for elaborated forward declarations (typedef struct Foo Bar). * Improve handling of "autocast" and function return types, particularly with complex template types. * Add new IWYU pragma: always_keep, which lets a header announce that it should always be kept wherever included. * Automatically use builtin libc++ mappings if libc++ is the active standard library. * Improve mappings for libc++ and posix headers. - Rebase iwyu_include_picker.patch.
Comments 0