I have managed to run include-what-you-use on OTB. Attached is the full output:
We can use this issue for feedback and discussion on actions to be taken. There are probably some false positives and some recommendations we do not want to follow. But most of it is certainly useful. We can proceed module by module for example.
fix_includes.py can take this output and fix the code automatically. I will look into if we can use it to produce some nice diffs.
[poughov@node151 build]$ include-what-you-use --version include-what-you-use 0.9 (git:15b3f1d) based on clang version 5.0.0 (https://github.com/llvm-mirror/clang.git 7e8743f82ac7957c66d9c2444996be5b1218673b) (https://github.com/llvm-mirror/llvm.git 657c31173ea30090583e40c7a9204561d9c2d8c4)
run on OTB commit 64983845