diff --git a/src/codegen.cpp b/src/codegen.cpp index f863d7c3a1605..4ecca504553d8 100644 --- a/src/codegen.cpp +++ b/src/codegen.cpp @@ -6017,7 +6017,12 @@ static std::unique_ptr emit_function( } else if (expr->head == popaliasscope_sym) { scope_stack.pop_back(); scope_list_stack.pop_back(); - current_aliasscope = scope_list_stack.back(); + if (scope_list_stack.empty()) { + // XXX: should we error here? + current_aliasscope = NULL; + } else { + current_aliasscope = scope_list_stack.back(); + } } } aliasscopes[i+1] = current_aliasscope;