A tool to analyze #includes in C and C++ source files

Edit Package include-what-you-use

"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.

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's avatar Yuchen Lin (maxlin_factory) accepted request 745286 from Aaron Puchert's avatar 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
openSUSE Build Service is sponsored by