dg-skip-if on powerpc when multiple cpu cflags specified
Mark Mitchell
mark@codesourcery.com
Mon Apr 28 19:05:00 GMT 2008
Joel Sherrill wrote:
>> 1. Make these tests say something about what capability they require,
>> with a dg-require directive, and then write autoconf-style tests run by
>> the testsuite to determine whether the current compiler has that
>> capability. For example, add a "dg-require-hard-float" directive, and
>> probe the compiler to see whether it can generate hard float, given all
>> the options in play.
> That will not work on at least the *-rtems* configurations.
> We use one multilib'ed toolset configuration to support
> all variants within a family. So for the PowerPC, we actually
> do have support for [4567]xx, [58]xxx, etc. m68k includes
> coldfire, etc.
There's no reason that we can't probe once per multilib. There are
already probes like that in the testsuite. The autoconfy-ness just
needs to be per-multilib.
> I think this would work. If you ended up with compiler
> settings that didn't match what the test required, then
> it could exit. How should it exit in this case?
Just by doing "return 0;" from "main".
> For the case we have been looking at, -mcpu=405 results
> in __PPC405__ being defined. If you are writing a CPU model
> specific test, you should know what the macro generated is.
>
> #if !defined(__PPC405__)
> XXX -- ?? what to do?
> #endif
Here:
#if !defined(__PPC405__)
int main() { return 0; }
#else
/* The real test goes here. */
#endif
> Would this work on the scan tests which look for particular
> assembly instructions?
Probably not. Though, I suppose:
#if !defined(__PPC405__)
asm("haha here is a 405 insn");
#else
/* The real test goes here. */
#endif
might...
--
Mark Mitchell
CodeSourcery
mark@codesourcery.com
(650) 331-3385 x713
More information about the Gcc
mailing list