Commit Graph

9968 Commits (e344d68b6261aba4beae9b95a72f58ff69c0302a)

Author SHA1 Message Date
Delyan Angelov 76c67952e6
tests: support for marking _test.v files with `// vtest flaky: true`, to reduce false positives from the CI 2022-04-30 16:26:28 +02:00
David 'Epper' Marshall 1ad84bb2d1
docs: document more `builtin` functions/methods (#14229) 2022-04-30 16:26:28 +02:00
spaceface 64625b8bff
cgen: rewrite the closure implementation (#14223) 2022-04-30 16:26:28 +02:00
Alexander Medvednikov 547265dd44
checker: allow voidptr arithmetic in translated code 2022-04-30 16:26:27 +02:00
yuyi f4586b1577
parser: make sure interface field names use uppercase letters (#14228) 2022-04-30 16:26:27 +02:00
Daniel Däschle 85cb0a8c85
all: basic implementation of result type (#14140) 2022-04-30 16:26:27 +02:00
StunxFS 3e4834aebf
checker: check for reserved type names in `for in` (fix #14072) (#14212) 2022-04-30 16:26:27 +02:00
David 'Epper' Marshall 25df4fa143
time: add custom formatter (#14202) 2022-04-29 21:38:24 +02:00
yuyi 2109a6a85c
parser: check interface methods name (fix #14217) (#14218) 2022-04-29 21:38:24 +02:00
yuyi d1a0ac26fd
checker: check struct field name using uppercase letters (#14220) 2022-04-29 21:38:24 +02:00
Wertzui123 735817374e
builtin: ignore C++ 0xE06D7363 exception errors on windows (#14225) 2022-04-29 21:38:24 +02:00
StunxFS f8ed4ab9d0
builtin: add `string.len_utf8()` method (#14208) 2022-04-29 21:38:24 +02:00
StunxFS 3c8b67521b
cgen: fix use of C reserved words inside `defer` statement (fix #14101) (#14211) 2022-04-29 21:38:24 +02:00
Alexander Medvednikov 23117e6802
builtin: define atoi & ftell 2022-04-29 21:38:24 +02:00
spaceface 893e2ff6cb
ast: add a type_size() method (#14213) 2022-04-29 21:38:23 +02:00
StunxFS da71bced46
transformer: minor optimization for `'string literal'.len` (#14207) 2022-04-29 21:38:23 +02:00
playX 59ddaa9ede
checker: disable op overloading on structures for translated code (#14209) 2022-04-29 21:38:23 +02:00
yuyi 134b594e4d
ast, parser: fix complex map init (#14206) 2022-04-29 21:38:23 +02:00
yuyi c2ecfb32d9
cgen: fix go anon fn call with ref argument (fix #14192) (#14197) 2022-04-29 21:38:23 +02:00
yuyi 03d2258b6d
ast: fix error for complex map operating (#14204) 2022-04-29 21:38:23 +02:00
Atom 48749b0b24
arrays: rephrase doc string (#14205) 2022-04-29 21:38:23 +02:00
Delyan Angelov 47dccd56a2
eval: small cleanup in the handling of `$if platform {` 2022-04-29 21:38:23 +02:00
Delyan Angelov 705e260180
eval: make the interpreter backtrace more efficient and informative. 2022-04-29 21:38:23 +02:00
Delyan Angelov 31bee98607
eval: add support for C.read/3, C.malloc/1, `$if openbsd {` 2022-04-29 21:38:23 +02:00
Delyan Angelov 444d8c7a81
pref: add support for `-thread-stack-size 4194304` (default set to 8MB) (#14168) 2022-04-29 21:38:23 +02:00
yuyi 47c18c4570
checker: fix error for array of sumtype appending literal value (#14200) 2022-04-29 21:38:22 +02:00
yuyi bf75a873b5
checker: check error in for_c_stmt with optional call (#14190) 2022-04-29 21:38:22 +02:00
tzSharing f9bd107a84
gg: improve some loops in draw_rounded_rect* methods (#14195) 2022-04-29 21:38:22 +02:00
Delyan Angelov 624f022ddc
ci: fix tcc compilation of atomic_test.v 2022-04-29 21:38:22 +02:00
Alexander Medvednikov b7f2ef78b2
all: atomic int fixes
ci/woodpecker/push/vc Pipeline was successful Details
ci/woodpecker/push/docker Pipeline was successful Details
ci/woodpecker/push/arch Pipeline was successful Details
2022-04-27 21:07:11 +02:00
yuyi 2d9fa62941
math: fix error for math.abs(0.0)/math.abs(0) (related #14165) (#14191) 2022-04-27 21:07:11 +02:00
yuyi 8b085a32a5
cgen: fix error for generic sumtype casting to typenode (#14188) 2022-04-27 21:07:10 +02:00
tzSharing 604f4f5e44
gg: fix gg.draw_rounded_rect_empty() graphical abnormalities and some optimizations (#14186) 2022-04-27 21:07:10 +02:00
playX c37bb48e9c
checker: allow + - * on pointers for translated code (#14183) 2022-04-27 21:07:10 +02:00
R cqls 609464bc9c
gg: some stuff required to have svg and png screenshots working on v ui (#14180) 2022-04-27 21:07:10 +02:00
yuyi 8a75d68421
cgen: split up array_init() (#14178) 2022-04-27 21:07:10 +02:00
Larpon 07d465cbaa
strconv: add missing doc strings (#14164) 2022-04-27 21:07:10 +02:00
yuyi 14cec11cc6
cgen: fix error for cast to empty interface (fix #14162) (#14176) 2022-04-27 21:07:10 +02:00
Brian Callahan 9bc422a071
sokol: support compilation on OpenBSD (#14169) 2022-04-27 21:07:09 +02:00
yuyi 2b0f0820e6
ast, checker, cgen: fix error for multi-return in or expr (fix #14167) (#14172) 2022-04-27 21:07:09 +02:00
playX 0302cd69bd
checker: allow indexing through alias to int (#14177) 2022-04-27 21:07:09 +02:00
playX cab53d0e75
checker: c2v fixes (#14161) 2022-04-27 21:07:09 +02:00
Alexander Medvednikov b81f06e369
checker: remove already handled "undefined" errors
ci/woodpecker/push/vc Pipeline was successful Details
ci/woodpecker/push/docker Pipeline was successful Details
ci/woodpecker/push/arch Pipeline was successful Details
2022-04-25 19:07:31 +02:00
Larpon 1cc8072efa
regex: rephrase doc string (#14159) 2022-04-25 19:07:31 +02:00
yuyi 2d381d69ea
checker: fix error for match aliases (#14157) 2022-04-25 19:07:31 +02:00
yuyi 549735fbff
checker: check error for array.index() argument (#14147) 2022-04-25 19:07:31 +02:00
yuyi d67251c1e0
cgen: fix error for printing multi fixed array (#14141) 2022-04-25 19:07:30 +02:00
Larpon 8a5ba0dfc8
cli: add missing doc strings (#14158) 2022-04-25 19:07:30 +02:00
yuyi b314b8d8bf
cgen: fix error for anon fn decl inside ternary (#14150) 2022-04-25 19:07:30 +02:00
Delyan Angelov b43c538bc0
eval: enable `v interpret examples/hanoi.v` 2022-04-25 19:07:30 +02:00
Nick Treleaven 13902a827b
checker: error if smaller signed == unsigned (#14078) 2022-04-25 19:07:30 +02:00
Delyan Angelov 5b58f4efbf
cgen: fix pushing to an array of string pointers (fix #14156) 2022-04-25 19:07:29 +02:00
yuyi 47e7582af8
parser, checker, cgen: fix error for fn call using anon fn call argument (#14155) 2022-04-25 19:07:29 +02:00
Delyan Angelov b849651197
ci: bump test retries for go_anon_fn_variable_call_test.v to 3 2022-04-25 19:07:29 +02:00
fleur 2134fb3e3e
cgen: add callconv support for fns from ptr (#14151) 2022-04-25 19:07:29 +02:00
Haren S cde15abc0a
builder: improve macOS 10.5 and PPC support (#14152) 2022-04-25 19:07:29 +02:00
stackotter 745e75ab25
vfmt: fix array_init line wrapping (#14154) 2022-04-25 19:07:29 +02:00
yuyi 6690dfa208
checker, cgen: fix printing in 'for v in a' (#14146) 2022-04-25 19:07:28 +02:00
Alexander Medvednikov f3dff7c1c0
tmpl: minor fixes and optimizations 2022-04-25 19:07:28 +02:00
Delyan Angelov 20ded157bf
ci: bump vtest retry to 6 for channel_select_test.v (fails sporadically in the windows-gcc job) 2022-04-25 19:07:28 +02:00
yuyi 0b7c3a6035
checker: simplify checking array.contains() argument (#14133) 2022-04-25 19:07:28 +02:00
yuyi 0a30a90924
parser: minor cleanup in stmt() (#14136) 2022-04-25 19:07:28 +02:00
yuyi e0963381ec
checker, cgen: fix generic empty interface to multi struct (#14132) 2022-04-25 19:07:27 +02:00
Alexander Medvednikov 2c59d47fc1
cgen: fix enum switch bug in translated code 2022-04-25 19:07:27 +02:00
tzSharing 08f45023e8
gg: fix gg.draw_rounded_rect_filled() graphical abnormalities (#14128) 2022-04-25 19:07:27 +02:00
Larpon a7e8ca70dc
os: add behavior info to `is_dir_empty` documentation (#14110) 2022-04-25 19:07:27 +02:00
yuyi 6eea50c955
fmt: remove extra parentheses (#14125) 2022-04-25 19:07:27 +02:00
Delyan Angelov 34961a23b4
ast: allow `a := match x { 101 { ... for {...} ... y }` 2022-04-25 19:07:26 +02:00
yuyi dc9068b4d3
cgen: fix error for if expr with nested match expr (#14122) 2022-04-25 19:07:26 +02:00
yuyi 052c8e0282
parser: fix generic anon fn decl with type only argument (#14124) 2022-04-25 19:07:26 +02:00
yuyi 0a12fd7212
checker: fix error for fn with array of aliases argument (#14123) 2022-04-25 19:07:26 +02:00
yuyi eca95dcedc
checker: check array builtin method's arguments (#14119) 2022-04-25 19:07:26 +02:00
yuyi 8824f5f103
checker: check map builtin method's arguments (#14120) 2022-04-25 19:07:26 +02:00
ChAoS_UnItY 73260c6fc0
checker, cgen: allow static (fixed) arrays in `in` operator (#14121) 2022-04-21 10:35:00 +02:00
Delyan Angelov 13e2d73339
bootstrap: remove -I ./thirdparty/stdatomic/nix from make files (#14111) 2022-04-21 10:34:58 +02:00
lemon 262ec40851
builtin: fix `-cc gcc -gc boehm` on linux and macos (#14115) 2022-04-21 10:34:34 +02:00
Nick Treleaven 47ae5a93d4
builtin: remove unnecessary casts for defunct small unsigned warning (#14108) 2022-04-21 10:34:34 +02:00
yuyi 1a76b50004
checker: minor cleanup in assign_stmt() (#14107) 2022-04-21 10:34:34 +02:00
Hunam 1e42538e22
os: small cleanup of function description (#14112) 2022-04-21 10:34:34 +02:00
mjh 43e810024c
datatypes: fix bst child access, when .root is 0 (#14080) 2022-04-21 10:34:34 +02:00
Larpon 1cb4fe5a0a
os: add info about overwritten content to `write_file` (#14109) 2022-04-21 10:34:34 +02:00
yuyi 5ec0820332
ast: minor cleanup of types.v (#14103) 2022-04-21 10:34:34 +02:00
yuyi 81a178ee8d
checker, cgen: use 'stmts.last()' instead of 'stmts[stmts.len - 1]' (#14105) 2022-04-21 10:34:34 +02:00
yuyi 9abf3a62c0
checker: fix error for fn with multi return (#14095) 2022-04-21 10:34:34 +02:00
yuyi f7dbbba7ae
checker: fix error for assign array of aliases (#14096) 2022-04-21 10:34:33 +02:00
Alexander Medvednikov fac15fb862
builtin: define C.abs() 2022-04-21 10:34:33 +02:00
yuyi 9c7da323f1
checker: check error for arguments of array.contains() (#14102) 2022-04-21 10:34:33 +02:00
playX 9c9b50933c
v.util: add math to builtin_module_names (temporary fix for C2V) (#14100) 2022-04-21 10:34:33 +02:00
playX 0065dba88a
checker: c2v fixes (#14091) 2022-04-21 10:34:33 +02:00
Delyan Angelov f3ce968124
sync: use #insert for atomic.h, so that bootstrapping can be simplified 2022-04-21 10:34:33 +02:00
Delyan Angelov b03aa06152
checker, cgen: add support for #insert, to simplify bootstrapping V 2022-04-21 10:34:33 +02:00
JalonSolov 43efdd464e
checker: fix error message when number of generic parameters is incorrect (#14090) 2022-04-21 10:34:33 +02:00
yuyi 168531d4e0
examples: fix optional in string interpolation and format error (#14079) 2022-04-19 12:42:44 +02:00
yuyi 1660be910d
token: minor cleanup of token.v (#14083) 2022-04-19 12:42:44 +02:00
yuyi 33005becf1
checker: check fn return type mismatch (#14081) 2022-04-19 12:42:44 +02:00
Nick Treleaven f291e5fdd8
checker: Revert part of small_unsigned == signed (#13967) (#14075)
`gcc -W` doesn't error for e.g. u16 == i32, only for u32 == i16.
Any u16 value can fit in an i32.
2022-04-19 12:42:43 +02:00
yuyi 898167f986
checker: check error for fn decl with optional arguments (#14076) 2022-04-19 12:42:43 +02:00
yuyi 77593d6c68
cgen: minor cleanup of infix_expr.v (#14070) 2022-04-19 12:42:43 +02:00
yuyi 0d4d4ffc2d
ast, checker, cgen: fix aggregations type check (#14066) 2022-04-19 12:42:43 +02:00
spaceface 090a9755db
builtin: compile the gc statically by default (#14063) 2022-04-19 12:42:43 +02:00