On Fri, Mar 7, 2025 at 9:38 AM Peter Eisentraut <peter@eisentraut.org> wrote:
> Just to clarify this: Nobody has gone through and used IWYU to clean up
> indirect includes, as you appear to imagine here. My recent IWYU work
> was, besides putting some infrastructure in place, to clean up includes
> that are completely unneeded. Indirect includes cleanup is a different
> project that is not currently happening, AFAIK.
OK, thanks. I wonder whether that's a good use of effort or just not
worth worrying about.
> Also, benign typedef redefinitions are a C11 feature. In practice, all
> compilers currently in play support it, and the only problem you'll get
> is from the buildfarm members that are explicitly set up to warn about
> accidental C11 use. We could probably have a discussion about that, but
> for this patch set, it's probably better to just deal with the status quo.
Agreed. +1 for having a discussion at some point, though, because the
effect of the current rules seems to be that you have to write "struct
BananaSplit *" in a bunch of places instead of just 'BananaSplit *" to
avoid redefining the typedef. That's worth doing it if it solves a
real problem, but if compilers where it is a real problem are extinct
in the wild, then I think I would prefer not to have to add the
"struct" keyword in a bunch of places just for compliance with
historical compiler behavior.
--
Robert Haas
EDB: http://www.enterprisedb.com