Re: [PATCH] Don't run ident tests on powerpc-darwin

2019-01-03 Thread Mike Stump
On Jan 2, 2019, at 5:39 AM, Rainer Orth  wrote:
> 
> It's on the brink, I'd say.  The effective-keyword form is shorter and
> more descriptive and can be extended to more targets way more easily.
> Checking 2018-12 testresults, I find failures of the ident-*.c tests on
> hppa2.0w-hp-hpux11.11 and powerpc-ibm-aix7.2.0.0.  If those were to be
> handled as well, I'd strongly prefer the effective-keyword variant
> rather than adding more and more targets to the individual tests.

For a completely different thought, we can compare to a fine grain feature 
database that dejagnu or the running program can probe and adjust for...

#ifdef __has_feature(directive_ident)
#endif

then, this is directly populated from the port's #define, and the duplication 
is gone.  I think I like this direction.  Let maintenance, faster port time, 
higher quality port, and testing less noisy in general.

Re: [PATCH] Don't run ident tests on powerpc-darwin

2019-01-02 Thread Rainer Orth
Hi Iain,

> The c-c++-common tests fail (or XPASS depending on which) on Darwin
> because it doesn't currently emit .ident marker. 
>
> For powerpc darwin (and, I think, AIX - hence copying David), there’s no
> .ident support in the assembler, and we need to skip the tests.
>
> In this case, I suggest that it’s not worth having a target-supports entry.
> This is because what a target chooses to emit for -fident is controlled by
> a target hook and therefore there’s no guarantee that a target-supports
> that triggers off “ .ident” in the asm would be generically useful.

however, if you look at the three implementations not using
default_asm_output_ident_directive (cris, microblaze, and pdp11), cris
calls the default if it does anything and the pdp11 string also includes
.ident.  Only microblaze desn't.

> OTOH, if the testsuite maintainers prefer a support .. it can be done ;-)

It's on the brink, I'd say.  The effective-keyword form is shorter and
more descriptive and can be extended to more targets way more easily.
Checking 2018-12 testresults, I find failures of the ident-*.c tests on
hppa2.0w-hp-hpux11.11 and powerpc-ibm-aix7.2.0.0.  If those were to be
handled as well, I'd strongly prefer the effective-keyword variant
rather than adding more and more targets to the individual tests.

Rainer

-- 
-
Rainer Orth, Center for Biotechnology, Bielefeld University


Re: [PATCH] Don't run ident tests on powerpc-darwin

2018-12-26 Thread Iain Sandoe


> On 26 Dec 2018, at 16:07, David Edelsohn  wrote:
> 
> On Sun, Dec 23, 2018 at 6:16 AM Iain Sandoe  wrote:
>> 
>> Hi
>> 
>> The c-c++-common tests fail (or XPASS depending on which) on Darwin
>> because it doesn't currently emit .ident marker.
>> 
>> For powerpc darwin (and, I think, AIX - hence copying David), there’s no
>> .ident support in the assembler, and we need to skip the tests.
>> 
>> In this case, I suggest that it’s not worth having a target-supports entry.
>> This is because what a target chooses to emit for -fident is controlled by
>> a target hook and therefore there’s no guarantee that a target-supports
>> that triggers off “ .ident” in the asm would be generically useful.
>> 
>> OTOH, if the testsuite maintainers prefer a support .. it can be done ;-)
>> 
>> OK for trunk?
>> Iain
>> 
>> gcc/testsuite/
>> 
>>* c-c++-common/ident-0a.c: Skip for powerpc-darwin.
>>* c-c++-common/ident-0b.c: Likewise.
>>* c-c++-common/ident-1a.c: Likewise.
>>* c-c++-common/ident-1b.c: Likewise.
>>* c-c++-common/ident-2a.c: Likewise.
>>* c-c++-common/ident-2b.c: Likewise.
> 
> AIX Assembler doesn't support "ident", but GCC doesn't emit an "ident"
> string on AIX.  The failure on AIX is the assembler output doesn't
> match the expected result, but it doesn't fail to assemble due to an
> unrecognized pseudo-op.

Right that’s the cause of the XPASSes and FAILs  respectively.
> 
> Does GCC generate an ident pseudo-op on Darwin?  
> Maybe because of
> common code inherited by Darwin that defines TARGET_ASM_OUTPUT_IDENT.

no that is disabled there too.

Darwin was not trying to emit the .ident (TARGET_ASM_OUTPUT_IDENT was 
undefined).

That leads to the effect noted above.  Since the assembler doesn’t support 
.ident we can’t fix the tests by adding TARGET_ASM_OUTPUT_IDENT, so I’ve 
skipped them.  

If, one day, we fix the assembler to accept .ident (or use a more modern one 
that already does) then those skip lines can be removed.

> I had been testing an expected fail for those tests on AIX, e.g.,

Ah, that might be an alternate scheme, indeed.  However, for now (on Darwin) I 
just settled for the simple one.

Iain

> 
> Index: ident-2b.c
> ===
> --- ident-2b.c  (revision 267421)
> +++ ident-2b.c  (working copy)
> @@ -5,4 +5,4 @@
> /* { dg-skip-if "no assembler .ident support" { powerpc*-*-darwin* } } */
> int ident;
> 
> -/* { dg-final { scan-assembler-times "GCC: " 1 } } */
> +/* { dg-final { scan-assembler-times "GCC: " 1 { xfail
> powerpc-ibm-aix* } } } */
> 
> Thanks, David



Re: [PATCH] Don't run ident tests on powerpc-darwin

2018-12-26 Thread David Edelsohn
On Sun, Dec 23, 2018 at 6:16 AM Iain Sandoe  wrote:
>
> Hi
>
> The c-c++-common tests fail (or XPASS depending on which) on Darwin
> because it doesn't currently emit .ident marker.
>
> For powerpc darwin (and, I think, AIX - hence copying David), there’s no
> .ident support in the assembler, and we need to skip the tests.
>
> In this case, I suggest that it’s not worth having a target-supports entry.
> This is because what a target chooses to emit for -fident is controlled by
> a target hook and therefore there’s no guarantee that a target-supports
> that triggers off “ .ident” in the asm would be generically useful.
>
> OTOH, if the testsuite maintainers prefer a support .. it can be done ;-)
>
> OK for trunk?
> Iain
>
> gcc/testsuite/
>
> * c-c++-common/ident-0a.c: Skip for powerpc-darwin.
> * c-c++-common/ident-0b.c: Likewise.
> * c-c++-common/ident-1a.c: Likewise.
> * c-c++-common/ident-1b.c: Likewise.
> * c-c++-common/ident-2a.c: Likewise.
> * c-c++-common/ident-2b.c: Likewise.

AIX Assembler doesn't support "ident", but GCC doesn't emit an "ident"
string on AIX.  The failure on AIX is the assembler output doesn't
match the expected result, but it doesn't fail to assemble due to an
unrecognized pseudo-op.

Does GCC generate an ident pseudo-op on Darwin?  Maybe because of
common code inherited by Darwin that defines TARGET_ASM_OUTPUT_IDENT.

I had been testing an expected fail for those tests on AIX, e.g.,

Index: ident-2b.c
===
--- ident-2b.c  (revision 267421)
+++ ident-2b.c  (working copy)
@@ -5,4 +5,4 @@
 /* { dg-skip-if "no assembler .ident support" { powerpc*-*-darwin* } } */
 int ident;

-/* { dg-final { scan-assembler-times "GCC: " 1 } } */
+/* { dg-final { scan-assembler-times "GCC: " 1 { xfail
powerpc-ibm-aix* } } } */

Thanks, David


Re: [PATCH] Don't run ident tests on powerpc-darwin

2018-12-23 Thread Jeff Law
On 12/23/18 4:16 AM, Iain Sandoe wrote:
> Hi
> 
> The c-c++-common tests fail (or XPASS depending on which) on Darwin
> because it doesn't currently emit .ident marker. 
> 
> For powerpc darwin (and, I think, AIX - hence copying David), there’s no
> .ident support in the assembler, and we need to skip the tests.
> 
> In this case, I suggest that it’s not worth having a target-supports entry.
> This is because what a target chooses to emit for -fident is controlled by
> a target hook and therefore there’s no guarantee that a target-supports
> that triggers off “ .ident” in the asm would be generically useful.
> 
> OTOH, if the testsuite maintainers prefer a support .. it can be done ;-)
> 
> OK for trunk?
> Iain
> 
> gcc/testsuite/
> 
>   * c-c++-common/ident-0a.c: Skip for powerpc-darwin.
>   * c-c++-common/ident-0b.c: Likewise.
>   * c-c++-common/ident-1a.c: Likewise.
>   * c-c++-common/ident-1b.c: Likewise.
>   * c-c++-common/ident-2a.c: Likewise.
>   * c-c++-common/ident-2b.c: Likewise.
OK
jeff