2009-06-12 04:48:09 +08:00
|
|
|
// RUN: %llvmgcc %s -S -emit-llvm -O0 -o - | grep svars2 | grep {\\\[2 x \\\[2 x i8\\\]\\\]}
|
2009-06-13 07:31:14 +08:00
|
|
|
// RUN: %llvmgcc %s -S -emit-llvm -O0 -o - | grep svars2 | grep {, i\[\[:digit:\]\]\\+ 1)} | count 1
|
2009-06-12 04:48:09 +08:00
|
|
|
// RUN: %llvmgcc %s -S -emit-llvm -O0 -o - | grep svars3 | grep {\\\[2 x i16\\\]}
|
2009-06-13 07:31:14 +08:00
|
|
|
// RUN: %llvmgcc %s -S -emit-llvm -O0 -o - | grep svars3 | grep {, i\[\[:digit:\]\]\\+ 1)} | count 1
|
2009-06-12 04:48:09 +08:00
|
|
|
// RUN: %llvmgcc %s -S -emit-llvm -O0 -o - | grep svars4 | grep {\\\[2 x \\\[2 x i8\\\]\\\]} | count 1
|
2009-06-13 07:31:14 +08:00
|
|
|
// RUN: %llvmgcc %s -S -emit-llvm -O0 -o - | grep svars4 | grep {, i\[\[:digit:\]\]\\+ 1, i\[\[:digit:\]\]\\+ 1)} | count 1
|
2009-06-12 04:48:09 +08:00
|
|
|
// 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;
|
|
|
|
};
|
|
|
|
struct svar svars1[] =
|
|
|
|
{
|
|
|
|
{ &((cpu.pc).w[0]) }
|
|
|
|
};
|
|
|
|
struct svar svars2[] =
|
|
|
|
{
|
|
|
|
{ &((cpu.pc).b[0][1]) }
|
|
|
|
};
|
|
|
|
struct svar svars3[] =
|
|
|
|
{
|
|
|
|
{ &((cpu.pc).w[1]) }
|
|
|
|
};
|
|
|
|
struct svar svars4[] =
|
|
|
|
{
|
|
|
|
{ &((cpu.pc).b[1][1]) }
|
|
|
|
};
|