This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Testsuite patch for Solaris 10
On Sat, Nov 13, 2004 at 12:19:22AM +0000, Joseph S. Myers wrote:
>
> What in this framework would the equivalents be of (a) the plain {
> dg-forbid-option "-m64" } on a test that only runs for { target i?86-*-*
> }, (b) { dg-forbid-option "-m64" { target i?86-*-* } } for a test that
> runs on other targets (maybe all targets, maybe only x86 and x86-64) but
> has special options for x86 meaning that -m64 shouldn't be used? (Or,
> alternatively, how would the special options be enabled only for x86
> without -m64, with x86 with -m64 getting the default options, which might
> be the better thing to do for such tests e.g. gcc.dg/20030926-1.c?)
These assume a new proc "is-option" as described in my first reply to
your patch.
Any one of the following would run the test only on an i?86 target when
-m64 isn't one of the command-line options. Line breaks are added for
clarity.
{ dg-do run { target i?86-*-* } }
{ dg-require [dg-not [is-option "-m64"]] }
or
{ dg-do run [dg-target-list target
[dg-and [istarget i?86-*-*]
[dg-not [is-option "-m64"]]]] }
or
{ dg-require [dg-and [istarget i?86-*-*]
[dg-not [is-option "-m64"]]] }
For a test that is run for a set of multiple targets but should be
skipped for i?86 when -m64 isn't a command-line option:
{ dg-do run { target xxx yyy zzz } }
{ dg-require [dg-not [dg-and [istarget i?86-*-*] [is-option "-m64"]]] }
I'm not sure about your third question; is this it? The following
would add options when we're not on i?86 with -m64:
{ dg-options "options ..."
[dg-target-list target [dg-not [dg-and [istarget i?86]
[is-option "-m64"]]]] }
Yes, this is hard to follow, but ultimately it's more clear than using
a greater number of dg- commands to skip or xfail tests.
Janis