We currently have both TYPE_FIELDS and TYPE_METHODS for RECORD or UNION
types.
Originally TYPE_FIELDS held the FIELD_DECLS, but the C++ FE puts other
kinds of things there -- TYPE_DECLs are a favourite. The C++ FE was the
only user of TYPE_METHODS, which holds member functions. AFAICT it is
still the only generator.
Given that the common code iterating over TYPE_FIELDS must already check
for non FIELD_DECL things, it seems superflous for the methods to be on
a separate list. A quick grep shows ipa-devirt, c-ada-spec.c and debug
emission to be the only non C++ FE things that would need a bit of cleanup.
Having a single chain of member decls will simplify the C++ FE, as I try
and merge its class member symbol handling.
Any objections to going down this path?
nathan
--
Nathan Sidwell