http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46489
--- Comment #3 from Jorn Wolfgang Rennecke <amylaar at gcc dot gnu.org> 2010-12-20 13:59:41 UTC --- When using gcc, using -dD, I can auto-generate a headerfile tm-poison.h which poisons all macros that including tm.h defines, which are not defined by frontend-premissible headers like coretypes.h / tree.h . The fallback would be to have tm-poison.h be empty. This file can be included instead of tm.h in files that are hoped / believed to been freed of target macros uses . This can safe a lot of manual checking.