aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.8.1/gcc/testsuite/gcc.target/i386/pr9771-1.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.8.1/gcc/testsuite/gcc.target/i386/pr9771-1.c')
-rw-r--r--gcc-4.8.1/gcc/testsuite/gcc.target/i386/pr9771-1.c53
1 files changed, 0 insertions, 53 deletions
diff --git a/gcc-4.8.1/gcc/testsuite/gcc.target/i386/pr9771-1.c b/gcc-4.8.1/gcc/testsuite/gcc.target/i386/pr9771-1.c
deleted file mode 100644
index 38586fe97..000000000
--- a/gcc-4.8.1/gcc/testsuite/gcc.target/i386/pr9771-1.c
+++ /dev/null
@@ -1,53 +0,0 @@
-/* PR rtl-optimization/9771 */
-/* { dg-do run } */
-/* { dg-require-effective-target ia32 } */
-/* { dg-options "-O2 -fomit-frame-pointer -ffixed-ebp" } */
-
-extern void abort(void);
-extern void exit(int);
-
-register long *B asm ("ebp");
-
-long x = 10;
-long y = 20;
-
-void bar(void)
-{
- B = &y;
-}
-
-void foo()
-{
- long *adr = B;
- long save = *adr;
-
- *adr = 123;
-
- bar();
-
- *adr = save;
-}
-
-/* This must not be inlined becuase main() requires the frame pointer
- for stack alignment. */
-void test(void) __attribute__((noinline));
-void test(void)
-{
- B = &x;
-
- foo();
-
- if (x != 10 || y != 20)
- abort();
-
- /* We can't return, as our caller may assume %ebp is preserved! */
- /* We could save/restore it (like foo), but its easier to exit. */
- exit(0);
-}
-
-int main()
-{
- test();
- return 0;
-
-}