Commit 2e2e404f authored by Damien George's avatar Damien George
Browse files

py: Allow to compile with extra warnings (sign-compare, unused-param).

parent 02894b51
...@@ -58,33 +58,33 @@ STATIC bool is_physical_newline(mp_lexer_t *lex) { ...@@ -58,33 +58,33 @@ STATIC bool is_physical_newline(mp_lexer_t *lex) {
return lex->chr0 == '\n'; return lex->chr0 == '\n';
} }
STATIC bool is_char(mp_lexer_t *lex, char c) { STATIC bool is_char(mp_lexer_t *lex, byte c) {
return lex->chr0 == c; return lex->chr0 == c;
} }
STATIC bool is_char_or(mp_lexer_t *lex, char c1, char c2) { STATIC bool is_char_or(mp_lexer_t *lex, byte c1, byte c2) {
return lex->chr0 == c1 || lex->chr0 == c2; return lex->chr0 == c1 || lex->chr0 == c2;
} }
STATIC bool is_char_or3(mp_lexer_t *lex, char c1, char c2, char c3) { STATIC bool is_char_or3(mp_lexer_t *lex, byte c1, byte c2, byte c3) {
return lex->chr0 == c1 || lex->chr0 == c2 || lex->chr0 == c3; return lex->chr0 == c1 || lex->chr0 == c2 || lex->chr0 == c3;
} }
/* /*
STATIC bool is_char_following(mp_lexer_t *lex, char c) { STATIC bool is_char_following(mp_lexer_t *lex, byte c) {
return lex->chr1 == c; return lex->chr1 == c;
} }
*/ */
STATIC bool is_char_following_or(mp_lexer_t *lex, char c1, char c2) { STATIC bool is_char_following_or(mp_lexer_t *lex, byte c1, byte c2) {
return lex->chr1 == c1 || lex->chr1 == c2; return lex->chr1 == c1 || lex->chr1 == c2;
} }
STATIC bool is_char_following_following_or(mp_lexer_t *lex, char c1, char c2) { STATIC bool is_char_following_following_or(mp_lexer_t *lex, byte c1, byte c2) {
return lex->chr2 == c1 || lex->chr2 == c2; return lex->chr2 == c1 || lex->chr2 == c2;
} }
STATIC bool is_char_and(mp_lexer_t *lex, char c1, char c2) { STATIC bool is_char_and(mp_lexer_t *lex, byte c1, byte c2) {
return lex->chr0 == c1 && lex->chr1 == c2; return lex->chr0 == c1 && lex->chr1 == c2;
} }
......
...@@ -141,7 +141,8 @@ typedef enum _mp_token_kind_t { ...@@ -141,7 +141,8 @@ typedef enum _mp_token_kind_t {
// the next-byte function must return the next byte in the stream // the next-byte function must return the next byte in the stream
// it must return MP_LEXER_EOF if end of stream // it must return MP_LEXER_EOF if end of stream
// it can be called again after returning MP_LEXER_EOF, and in that case must return MP_LEXER_EOF // it can be called again after returning MP_LEXER_EOF, and in that case must return MP_LEXER_EOF
#define MP_LEXER_EOF (-1) #define MP_LEXER_EOF ((unichar)(-1))
typedef mp_uint_t (*mp_lexer_stream_next_byte_t)(void*); typedef mp_uint_t (*mp_lexer_stream_next_byte_t)(void*);
typedef void (*mp_lexer_stream_close_t)(void*); typedef void (*mp_lexer_stream_close_t)(void*);
......
...@@ -41,6 +41,10 @@ ...@@ -41,6 +41,10 @@
#include <math.h> #include <math.h>
#endif #endif
#if MICROPY_PY_IO
extern mp_uint_t mp_sys_stdout_obj; // type is irrelevant, just need pointer
#endif
// args[0] is function from class body // args[0] is function from class body
// args[1] is class name // args[1] is class name
// args[2:] are base objects // args[2:] are base objects
...@@ -403,7 +407,6 @@ STATIC mp_obj_t mp_builtin_print(mp_uint_t n_args, const mp_obj_t *args, mp_map_ ...@@ -403,7 +407,6 @@ STATIC mp_obj_t mp_builtin_print(mp_uint_t n_args, const mp_obj_t *args, mp_map_
end_data = mp_obj_str_get_data(end_elem->value, &end_len); end_data = mp_obj_str_get_data(end_elem->value, &end_len);
} }
#if MICROPY_PY_IO #if MICROPY_PY_IO
extern mp_uint_t mp_sys_stdout_obj; // type is irrelevant, just need pointer
mp_obj_t stream_obj = &mp_sys_stdout_obj; mp_obj_t stream_obj = &mp_sys_stdout_obj;
mp_map_elem_t *file_elem = mp_map_lookup(kwargs, MP_OBJ_NEW_QSTR(MP_QSTR_file), MP_MAP_LOOKUP); mp_map_elem_t *file_elem = mp_map_lookup(kwargs, MP_OBJ_NEW_QSTR(MP_QSTR_file), MP_MAP_LOOKUP);
if (file_elem != NULL && file_elem->value != mp_const_none) { if (file_elem != NULL && file_elem->value != mp_const_none) {
...@@ -440,7 +443,6 @@ MP_DEFINE_CONST_FUN_OBJ_KW(mp_builtin_print_obj, 0, mp_builtin_print); ...@@ -440,7 +443,6 @@ MP_DEFINE_CONST_FUN_OBJ_KW(mp_builtin_print_obj, 0, mp_builtin_print);
STATIC mp_obj_t mp_builtin___repl_print__(mp_obj_t o) { STATIC mp_obj_t mp_builtin___repl_print__(mp_obj_t o) {
if (o != mp_const_none) { if (o != mp_const_none) {
#if MICROPY_PY_IO #if MICROPY_PY_IO
extern mp_uint_t mp_sys_stdout_obj; // type is irrelevant, just need pointer
pfenv_t pfenv; pfenv_t pfenv;
pfenv.data = &mp_sys_stdout_obj; pfenv.data = &mp_sys_stdout_obj;
pfenv.print_strn = (void (*)(void *, const char *, mp_uint_t))mp_stream_write; pfenv.print_strn = (void (*)(void *, const char *, mp_uint_t))mp_stream_write;
......
...@@ -220,6 +220,8 @@ mp_obj_t mp_obj_new_memoryview(byte typecode, mp_uint_t nitems, void *items) { ...@@ -220,6 +220,8 @@ mp_obj_t mp_obj_new_memoryview(byte typecode, mp_uint_t nitems, void *items) {
} }
STATIC mp_obj_t memoryview_make_new(mp_obj_t type_in, mp_uint_t n_args, mp_uint_t n_kw, const mp_obj_t *args) { STATIC mp_obj_t memoryview_make_new(mp_obj_t type_in, mp_uint_t n_args, mp_uint_t n_kw, const mp_obj_t *args) {
(void)type_in;
// TODO possibly allow memoryview constructor to take start/stop so that one // TODO possibly allow memoryview constructor to take start/stop so that one
// can do memoryview(b, 4, 8) instead of memoryview(b)[4:8] (uses less RAM) // can do memoryview(b, 4, 8) instead of memoryview(b)[4:8] (uses less RAM)
......
...@@ -53,7 +53,7 @@ STATIC void uni_print_quoted(void (*print)(void *env, const char *fmt, ...), voi ...@@ -53,7 +53,7 @@ STATIC void uni_print_quoted(void (*print)(void *env, const char *fmt, ...), voi
has_double_quote = true; has_double_quote = true;
} }
} }
int quote_char = '\''; unichar quote_char = '\'';
if (has_single_quote && !has_double_quote) { if (has_single_quote && !has_double_quote) {
quote_char = '"'; quote_char = '"';
} }
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment