summaryrefslogtreecommitdiffstatshomepage
path: root/py
diff options
context:
space:
mode:
authorDamien George <damien.p.george@gmail.com>2014-04-17 16:26:50 +0100
committerDamien George <damien.p.george@gmail.com>2014-04-17 16:26:50 +0100
commit8bcb9861a78cbe9b7cc8db526d0d621a012ba030 (patch)
tree572e180bb31b5232baf43d6c10e9aeda9ac53e72 /py
parent5cd0b2227f1c36584129cdce86dd20952b45581c (diff)
downloadmicropython-8bcb9861a78cbe9b7cc8db526d0d621a012ba030.tar.gz
micropython-8bcb9861a78cbe9b7cc8db526d0d621a012ba030.zip
py: Don't assert but go to unsupported_op in mp_binary_op for small int.
Diffstat (limited to 'py')
-rw-r--r--py/runtime.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/py/runtime.c b/py/runtime.c
index a507f97f36..98b2d076ec 100644
--- a/py/runtime.c
+++ b/py/runtime.c
@@ -365,7 +365,8 @@ mp_obj_t mp_binary_op(int op, mp_obj_t lhs, mp_obj_t rhs) {
case MP_BINARY_OP_LESS_EQUAL: return MP_BOOL(lhs_val <= rhs_val); break;
case MP_BINARY_OP_MORE_EQUAL: return MP_BOOL(lhs_val >= rhs_val); break;
- default: assert(0);
+ default:
+ goto unsupported_op;
}
// TODO: We just should make mp_obj_new_int() inline and use that
if (MP_OBJ_FITS_SMALL_INT(lhs_val)) {
@@ -437,9 +438,7 @@ generic_binary_op:
// TODO implement dispatch for reverse binary ops
// TODO specify in error message what the operator is
-#if MICROPY_ENABLE_FLOAT
unsupported_op:
-#endif
nlr_raise(mp_obj_new_exception_msg_varg(&mp_type_TypeError,
"unsupported operand types for binary operator: '%s', '%s'",
mp_obj_get_type_str(lhs), mp_obj_get_type_str(rhs)));