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
|
db5e0f2117
|
v.gen.c: fix cgen regression after f457b94 (prevented vinix builds), add tests
|
2021-07-25 23:31:23 +03:00 |
yuyi
|
ab20b8c53a
|
cgen: fix generics interface with multi generic structs (#10950)
|
2021-07-25 15:54:22 +03:00 |
Delyan Angelov
|
45a15755b8
|
v.builder: implement -show-callgraph
|
2021-07-24 13:32:56 +03:00 |
Daniel Däschle
|
aebb028349
|
gen: fix C keyword escape to _v_ instead of just v_ (#10876)
|
2021-07-21 11:46:04 +03:00 |
Uwe Krüger
|
f457b94fe4
|
cgen: properly support reference args in receivers and arithmetic op methods (#10873)
|
2021-07-20 15:08:32 +03:00 |
Uwe Krüger
|
de39bba7bd
|
v.gen.c: fix calling pointer receiver on function return result (#10866)
|
2021-07-20 08:30:07 +03:00 |
yuyi
|
8e99a018df
|
checker, cgen: fix generics interface method (#10858)
|
2021-07-19 13:29:46 +03:00 |
yuyi
|
ddaac5af92
|
checker: fix generics with multi generic struct types (#10808)
|
2021-07-15 17:39:55 +03:00 |
spaceface
|
6e942bf4c2
|
v: initial support for generic interfaces and sumtypes (#10795)
|
2021-07-15 08:29:13 +03:00 |
yuyi
|
7687b28d8d
|
cgen: remove Gen.write_expr_to_string() (#10804)
|
2021-07-15 08:15:28 +03:00 |
yuyi
|
fe1cf2ea26
|
cgen: fix error of the map literals method call (#10791)
|
2021-07-14 22:03:47 +03:00 |
yuyi
|
310bb1a8a6
|
cgen: fix generics with variadic generic args (#10700)
|
2021-07-09 12:09:30 +03:00 |
crthpl
|
d14de5fdaf
|
all: fix generic functions with pointer args (#10686)
|
2021-07-07 11:51:05 +03:00 |
Delyan Angelov
|
6dde9f76c6
|
cgen: reset g.tmp_count at the start of each fn (minimise v.c commit delta)
|
2021-07-06 14:50:30 +03:00 |
Lukas Neubert
|
9e61321d4c
|
cgen: fix VUNREACHABLE inside ternary (#10672)
|
2021-07-05 18:26:01 +03:00 |
Delyan Angelov
|
972542d6ee
|
checker: `[noreturn]` part 2 (cleanup) (#10667)
|
2021-07-05 05:05:37 +03:00 |
Delyan Angelov
|
6aecda3be8
|
all: support `[noreturn] fn abc() { for{} }`, mark panic/1 and exit/1with it too. (#10654)
|
2021-07-04 20:24:19 +03:00 |
shadowninja55
|
f45f30a9c2
|
checker, cgen: fix aliased array methods (#10603)
|
2021-06-29 12:14:37 +03:00 |
Uwe Krüger
|
8f2f377cb1
|
v.checker,v.gen.c: extend auto heap mechanism to objects used as interfaces (#10529)
|
2021-06-21 07:10:10 +03:00 |
Uwe Krüger
|
f32a76b268
|
all: promote value type function arguments to heap if necessary (#10528)
|
2021-06-20 18:40:24 +03:00 |
Enzo
|
44d0305ca9
|
checker,gen: remove automatic string to C string conversion (#10144)
|
2021-06-20 09:30:08 +03:00 |
Enzo
|
05f0f3e180
|
v.gen.c: refactor infix expression (#10485)
|
2021-06-18 14:27:52 +03:00 |
yuyi
|
a98d644637
|
cgen: fix fn mut args of array (#10493)
|
2021-06-18 02:51:55 +03:00 |
yuyi
|
c3b9336f21
|
cgen: fix generic method receiver typeof name error (#10469)
|
2021-06-16 04:03:50 +03:00 |
Uwe Krüger
|
f3408a2484
|
gc: use optimized mode by default (#10466)
|
2021-06-15 15:43:00 +03:00 |
crthpl
|
6576d876fc
|
cgen: support a `[_naked]` fn attribute (#10418)
|
2021-06-11 11:03:39 +03:00 |
Uwe Krüger
|
0e2c86310a
|
GC-boehm: extend optimized mode to all `array` methods (#10406)
|
2021-06-10 21:26:17 +03:00 |
Uwe Krüger
|
811a3e1d38
|
builtin: optimize `array.repeat()` (#10396)
|
2021-06-09 12:52:30 +03:00 |
Uwe Krüger
|
a2243054a5
|
builtin: fix memory corruption in array `.clone()` and `.repeat()` (#10394)
|
2021-06-08 23:23:28 +03:00 |
yuyi
|
cb19079d53
|
all: move cur_concrete_types to Table (#10269)
|
2021-05-31 17:14:45 +03:00 |
Louis Schmieder
|
38796521fa
|
all: allow defer use from other scope (#10284)
|
2021-05-31 14:43:44 +03:00 |
Delyan Angelov
|
eac1e25c5d
|
strings: simplify Builder (#10263)
|
2021-05-31 14:21:06 +03:00 |
Joe Conigliaro
|
5e26273529
|
cgen: use __new_array instead of __new_array_with_default for empty vargs
|
2021-05-26 15:48:48 +10:00 |
Enzo
|
906b207e58
|
checker: deprecate using V strings in C function calls (#10140)
|
2021-05-20 09:17:44 +03:00 |
spaceface
|
9ddf1ec327
|
cgen: fix accessing fields in propagated optional subexpressions (#10136)
|
2021-05-19 21:28:17 +03:00 |
crthpl
|
8361f714dd
|
cgen: fix deadlock when returning/breaking in `lock` (#10079)
|
2021-05-12 11:44:47 +03:00 |
Alexander Medvednikov
|
dc034d9b16
|
vweb: make thread safe; checker: `$if T is Interface {`
|
2021-05-11 09:30:18 +03:00 |
El Koulali András
|
3e5a5754f3
|
cgen: fix constants with multi-statement C initializations (#10058)
|
2021-05-09 03:25:44 +03:00 |
yuyi
|
3dfbd2351b
|
checker,cgen: fix generics with generic_fn type parameter (#10022)
|
2021-05-08 14:06:56 +03:00 |
spaceface
|
ef63491a8c
|
cgen: fix calling function-pointer fields on interfaces (#9948)
|
2021-05-01 16:45:53 +03:00 |
yuyi
|
3877522ee3
|
table,checker,cgen: fix generics with recursive generics struct (#9862)
|
2021-04-26 20:05:10 +03:00 |
Uwe Krüger
|
3c0a368af3
|
all: automatically move (some) referenced objects to heap (#9873)
|
2021-04-25 21:40:38 +03:00 |
yuyi
|
8ccdae6188
|
all: cleanup generics call_expr (#9856)
|
2021-04-24 09:44:15 +03:00 |
Alexander Medvednikov
|
c7a6d28e13
|
all: improve unused variable warning (fix `x = 1`, `x += 1` etc)
|
2021-04-23 13:33:48 +03:00 |
yuyi
|
431d806dcf
|
ast, parser: cleanup of generic structs (#9839)
|
2021-04-22 18:21:01 +03:00 |
yuyi
|
d02822f456
|
ast.table: simplify resolve_generic_by_names/types() (#9834)
|
2021-04-21 12:22:42 +03:00 |
yuyi
|
466dc4540b
|
all: minor cleanup of generics (#9744)
|
2021-04-15 11:00:23 +03:00 |
yuyi
|
1250ce4353
|
cgen: fix generics with embed generics (fix #8694) (#9724)
|
2021-04-15 01:44:11 +02:00 |
Uwe Krüger
|
10bf974cda
|
all: gc: provide optimized mode (#9716)
|
2021-04-14 00:40:26 +02:00 |
yuyi
|
a2a18ef92c
|
v: simplify handling of function generic parameters (#9673)
|
2021-04-11 09:02:57 +03:00 |
ka-weihe
|
5273214ec2
|
map: rename methods (#9657)
|
2021-04-10 04:00:29 +02:00 |
Delyan Angelov
|
820fe626e7
|
v.gen.c: reduce slightly the generated C lines with -skip-unused (3940 -> 3699 for hello_world.v)
|
2021-04-09 17:56:36 +03:00 |
Uwe Krüger
|
84fa1ae444
|
boehm-gc: support a `[keep_args_alive]` tag for C functions (#9641)
|
2021-04-09 13:13:49 +03:00 |
spaceface
|
4feb09fa5b
|
checker, cgen: add sumtype-like smartcasting capabilites to interfaces (#9256)
|
2021-04-09 11:00:05 +03:00 |
ka-weihe
|
bca9409192
|
map: wrap up delete fix (#9626)
|
2021-04-07 14:12:12 +02:00 |
Alexander Medvednikov
|
ff9837386a
|
Revert "map: wrap up delete fix (#9601)"
This reverts commit cbcc0d34b5 .
|
2021-04-07 03:40:43 +03:00 |
ka-weihe
|
cbcc0d34b5
|
map: wrap up delete fix (#9601)
|
2021-04-06 15:57:08 +02:00 |
ka-weihe
|
337e447cfb
|
map: fix delete (part 1) (#9579)
|
2021-04-04 01:11:47 +02:00 |
Alexander Medvednikov
|
7385f8e56b
|
all: a massive merge of ast and table modules
|
2021-04-02 01:57:09 +03:00 |
Delyan Angelov
|
f29ca6b8df
|
cgen: show the original malloc call on a detected leak
|
2021-03-25 20:45:39 +02:00 |
Delyan Angelov
|
8abfe2f5a2
|
cgen: -autofree fixes for []string{} having literals, comming from defailt string stuct field values
|
2021-03-23 18:54:37 +02:00 |
yuyi
|
246c09db96
|
checker: fix generics in big_struct (fix #9373) (#9383)
|
2021-03-20 17:29:13 +01:00 |
Miccah
|
7222ee476b
|
all: implement array .any and .all (#9347)
|
2021-03-18 15:24:16 +01:00 |
Enzo
|
4b6244c9c1
|
gen: fix generic variadic (#9333)
|
2021-03-17 00:18:43 +02:00 |
Delyan Angelov
|
69f1e7c9c3
|
v: fixes for `v -autofree -o v2 cmd/v`
|
2021-03-14 09:37:38 +02:00 |
spaceface
|
9ed9e7aff0
|
builtin: cleanup option names (part 1) (#9293)
|
2021-03-14 01:54:46 +01:00 |
spaceface
|
e9797c618a
|
all: implement error interfaces (#9291)
|
2021-03-13 18:13:50 +01:00 |
spaceface
|
f1469a8761
|
checker: allow accessing fields common to all sumtype members (#9201)
|
2021-03-09 19:16:18 +02:00 |
zakuro
|
00399b49ab
|
v.util: add util.tabs() (#9211)
|
2021-03-09 13:03:25 +02:00 |
joe-conigliaro
|
2d73411396
|
checker: define missing C fn args & check C & JS args (#8770)
|
2021-03-05 17:41:11 +03:00 |
yuyi
|
6d77594409
|
cgen: merge cc_type and cc_type2 (#9036)
|
2021-03-01 21:36:58 +01:00 |
Uwe Krüger
|
e937d6249c
|
cgen: fix various issues concerning optionals (#9021)
|
2021-02-28 23:21:03 +01:00 |
spaceface
|
d7252f4474
|
builtin: allow passing any argument type to `panic` (#9020)
|
2021-02-28 22:57:18 +01:00 |
spaceface
|
b9a381f101
|
all: migrate to the new Option (p. 1) (#8924)
|
2021-02-28 22:24:29 +03:00 |
Alexander Medvednikov
|
be4a2e17d3
|
cgen: always use tmp vars in return_statement()
|
2021-02-27 20:00:19 +03:00 |
Alexander Medvednikov
|
d39866d4f7
|
cgen: optionals/autofree fixes
|
2021-02-27 17:11:30 +03:00 |
Emily Hudson
|
79edff5c6c
|
gen: correct indirection difference between reciever and object (#8903)
|
2021-02-22 20:41:25 +02:00 |
Uwe Krüger
|
5306b2788c
|
all: extend `wait()` method to array of `thread` handles (#8840)
|
2021-02-22 15:08:52 +02:00 |
Nick Treleaven
|
59446d7051
|
cgen: use `(void)` parameter list instead of `()` for type safety (#8898)
|
2021-02-22 14:48:32 +02:00 |
zakuro
|
f54c1a5cc2
|
all: add strings.Builder.write_string and use write_string instead of write (#8892)
|
2021-02-22 13:18:11 +02:00 |
Uwe Krüger
|
0520b755f4
|
checker/cgen: support `print*()`, `.str()` and '$x' for `shared` (#8771)
|
2021-02-16 12:40:13 +01:00 |
spaceface
|
fe007f9b16
|
gen: fix type_name for sumtype/interface pointers (#8769)
|
2021-02-15 17:35:31 +02:00 |
spaceface
|
e3649ec4d3
|
all: implement `type_name()` for interfaces too (#8767)
|
2021-02-15 15:29:44 +02:00 |
Delyan Angelov
|
eaaac220be
|
checker: make -skip-unused more conservative to make `v test vlib/builtin` pass
|
2021-02-13 15:47:17 +02:00 |
Delyan Angelov
|
0b60510c9c
|
cgen: cleanup generating helper comments with -skip-unused
|
2021-02-13 10:31:48 +02:00 |
yuyi
|
3164e29651
|
all: fix fn_or_for_in mut value (part 1) (#8671)
|
2021-02-12 02:03:11 +02:00 |
Nick Treleaven
|
84a16d8684
|
map: add `move` method (#8660)
|
2021-02-12 02:02:33 +02:00 |
Alexander Medvednikov
|
035a163454
|
json: encode_pretty (p. 2) + tests
|
2021-02-10 10:17:29 +01:00 |
Alexander Medvednikov
|
f67e4ab57c
|
json: encode_pretty (p. 1)
|
2021-02-10 10:13:06 +01:00 |
Lukas Neubert
|
7f4c582f1a
|
fmt: unwrap long infix exprs inside parenthesis if necessary (#8609)
|
2021-02-07 23:10:39 +01:00 |
Delyan Angelov
|
d77bb2f606
|
all: improve -skip-unused, track consts, walk all AST nodes, support tests
|
2021-02-07 02:51:45 +02:00 |
zakuro
|
fe9d062b41
|
gen: fix bug where unreached defer is executed (#8594)
|
2021-02-06 18:40:39 +02:00 |
Delyan Angelov
|
167773dd1c
|
checker: make -skip-unused process a list of root functions, not just main.main
|
2021-02-06 09:41:24 +02:00 |
Delyan Angelov
|
8f160ee3ed
|
ci: run vfmt over vlib/v/gen/c/fn.v
|
2021-02-05 11:18:29 +02:00 |
Delyan Angelov
|
40fff7b56a
|
v.pref: support `v -skip-unused run examples/hello_world.v`
|
2021-02-05 11:12:28 +02:00 |
Delyan Angelov
|
80697ec7f3
|
table: .is_used => .usages (a counter, instead of a boolean flag)
|
2021-02-05 10:03:17 +02:00 |
Alexander Medvednikov
|
5a183d23a9
|
cgen: disable the new [if xxx] logic for now
|
2021-02-05 08:16:16 +01:00 |
Alexander Medvednikov
|
1084b43ffb
|
all: ast walker for marking unused fns
|
2021-02-05 08:05:35 +01:00 |
Swastik Baranwal
|
7ec116d588
|
all: only allow defining `==` and `<` and auto generate `!=`, `>`, `>=` and `<=` (#8520)
|
2021-02-03 15:18:38 +01:00 |
zakuro
|
4b99d6af95
|
cgen: fix bug with duplicate defer generation (#8503)
|
2021-02-03 11:40:21 +02:00 |
Uwe Krüger
|
df0520b43a
|
checker,cgen: make `shared` behave like `mut` inside `lock` - and like non-mut inside `rlock` (#8526)
|
2021-02-03 01:20:19 +02:00 |
joe-conigliaro
|
ffedbe4b81
|
cgen: move cgen from v.gen to v.gen.c (#8515)
|
2021-02-02 15:41:51 +01:00 |