From 24df30c1336fc72ad7dcd5cfc08a5e7f9a1f9808 Mon Sep 17 00:00:00 2001 From: Damien George Date: Fri, 26 Aug 2016 22:28:22 +1000 Subject: [PATCH] py/compile: Don't compile assert statements when optimisations enabled. As per CPython. --- py/compile.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/py/compile.c b/py/compile.c index df6dab063c..c8b4e5470d 100644 --- a/py/compile.c +++ b/py/compile.c @@ -1200,6 +1200,11 @@ STATIC void compile_nonlocal_stmt(compiler_t *comp, mp_parse_node_struct_t *pns) } STATIC void compile_assert_stmt(compiler_t *comp, mp_parse_node_struct_t *pns) { + // with optimisations enabled we don't compile assertions + if (MP_STATE_VM(mp_optimise_value) != 0) { + return; + } + uint l_end = comp_next_label(comp); c_if_cond(comp, pns->nodes[0], true, l_end); EMIT_LOAD_GLOBAL(MP_QSTR_AssertionError); // we load_global instead of load_id, to be consistent with CPython