git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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.

Previous: Garrit FrankeNext: Garrit Franke
Message 5 of 12 in “bisect.c: remove unused includes”
  1. bisect.c: remove unused includesGarrit Franke, Mar 31, 2022
  2. Junio C HamanoMar 31, 2022
  3. using iwyu (include-what-you-use) to analyze includes (was: [PATCH] bisect.c: remove unused includes)Ævar Arnfjörð Bjarmason, Apr 1, 2022
  4. 0/4 various: use iwyu (include-what-you-use) to analyze includesGarrit Franke, Apr 5, 2022
  5. Ævar Arnfjörð BjarmasonApr 6, 2022
  6. 4/4 apply.c: remove unnecessary includeGarrit Franke, Apr 5, 2022
  7. 3/4 serve.c: remove unnecessary includeGarrit Franke, Apr 5, 2022
  8. 1/4 contrib: add iwyu scriptGarrit Franke, Apr 5, 2022
  9. Ævar Arnfjörð BjarmasonApr 6, 2022
  10. 2/4 bisect.c: remove unnecessary includeGarrit Franke, Apr 5, 2022
  11. Ævar Arnfjörð BjarmasonApr 6, 2022
  12. Junio C HamanoApr 6, 2022

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.