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);