-#define fallthrough do {} while (0) /* fall-through */
+#if __has_attribute(__fallthrough__)
+# define fallthrough __attribute__((__fallthrough__))
+#else
+# define fallthrough do {} while (0) /* fallthrough */
+#endif
#define container_of(ptr, type, member) \
((type *)((void *)(ptr) - offsetof(type, member)))
#define container_of(ptr, type, member) \
((type *)((void *)(ptr) - offsetof(type, member)))
#define BLOCK_IS_DEAD BIT(3)
#define BLOCK_IS_MEMSET BIT(4)
#define BLOCK_NO_OPCODE_LIST BIT(5)
#define BLOCK_IS_DEAD BIT(3)
#define BLOCK_IS_MEMSET BIT(4)
#define BLOCK_NO_OPCODE_LIST BIT(5)
struct block *dispatcher, *c_wrapper_block;
void *c_wrappers[C_WRAPPERS_COUNT];
void *wrappers_eps[C_WRAPPERS_COUNT];
struct block *dispatcher, *c_wrapper_block;
void *c_wrappers[C_WRAPPERS_COUNT];
void *wrappers_eps[C_WRAPPERS_COUNT];
unsigned int nb_maps;
const struct lightrec_mem_map *maps;
uintptr_t offset_ram, offset_bios, offset_scratch, offset_io;
unsigned int nb_maps;
const struct lightrec_mem_map *maps;
uintptr_t offset_ram, offset_bios, offset_scratch, offset_io;
}
void lightrec_mtc(struct lightrec_state *state, union code op, u8 reg, u32 data);
}
void lightrec_mtc(struct lightrec_state *state, union code op, u8 reg, u32 data);