Call doInitialization(), releaseMemory(), and doFinalization() for on-the-fly passes...
[oota-llvm.git] / test / FrontendC / 2007-09-28-PackedUnionMember.c
1 // RUN: %llvmgcc %s -S -o -
2
3 #pragma pack(push, 2)
4 struct H {
5   unsigned long f1;
6   unsigned long f2;
7   union {
8     struct opaque1 *f3;
9     struct opaque2 *f4;
10     struct {
11       struct opaque3 *f5;
12       unsigned short  f6;
13     } f7;
14   } f8;
15 };
16 #pragma pack(pop)
17
18 struct E {
19   unsigned long f1;
20   unsigned long f2;
21 };
22
23 typedef long (*FuncPtr) ();
24
25 extern long bork(FuncPtr handler, const struct E *list);
26
27 static long hndlr()
28 {
29   struct H cmd = { 4, 412 };
30   return 0;
31 }
32 void foo(void *inWindow) {
33   static const struct E events[] = {
34     { 123124, 1 }
35   };
36   bork(hndlr, events);
37 }
38