This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Another AIX Bootstrap failure
- From: David Edelsohn <dje dot gcc at gmail dot com>
- To: Jan Hubicka <hubicka at ucw dot cz>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Sat, 21 Jun 2014 18:47:10 -0400
- Subject: Re: Another AIX Bootstrap failure
- Authentication-results: sourceware.org; auth=none
- References: <CAGWvnykZKOiQhM-N6TTCPa_E0d0TCK_PYs9bL_YZTJ7E193eUQ at mail dot gmail dot com> <20140621024301 dot GE4551 at kam dot mff dot cuni dot cz>
> Index: testsuite/gcc.dg/localalias.c
> ===================================================================
> --- testsuite/gcc.dg/localalias.c (revision 0)
> +++ testsuite/gcc.dg/localalias.c (revision 0)
> @@ -0,0 +1,42 @@
> +/* This test checks that local aliases behave sanely. This is necessary for code correctness
> + of aliases introduced by ipa-visibility pass.
> +
> + If this test fails either aliases needs to be disabled on given target on aliases with
> + proper semantic needs to be implemented. This is problem with e.g. AIX .set pseudo-op
> + that implementes alias syntactically (by substituting in assembler) rather as alternative
> + symbol defined on a target's location. */
> +
> +/* { dg-do run }
> + { dg-options "-Wstrict-aliasing=2 -fstrict-aliasing" }
> + { dg-require-alias "" }
> + { dg-xfail-if "" { powerpc-ibm-aix* } { "*" } { "" } }
> + { dg-additional-sources "localalias-2.c" } */
> +extern void abort (void);
> +extern int test2count;
> +int testcount;
> +__attribute__ ((weak,noinline))
> +void test(void)
> +{
> + testcount++;
> +}
> +__attribute ((alias("test")))
> +static void test2(void);
> +
> +void main()
> +{
> + test2();
> + /* This call must bind locally. */
> + if (!testcount)
> + abort ();
> + test();
> + /* Depending on linker choice, this one may bind locally
> + or to the other unit. */
> + if (!testcount && !test2count)
> + abort();
> + tt();
> +
> + if ((testcount != 1 || test2count != 3)
> + && (testcount != 3 || test2count != 1))
> + abort ();
> + reutrn 0;
^^^^^^^^^^^^^^^^^ typo
> +}
return 0;
You probably should run the testcases before committing them.
Thanks, David