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
clang_5.0.tar.gz 0000439081 429 KB
fix-shebang.patch 0000000506 506 Bytes
include-what-you-use.1.gz 0000002789 2.72 KB
include-what-you-use.changes 0000002540 2.48 KB
include-what-you-use.spec 0000003658 3.57 KB
iwyu_include_picker.patch 0000032796 32 KB
remove-x86-specific-code.patch 0000000732 732 Bytes
Revision 1 (latest revision is 21)
Dominique Leuenberger's avatar Dominique Leuenberger (dimstar_suse) accepted request 578557 from Aaron Puchert's avatar Aaron Puchert (aaronpuchert) (revision 1)
- Initial submit based on version 0.9, which uses Clang 5.0.
- Add llvm-link.patch because openSUSE's libLLVM isn't split up.
- Update mappings in iwyu_include_picker.patch.
- Remove obsolete mapping files.
- Add a manual page derived from the `--help` output.
- Add section about mapping files to the man page.
- Remove x86-specific code that is required to parse Microsoft
  inline assembly. We don't need that, and it breaks the builds
  on other architectures.
- Add runtime dependency to clang, because we need the compiler-
  specific headers, even when clang is not used for compilation.
- Use GCC 6 on SLE 12. For some reason the build using Clang
  segfaults, but with GCC 6 it doesn't.
Comments 0
openSUSE Build Service is sponsored by