yuyi
|
67ab5b858b
|
checker: fix checking fn prototype mismatch (#11369)
|
2021-09-03 12:26:46 +03:00 |
yuyi
|
939a6417ce
|
cgen: fix reserved keywords as struct field (#11370)
|
2021-09-03 12:18:45 +03:00 |
playX
|
08c517c966
|
strconv,v.gen.js: proper optionals returns, strconv compiles to the JS backend (#11364)
|
2021-09-03 12:16:07 +03:00 |
Enzo
|
d1974f500f
|
cgen: cleanup `Gen.cc_type` (#11357)
|
2021-08-31 23:55:37 +03:00 |
Delyan Angelov
|
a208138283
|
v.markused: support a const used as default value in struct init
|
2021-08-31 15:55:32 +03:00 |
Delyan Angelov
|
f68bdb7805
|
v.markused.walker: support `for x in struct{}` iterators
|
2021-08-31 15:15:05 +03:00 |
Delyan Angelov
|
37b4553f52
|
v.parser: fix running `math` programs, from V installed in folders containing `.v`
|
2021-08-31 09:16:12 +03:00 |
zakuro
|
ebed01c946
|
v.tests: add a test_ fn, that returns an optional (#11340)
|
2021-08-31 08:50:26 +03:00 |
Alexander Medvednikov
|
b72a2de931
|
0.2.4
|
2021-08-30 22:25:14 +03:00 |
playX
|
a9b705bfd8
|
js: fix printing, make builtins for result and option types behave correctly (#11336)
|
2021-08-30 20:47:18 +03:00 |
Delyan Angelov
|
f33f216698
|
v.markused: fix compilation with `-prod -skip-unused` of programs that embed files
|
2021-08-30 17:57:33 +03:00 |
Delyan Angelov
|
9496fcdfe1
|
v.builder: fix compilation with tcc on FreeBSD 13.0
|
2021-08-30 13:21:49 +00:00 |
yuyi
|
f44eb88a8d
|
vfmt: fmt '!(a in/is b)' to 'a !in/is b' (#11335)
|
2021-08-30 09:45:36 +03:00 |
playX
|
61ac7b671d
|
js: add initial support for optional types, IfGuardExpr codegen for `if` (#11332)
|
2021-08-29 14:27:17 +03:00 |
yuyi
|
985fe85de2
|
checker: show concretes type name in error message (#11333)
|
2021-08-29 12:08:57 +03:00 |
Daniel Däschle
|
ac442abc11
|
checker: allow noreturn in match expr (#11126)
|
2021-08-29 11:57:11 +03:00 |
yuyi
|
4ce9ad6a56
|
util/module: fix mod_path_to_full_name() (#11329)
|
2021-08-29 11:56:05 +03:00 |
yuyi
|
8be2be8311
|
all: change 'if !(a in b)' to 'if a !in b' (#11330)
|
2021-08-29 11:55:18 +03:00 |
playX
|
118c5fdcd8
|
js: fix -stats compilation of tests, proper alias codegen (#11327)
|
2021-08-28 16:57:33 +03:00 |
Delyan Angelov
|
f41939f005
|
ci: fix deprecations.out (time is now > 2021/08/28 00:00:00)
|
2021-08-28 13:02:59 +03:00 |
Alexander Medvednikov
|
cf4081e2dd
|
all: more chdir/chmod fixes
|
2021-08-28 12:52:48 +03:00 |
yuyi
|
e90a624738
|
checker: fix generic fn infer variadic parameter with arrays (#11324)
|
2021-08-28 10:32:51 +03:00 |
Alexander Medvednikov
|
853d3cb83e
|
os: make chmod() return error
|
2021-08-28 09:37:24 +03:00 |
Alexander Medvednikov
|
858ba25d55
|
os: make chdir() return error
|
2021-08-28 09:35:39 +03:00 |
William Gooch
|
4d5521bbf7
|
scanner: clarify the float literal warning (#11313)
|
2021-08-27 16:49:29 +03:00 |
crthpl
|
a85467eb0f
|
cgen: fix `expr in shared_array` (#11319)
|
2021-08-27 11:48:32 +03:00 |
Delyan Angelov
|
16455a7660
|
fmt: preserve local fn parameter, when a module const with the same name is declared
|
2021-08-27 09:22:53 +03:00 |
playX
|
bdf11d969a
|
js: add basic support for running tests, fix string.replace_each (#11314)
|
2021-08-26 15:20:54 +03:00 |
yuyi
|
187c1c160b
|
parser: minor cleanup in comp_call() (#11311)
|
2021-08-26 07:57:10 +03:00 |
yuyi
|
b635ff80de
|
fmt: format '1.' to '1.0' (#11312)
|
2021-08-26 07:18:27 +03:00 |
Alexander Medvednikov
|
714fa3215c
|
scanner: make the 1. float error a warning for now
|
2021-08-25 16:58:54 +03:00 |
playX
|
109d5d5847
|
js: `os` now compiles to the JS backend, more builtins & minor codegen fixes (#11302)
|
2021-08-25 14:40:53 +03:00 |
yuyi
|
f257a23313
|
checker: check non-generic struct init (#11300)
|
2021-08-25 14:40:40 +03:00 |
yuyi
|
4d078edb72
|
scanner: no longer allow `1.` float literals (#11301)
|
2021-08-25 14:39:37 +03:00 |
yuyi
|
96398efd2b
|
checker: check array insert/prepend arguments (#11295)
|
2021-08-24 20:28:05 +03:00 |
pancake
|
3c85a03b8a
|
v.gen.native: initial support for the asm statement in the native backend (#11292)
|
2021-08-24 15:30:41 +03:00 |
pancake
|
57b148032f
|
v.gen.native: initial support for cast statements (#11291)
|
2021-08-24 15:26:49 +03:00 |
Lukas Neubert
|
3249f8f0e7
|
cgen: properly cast to sumtypes in array prepend and insert (#11289)
|
2021-08-24 06:25:09 +03:00 |
Alexander Medvednikov
|
4824b409b1
|
builder: simplify the C error message
|
2021-08-24 06:24:35 +03:00 |
playX
|
d78e7e3b2b
|
js: codegen fixes, W.I.P `os` availability for JS backend (#11281)
|
2021-08-23 14:25:02 +03:00 |
playX
|
dd486bb0fb
|
js: match support (#11269)
|
2021-08-22 19:36:49 +03:00 |
yuyi
|
b80777df4b
|
table: fix alias of sumtype method_call (#11268)
|
2021-08-22 17:20:10 +03:00 |
Delyan Angelov
|
ec196cfcd1
|
all: support overriding individual function from .v files in .c.v or .js.v files.
|
2021-08-22 15:51:26 +03:00 |
yuyi
|
2e28c9a4d6
|
checker: remove a duplicate check (#11265)
|
2021-08-22 12:09:14 +03:00 |
playX
|
2f6b2dd189
|
js: math.big support, f{32,64}_bits,from_bits support, typeof(expr).name support (#11260)
|
2021-08-21 17:18:57 +03:00 |
yuyi
|
0d81d0c0c6
|
table, checker: fix sumtype array appending aggregate type values (fix #11197) (#11258)
|
2021-08-21 17:18:01 +03:00 |
pancake
|
02d823fa6e
|
v.gen.native: support infinite loops `for {}` in amd64 and arm64 (#11254)
|
2021-08-20 14:23:15 +03:00 |
pancake
|
82b16453e4
|
v.gen.native: improve error messages for unsupported features (#11253)
|
2021-08-20 14:21:05 +03:00 |
yuyi
|
e87cf8bac6
|
checker: cleanup checker.v (#11251)
|
2021-08-20 10:25:16 +03:00 |
yuyi
|
6201e78201
|
checker: fix generic struct with non-generic interface in generic fn (#11252)
|
2021-08-20 09:28:26 +03:00 |
playX
|
1570e613b5
|
math: inf,nan,fmod for the JS backend (#11246)
|
2021-08-20 01:14:49 +03:00 |
yuyi
|
a440b43630
|
checker, cgen: fix generic struct with non_generic interface (#11240)
|
2021-08-20 01:13:48 +03:00 |
spaceface
|
67e8031a08
|
cgen: fix interface parameters in fn type aliases (#11247)
|
2021-08-20 01:12:31 +03:00 |
Leo Developer
|
7bffabbce2
|
vdoc: add `-comments` and new comment merger (#11221)
|
2021-08-19 10:20:43 +03:00 |
yuyi
|
3d22dc1608
|
all: fix formating Foo<A,B> to Foo<A, B> (#11225)
|
2021-08-18 17:17:21 +03:00 |
div72
|
881510e7ce
|
cgen: fix enum print (#11218)
|
2021-08-18 17:11:12 +03:00 |
spaceface
|
d2ce1f74d6
|
ast.table: fix aggregate field type equality check (#11210)
|
2021-08-18 14:09:54 +03:00 |
yuyi
|
e07678d6f3
|
checker: check using redundant parentheses (#11228)
|
2021-08-18 13:49:50 +03:00 |
spaceface
|
09e854c064
|
cgen: small interface conversion fix (#11229)
|
2021-08-18 13:47:57 +03:00 |
Delyan Angelov
|
9ca99c6f93
|
v.builder: add `-Wl,--allow-multiple-definition` when targeting FreeBSD
|
2021-08-18 12:57:44 +03:00 |
playX
|
0121c8b4fd
|
v.gen.js: fix method calls and other codegen parts, rand module compiles (#11205)
|
2021-08-18 11:33:37 +03:00 |
yuyi
|
c51f83efba
|
checker: fix match expr type mismatch (#11220)
|
2021-08-18 08:52:01 +03:00 |
spaceface
|
7d9969ac17
|
all: support runtime interface conversions (#11212)
|
2021-08-17 21:00:27 +03:00 |
spaceface
|
7c9a1defa4
|
fmt: preserve method receiver mutability in interface decls (#11222)
|
2021-08-17 19:39:53 +03:00 |
yuyi
|
e1c762a616
|
cgen: fix assert fn_call with parentheses (fix #11207) (#11214)
|
2021-08-17 18:21:15 +03:00 |
yuyi
|
8521e227b4
|
cgen: fix if expr of multi stmts (#11208)
|
2021-08-16 21:48:58 +03:00 |
Delyan Angelov
|
405ed584a1
|
v.vmod: return errors instead of panic-ing
|
2021-08-16 16:54:41 +03:00 |
Louis Schmieder
|
482eecbc13
|
cgen: fix comptime selector reserved field names (#11199)
|
2021-08-16 14:58:23 +03:00 |
yuyi
|
90b052b1db
|
v.gen.c: fix error of if_expr in infix_expr (#11200)
|
2021-08-16 11:23:19 +03:00 |
Lukas Neubert
|
1c847e04c8
|
fmt: fix malformed import for incorrect module lookup paths (#11192)
|
2021-08-16 05:15:32 +03:00 |
playX
|
659f823c5c
|
js: initial work on porting rand module to JS backend (#11188)
|
2021-08-15 18:09:51 +03:00 |
Delyan Angelov
|
0be20f1556
|
v.pref: keep the -error-limit option for now too
|
2021-08-15 13:46:50 +03:00 |
Leo Developer
|
b3094b0667
|
checker: abort prematurely on too many errors (#11185)
|
2021-08-15 13:41:51 +03:00 |
Delyan Angelov
|
6843b85063
|
ci: fix `clang -std=c99 -D_DEFAULT_SOURCE -o v vc/v.c` warnings
|
2021-08-15 11:12:48 +03:00 |
Delyan Angelov
|
eef7eea7bc
|
v.pref, v.builder: support `-no-std` (skips passing `-std=c99` to the C backend)
|
2021-08-15 11:05:06 +03:00 |
Delyan Angelov
|
f7cbcc241a
|
v.pref, v.builder: support `-no-rsp` (pass C options directly to the C compiler backend, without writing response files)
|
2021-08-15 10:47:44 +03:00 |
Delyan Angelov
|
f67e5d12e5
|
v.gen.c: fix v_typeof_interface_idx codegen (add `static `)
|
2021-08-15 09:15:33 +03:00 |
Delyan Angelov
|
3ffa6c1664
|
v.pref: fix `./v -usecache -cg run examples/hello_world.v`
|
2021-08-15 08:35:41 +03:00 |
yuyi
|
d3cf53ec41
|
cgen: fix a bug with autofree in if expr (#11182)
|
2021-08-15 07:55:27 +03:00 |
Delyan Angelov
|
d540b3f1a8
|
v.util: improve formatted_error by adding cached_file2sourcelines, so .split_into_lines is called just once (important for long source files with many errors)
|
2021-08-14 23:01:30 +03:00 |
Leo Developer
|
f6d7170e77
|
checker: changes related to warn/error limit (#11184)
|
2021-08-14 22:14:13 +03:00 |
Delyan Angelov
|
1743ad05c0
|
v.util: add a small cache for util.read_file, so reading individual source files is done just once
|
2021-08-14 21:59:28 +03:00 |
Leo Developer
|
8a8a0932f7
|
all: add limit to accumulated errors / warnings (#11183)
|
2021-08-14 19:49:21 +03:00 |
Delyan Angelov
|
deb26b92b9
|
cgen: support `typeof(x).idx`, as well as `iface.type_idx()` (#11178)
|
2021-08-14 17:22:25 +03:00 |
Delyan Angelov
|
900c37aa65
|
v.gen.c: support `T.typ` - an int for the type index of the generic type `T` (#11175)
|
2021-08-14 08:48:25 +03:00 |
playX
|
b72d1e5e86
|
v.gen.js: implement `u64` and `i64` with BigInt (#11174)
|
2021-08-13 21:24:10 +03:00 |
Delyan Angelov
|
34d39ccb64
|
builtin: fix leak in rune.str(), fix leaks in most assert x == y statements in tests (#11091)
|
2021-08-13 18:37:34 +03:00 |
playX
|
aa14fd1b05
|
v.gen.js: support operator overloading (#11171)
|
2021-08-13 10:06:59 +03:00 |
yuyi
|
083a90148d
|
tests: supplement multi-instances generic testing (#11170)
|
2021-08-13 08:38:20 +03:00 |
yuyi
|
579aa7b1b5
|
v.checker: fix multi insts of generics fn with generic struct (#11161)
|
2021-08-12 22:58:02 +03:00 |
Delyan Angelov
|
47884dfd1f
|
builtin: move C. calls to .c.v files (#11164)
|
2021-08-12 21:46:38 +03:00 |
Daniel Däschle
|
6dbc6f233b
|
v.parser: add checks for interoperability (C. or JS.) function declarations (#11140)
|
2021-08-12 10:47:24 +03:00 |
yuyi
|
89a8854e57
|
v.parser: fix generics type name in if_expr (#11156)
|
2021-08-12 10:19:06 +03:00 |
yuyi
|
90adf4d092
|
v.checker: fix multi insts of generics struct with array (#11142)
|
2021-08-11 16:59:13 +03:00 |
Delyan Angelov
|
a64a4d932c
|
v.checker: turn `interface field ... must be initialized` to a notice temporarily
|
2021-08-11 16:39:41 +03:00 |
Enzo
|
9d4d0a9894
|
v.gen.c: generate the closure helper for the choosen target platform, not the current one (#11134)
|
2021-08-11 14:09:40 +03:00 |
wilesun
|
18be9e52be
|
log: avoid using string__plus memory leak (#11128)
|
2021-08-11 09:26:02 +03:00 |
playX
|
70124d2d23
|
js: time module: implement utc,now,local (#11138)
|
2021-08-11 09:22:53 +03:00 |
Enzo
|
da53f818df
|
all: initial support for closures (x64 / linux-only) (#11114)
|
2021-08-10 21:27:15 +03:00 |
pancake
|
2cfb8fd697
|
native: document arm64 registers with comments (#11122)
|
2021-08-10 21:15:32 +03:00 |
yuyi
|
aceaaa681d
|
ast: fix formatting fn variadic of reference param (#11130)
|
2021-08-10 21:14:37 +03:00 |
Daniel Däschle
|
2ae77c1998
|
v.scanner: fix escaped backslash after string interpolation (#11118)
|
2021-08-10 17:04:42 +03:00 |
yuyi
|
11794039e2
|
v.gen.c: fix fn variadic of reference param (#11115)
|
2021-08-10 10:36:11 +03:00 |
pancake
|
e7b8cf17e5
|
v.gen.native: add support for assert statements for amd64 (#11117)
|
2021-08-10 10:29:44 +03:00 |
Enzo
|
506c30a291
|
builtin: remove methods that can be autogenerated (#11109)
|
2021-08-09 15:42:31 +03:00 |
Enzo
|
1a555ab898
|
v.gen.c: fix generation for `string.index` (#11106)
|
2021-08-09 07:39:15 +03:00 |
Daniel Däschle
|
a64b191ce5
|
checker: forbid multiple pointer yields (#11105)
|
2021-08-09 02:11:53 +03:00 |
yuyi
|
eed8c4671f
|
cgen: fix fn mut arg of array (#11104)
|
2021-08-09 01:49:30 +03:00 |
playX
|
7a67a08d2f
|
js: implement codegen for array.sort and implement .any,.all (#11100)
|
2021-08-09 01:46:40 +03:00 |
yuyi
|
1f3f7705a2
|
cgen: fix struct_init with fixed array field (#11099)
|
2021-08-08 10:54:52 +03:00 |
Alexander Medvednikov
|
03ed32f805
|
ast: bring back Table.free() for now
|
2021-08-08 07:07:06 +03:00 |
Alexander Medvednikov
|
eaf8b63dd2
|
cgen: fix a c2v bug with variadics
|
2021-08-08 06:23:22 +03:00 |
Daniel Däschle
|
9af65d8830
|
checker: protect against assigning to a typeless variable (#11094)
|
2021-08-07 18:09:07 +03:00 |
yuyi
|
1d3786ff1e
|
v.parser: fix `if a == Abc{} {` (#11092)
|
2021-08-07 18:05:22 +03:00 |
playX
|
94c321c80d
|
v.gen.js: port fully the array test suite & add fixes (#11073)
|
2021-08-07 17:58:49 +03:00 |
Uwe Krüger
|
c560d58f1e
|
cgen: use heuristic to detect circular reference in auto str (#11090)
|
2021-08-07 14:56:09 +03:00 |
Caden Haustein
|
cf0767ad6c
|
v: add constant folding AST transformation (#11085)
|
2021-08-06 23:19:18 +03:00 |
yuyi
|
ec39e38e14
|
cgen: fix generic method on alias struct receiver (#11080)
|
2021-08-06 21:26:54 +03:00 |
Daniel Däschle
|
3b116d2455
|
cgen: support embedded struct fields on sumtype common fields (#11084)
|
2021-08-06 21:26:19 +03:00 |
Dialga
|
25d49bc615
|
orm: handle empty fields (#11083)
|
2021-08-06 21:25:38 +03:00 |
alula
|
e1cc1665dc
|
cgen: push function arguments in fn_args() (#11086)
|
2021-08-06 20:01:20 +03:00 |
Uwe Krüger
|
e89bed3e25
|
ci: temporarily deactivate test case for #11061 (fixes CI timeouts) (#11079)
|
2021-08-06 12:46:56 +03:00 |
zakuro
|
490dec222f
|
fmt: keep char literal, `'` (#11060)
|
2021-08-06 06:21:28 +03:00 |
Daniel Däschle
|
91ade5bf8c
|
cgen: fix shared field init (#11061)
|
2021-08-06 05:11:03 +03:00 |
Enzo
|
44bacfc931
|
cgen: fix optional generation order (#11070)
|
2021-08-06 03:57:34 +03:00 |
Enzo
|
7346aeca5f
|
cgen: refactor array sort generation (#11067)
|
2021-08-06 03:55:48 +03:00 |
Daniel Däschle
|
8d2567740b
|
parser: make [..] work (#11064)
|
2021-08-06 03:54:24 +03:00 |
yuyi
|
c30cda3daf
|
v.gen.c: fix error of `println(alias of struct)` (#11062)
|
2021-08-05 20:20:10 +03:00 |
yuyi
|
11784279ba
|
checker: check fn_call().sort() (fix #11040) (#11056)
|
2021-08-04 21:23:22 +03:00 |
Daniel Däschle
|
f59119485a
|
v.parser: add check for existing type on sum type declaration (#11054)
|
2021-08-04 18:14:16 +03:00 |
Delyan Angelov
|
f9c279d11d
|
v.checker: make calling a deprecated fn an error, 180 days (6 months) after its deprecation date (#10682)
|
2021-08-04 17:41:00 +03:00 |
Delyan Angelov
|
1bf6d04e37
|
ci: fix failing program_test.v due to deprecation warnings
|
2021-08-04 12:58:06 +03:00 |
yuyi
|
5162c257a2
|
v.parser: minor cleanup in parse_type.v (#11047)
|
2021-08-04 12:49:36 +03:00 |
playX
|
8743b616a0
|
v.gen.js: codegen fixes, add a few builtins, port more array tests (#11049)
|
2021-08-04 12:46:24 +03:00 |
Daniel Däschle
|
800c0e5092
|
vlib: remove deprecated map{} usages as well as deprecated functions (#11035)
|
2021-08-04 12:44:41 +03:00 |
yuyi
|
b870f7a6f1
|
cgen: fix array sort error (#11046)
|
2021-08-04 06:31:57 +03:00 |
yuyi
|
2eb11110d6
|
cgen: fix autofree error of array init with string variable (fix #10427) (#11041)
|
2021-08-04 03:39:20 +03:00 |
Daniel Däschle
|
815c4b7420
|
all: rename generic_struct_inst to generic_inst (#11044)
|
2021-08-04 03:37:27 +03:00 |
pancake
|
00d4c7082e
|
native: add support for print, eprint and eprintln (#11034)
|
2021-08-03 16:04:31 +03:00 |
Alexander Medvednikov
|
80976e640c
|
vweb: remove init_server() from all examples, tutorials, and tests
|
2021-08-03 16:03:16 +03:00 |
playX
|
0455632b1f
|
v.gen.js: fix prefix, postfix and assign codegen and add more array tests (#11031)
|
2021-08-03 14:59:46 +03:00 |
Delyan Angelov
|
0ebad47d2a
|
v doc: fix an infinite recursion in `v doc .` executed in /tmp. Add tests for v.doc.get_parent_mod/1 .
|
2021-08-03 13:36:58 +03:00 |
yuyi
|
fd58e9f819
|
cgen: fix auto str for map of reference struct (fix #11024) (#11028)
|
2021-08-03 08:03:00 +03:00 |
Louis Schmieder
|
a55ba08fad
|
orm: fix time (#11026)
|
2021-08-03 05:17:00 +03:00 |
Leo Developer
|
6dcf72fe9b
|
cgen: dont generate function if its flag is false (#11021)
|
2021-08-03 03:17:22 +03:00 |
Florian Blasius
|
69f31d8d5c
|
checker: check int literal to enum cast (fix #10125) (#10348)
|
2021-08-02 07:12:29 +03:00 |
pancake
|
dbf5c976a3
|
v.gen.native: support more `ifs` constructs for amd64 (#11007)
|
2021-08-01 20:19:02 +03:00 |
Miccah
|
cc9463401e
|
http: change server handler from function to interface (#10994)
|
2021-08-01 15:50:11 +03:00 |
playX
|
836ac54d12
|
v.gen.js: add more array tests and fixes (#11014)
|
2021-08-01 14:08:49 +03:00 |
playX
|
77e9ed417f
|
v.gen.js: fix segfault when anonymous function is declared with assertion (#11009)
|
2021-08-01 07:27:44 +03:00 |