On Wed, 1 Dec 2010, Joern Rennecke wrote: > Once all target macros are eliminated from a frontend file, the way to > avoid regressions is to eliminate all direct and indirect includes of > tm.h. And once we have archived that for all frontend files, we can poison > the include guards of tm.h and its friends for frontends, i.e. TM_H, > HARD_REG_SET_H etc. .
Note that sometimes the poisoning we have of certain macros/headers for front ends has accidentally broken some targets because of includes in target-specific front-end files (c_target_objs etc.). sh-symbianelf, for example. Your work on making each target architecture build cleanly with current GCC trunk has been very useful; it would be good to extend to it every target OS for every architecture (especially those with their own .c files, but there might be other cases of OS-specific breakage as well) and have an easy way to test patches don't break the build for any target (a standard list of all supported target variants that enable different sets of .c or .h files, for example - or at least an autobuilder reporting patches that break any target). (i686-interix3 is another target with broken build that has shown up when I've done tests for lots of targets, though I think that breakage is unrelated to any poisoning changes.) -- Joseph S. Myers jos...@codesourcery.com