py: Don't assert but go to unsupported_op in mp_binary_op for small int.

pull/506/merge
Damien George 2014-04-17 16:26:50 +01:00
rodzic 5cd0b2227f
commit 8bcb9861a7
1 zmienionych plików z 2 dodań i 3 usunięć

Wyświetl plik

@ -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)));