1*67e74705SXin Li // RUN: %clang_cc1 -emit-llvm %s -o /dev/null 2*67e74705SXin Li 3*67e74705SXin Li /* This testcase doesn't actually test a bug, it's just the result of me 4*67e74705SXin Li * figuring out the syntax for forward declaring a static variable. */ 5*67e74705SXin Li struct list { 6*67e74705SXin Li int x; 7*67e74705SXin Li struct list *Next; 8*67e74705SXin Li }; 9*67e74705SXin Li 10*67e74705SXin Li static struct list B; /* Forward declare static */ 11*67e74705SXin Li static struct list A = { 7, &B }; 12*67e74705SXin Li static struct list B = { 8, &A }; 13*67e74705SXin Li 14*67e74705SXin Li extern struct list D; /* forward declare normal var */ 15*67e74705SXin Li 16*67e74705SXin Li struct list C = { 7, &D }; 17*67e74705SXin Li struct list D = { 8, &C }; 18*67e74705SXin Li 19