mirror of
				https://github.com/c64scene-ar/llvm-6502.git
				synced 2025-11-04 05:17:07 +00:00 
			
		
		
		
	while 32-bit gcc uses i32. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90106 91177308-0d34-0410-b5e6-96231b3b80d8
		
			
				
	
	
		
			39 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
// RUN: %llvmgcc %s -S -emit-llvm -O0 -o - | FileCheck %s
 | 
						|
// PR 4349
 | 
						|
 | 
						|
union reg
 | 
						|
{
 | 
						|
    unsigned char b[2][2];
 | 
						|
    unsigned short w[2];
 | 
						|
    unsigned int d;
 | 
						|
};
 | 
						|
struct cpu
 | 
						|
{
 | 
						|
    union reg pc;
 | 
						|
};
 | 
						|
extern struct cpu cpu;
 | 
						|
struct svar
 | 
						|
{
 | 
						|
    void *ptr;
 | 
						|
};
 | 
						|
// CHECK: @svars1 = global [1 x %struct.svar] [%struct.svar { i8* bitcast (%struct.cpu* @cpu to i8*) }]
 | 
						|
struct svar svars1[] =
 | 
						|
{
 | 
						|
    { &((cpu.pc).w[0]) }
 | 
						|
};
 | 
						|
// CHECK: @svars2 = global [1 x %struct.svar] [%struct.svar { i8* getelementptr ([2 x i8]* bitcast (%struct.cpu* @cpu to [2 x i8]*), i{{[0-9]+}} 0, i{{[0-9]+}} 1) }]
 | 
						|
struct svar svars2[] =
 | 
						|
{
 | 
						|
    { &((cpu.pc).b[0][1]) }
 | 
						|
};
 | 
						|
// CHECK: @svars3 = global [1 x %struct.svar] [%struct.svar { i8* bitcast (i16* getelementptr ([2 x i16]* bitcast (%struct.cpu* @cpu to [2 x i16]*), i{{[0-9]+}} 0, i{{[0-9]+}} 1) to i8*) }]
 | 
						|
struct svar svars3[] =
 | 
						|
{
 | 
						|
    { &((cpu.pc).w[1]) }
 | 
						|
};
 | 
						|
// CHECK: @svars4 = global [1 x %struct.svar] [%struct.svar { i8* getelementptr ([2 x [2 x i8]]* bitcast (%struct.cpu* @cpu to [2 x [2 x i8]]*), i{{[0-9]+}} 0, i{{[0-9]+}} 1, i{{[0-9]+}} 1) }]
 | 
						|
struct svar svars4[] =
 | 
						|
{
 | 
						|
    { &((cpu.pc).b[1][1]) }
 | 
						|
};
 |