summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorPaul Sokolovsky <pfalcon@users.sourceforge.net>2015-04-06 23:50:37 +0300
committerPaul Sokolovsky <pfalcon@users.sourceforge.net>2015-04-06 23:51:29 +0300
commite2d44e30c77360789d6e7c1211b222f93b92e0df (patch)
tree6240115cdc126f9b7964ca1dbfb562031eb87ce5
parent96b60ed956032ece733821663e24f1263bdcd37a (diff)
downloadmicropython-e2d44e30c77360789d6e7c1211b222f93b92e0df.tar.gz
micropython-e2d44e30c77360789d6e7c1211b222f93b92e0df.zip
py: Add MICROPY_PY_BUILTINS_ENUMERATE, disable for minimal ports.
-rw-r--r--minimal/mpconfigport.h1
-rw-r--r--py/modbuiltins.c2
-rw-r--r--py/mpconfig.h5
-rw-r--r--py/objenumerate.c4
-rw-r--r--unix/mpconfigport_minimal.h1
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)