From acfa088b60dcac1dfec76cda3d2efe42d194cc8b Mon Sep 17 00:00:00 2001 From: Delyan Angelov Date: Wed, 12 Mar 2025 14:21:23 +0200 Subject: [PATCH] v.build_constraint: support comments too, for example `linux&&gcc // some comment` --- cmd/v/v.v | 4 ++++ vlib/v/build_constraint/lexing.v | 5 +++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/cmd/v/v.v b/cmd/v/v.v index 206180de5d..e8dfaf74c8 100644 --- a/cmd/v/v.v +++ b/cmd/v/v.v @@ -229,6 +229,10 @@ fn setup_vbuild_env_vars(prefs &pref.Preferences) { sdefines := prefs.compile_defines_all.join(',') os.setenv('VBUILD_DEFINES', sdefines, true) + $if trace_vbuild ? { + eprintln('> VBUILD_FACTS: ${sfacts}') + eprintln('> VBUILD_DEFINES: ${sdefines}') + } unsafe { sdefines.free() } unsafe { sfacts.free() } unsafe { github_job.free() } diff --git a/vlib/v/build_constraint/lexing.v b/vlib/v/build_constraint/lexing.v index 4894788e84..765a303993 100644 --- a/vlib/v/build_constraint/lexing.v +++ b/vlib/v/build_constraint/lexing.v @@ -38,10 +38,11 @@ fn new_span(kind BTokenKind, mut span []u8) Token { return t } -fn lex(s string) ![]Token { +fn lex(original string) ![]Token { mut res := []Token{} - mut span := []u8{cap: s.len} + mut span := []u8{cap: original.len} mut op := []u8{} + s := original.all_before('//') for c in s { match c { ` `, `\t`, `\n` {}