summaryrefslogtreecommitdiffstatshomepage
path: root/py/map.c
diff options
context:
space:
mode:
authorDamien George <damien.p.george@gmail.com>2014-12-27 17:07:16 +0000
committerDamien George <damien.p.george@gmail.com>2014-12-27 17:33:30 +0000
commite37dcaafb43c1246ab55d79ebb8889a61f280533 (patch)
tree79b86304793ac4d2396c7bc8a24209459e3eaf1a /py/map.c
parent3b74c91684e6dfc785bf33ba03e520470f59059e (diff)
downloadmicropython-e37dcaafb43c1246ab55d79ebb8889a61f280533.tar.gz
micropython-e37dcaafb43c1246ab55d79ebb8889a61f280533.zip
py: Allow to properly disable builtin "set" object.
This patch makes MICROPY_PY_BUILTINS_SET compile-time option fully disable the builtin set object (when set to 0). This includes removing set constructor/comprehension from the grammar, the compiler and the emitters. Now, enabling set costs 8168 bytes on unix x64, and 3576 bytes on stmhal.
Diffstat (limited to 'py/map.c')
-rw-r--r--py/map.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/py/map.c b/py/map.c
index a06325862e..22580de821 100644
--- a/py/map.c
+++ b/py/map.c
@@ -253,6 +253,8 @@ mp_map_elem_t* mp_map_lookup(mp_map_t *map, mp_obj_t index, mp_map_lookup_kind_t
/******************************************************************************/
/* set */
+#if MICROPY_PY_BUILTINS_SET
+
void mp_set_init(mp_set_t *set, mp_uint_t n) {
set->alloc = n;
set->used = 0;
@@ -368,6 +370,8 @@ void mp_set_clear(mp_set_t *set) {
set->table = NULL;
}
+#endif // MICROPY_PY_BUILTINS_SET
+
#if defined(DEBUG_PRINT) && DEBUG_PRINT
void mp_map_dump(mp_map_t *map) {
for (mp_uint_t i = 0; i < map->alloc; i++) {