From 6d2c1f7e2c9eb0f97ad256017fc80d502af417f0 Mon Sep 17 00:00:00 2001 From: Delyan Angelov Date: Tue, 5 Oct 2021 21:44:26 +0300 Subject: [PATCH] v.gen.c: enable again parallel cgen for `-g`, make `-g` more robust --- vlib/v/gen/c/cgen.v | 3 +++ vlib/v/gen/c/fn.v | 6 ++++++ vlib/v/pref/pref.v | 1 - 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/vlib/v/gen/c/cgen.v b/vlib/v/gen/c/cgen.v index c2b969c15b..1c8bb5722d 100644 --- a/vlib/v/gen/c/cgen.v +++ b/vlib/v/gen/c/cgen.v @@ -527,7 +527,10 @@ pub fn (mut g Gen) gen_file() { if g.pref.is_vlines { g.vlines_path = util.vlines_escape_path(g.file.path, g.pref.ccompiler) + g.is_vlines_enabled = true + g.inside_ternary = 0 } + g.stmts(g.file.stmts) // Transfer embedded files for path in g.file.embedded_files { diff --git a/vlib/v/gen/c/fn.v b/vlib/v/gen/c/fn.v index 16fdd1f241..15fdf201d5 100644 --- a/vlib/v/gen/c/fn.v +++ b/vlib/v/gen/c/fn.v @@ -111,6 +111,12 @@ fn (mut g Gen) gen_fn_decl(node &ast.FnDecl, skip bool) { return } + old_is_vlines_enabled := g.is_vlines_enabled + g.is_vlines_enabled = true + defer { + g.is_vlines_enabled = old_is_vlines_enabled + } + tmp_defer_vars := g.defer_vars // must be here because of workflow if !g.anon_fn { g.defer_vars = []string{} diff --git a/vlib/v/pref/pref.v b/vlib/v/pref/pref.v index db90b6a6c9..1eaf836647 100644 --- a/vlib/v/pref/pref.v +++ b/vlib/v/pref/pref.v @@ -338,7 +338,6 @@ pub fn parse_args(known_external_commands []string, args []string) (&Preferences '-g' { res.is_debug = true res.is_vlines = true - res.no_parallel = true // TODO: fix `-g` with the parallel backend (line numbers are wrong) res.build_options << arg } '-cg' {