@@ -50,6 +50,10 @@ static asm_rv32_backend_options_t rv32_options = { 0 };
5050static uint emit_opt = MP_EMIT_OPT_NONE ;
5151mp_uint_t mp_verbose_flag = 0 ;
5252
53+ #if MICROPY_ENABLE_SOURCE_LINE
54+ static bool include_source_lines = true;
55+ #endif
56+
5357// Heap size of GC heap (if enabled)
5458// Make it larger on a 64 bit machine, because pointers are larger.
5559long heap_size = 1024 * 1024 * (sizeof (mp_uint_t ) / 4 );
@@ -186,6 +190,14 @@ static void pre_process_options(int argc, char **argv) {
186190 emit_opt = MP_EMIT_OPT_NATIVE_PYTHON ;
187191 } else if (strcmp (argv [a + 1 ], "emit=viper" ) == 0 ) {
188192 emit_opt = MP_EMIT_OPT_VIPER ;
193+ #if MICROPY_ENABLE_SOURCE_LINE
194+ } else if (strcmp (argv [a + 1 ], "source-lines" ) == 0 ) {
195+ // Allow excluding source lines for debug builds.
196+ include_source_lines = true;
197+ } else if (strcmp (argv [a + 1 ], "no-source-lines" ) == 0 ) {
198+ // Allow excluding source lines for debug builds.
199+ include_source_lines = false;
200+ #endif
189201 #endif
190202 } else if (strncmp (argv [a + 1 ], "heapsize=" , sizeof ("heapsize=" ) - 1 ) == 0 ) {
191203 char * end ;
@@ -305,6 +317,10 @@ MP_NOINLINE int main_(int argc, char **argv) {
305317 (void )emit_opt ;
306318 #endif
307319
320+ #if MICROPY_ENABLE_SOURCE_LINE
321+ MP_STATE_VM (include_source_lines ) = include_source_lines ;
322+ #endif
323+
308324 // set default compiler configuration
309325 mp_dynamic_compiler .small_int_bits = 31 ;
310326 // don't support native emitter unless -march is specified
0 commit comments