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.
- Sources inherited from project openSUSE:Leap:15.2
- Download package
-
Checkout Package
osc -A https://api.opensuse.org checkout openSUSE:Leap:15.2:Update/include-what-you-use && cd $_
- Create Badge
Refresh
Refresh
Source Files
Filename | Size | Changed |
---|---|---|
fix-shebang.patch | 0000000476 476 Bytes | |
include-what-you-use-0.11.src.tar.gz | 0000541763 529 KB | |
include-what-you-use.1.gz | 0000002843 2.78 KB | |
include-what-you-use.changes | 0000004383 4.28 KB | |
include-what-you-use.spec | 0000003477 3.4 KB | |
iwyu_include_picker.patch | 0000019614 19.2 KB | |
remove-x86-specific-code.patch | 0000000732 732 Bytes |
Revision 17 (latest revision is 18)
Yuchen Lin (maxlin_factory)
accepted
request 745286
from
Aaron Puchert (aaronpuchert)
(revision 17)
- Update to version 0.11, update LLVM/Clang to version 7. * Improved recognition of template and specialization uses. * Improved CMake build system, see docs for build instructions. * Improved mappings for Boost, Intel intrinsics and libstdc++. * Several bug fixes and improvements. * Add --basedir argument to interpret IWYU output from another source tree. * Handle namespaces better. * Add --only_re switch to filter affected files. * Add --reorder/--noreorder switch to toggle reordering of includes. - Drop obsolete llvm-link.patch. - Rebase iwyu_include_picker.patch. - Update man page, sort options alphabetically. - Remove runtime dependency on clang - the builtin headers are now included in libclang. - Update to version 0.10, update LLVM/Clang to version 6. * Add --no_fwd_decls option to avoid replacing includes with forward-declarations. * Treat definitions of free functions as uses of the corresponding prototypes. * Support C++11 range-for loops. * Several template misattribution bugs fixed. * Better support for non-ASCII encodings in fix_includes.py. * Remove support for VCS commands from fix_includes.py.
Comments 0