mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-08-17 05:29:24 +00:00
Do not ignore packed member size while selecting union type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42458 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
9fe4662d9a
commit
fb71392848
37
test/CFrontend/2007-09-28-PackedUnionMember.c
Normal file
37
test/CFrontend/2007-09-28-PackedUnionMember.c
Normal file
@ -0,0 +1,37 @@
|
||||
// RUN: %llvmgcc %s -S -o -
|
||||
#pragma pack(push, 2)
|
||||
struct H {
|
||||
unsigned long f1;
|
||||
unsigned long f2;
|
||||
union {
|
||||
struct opaque1 *f3;
|
||||
struct opaque2 *f4;
|
||||
struct {
|
||||
struct opaque3 *f5;
|
||||
unsigned short f6;
|
||||
} f7;
|
||||
} f8;
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
struct E {
|
||||
unsigned long f1;
|
||||
unsigned long f2;
|
||||
};
|
||||
|
||||
typedef long (*FuncPtr) ();
|
||||
|
||||
extern long bork(FuncPtr handler, const struct E *list);
|
||||
|
||||
static long hndlr()
|
||||
{
|
||||
struct H cmd = { 4, 'fart' };
|
||||
return 0;
|
||||
}
|
||||
void foo(void *inWindow) {
|
||||
static const struct E events[] = {
|
||||
{ 'cmds', 1 }
|
||||
};
|
||||
bork(hndlr, events);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user