diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 0e4f1aff52c227056d491512997a2c054a7ac9d1..b36838b17556d6748ef80b82f0ce98d2663098b4 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,7 @@
+2009-10-20  Richard Guenther  <rguenther@suse.de>
+
+	* gcc.dg/lto/20091020-3_0.c: New testcase.
+
 2009-10-20  Richard Guenther  <rguenther@suse.de>
 
 	PR lto/41761
diff --git a/gcc/testsuite/gcc.dg/lto/20091020-3_0.c b/gcc/testsuite/gcc.dg/lto/20091020-3_0.c
new file mode 100644
index 0000000000000000000000000000000000000000..441a7b91a7f3c2ae07ae731734590ed07301258b
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/lto/20091020-3_0.c
@@ -0,0 +1,20 @@
+/* { dg-lto-do assemble } */
+
+typedef __SIZE_TYPE__ size_t;
+static int stack_dir;
+static void find_stack_direction ()
+{
+  static char *addr = ((void *)0);
+  auto char dummy;
+  if (addr == ((void *)0))
+    {
+      addr = &(dummy);
+      find_stack_direction ();
+    }
+}
+void * C_alloca (size_t size)
+{
+  if (stack_dir == 0)
+    find_stack_direction ();
+}
+