mirror of
				https://github.com/c64scene-ar/llvm-6502.git
				synced 2025-11-04 05:17:07 +00:00 
			
		
		
		
	not built with 64 bit support. Since this test passes without -m64 on x86-32-linux, just remove the -m64. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57462 91177308-0d34-0410-b5e6-96231b3b80d8
		
			
				
	
	
		
			30 lines
		
	
	
		
			937 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			30 lines
		
	
	
		
			937 B
		
	
	
	
		
			C
		
	
	
	
	
	
/* RUN: %llvmgcc %s -S -o - -emit-llvm -O0 | grep {zeroinitializer.*zeroinitializer.*zeroinitializer.*zeroinitializer.*zeroinitializer.*zeroinitializer}
 | 
						|
 | 
						|
The FE must generate padding here both at the end of each PyG_Head and
 | 
						|
between array elements.  Reduced from Python. */
 | 
						|
 | 
						|
typedef union _gc_head {
 | 
						|
  struct {
 | 
						|
    union _gc_head *gc_next;
 | 
						|
    union _gc_head *gc_prev;
 | 
						|
    long gc_refs;
 | 
						|
  } gc;
 | 
						|
  int dummy __attribute__((aligned(16)));
 | 
						|
} PyGC_Head;
 | 
						|
 | 
						|
struct gc_generation {
 | 
						|
  PyGC_Head head;
 | 
						|
  int threshold;
 | 
						|
  int count;
 | 
						|
};
 | 
						|
 | 
						|
#define GEN_HEAD(n) (&generations[n].head)
 | 
						|
 | 
						|
/* linked lists of container objects */
 | 
						|
static struct gc_generation generations[3] = {
 | 
						|
        /* 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},
 | 
						|
};
 |