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.
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.
I think a slight risk to break something where undocumented macros are
involved is acceptable in phase 1/2, as long as the breakage is obvious
during the gcc build - without the target macro poisoning, we could have
obscure changes in behaviour that could be very hard to debug.

> it may avoid the need to check for every macro with one of 
> the properties I identified as meaning a target macro, that is used 
> anywhere in that source file or any header it includes.  I'd be more 
> doubtful about actually checking in a #include of tm-poison.h on trunk 
> (the code to generate it, however, might be useful to check in).

Yes, the idea is to auto-generate the file.

Reply via email to