diff --git a/lib/mp-readline/readline.h b/lib/mp-readline/readline.h
index 51ea4a56d442b5542413a67a942b42ecd2e66a17..c80dfb54a06b2475a7d02a6da45a6081cad08487 100644
--- a/lib/mp-readline/readline.h
+++ b/lib/mp-readline/readline.h
@@ -34,5 +34,5 @@ void readline_init0(void);
 int readline(vstr_t *line, const char *prompt);
 
 void readline_init(vstr_t *line);
-void readline_note_newline();
+void readline_note_newline(void);
 int readline_process_char(int c);
diff --git a/py/objfun.c b/py/objfun.c
index 3f2691522356a7188a226d2204885cb3d19ee532..6ef12c910519a8b6384728db69032fe256ac7990 100644
--- a/py/objfun.c
+++ b/py/objfun.c
@@ -300,7 +300,7 @@ typedef struct _mp_obj_fun_native_t {
     // TODO add mp_map_t *globals
 } mp_obj_fun_native_t;
 
-typedef mp_obj_t (*native_fun_0_t)();
+typedef mp_obj_t (*native_fun_0_t)(void);
 typedef mp_obj_t (*native_fun_1_t)(mp_obj_t);
 typedef mp_obj_t (*native_fun_2_t)(mp_obj_t, mp_obj_t);
 typedef mp_obj_t (*native_fun_3_t)(mp_obj_t, mp_obj_t, mp_obj_t);
@@ -360,7 +360,7 @@ typedef struct _mp_obj_fun_viper_t {
     mp_uint_t type_sig;
 } mp_obj_fun_viper_t;
 
-typedef mp_uint_t (*viper_fun_0_t)();
+typedef mp_uint_t (*viper_fun_0_t)(void);
 typedef mp_uint_t (*viper_fun_1_t)(mp_uint_t);
 typedef mp_uint_t (*viper_fun_2_t)(mp_uint_t, mp_uint_t);
 typedef mp_uint_t (*viper_fun_3_t)(mp_uint_t, mp_uint_t, mp_uint_t);
@@ -417,7 +417,7 @@ typedef struct _mp_obj_fun_asm_t {
     void *fun_data; // GC must be able to trace this pointer
 } mp_obj_fun_asm_t;
 
-typedef mp_uint_t (*inline_asm_fun_0_t)();
+typedef mp_uint_t (*inline_asm_fun_0_t)(void);
 typedef mp_uint_t (*inline_asm_fun_1_t)(mp_uint_t);
 typedef mp_uint_t (*inline_asm_fun_2_t)(mp_uint_t, mp_uint_t);
 typedef mp_uint_t (*inline_asm_fun_3_t)(mp_uint_t, mp_uint_t, mp_uint_t);