Commit Graph

6131 Commits (870ed86afc4023d46ca2433285de20b4c2e5d088)

Author SHA1 Message Date
Delyan Angelov 0badffe651
tests: add `// vtest flaky: true` to atomic_test.v 2022-05-04 11:52:32 +02:00
yuyi f9c4cbdb15
checker: check argument mismatch of array.filter/all/any() (#14273) 2022-05-04 11:52:32 +02:00
yuyi df0133c89b
cgen: fix error for fixed array in operate (#14269) 2022-05-04 11:52:31 +02:00
Delyan Angelov eb9063bdb7
builtin: improve musl/Alpine support (define weak backtrace/backtrace_symbols/backtrace_symbols_fd symbols) (#14250) 2022-05-04 11:52:31 +02:00
Delyan Angelov e76e0a97e1
vdoc: fix panic on empty `//` comment on `v doc -f html file.v`; turn `expected code block after empty example` to a warning 2022-05-04 11:52:31 +02:00
spaceface bf10b27a33
checker: refactor comptime_if_branch (#14259) 2022-05-04 11:52:31 +02:00
yuyi 633e612d62
checker: fix a bug in generics array init (#14258) 2022-05-04 11:52:31 +02:00
yuyi 93d49176c7
parser: minor cleanup in interface_decl() (#14257) 2022-05-04 11:52:31 +02:00
yuyi 374b6927bc
checker: fix generic fn infering fn type argument (fix #14243) (#14256) 2022-05-04 11:52:31 +02:00
yuyi 21555fb03a
parser: fix inline array's element access (#14253) 2022-05-04 11:52:30 +02:00
playX 6468bcd0a6
cgen: fix const decl gen when translated (#14255) 2022-05-04 11:52:30 +02:00
Isaiah 9a1d73f622
builder: allow `-compress` to work on windows too, when `upx` is installed (#14252)
Allow `-compress` flag on Windows if upx is installed. If upx not installed, same behavior as on linux/mac
2022-05-04 11:52:30 +02:00
yuyi 8d1cc6a817
cgen: fix fixed array init with `it` (#14251) 2022-05-04 11:52:30 +02:00
spaceface bf86fff9cc
checker, gen: add support for a [minify] struct attribute (#14247) 2022-05-04 11:52:30 +02:00
Daniel Däschle d75469965e
cgen: fix unsafe return error (#14233) 2022-05-01 19:25:52 +02:00
playX 924e2e65fe
checker: allow pointer index for translated code (#14231) 2022-05-01 19:25:52 +02:00
Daniel Däschle 91a9137b36
all: rename result to _result (#14232)
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-30 16:26:28 +02:00
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
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
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
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
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
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
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 8b085a32a5
cgen: fix error for generic sumtype casting to typenode (#14188) 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
yuyi 8a75d68421
cgen: split up array_init() (#14178) 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
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
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
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
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
yuyi 1a76b50004
checker: minor cleanup in assign_stmt() (#14107) 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
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 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
yuyi f33bccc111
checker, cgen: minor cleanup of last expr stmt expression (#14057) 2022-04-17 16:52:49 +02:00
yuyi 5e98ea12c8
checker, cgen: fix error for if expr with generic sumtype (#14056)
ci/woodpecker/push/woodpecker Pipeline failed Details
2022-04-17 12:14:33 +02:00
Vincenzo Palazzo 9f9d24d616
checker: ensure that the variant SubType exists (#14053)
Signed-off-by: Vincenzo Palazzo <vincenzopalazzodev@gmail.com>
2022-04-17 12:14:33 +02:00
Delyan Angelov 53fde9c812
v.util: always compile vfmt with `-d vfmt` to enable more efficient parsing 2022-04-17 12:14:33 +02:00