diff options
Diffstat (limited to 'gcc-4.9/gcc/testsuite/gcc.target/i386/pr63285.c')
-rw-r--r-- | gcc-4.9/gcc/testsuite/gcc.target/i386/pr63285.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/gcc.target/i386/pr63285.c b/gcc-4.9/gcc/testsuite/gcc.target/i386/pr63285.c new file mode 100644 index 0000000..e4df8fb --- /dev/null +++ b/gcc-4.9/gcc/testsuite/gcc.target/i386/pr63285.c @@ -0,0 +1,28 @@ +/* { dg-do compile } */ +/* { dg-options "-O2 -fcompare-debug" } */ + +struct S { int a; }; +struct T { int b, c; } a; +long b; +int c, d; +void bar (int, int); +void baz (void *, int); + +void +foo (struct S *x, int y, int z, void *f, int *p, struct T *e) +{ + while (x) + { + baz (f, &d > p); + if (z & 1) + bar (f > (void *) &f, z); + } + if (c) + { + asm ("" : "+m" (a) : "i" (0)); + y--; + } + if (e->b == e->c) + c = y; + y--; +} |