Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
101 commits
Select commit Hold shift + click to select a range
c67b28f
v3: make compiler default on macOS and expand compatibility
medvednikov Jul 30, 2026
1d438da
Merge remote-tracking branch 'origin/master'
medvednikov Jul 30, 2026
31e6bc3
Merge remote-tracking branch 'origin/master'
medvednikov Jul 31, 2026
c575bb2
v3: make compiler default on macOS and expand compatibility
medvednikov Jul 31, 2026
08bf4c0
Merge remote-tracking branch 'origin/master'
medvednikov Jul 31, 2026
a2b7aeb
v3: expand default compiler compatibility
medvednikov Aug 1, 2026
8c04048
Merge remote-tracking branch 'origin/master' into agent/v3-default-ma…
medvednikov Aug 1, 2026
e864776
v3: preserve delegated compiler options
medvednikov Aug 1, 2026
a1b6f22
v3: address macOS delegation review feedback
medvednikov Aug 1, 2026
4c0401f
v3: address follow-up macOS review feedback
medvednikov Aug 1, 2026
cd0ad22
Merge origin/master and restore V3 self-hosting
medvednikov Aug 2, 2026
58382fd
v3: preserve delegated compiler compatibility
medvednikov Aug 2, 2026
b26b01e
v3: preserve additional macOS compatibility modes
medvednikov Aug 2, 2026
dd874ee
v3: retain diagnostic compatibility on macOS
medvednikov Aug 2, 2026
00984b2
v3: preserve coverage source lines
medvednikov Aug 2, 2026
7d0c13b
v3: fix test cache and prod warnings
medvednikov Aug 2, 2026
f8e9e65
v3: bound driver memory and preserve test behavior
medvednikov Aug 2, 2026
bb001d5
v3: preserve exclude and C compiler output
medvednikov Aug 2, 2026
45442a5
v3: keep ldflags builds on V1
medvednikov Aug 2, 2026
11f0938
v3: reduce self-host memory below 2 GB
medvednikov Aug 2, 2026
e4b4155
v3: preserve nofloat, file lists, and prod flags
medvednikov Aug 2, 2026
2ee7d06
v3: isolate semantic and check-only caches
medvednikov Aug 2, 2026
c4d6bb6
cmd: forward VFLAGS to autofree delegation
medvednikov Aug 2, 2026
a878cbd
v3: preserve directory outputs and font ownership
medvednikov Aug 2, 2026
9bccbd5
v3: preserve native compiler flag plans
medvednikov Aug 2, 2026
4305594
v3: skip option values during doc detection
medvednikov Aug 2, 2026
95dc836
v3: preserve explicit silent define
medvednikov Aug 2, 2026
50a4217
v3: retain effective GC builds on V1
medvednikov Aug 2, 2026
606a9a7
v3: detect autofree from merged flags
medvednikov Aug 2, 2026
e6d777f
v3: preserve cleanup hooks and deep array equality
medvednikov Aug 2, 2026
767c8df
cmd: guard autofree ownership delegation
medvednikov Aug 2, 2026
faf2e79
cmd: keep compressed builds on V1
medvednikov Aug 2, 2026
10d0b23
v3: preserve x86 alias and hidden outputs
medvednikov Aug 2, 2026
9edc916
v3: preserve target-specific output paths
medvednikov Aug 2, 2026
1212da4
v3: preserve assert and color modes
medvednikov Aug 2, 2026
78b9016
v3: ignore inactive parallel C includes
medvednikov Aug 2, 2026
f299b45
v3: preserve cross and experimental modes
medvednikov Aug 2, 2026
33db08e
v3: inspect AST for impure interop
medvednikov Aug 2, 2026
041db0f
v3: preserve sanitizer and cross C modes
medvednikov Aug 2, 2026
d2bf86d
v3: restore generic interface type names
medvednikov Aug 2, 2026
e0ebb9f
v3: harden coverage and project scripts
medvednikov Aug 2, 2026
bada2ef
v3: preserve deeply wrapped float literals
medvednikov Aug 2, 2026
d3aa823
v3: normalize valued compile defines
medvednikov Aug 2, 2026
fc1ac94
v3: address reviewed build compatibility gaps
medvednikov Aug 2, 2026
c372e84
v3: preserve quiet and POSIX project builds
medvednikov Aug 2, 2026
f6d1380
v3: preserve option boundaries and vv compatibility
medvednikov Aug 2, 2026
90e175a
v3: preserve JSON null and non-finite behavior
medvednikov Aug 2, 2026
5e83c05
v3: accept the define flag alias
medvednikov Aug 2, 2026
dbf86f0
cmd/v: fix default V3 dispatch guards
medvednikov Aug 2, 2026
e880979
v3: parse volatile anonymous struct fields
medvednikov Aug 2, 2026
0869a62
v3: escape coverage metadata JSON controls
medvednikov Aug 2, 2026
67292f6
v3: run executable module cleanup hooks
medvednikov Aug 2, 2026
f8c1073
cmd/v: retain notice-suppressed autofree on v1
medvednikov Aug 2, 2026
6dc3cc2
cmd/v: retain fatal-error builds on v1
medvednikov Aug 2, 2026
11fb6e2
v3: fix dispatch compatibility edge cases
medvednikov Aug 2, 2026
11a7c19
cmd/v: retain autofree inspection builds on v1
medvednikov Aug 2, 2026
8ea7332
cmd/v: retain unsupported command modes on v1
medvednikov Aug 2, 2026
d562dd9
v3: isolate unused-code cache mode
medvednikov Aug 2, 2026
5671f59
v3: fix production diagnostics and dump dispatch
medvednikov Aug 2, 2026
acf9e76
cmd/v: retain unsupported compiler modes on v1
medvednikov Aug 2, 2026
286f3e0
v3: inspect parsed imports for Wayland guard
medvednikov Aug 2, 2026
ba6a6b6
cmd/v: retain no-std autofree builds on v1
medvednikov Aug 2, 2026
086f3c7
v.gen.c: exercise V3 C-output fixtures
medvednikov Aug 2, 2026
3aac5cb
v3: format integer aliases as characters
medvednikov Aug 2, 2026
f1b0fba
v3: fix failed test stats and cdebug alias
medvednikov Aug 2, 2026
b2f4713
v: retain autofree inspection modes on v1
medvednikov Aug 2, 2026
039aaf1
v: normalize macOS ownership forwarding
medvednikov Aug 2, 2026
1ed2bcd
v: retain autofree toolchain limits on v1
medvednikov Aug 2, 2026
ddfca2f
v3: defer executable cleanup registration
medvednikov Aug 2, 2026
c9048f7
v: preserve allocator and debug compatibility
medvednikov Aug 3, 2026
4177f08
v3: continue wrapped tests after assertion failures
medvednikov Aug 3, 2026
24d38a4
cmd: retain autofree WASM options on V1
medvednikov Aug 3, 2026
3feb186
cmd: retain line info builds on V1
medvednikov Aug 3, 2026
7a5f1c1
cmd: retain cross-target autofree builds on V1
medvednikov Aug 3, 2026
f1ad051
cmd: retain debug tcc autofree builds on V1
medvednikov Aug 3, 2026
752bb16
v3: print cached module source files
medvednikov Aug 3, 2026
cfa6bc2
cmd: retain unsupported autofree modes on V1
medvednikov Aug 3, 2026
b029c82
v3: replay checker notices on cache hits
medvednikov Aug 3, 2026
b7c719c
cmd: retain selective profiling on V1
medvednikov Aug 3, 2026
1d9707f
v3: register no-main cleanup after init
medvednikov Aug 3, 2026
b5b3d32
v3: fix backend-qualified tests and hook failures
medvednikov Aug 3, 2026
8bb3671
cmd: retain no-relaxed GCC autofree on V1
medvednikov Aug 3, 2026
d50fa77
cmd: retain unsupported valued options on V1
medvednikov Aug 3, 2026
6f51bf9
v3: fix diagnostic colors and test harness stats
medvednikov Aug 3, 2026
8134e43
v3: fix assertion value diagnostics
medvednikov Aug 3, 2026
e5e77d8
cmd: retain obfuscation aliases on V1
medvednikov Aug 3, 2026
dda6d16
v3: preserve shared exports and compatibility modes
medvednikov Aug 3, 2026
5a61285
v3: emit coverage increments for repeated lines
medvednikov Aug 3, 2026
c5dfb4a
cmd: retain subsystem autofree builds on V1
medvednikov Aug 3, 2026
7f98712
v3: fix propagation paths and globals alias
medvednikov Aug 3, 2026
ba2bc16
cmd: retain new transformer builds on V1
medvednikov Aug 3, 2026
9f7c8ca
v3: fix assertion evaluation and stats
medvednikov Aug 3, 2026
1580e30
v3: omit LTO for TinyCC production builds
medvednikov Aug 3, 2026
f8a47d0
v3: restore shared library lifecycle hooks
medvednikov Aug 3, 2026
e3a1734
v3: honor overflow attributes and detect TinyCC
medvednikov Aug 3, 2026
9361386
cmd: retain translated Go autofree builds on V1
medvednikov Aug 3, 2026
7c570d2
cmd: retain libc-selecting autofree builds on V1
medvednikov Aug 3, 2026
db2f199
cmd: normalize every x86 compatibility alias
medvednikov Aug 3, 2026
8accda5
v3: route helper assertions through test harness
medvednikov Aug 3, 2026
9bdc37e
cmd: normalize every globals compatibility alias
medvednikov Aug 3, 2026
824e237
v3: match filtered tests by declared module
medvednikov Aug 3, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions cmd/tools/vcreate/tests/init.expect
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@

set timeout 10

# Pass v_root as arg, since we chdir into a temp directory during testing and create a project there.
set v_root [lindex $argv 0]
# Pass the active V executable as an arg, since we chdir into a temp directory during testing.
set v_exe [lindex $argv 0]

spawn $v_root/v init
spawn $v_exe init

expect "Input your project description: " { send "\r" } timeout { exit 1 }
expect "Input your project version: (0.0.0) " { send "\r" } timeout { exit 1 }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@

set timeout 10

# Pass v_root as arg, since we chdir into a temp directory during testing and create a project there.
set v_root [lindex $argv 0]
# Pass the active V executable as an arg, since we chdir into a temp directory during testing.
set v_exe [lindex $argv 0]
set project_dir_name [lindex $argv 1]
set corrected_mod_name [lindex $argv 2]

spawn $v_root/v init
spawn $v_exe init

expect "Input your project description: " { send "\r" } timeout { exit 1 }
expect "Input your project version: (0.0.0) " { send "\r" } timeout { exit 1 }
Expand Down
6 changes: 3 additions & 3 deletions cmd/tools/vcreate/tests/init_with_model_arg.expect
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@

set timeout 10

# Pass v_root as arg, since we chdir into a temp directory during testing and create a project there.
set v_root [lindex $argv 0]
# Pass the active V executable as an arg, since we chdir into a temp directory during testing.
set v_exe [lindex $argv 0]
set model [lindex $argv 1]

spawn $v_root/v init $model
spawn $v_exe init $model

expect "Input your project description: " { send "My Awesome V Application.\r" } timeout { exit 1 }
expect "Input your project version: (0.0.0) " { send "0.0.1\r" } timeout { exit 1 }
Expand Down
15 changes: 9 additions & 6 deletions cmd/tools/vcreate/vcreate_init_test.v
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
import os
import v.vmod

const vroot = os.quoted_path(@VEXEROOT)
const vexe = os.quoted_path(@VEXE)
// Expect has to be installed for the test.
const expect_exe = os.quoted_path(os.find_abs_path_of_executable('expect') or {
Expand All @@ -28,7 +27,7 @@ fn init_and_check() ! {
main_last_modified := if main_exists { os.file_last_mod_unix('main.v') } else { 0 }

// Initialize project.
os.execute_or_exit('${expect_exe} ${os.join_path(expect_tests_path, 'init.expect')} ${vroot}')
os.execute_or_exit('${expect_exe} ${os.join_path(expect_tests_path, 'init.expect')} ${vexe}')

x := os.execute_or_exit('${vexe} run .')
assert x.output.trim_space() == 'Hello World!'
Expand Down Expand Up @@ -132,7 +131,7 @@ fn test_v_init_in_git_dir() {
fn test_v_init_no_overwrite_gitignore() {
prepare_test_path()!
os.write_file('.gitignore', 'foo')!
os.execute_or_exit('${expect_exe} ${os.join_path(expect_tests_path, 'init.expect')} ${vroot}')
os.execute_or_exit('${expect_exe} ${os.join_path(expect_tests_path, 'init.expect')} ${vexe}')
assert os.read_file('.gitignore')! == 'foo'
}

Expand All @@ -151,7 +150,7 @@ indent_style = tab
os.write_file('.gitattributes', git_attributes_content)!
os.write_file('.editorconfig', editor_config_content)!
res :=
os.execute_or_exit('${expect_exe} ${os.join_path(expect_tests_path, 'init.expect')} ${vroot}')
os.execute_or_exit('${expect_exe} ${os.join_path(expect_tests_path, 'init.expect')} ${vexe}')
assert res.output.contains('Created binary (application) project `${test_project_dir_name}`')
assert os.read_file('.gitattributes')! == git_attributes_content
assert os.read_file('.editorconfig')! == editor_config_content
Expand All @@ -162,10 +161,14 @@ fn test_v_init_in_dir_with_invalid_mod_name_input() {
dir_name_with_invalid_mod_name := 'my-proj'
corrected_mod_name := 'my_proj'
proj_path := os.join_path(os.vtmp_dir(), dir_name_with_invalid_mod_name)
os.rmdir_all(proj_path) or {}
os.mkdir_all(proj_path) or {}
defer {
os.rmdir_all(proj_path) or {}
}
os.chdir(proj_path)!
os.execute_or_exit('${expect_exe} ${os.join_path(expect_tests_path,
'init_in_dir_with_invalid_mod_name.expect')} ${vroot} ${dir_name_with_invalid_mod_name} ${corrected_mod_name}')
'init_in_dir_with_invalid_mod_name.expect')} ${vexe} ${dir_name_with_invalid_mod_name} ${corrected_mod_name}')
// Assert mod data set in `new_with_model_arg.expect`.
mod := vmod.from_file(os.join_path(proj_path, 'v.mod')) or {
assert false, err.str()
Expand All @@ -178,7 +181,7 @@ fn test_v_init_with_model_arg_input() {
prepare_test_path()!
model := '--lib'
res := os.execute_or_exit('${expect_exe} ${os.join_path(expect_tests_path,
'init_with_model_arg.expect')} ${vroot} ${model}')
'init_with_model_arg.expect')} ${vexe} ${model}')
assert res.output.contains('Created library project `${test_project_dir_name}`'), res.output
project_path := os.join_path(test_path)
mod := vmod.from_file(os.join_path(project_path, 'v.mod')) or {
Expand Down
Loading
Loading