From e37dcaafb43c1246ab55d79ebb8889a61f280533 Mon Sep 17 00:00:00 2001 From: Damien George Date: Sat, 27 Dec 2014 17:07:16 +0000 Subject: 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. --- py/map.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'py/map.c') 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++) { -- cgit v1.2.3