mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-23 02:32:11 +00:00
b2944bcbe8
more. Update the syntax we're checking for and filecheckize it too. This will fix the selfhost buildbots but will 'break' the others (sigh) because they're still linked against older LLVM which is emitting less optimized IR. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90104 91177308-0d34-0410-b5e6-96231b3b80d8
39 lines
1.0 KiB
C
39 lines
1.0 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]*), i32 0, i32 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]*), i32 0, i32 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]]*), i32 0, i32 1, i32 1) }]
|
|
struct svar svars4[] =
|
|
{
|
|
{ &((cpu.pc).b[1][1]) }
|
|
};
|