diff options
author | Damien George <damien.p.george@gmail.com> | 2014-09-13 19:58:18 +0100 |
---|---|---|
committer | Damien George <damien.p.george@gmail.com> | 2014-09-13 19:58:18 +0100 |
commit | 83695596ed4fe3ad990b68cc5ff52c26caf2174d (patch) | |
tree | ed56b5df87a3c1837ee55808643fe2738c1124e1 /py | |
parent | 8594ce228011e6264f59ade4ff8a7f2bfa90a649 (diff) | |
download | micropython-83695596ed4fe3ad990b68cc5ff52c26caf2174d.tar.gz micropython-83695596ed4fe3ad990b68cc5ff52c26caf2174d.zip |
py: Fix build error when float disabled; add test for divmod.
Diffstat (limited to 'py')
-rw-r--r-- | py/builtin.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/py/builtin.c b/py/builtin.c index 5b70531aec..471e294ccb 100644 --- a/py/builtin.c +++ b/py/builtin.c @@ -247,14 +247,16 @@ STATIC mp_obj_t mp_builtin_divmod(mp_obj_t o1_in, mp_obj_t o2_in) { mp_int_t i1 = MP_OBJ_SMALL_INT_VALUE(o1_in); mp_int_t i2 = MP_OBJ_SMALL_INT_VALUE(o2_in); if (i2 == 0) { + #if MICROPY_PY_BUILTINS_FLOAT zero_division_error: + #endif nlr_raise(mp_obj_new_exception_msg(&mp_type_ZeroDivisionError, "division by zero")); } mp_obj_t args[2]; args[0] = MP_OBJ_NEW_SMALL_INT(i1 / i2); args[1] = MP_OBJ_NEW_SMALL_INT(i1 % i2); return mp_obj_new_tuple(2, args); -#if MICROPY_PY_BUILTINS_FLOAT + #if MICROPY_PY_BUILTINS_FLOAT } else if (MP_OBJ_IS_TYPE(o1_in, &mp_type_float) || MP_OBJ_IS_TYPE(o2_in, &mp_type_float)) { mp_float_t f1 = mp_obj_get_float(o1_in); mp_float_t f2 = mp_obj_get_float(o2_in); @@ -267,7 +269,7 @@ STATIC mp_obj_t mp_builtin_divmod(mp_obj_t o1_in, mp_obj_t o2_in) { mp_obj_new_float(f2), }; return mp_obj_new_tuple(2, tuple); -#endif + #endif } else { nlr_raise(mp_obj_new_exception_msg_varg(&mp_type_TypeError, "unsupported operand type(s) for divmod(): '%s' and '%s'", mp_obj_get_type_str(o1_in), mp_obj_get_type_str(o2_in))); } |