Description
Analyze #includes in C/C++ source files with clang.
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 main goal of include-what-you-use is to remove superfluous #includes, both by figuring out what #includes are not actually needed for this file (for both .cc and .h files), and by replacing #includes with forward-declares when possible.