This is a series of patches that remove the TYPE_METHODS field used in records & unions. Currently TYPE_METHODS hods a the member functions (be they static or non-static), and TYPE_FIELDS holds everything else (be they FIELD_DECLS or whatever). This distinction is unnecessary, and the patches move everything to TYPE_FIELDS. (I do not mess with name lookup, which is handled differently).

I do not repurpose TYPE_METHODS, that's later.

While the changes are pretty mechanical, some are rather too large outside of the C++ FE to comfortably apply the obvious rule.

1 method-debug.diff - dbxout & dwarf2out.  Review please.
2 method-ipa.diff - lto-devirt.  Review please.
3 method-rtl.diff - most odd occurrence.  Comment please.

4 method-ada.diff - ada-spec generation.  Obvious.
5 method-cp.diff - C++ FE changes, self reviewed
6 method-libcc1.diff - libcp1plugin.  Obvious.
7 method-misc.diff - random tree.c.  Obvious.
8 method-objc.diff - objc.  Obvious

9 method-ectomy.diff - delete the macro.  Obvious

nathan

--
Nathan Sidwell

Reply via email to