| // RUN: %clang_cc1 -emit-llvm < %s -o - | 
 |  | 
 | // A nice and complicated initialization example with unions from Python | 
 | typedef int Py_ssize_t; | 
 |  | 
 | typedef union _gc_head { | 
 |   struct { | 
 |     union _gc_head *gc_next; | 
 |     union _gc_head *gc_prev; | 
 |     Py_ssize_t gc_refs; | 
 |   } gc; | 
 |   long double dummy;  /* force worst-case alignment */ | 
 | } PyGC_Head; | 
 |  | 
 | struct gc_generation { | 
 |   PyGC_Head head; | 
 |   int threshold; /* collection threshold */ | 
 |   int count;     /* count of allocations or collections of younger | 
 |                     generations */ | 
 | }; | 
 |  | 
 | #define NUM_GENERATIONS 3 | 
 | #define GEN_HEAD(n) (&generations[n].head) | 
 |  | 
 | /* linked lists of container objects */ | 
 | struct gc_generation generations[NUM_GENERATIONS] = { | 
 |   /* PyGC_Head,                     threshold,      count */ | 
 |   {{{GEN_HEAD(0), GEN_HEAD(0), 0}}, 700,            0}, | 
 |   {{{GEN_HEAD(1), GEN_HEAD(1), 0}},  10,            0}, | 
 |   {{{GEN_HEAD(2), GEN_HEAD(2), 0}},  10,            0}, | 
 | }; |