typedef struct _mp_print_t mp_print_t; extern const mp_print_t mp_plat_print; int mp_printf(const mp_print_t *print, const char *fmt, ...); typedef unsigned long long qstr; extern void abort(); int fn() { short shortarg = 37; mp_printf(&mp_plat_print, "%q\n", shortarg); mp_printf(&mp_plat_print, "%q\n", (qstr)shortarg); mp_printf(&mp_plat_print, "%s\n", 9); mp_printf(&mp_plat_print, "%s\n", "hi"); mp_printf(&mp_plat_print, "%s\n", 22 / 7.); mp_printf(&mp_plat_print, "%p\n", 9); mp_printf(&mp_plat_print, "%p\n", "hi"); mp_printf(&mp_plat_print, "%d\n", 9); mp_printf(&mp_plat_print, "%d\n", "hi"); mp_printf(&mp_plat_print, "%ld\n", 9); mp_printf(&mp_plat_print, "%ld\n", (long)9); mp_printf(&mp_plat_print, "%ld\n", "hi"); mp_printf(&mp_plat_print, "%lld\n", 9); mp_printf(&mp_plat_print, "%lld\n", (long long)9); mp_printf(&mp_plat_print, "%ld\n", "hi"); mp_printf(&mp_plat_print, "%f\n", 22 / 7.); mp_printf(&mp_plat_print, "%f\n", "hi"); mp_printf(&mp_plat_print, "%d %d\n", 7); mp_printf(&mp_plat_print, "%d %d\n", 7, 7, 7); abort(); return 0; }