]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR c/8467 (Bug in sibling call optimization)
authorFranz Sirl <Franz.Sirl-kernel@lauterbach.com>
Mon, 11 Nov 2002 20:55:31 +0000 (20:55 +0000)
committerFranz Sirl <sirl@gcc.gnu.org>
Mon, 11 Nov 2002 20:55:31 +0000 (20:55 +0000)
2002-11-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>

PR c/8467
* gcc.c-torture/execute/20021111-1.c

From-SVN: r59023

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.c-torture/execute/20021111-1.c [new file with mode: 0644]

index 30d0750b86ce2acbe35b645f94ae5ce141e1260b..a4cb140a1586b24e322197eccceb78d2f62abef6 100644 (file)
@@ -1,3 +1,8 @@
+2002-11-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+
+       PR c/8467
+       * gcc.c-torture/execute/20021111-1.c
+
 2002-11-11  Nathan Sidwell  <nathan@codesourcery.com>
 
        PR c++/7788
diff --git a/gcc/testsuite/gcc.c-torture/execute/20021111-1.c b/gcc/testsuite/gcc.c-torture/execute/20021111-1.c
new file mode 100644 (file)
index 0000000..b81fa0b
--- /dev/null
@@ -0,0 +1,31 @@
+/* Origin: PR c/8467 */
+
+extern void abort (void);
+extern void exit (int);
+
+int aim_callhandler(int sess, int conn, unsigned short family, unsigned short type);
+
+int aim_callhandler(int sess, int conn, unsigned short family, unsigned short type)
+{
+  static int i = 0;
+
+  if (!conn)
+    return 0;
+
+  if (type == 0xffff)
+    {
+      return 0;
+    }
+
+  if (i >= 1)
+    abort ();
+
+  i++;
+  return aim_callhandler(sess, conn, family, (unsigned short) 0xffff);
+}
+
+int main (void)
+{
+  aim_callhandler (0, 1, 0, 0);
+  exit (0);
+}