* gcc.dg/ucnid-[23456].c: XFAIL on AIX.
[official-gcc.git] / gcc / testsuite / gcc.dg / funcorder.c
bloba3edc1272f93d8e4a6cc14de77b332e6fbf53ac0
1 /* { dg-do compile } */
2 /* { dg-options "-O2 -funit-at-a-time" } */
3 /* { dg-final { if [ istarget hppa*-*-* ] { scan-assembler-not "link_error,%r" { xfail hppa*64*-*-* } } else { scan-assembler-not "link_error" } } } */
4 /* In unit-at-time the functions should be assembled in order
5 e q t main, so we realize that they are pure. The test is
6 xfailed on hppa64 because variable r in q is sign extended
7 to 64-bits. As a result, "if (t!=mem)" is not simplified. */
9 static int mem;
10 static int e(void) __attribute__ ((noinline));
11 static int q(void) __attribute__ ((noinline));
12 static int t(void) __attribute__ ((noinline));
13 main()
15 return t();
17 static t()
19 int r,e;
20 if (mem)
21 t();
22 e=mem;
23 r=q();
24 if (e!=mem)
25 link_error();
26 return r;
28 static int e()
30 return 0;
32 static int q()
34 int t=mem,r;
35 r=e();
36 if (t!=mem)
37 link_error();
38 return r;