diff options
author | Emil Renner Berthing <esmil@mailme.dk> | 2019-11-28 12:47:21 +0100 |
---|---|---|
committer | Emil Renner Berthing <esmil@mailme.dk> | 2020-10-22 11:53:16 +0200 |
commit | ccd92335a11f03597f94da2ac937811ff3fa50cf (patch) | |
tree | 2a31448c25724edf2ff5213b1cc1b52dd5ff0f82 /extmod | |
parent | dde3db21fcd8d810bb59e0c56dfa5fd9208e1544 (diff) |
py, extmod: Introduce and use MP_FALLTHROUGH macro.
Newer GCC versions are able to warn about switch cases that fall
through. This is usually a sign of a forgotten break statement, but in
the few cases where a fall through is intended we annotate it with this
macro to avoid the warning.
Diffstat (limited to 'extmod')
-rw-r--r-- | extmod/moductypes.c | 3 | ||||
-rw-r--r-- | extmod/re1.5/compilecode.c | 1 | ||||
-rw-r--r-- | extmod/re1.5/recursiveloop.c | 1 |
3 files changed, 4 insertions, 1 deletions
diff --git a/extmod/moductypes.c b/extmod/moductypes.c index 811258424..c5fbf12e4 100644 --- a/extmod/moductypes.c +++ b/extmod/moductypes.c @@ -506,6 +506,7 @@ STATIC mp_obj_t uctypes_struct_attr_op(mp_obj_t self_in, qstr attr, mp_obj_t set return mp_obj_new_bytearray_by_ref(uctypes_struct_agg_size(sub, self->flags, &dummy), self->addr + offset); } // Fall thru to return uctypes struct object + MP_FALLTHROUGH } case PTR: { mp_obj_uctypes_struct_t *o = m_new_obj(mp_obj_uctypes_struct_t); @@ -627,7 +628,7 @@ STATIC mp_obj_t uctypes_struct_unary_op(mp_unary_op_t op, mp_obj_t self_in) { return mp_obj_new_int((mp_int_t)(uintptr_t)p); } } - /* fallthru */ + MP_FALLTHROUGH default: return MP_OBJ_NULL; // op not supported diff --git a/extmod/re1.5/compilecode.c b/extmod/re1.5/compilecode.c index 3f54b3993..c4d12af87 100644 --- a/extmod/re1.5/compilecode.c +++ b/extmod/re1.5/compilecode.c @@ -29,6 +29,7 @@ static const char *_compilecode(const char *re, ByteProg *prog, int sizecode) prog->len++; break; } + MP_FALLTHROUGH default: term = PC; EMIT(PC++, Char); diff --git a/extmod/re1.5/recursiveloop.c b/extmod/re1.5/recursiveloop.c index bb337decf..f8cb92629 100644 --- a/extmod/re1.5/recursiveloop.c +++ b/extmod/re1.5/recursiveloop.c @@ -22,6 +22,7 @@ recursiveloop(char *pc, const char *sp, Subject *input, const char **subp, int n case Char: if(*sp != *pc++) return 0; + MP_FALLTHROUGH case Any: sp++; continue; |