Now that the llvm update went in it is possible to consider importing
include-what-you-use.  A tool to try to detect uneeded include files.

It can be used with:

        make -k CC=/usr/local/bin/include-what-you-use

It is possible to specify preferred headers for symbols.  The builtin
default table for doing that is patched to adapt to OpenBSD headers
and can be further tweaked as needed.

--

Include what you use means this: for every symbol (type, function
variable, or macro) that you use in foo.cc, either foo.cc or foo.h
should #include a .h file that exports the declaration of that symbol.
The include-what-you-use tool is a program that can be built with the
clang libraries in order 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-declares when possible.

Attachment: include-what-you-use.tgz
Description: application/tar-gz

Reply via email to