On Sun, Dec 23, 2018 at 6:16 AM Iain Sandoe <i...@sandoe.co.uk> 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

Reply via email to