summaryrefslogtreecommitdiffstatshomepage
path: root/py
diff options
context:
space:
mode:
authorDamien George <damien.p.george@gmail.com>2015-03-19 00:21:29 +0000
committerDamien George <damien.p.george@gmail.com>2015-03-19 00:25:33 +0000
commit2e2e404ff77e95dbe4fee0f19c91913a5888fb6f (patch)
tree32989d5722293edb145295ae137efc32cfdf6f3a /py
parent02894b51f48779569e72dff2c2a1edfd6d74b6c1 (diff)
downloadmicropython-2e2e404ff77e95dbe4fee0f19c91913a5888fb6f.tar.gz
micropython-2e2e404ff77e95dbe4fee0f19c91913a5888fb6f.zip
py: Allow to compile with extra warnings (sign-compare, unused-param).
Diffstat (limited to 'py')
-rw-r--r--py/lexer.c14
-rw-r--r--py/lexer.h3
-rw-r--r--py/modbuiltins.c6
-rw-r--r--py/objarray.c2
-rw-r--r--py/objstrunicode.c2
5 files changed, 16 insertions, 11 deletions
diff --git a/py/lexer.c b/py/lexer.c
index e778510206..536208e41f 100644
--- a/py/lexer.c
+++ b/py/lexer.c
@@ -58,33 +58,33 @@ STATIC bool is_physical_newline(mp_lexer_t *lex) {
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;
}
-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;
}
-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;
}
/*
-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;
}
*/
-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;
}
-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;
}
-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;
}
diff --git a/py/lexer.h b/py/lexer.h
index 3118df62c8..17c472d983 100644
--- a/py/lexer.h
+++ b/py/lexer.h
@@ -141,7 +141,8 @@ typedef enum _mp_token_kind_t {
// the next-byte function must return the next byte in the 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
-#define MP_LEXER_EOF (-1)
+#define MP_LEXER_EOF ((unichar)(-1))
+
typedef mp_uint_t (*mp_lexer_stream_next_byte_t)(void*);
typedef void (*mp_lexer_stream_close_t)(void*);
diff --git a/py/modbuiltins.c b/py/modbuiltins.c
index 78fa4afc33..0440fc72b7 100644
--- a/py/modbuiltins.c
+++ b/py/modbuiltins.c
@@ -41,6 +41,10 @@
#include <math.h>
#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[1] is class name
// 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_
end_data = mp_obj_str_get_data(end_elem->value, &end_len);
}
#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_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) {
@@ -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) {
if (o != mp_const_none) {
#if MICROPY_PY_IO
- extern mp_uint_t mp_sys_stdout_obj; // type is irrelevant, just need pointer
pfenv_t pfenv;
pfenv.data = &mp_sys_stdout_obj;
pfenv.print_strn = (void (*)(void *, const char *, mp_uint_t))mp_stream_write;
diff --git a/py/objarray.c b/py/objarray.c
index 85b73ae7f5..8c1caaceaf 100644
--- a/py/objarray.c
+++ b/py/objarray.c
@@ -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) {
+ (void)type_in;
+
// 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)
diff --git a/py/objstrunicode.c b/py/objstrunicode.c
index abef2343f2..1cf4ed4743 100644
--- a/py/objstrunicode.c
+++ b/py/objstrunicode.c
@@ -53,7 +53,7 @@ STATIC void uni_print_quoted(void (*print)(void *env, const char *fmt, ...), voi
has_double_quote = true;
}
}
- int quote_char = '\'';
+ unichar quote_char = '\'';
if (has_single_quote && !has_double_quote) {
quote_char = '"';
}