1 // RUN: %clang_cc1 -emit-llvm < %s -o -
3 // A nice and complicated initialization example with unions from Python
4 typedef int Py_ssize_t
;
6 typedef union _gc_head
{
8 union _gc_head
*gc_next
;
9 union _gc_head
*gc_prev
;
12 long double dummy
; /* force worst-case alignment */
15 struct gc_generation
{
17 int threshold
; /* collection threshold */
18 int count
; /* count of allocations or collections of younger
22 #define NUM_GENERATIONS 3
23 #define GEN_HEAD(n) (&generations[n].head)
25 /* linked lists of container objects */
26 struct gc_generation generations
[NUM_GENERATIONS
] = {
27 /* PyGC_Head, threshold, count */
28 {{{GEN_HEAD(0), GEN_HEAD(0), 0}}, 700, 0},
29 {{{GEN_HEAD(1), GEN_HEAD(1), 0}}, 10, 0},
30 {{{GEN_HEAD(2), GEN_HEAD(2), 0}}, 10, 0},