Re: [PATCH v2 0/4] various: use iwyu (include-what-you-use) to analyze includes
- From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
- Date
- Apr 6, 2022, 07:54 UTC
- Message-ID
- <220406.865ynmfxju.gmgdl@evledraar.gmail.com>
- In-Reply-To
- <20220405114505.24389-1-garrit@slashdev.space>
On Tue, Apr 05 2022, Garrit Franke wrote:
> On 01.04.22 10:07, Ævar Arnfjörð Bjarmason wrote:
Aside: I don't think I've ever seen encoded quoted-printable go quite so bad so fast. That went from =C3=86var to =C3=83=C6=92=C3=A2=E2=82=AC in one reply. Whatever your E-Mail is doing with encodings seems to be taking multiple passes through misencodings :)
Don't worry about getting the name "right" or whatever, I'm amused by the encoding issue...
Show 10 quoted lines
>> ... For anyone interested in pursuing this, I think using the excellent >> include-what-you-use tool would be a nice start. >> >> We could even eventually add it to our CI if the false positive rate >> isn't bad (I haven't checked much): >> https://github.com/include-what-you-use/include-what-you-use > > This seems to be a really nice tool indeed. I wouldn't be comfortable > adding it to the CI just yet, but it did make it considerably easier to > spot includes that could safely be removed.
Re the reply I had on 1/4 I think it's probably best to drop that in its current form, but the fixes themselves (perhaps with a re-roll for nits I posted in reply) seem good.
I was really hoping though that if someone wanted to pursue this a bit more we'd get to the point of being able to run "make all test" on a source tree that iwyu would munge with all its suggestions, and then see if it outright failed to compile, or whether it would e.g. have faster compilation speed (or not..).
Show 5 quoted lines
> I think we could try battle-testing this tool in the codebase to get a > sense of how it behaves. To start, I added your reference-command to a > script under "contrib/iwyu" and ran it against the files you noted. > Before breaking a bulk of the files, I wanted to make sure that this > undertaking is headed in the right direction.
Even if the patches aren't sent in making the actual changes a one-off script to e.g. wrap the fix_includes.py script I mentioned would be very interesting.
We could then even run that in CI with relatively little setup, i.e. checkout <rev>, do munging, then compile.