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 |
---|---|---|
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 | |
llvm-link.patch | 0000001306 1.28 KB | |
remove-x86-specific-code.patch | 0000000732 732 Bytes |
Revision 1 (latest revision is 21)
Dominique Leuenberger (dimstar_suse)
accepted
request 578557
from
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