On 2016-12-21 00:32:22 -0500, Tom Lane wrote:
> Robert Haas <robertmh...@gmail.com> writes:
> > In commit b30d3ea824c5ccba43d3e942704f20686e7dbab8, when Andres added
> > the simplehash stuff, he also added SH_TYPE, SH_ITERATOR, and
> > SH_STATUS to typedefs.list.  When I subsequently updated typedefs.list
> > from the buildfarm in acddbe221b084956a0efd6e4b6c6586e8fd994d7, it of
> > course removed those entries since they are merely placeholders for
> > real types, not anything that would ever appear in a symbol table.  So
> > now if you pgindent the simplehash stuff, it does stupid things.

> > I think we should add a file src/tools/pgindent/typedefs.extra.list.
> > Somehow teach pgindent to search whatever directory it searches for
> > typedefs.list for typedefs.extra.list as well.  Then we can put stuff
> > in there that the buildfarm doesn't find, and pgindent can combine the
> > files in load_typedefs().  That way we can still update typedefs.list
> > straight from the buildfarm, but there's a place to put manual entries
> > that we don't want to lose.  We could also teach load_typedefs() to
> > strip out lines that are empty or start with #, and then we'd be able
> > to put comments in typedefs.extra.list explaining why each entry needs
> > to be present there rather than relying on the normal mechanism.

That sounds sane.

> Or we could just fix the code so it doesn't use phony typedefs?
> If a typedef is never used as a variable or field type, how much
> do we really need it?

I'm not sure what you mean by that. The typedefs are used, it's just
that the resultof the macros (aforementioned SH_TYPE etc) are named
differently than the macro name itself, and thus it's not contained in
the generated typedefs list.

We obviously can add a 'struct ' everywhere, but that doesn't really
seem to conform to style?



Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:

Reply via email to