On 07/07/2011 09:48 AM, Richard Earnshaw wrote:
> On 07/07/11 17:30, Janis Johnson wrote:
>> On 07/07/2011 09:14 AM, Richard Earnshaw wrote:
>>> On 07/07/11 00:26, Janis Johnson wrote:
>>>> Index: gcc.target/arm/xor-and.c
>>>> ===================================================================
>>>> --- gcc.target/arm/xor-and.c (revision 175921)
>>>> +++ gcc.target/arm/xor-and.c (working copy)
>>>> @@ -1,6 +1,5 @@
>>>> /* { dg-do compile } */
>>>> -/* { dg-options "-O -march=armv6" } */
>>>> -/* { dg-prune-output "switch .* conflicts with" } */
>>>> +/* { dg-options "-O" } */
>>>>
>>>> unsigned short foo (unsigned short x)
>>>> {
>>>
>>> The purpose of this test seems to be to ensure that when compiling for
>>> v6 we don't get particular instructions. Removing the -march flag means
>>> we won't normally test this in the way intended (ie unless the multilibs
>>> explicitly test v6). This is one of those cases where I think the
>>> intention really is to force one particular instruction set.
>>>
>>> R.
>>
>> It passes everywhere, do you want to know when it stops passing for some
>> other multilib, or just care about armv6? If you only care about armv6
>> then the test should be limited to run with the default multilib instead
>> of having to muck around checking for incompatible options.
>>
>
> We only care about v6 here, I think. There aren't really any multilib
> issues, since it's a compile-only test. I don't mind not testing it for
> non-default multilibs, but it should be marked as 'skipped' or recorded
> in some other way, so that the total number of tests is the same for
> each variant.
The total number of tests is not the same. A test that compiles and does
a scan is 2 tests when it is run but is only reported as 1 UNSUPPORTED.
We don't currently have a way to count things like dg-final or dg-error
as UNSUPPORTED if the entire test is skipped.
> BTW, can the testsuite ever be run with no default multilib? If so,
> then I don't think we should always skip the test.
>
> R.
I don't know. I can leave it the way it is, always specifying -march
and ignoring warnings about conflicting options. That doesn't guarantee,
though, that it will ever use the specified -march option because unless
there is a default multilib or one that doesn't use -march, the one in
the test will always be overridden by multilib options.
Janis