http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46489
--- Comment #6 from joseph at codesourcery dot com <joseph at codesourcery dot com> 2010-12-20 17:42:46 UTC --- On Mon, 20 Dec 2010, amylaar at gcc dot gnu.org wrote: > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46489 > > --- Comment #5 from Jorn Wolfgang Rennecke <amylaar at gcc dot gnu.org> > 2010-12-20 17:04:39 UTC --- > (In reply to comment #4) > > > This sounds like a nice approach for making sure it is safe to remove a > > tm.h include from a particular source file - if combined with generating a > > list of every target (every triplet with significant differences in how > > config.gcc / libgcc/config.host configure it, whether in the set of > > headers or the set of tm_defines) so you can run tests automatically for > > all targets - > > I fear our configure system is turing complete, and thus such a list is > not computable. One configuration for each case in config.gcc, at least, so that you cover every header that might go in tm_file (and every object in c_target_objs etc.). The effects of different macro values (such as the computation of FBSD_MAJOR from the target triplet for *-*-freebsd*) are less important. > But by testing at least one configuration per target architecture, we > already get a useful test coverage. > I can also make a script to search for every macro that is documented with > @defmac, so the remaining uncertainty would be for undocumented macros > that only appear in specific configuration variants. You could also check for every #define (note that some may have whitespace after the #) in config/*.h config/*/*.h.