diff options
author | Paul Sokolovsky <pfalcon@users.sourceforge.net> | 2015-04-06 23:50:37 +0300 |
---|---|---|
committer | Paul Sokolovsky <pfalcon@users.sourceforge.net> | 2015-04-06 23:51:29 +0300 |
commit | e2d44e30c77360789d6e7c1211b222f93b92e0df (patch) | |
tree | 6240115cdc126f9b7964ca1dbfb562031eb87ce5 | |
parent | 96b60ed956032ece733821663e24f1263bdcd37a (diff) | |
download | micropython-e2d44e30c77360789d6e7c1211b222f93b92e0df.tar.gz micropython-e2d44e30c77360789d6e7c1211b222f93b92e0df.zip |
py: Add MICROPY_PY_BUILTINS_ENUMERATE, disable for minimal ports.
-rw-r--r-- | minimal/mpconfigport.h | 1 | ||||
-rw-r--r-- | py/modbuiltins.c | 2 | ||||
-rw-r--r-- | py/mpconfig.h | 5 | ||||
-rw-r--r-- | py/objenumerate.c | 4 | ||||
-rw-r--r-- | unix/mpconfigport_minimal.h | 1 |
5 files changed, 13 insertions, 0 deletions
diff --git a/minimal/mpconfigport.h b/minimal/mpconfigport.h index 188a009582..e7eaa34eb0 100644 --- a/minimal/mpconfigport.h +++ b/minimal/mpconfigport.h @@ -21,6 +21,7 @@ #define MICROPY_ERROR_REPORTING (MICROPY_ERROR_REPORTING_TERSE) #define MICROPY_PY_BUILTINS_BYTEARRAY (0) #define MICROPY_PY_BUILTINS_MEMORYVIEW (0) +#define MICROPY_PY_BUILTINS_ENUMERATE (0) #define MICROPY_PY_BUILTINS_FROZENSET (0) #define MICROPY_PY_BUILTINS_SET (0) #define MICROPY_PY_BUILTINS_SLICE (0) diff --git a/py/modbuiltins.c b/py/modbuiltins.c index 3ab522c3f4..da97cb9b13 100644 --- a/py/modbuiltins.c +++ b/py/modbuiltins.c @@ -594,7 +594,9 @@ STATIC const mp_map_elem_t mp_module_builtins_globals_table[] = { { MP_OBJ_NEW_QSTR(MP_QSTR_complex), (mp_obj_t)&mp_type_complex }, #endif { MP_OBJ_NEW_QSTR(MP_QSTR_dict), (mp_obj_t)&mp_type_dict }, + #if MICROPY_PY_BUILTINS_ENUMERATE { MP_OBJ_NEW_QSTR(MP_QSTR_enumerate), (mp_obj_t)&mp_type_enumerate }, + #endif { MP_OBJ_NEW_QSTR(MP_QSTR_filter), (mp_obj_t)&mp_type_filter }, #if MICROPY_PY_BUILTINS_FLOAT { MP_OBJ_NEW_QSTR(MP_QSTR_float), (mp_obj_t)&mp_type_float }, diff --git a/py/mpconfig.h b/py/mpconfig.h index b2f37e99c7..4065c68665 100644 --- a/py/mpconfig.h +++ b/py/mpconfig.h @@ -459,6 +459,11 @@ typedef double mp_float_t; #define MICROPY_PY_BUILTINS_COMPILE (0) #endif +// Whether to support enumerate function(type) +#ifndef MICROPY_PY_BUILTINS_ENUMERATE +#define MICROPY_PY_BUILTINS_ENUMERATE (1) +#endif + // Whether to support the Python 2 execfile function #ifndef MICROPY_PY_BUILTINS_EXECFILE #define MICROPY_PY_BUILTINS_EXECFILE (0) diff --git a/py/objenumerate.c b/py/objenumerate.c index ab1153844d..36f72083b8 100644 --- a/py/objenumerate.c +++ b/py/objenumerate.c @@ -29,6 +29,8 @@ #include "py/runtime.h" +#if MICROPY_PY_BUILTINS_ENUMERATE + typedef struct _mp_obj_enumerate_t { mp_obj_base_t base; mp_obj_t iter; @@ -83,3 +85,5 @@ STATIC mp_obj_t enumerate_iternext(mp_obj_t self_in) { return mp_obj_new_tuple(2, items); } } + +#endif // MICROPY_PY_BUILTINS_ENUMERATE diff --git a/unix/mpconfigport_minimal.h b/unix/mpconfigport_minimal.h index fe9dbd8d7a..5019eaa39d 100644 --- a/unix/mpconfigport_minimal.h +++ b/unix/mpconfigport_minimal.h @@ -48,6 +48,7 @@ #define MICROPY_PY_BUILTINS_BYTEARRAY (0) #define MICROPY_PY_BUILTINS_MEMORYVIEW (0) #define MICROPY_PY_BUILTINS_COMPILE (0) +#define MICROPY_PY_BUILTINS_ENUMERATE (0) #define MICROPY_PY_BUILTINS_FROZENSET (0) #define MICROPY_PY_BUILTINS_SET (0) #define MICROPY_PY_BUILTINS_SLICE (0) |