summaryrefslogtreecommitdiff
path: root/patches/gcc/3.3.1/pr11736-1-test.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/gcc/3.3.1/pr11736-1-test.patch')
-rw-r--r--patches/gcc/3.3.1/pr11736-1-test.patch48
1 files changed, 0 insertions, 48 deletions
diff --git a/patches/gcc/3.3.1/pr11736-1-test.patch b/patches/gcc/3.3.1/pr11736-1-test.patch
deleted file mode 100644
index ea544b1..0000000
--- a/patches/gcc/3.3.1/pr11736-1-test.patch
+++ /dev/null
@@ -1,48 +0,0 @@
---- /dev/null Sat Dec 14 13:56:51 2002
-+++ gcc-3.3.1/gcc/testsuite/gcc.dg/pr11736-1.c Sun Sep 14 14:26:33 2003
-@@ -0,0 +1,45 @@
-+/* PR optimization/11736
-+ * Reporter: marcus@mc.pp.se
-+ * Summary: Stackpointer messed up on SuperH
-+ * Keywords: wrong-code
-+ * Description:
-+ * When a function with 5 arguments is called in both branches of a
-+ * conditional, and only the last argument differs, the code to push that
-+ * last argument on the stack gets confused.
-+ * Space for the fifth argument is reserved on the stack by the
-+ * instruction I have marked as "A". However, if the else-branch is
-+ * taken the stackpointer is decremented _again_ at "B". This
-+ * decrementation is never restored, and it is only due to the
-+ * restoration of r15 from r14 that the function works at all. With
-+ * -fomit-frame-pointer it will crash.
-+ *
-+ * Testcase tweaked by dank@kegel.com
-+ * Not marked as xfail since it's a regression from hardhat 2.0 gcc-2.97
-+ * and dodes gcc-3.0.2
-+ */
-+
-+/* { dg-do run } */
-+/* { dg-options "-O1 -fomit-frame-pointer" } */
-+
-+int expected_e;
-+
-+void bar(int a, int b, int c, int d, int e)
-+{
-+ if (e != expected_e)
-+ abort();
-+}
-+
-+void foo(int a)
-+{
-+ if (a)
-+ bar(0, 0, 0, 0, 1);
-+ else
-+ bar(0, 0, 0, 0, 0); /* stack pointer decremented extra time here, causing segfault */
-+}
-+
-+int main(int argc, char **argv)
-+{
-+ for (expected_e = 0; expected_e < 2; expected_e++)
-+ foo(expected_e);
-+ return 0;
-+}