[Bug other/46489] tree optimizer and frontend files use target macros

joseph at codesourcery dot com gcc-bugzilla@gcc.gnu.org
Mon Dec 20 17:42:00 GMT 2010


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.



More information about the Gcc-bugs mailing list