Index: gcc/testsuite/gcc.dg/lto/20100720-2_1.c
===================================================================
--- gcc/testsuite/gcc.dg/lto/20100720-2_1.c	(revision 0)
+++ gcc/testsuite/gcc.dg/lto/20100720-2_1.c	(revision 0)
@@ -0,0 +1,16 @@
+struct X {
+  int b;
+};
+
+typedef struct list_node *list;
+
+struct list_node {
+  list next;
+  list *ptr;
+  struct X *value;
+};
+
+list *g(list *ptr)
+{
+  return ptr;
+}
Index: gcc/testsuite/gcc.dg/lto/20100720-2_0.c
===================================================================
--- gcc/testsuite/gcc.dg/lto/20100720-2_0.c	(revision 0)
+++ gcc/testsuite/gcc.dg/lto/20100720-2_0.c	(revision 0)
@@ -0,0 +1,23 @@
+/* { dg-lto-do run } */
+
+struct X {
+  int a;
+};
+
+typedef struct list_node *list;
+
+struct list_node {
+  list next;
+  list *ptr;
+  struct X *value;
+};
+
+list f(list lst)
+{
+  return lst->next;
+}
+
+int main(void)
+{
+  return 0;
+}
