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 |
Delyan Angelov
|
33e4dc3ad3
|
ci: fix coutput_test.v on windows by fixing `-o -` on windows
|
2021-08-01 00:27:06 +03:00 |
Uwe Krüger
|
6068777e03
|
parser/checker: deduce type of global from initialization expression (#11005)
|
2021-07-31 16:35:19 +03:00 |
Delyan Angelov
|
e374ffb590
|
checker: add an early checker error for `node.left_types.len != node.left.len` in assignments
|
2021-07-31 14:57:29 +03:00 |
Delyan Angelov
|
9082712e10
|
ci: skip coutput_test.v on windows temporarily
|
2021-07-31 14:17:33 +03:00 |
Delyan Angelov
|
1231e5df20
|
debug coutput_test.v on windows
|
2021-07-31 13:27:28 +03:00 |
Delyan Angelov
|
456a19f6d4
|
ci: fix coutput_test.v on windows
|
2021-07-31 13:16:33 +03:00 |
Delyan Angelov
|
08016ab374
|
v.gen.c: add vlib/v/gen/c/coutput_test.v, to ease testing of produced C output
|
2021-07-31 12:14:56 +03:00 |
Delyan Angelov
|
033b027361
|
v.gen.c: use `const type* const_x` for `const_x &type` fn args
|
2021-07-31 08:42:40 +03:00 |
Delyan Angelov
|
26b7712bbe
|
tests: add a regression test for the comptime evaluated consts, using a _constructor function
|
2021-07-30 20:33:08 +03:00 |
Louis Schmieder
|
0bb587c8c2
|
checker: fix defer ident handling & fix defer optional error message (#10975)
|
2021-07-30 20:29:06 +03:00 |
Uwe Krüger
|
a7c2aaf35b
|
cgen: initialize globals directly for simple cases (#11002)
|
2021-07-30 19:20:45 +03:00 |
Delyan Angelov
|
f67922782e
|
ci: fix tools using `import math`, for `const x = i64(-9223372036854775807-1)` fails
|
2021-07-30 17:56:46 +03:00 |
Delyan Angelov
|
06d1422a05
|
ast,checker,cgen: support simple `const x = u16(0x53)` without using _vinit()
|
2021-07-30 17:22:27 +03:00 |
playX
|
a7ca051016
|
v.gen.js: fix for array filter, add more tests and other fixes (#10999)
|
2021-07-30 11:17:11 +03:00 |
Delyan Angelov
|
c31397e17d
|
tests: fix `v test-self` running locally
|
2021-07-30 09:26:05 +03:00 |
Alexander Medvednikov
|
ec92964bb0
|
checker: make interface init check a warning for now
|
2021-07-30 03:32:02 +03:00 |
Delyan Angelov
|
7d5b6d2b48
|
fix running `v run file.v` in a current working folder containing a run/ subfolder
|
2021-07-30 03:28:54 +03:00 |
Louis Schmieder
|
7c504920e1
|
checker: fix negative values for unsigned integers (#10976)
|
2021-07-30 03:27:59 +03:00 |
Daniel Däschle
|
6fa8e4269e
|
checker: force interface init (#10910)
|
2021-07-30 03:18:20 +03:00 |
pancake
|
6337325676
|
v.gen.native: improve few x64 generators (#10996)
|
2021-07-30 01:26:49 +03:00 |
Uwe Krüger
|
44d8dcc418
|
ci,globals: hot fix for hanging test case (#10997)
|
2021-07-29 22:06:08 +03:00 |
Lukas Neubert
|
1e255d3ab1
|
fmt: cleanup redundant generic types code (#10990)
|
2021-07-29 15:21:10 +03:00 |
yuyi
|
57f30668e3
|
v.checker: fix `a.map(voidfn(it))` (#10985)
|
2021-07-29 11:43:56 +03:00 |
playX
|
75c41252d9
|
js: add more tests & add array prepend codegen (#10988)
|
2021-07-29 11:39:36 +03:00 |
Uwe Krüger
|
08aa6c08f6
|
all: more improvements for global variables (#10986)
|
2021-07-29 10:57:31 +03:00 |
Delyan Angelov
|
7547882c11
|
ci: fix failing fn_args.vv (use `zu8` as a temporary name of the unaliased `u8` type, since `uu8` is already used in fn_args.vv as a function name)
|
2021-07-29 10:14:55 +03:00 |
Delyan Angelov
|
7a9b326200
|
ci: fix -cstrict rebuilding of V with clang
|
2021-07-29 09:54:52 +03:00 |
Alexander Medvednikov
|
1343ec7444
|
builtin: fix temporary u8 alias
|
2021-07-29 06:42:22 +03:00 |
Alexander Medvednikov
|
0b9b80e0c9
|
cgen: register u8
|
2021-07-29 05:02:13 +03:00 |
Alexander Medvednikov
|
628498e0dc
|
table: register u8 type
|
2021-07-29 05:00:03 +03:00 |