Commit Graph

68 Commits (9ddf1ec327a1a4e9f69c62a471e89526a89a75fe)

Author SHA1 Message Date
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