1 /* On IA64 This test resulted in a missing jumptable and an undefined
2 reference to a label. Make sure we can compile and link it with
6 /* { dg-options "-O2" } */
8 typedef enum yasm_module_type
{
20 typedef struct yasm_module yasm_arch_module
;
21 typedef struct yasm_module yasm_dbgfmt_module
;
22 typedef struct yasm_module yasm_objfmt_module
;
23 typedef struct yasm_module yasm_listfmt_module
;
24 typedef struct yasm_module yasm_optimizer_module
;
26 typedef struct module
{
38 yasm_list_modules(yasm_module_type type
,
39 void (*printfunc
) (const char *name
))
42 module
*modules
= module_types
[type
].m
;
43 yasm_arch_module
*arch
;
44 yasm_dbgfmt_module
*dbgfmt
;
45 yasm_objfmt_module
*objfmt
;
46 yasm_listfmt_module
*listfmt
;
47 yasm_optimizer_module
*optimizer
;
51 case YASM_MODULE_ARCH
:
52 arch
= modules
[i
].data
;
53 printfunc(arch
->name
);
55 case YASM_MODULE_DBGFMT
:
56 dbgfmt
= modules
[i
].data
;
57 printfunc(dbgfmt
->name
);
59 case YASM_MODULE_OBJFMT
:
60 objfmt
= modules
[i
].data
;
61 printfunc(objfmt
->name
);
63 case YASM_MODULE_LISTFMT
:
64 listfmt
= modules
[i
].data
;
65 printfunc(listfmt
->name
);
67 case YASM_MODULE_OPTIMIZER
:
68 optimizer
= modules
[i
].data
;
69 printfunc(optimizer
->name
);