yuyi
|
2d2e4610e7
|
cgen: make use of mut_rec in method consistent (#9308)
|
2021-03-15 12:22:52 +02:00 |
yuyi
|
945769a4f6
|
all: implement reference receiver optimization for big structs (#9268)
|
2021-03-14 18:11:21 +01:00 |
yuyi
|
c0779e8455
|
cgen: fix return_statement generated redundant `;` (#9299)
|
2021-03-14 14:58:17 +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 |
yuyi
|
5a6b321656
|
cgen: format if_guard_expr generated c codes (#9290)
|
2021-03-14 01:54:05 +01:00 |
spaceface
|
e9797c618a
|
all: implement error interfaces (#9291)
|
2021-03-13 18:13:50 +01:00 |
Alexander Medvednikov
|
f86233c41f
|
autofree: fix [manualfree]
|
2021-03-13 18:43:02 +03:00 |
spaceface
|
be409b52e9
|
builtin: prepare for error interfaces (#9043)
|
2021-03-12 20:05:05 +02:00 |
Delyan Angelov
|
c474106511
|
cgen: fix match expression with complex boolean conditions
|
2021-03-12 19:55:33 +02:00 |
StunxFS
|
8de6511056
|
cgen: minor optimization to `for ch in "StringLiteral"` (#9240)
|
2021-03-11 15:01:53 +02:00 |
spaceface
|
7d0cba5e96
|
v.ast: remove the `stmt.position()` method (#9233)
|
2021-03-11 14:50:02 +02:00 |
Delyan Angelov
|
6628bbc690
|
cgen: use the new __offsetof_ptr macro
|
2021-03-11 13:14:36 +02:00 |
zakuro
|
791dec7b01
|
v: support `$if prod` (#9228)
|
2021-03-10 19:26:34 +02:00 |
Swastik Baranwal
|
8d84206a8c
|
cgen: fix match for one branch (#9234)
|
2021-03-10 18:44:32 +02:00 |
spaceface
|
eefdad21c7
|
cgen: cleanup interface/sumtype casts (#9221)
|
2021-03-10 18:41:11 +02:00 |
spaceface
|
f1469a8761
|
checker: allow accessing fields common to all sumtype members (#9201)
|
2021-03-09 19:16:18 +02:00 |
yuyi
|
c4b0fdcbaf
|
cgen: fix for_in fixed_array of fixed_array literal (#9206)
|
2021-03-09 16:18:07 +02:00 |
zakuro
|
00399b49ab
|
v.util: add util.tabs() (#9211)
|
2021-03-09 13:03:25 +02:00 |
yuyi
|
568faeed77
|
cgen: add `expr_string() and remove redundant codes (#9188)
|
2021-03-08 12:46:39 +02:00 |
yuyi
|
82085b0140
|
cgen: fix for_in map of fixed_array (#9133)
|
2021-03-07 11:41:08 +02:00 |
Delyan Angelov
|
849cde245c
|
v: support dump(expr) (#9160)
|
2021-03-06 18:09:28 +01:00 |
yuyi
|
c802515e71
|
cgen: minor optimization in gen_code buffer init (#9143)
|
2021-03-06 12:03:38 +02:00 |
yuyi
|
cbbfb460a7
|
cgen: fix for_in fixed_array (#9129)
|
2021-03-05 15:35:09 +03:00 |
Delyan Angelov
|
0f042124cb
|
tests: support `fn test_fn() ? { opt()? }`
|
2021-03-05 14:18:21 +02:00 |
yuyi
|
f4c03e8ed8
|
cgen: minor optimization in for_in_array (#9127)
|
2021-03-05 07:58:09 +02:00 |
yuyi
|
6097045b46
|
cgen: minor cleanup of cgen.v (#9108)
|
2021-03-04 14:40:57 +02:00 |
yuyi
|
7c893895d8
|
cgen: minor cleanup in infix_expr() (#9086)
|
2021-03-04 12:50:18 +02:00 |
yuyi
|
5f9af3f594
|
cgen: fix for_in array of fixed_array (fix #9098) (#9099)
|
2021-03-04 12:39:39 +02:00 |
yuyi
|
822d20d2cc
|
cgen: minor simplification of struct zero init (#9085)
|
2021-03-03 16:03:50 +01:00 |
yuyi
|
6825b4cb30
|
cgen: format if_expr generated c codes (#9084)
|
2021-03-03 14:33:00 +02:00 |
yuyi
|
97f9abcf82
|
cgen: fix anon_fn in containers (#9077)
|
2021-03-03 10:12:08 +02:00 |
Uwe Krüger
|
dd475f4e37
|
checker/cgen: enable `IfGuardExpr` for `a[k]` and `<-ch` (#9065)
|
2021-03-03 10:10:38 +02:00 |
yuyi
|
62ccd740f0
|
cgen: minor perf fix in index_expr() (#9054)
|
2021-03-02 12:28:26 +01:00 |
yuyi
|
81dbd72412
|
cgen: fix anon_fn in containers (fix #8965) (#9049)
|
2021-03-02 10:26:27 +02:00 |
Joe Conigliaro
|
01735c67c6
|
cgen: fix duplicate method wrapper from interface method call. closes #9018
|
2021-03-02 19:15:49 +11:00 |
spaceface
|
2b53992c01
|
checker, cgen: allow implementing an interface with an embedded struct (#9042)
|
2021-03-01 21:47:00 +01:00 |
yuyi
|
65900e55e3
|
cgen: fix if_expr of multi-stmts optional (#9039)
|
2021-03-01 21:39:04 +01:00 |
yuyi
|
6d77594409
|
cgen: merge cc_type and cc_type2 (#9036)
|
2021-03-01 21:36:58 +01:00 |
yuyi
|
f9c8d3d25c
|
cgen: fix return if true { 0 } else { none } (fix #9005) (#9030)
|
2021-03-01 13:56:07 +01:00 |
spaceface
|
b712af56fd
|
all: bring back `panic(err.msg)` -> `panic(err)` (#9022)
|
2021-03-01 00:18:14 +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
|
d63b7bc35a
|
all: update repo to use the new error handling syntax (#8950)
|
2021-02-28 23:20:21 +03: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 |
Uwe Krüger
|
f67bff1696
|
all: support `thread` handles and `wait()` for functions returning optionals (#8990)
|
2021-02-27 10:16:55 +02:00 |
spaceface
|
51fae95339
|
cgen: move the condition of an iterator to a temp var (#8989)
|
2021-02-26 21:51:01 +01:00 |
Delyan Angelov
|
1a8ff9d7dd
|
v.gen.c: ensure that @continue is escaped in the generated C code
|
2021-02-26 10:22:35 +02:00 |
yuyi
|
c7587c0760
|
cgen: minor cleanup in for_in_stmt() (#8962)
|
2021-02-25 13:24:42 +01:00 |
yuyi
|
c762d150c6
|
cgen: fix anon_fn redefinition (#8961)
|
2021-02-25 12:16:35 +01:00 |
yuyi
|
3c94a79375
|
cgen: minor cleanup in gen_assert_xxx() (#8943)
|
2021-02-24 19:35:11 +01:00 |
yuyi
|
1dd1be4400
|
cgen: fix if_expr with array.map (fix #8925) (#8937)
|
2021-02-24 15:06:29 +02:00 |
yuyi
|
05a08530ff
|
cgen: implement for_stmt of multi_init_vars or multi_assign_vars (#8917)
|
2021-02-24 14:58:45 +02:00 |
yuyi
|
302baaa7b4
|
cgen: fix error of match in fn_call (#8900)
|
2021-02-23 09:53:07 +02:00 |
Uwe Krüger
|
5674d46965
|
table,cgen: fix bug preventing `t := []thread{}` to compile (#8913)
|
2021-02-23 09:37:29 +02:00 |
spaceface
|
8033203ef6
|
builtin: add an Option2 struct (#8890)
|
2021-02-22 18:44:15 +02:00 |
Delyan Angelov
|
7c97b0b24d
|
gitly: fix compilation with -autofree
|
2021-02-22 17:00:48 +02:00 |
Uwe Krüger
|
5306b2788c
|
all: extend `wait()` method to array of `thread` handles (#8840)
|
2021-02-22 15:08:52 +02:00 |
spaceface
|
1658c4789f
|
cgen: fix `match`ing interface types (#8889)
|
2021-02-22 14:55:43 +02:00 |
Nick Treleaven
|
15daeaeafa
|
cgen: add fixed array bounds checking for non-literal index (#8832)
|
2021-02-22 14:54:24 +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 |
Joe Conigliaro
|
0470baafa6
|
cgen: fix duplicate optional generation for struct field
|
2021-02-22 00:00:39 +11:00 |
yuyi
|
6e46f3850c
|
ast: change `expr.is_mut_ident()` to `expr.is_auto_deref_var()` (#8869)
|
2021-02-21 12:15:36 +02:00 |
yuyi
|
e106dc3ad5
|
cgen: fix match_return with complex expr stmts (#8876)
|
2021-02-21 11:47:46 +02:00 |
Delyan Angelov
|
5a333b0fdc
|
gen,parser: allow enums as map keys
|
2021-02-20 19:39:25 +02:00 |
yuyi
|
e8abda189a
|
cgen: minor optimization in match_expr() (#8848)
|
2021-02-20 15:51:40 +02:00 |
yuyi
|
a119affeba
|
cgen: check unknown sizeof type (#8815)
|
2021-02-18 09:38:57 +02:00 |
Delyan Angelov
|
2002d20249
|
io: remove unused Zzz_CoerceInterfaceTableGeneration struct; add test for `x := Enum{}`
|
2021-02-17 01:37:05 +02:00 |
Delyan Angelov
|
995e1c84a2
|
ci: fix `./v -cc gcc -cflags "-Werror" vlib/io/os_file_reader_test.v`
|
2021-02-17 01:08:28 +02:00 |
Delyan Angelov
|
fb09333a73
|
ci: fix interface table generation for vlib/io/os_file_reader_test.v with -cflags "-Werror"
|
2021-02-16 23:36:44 +02:00 |
Delyan Angelov
|
843de10442
|
parser,gen: fix `arr << map[key] using map_get_and_set_1, leading to double free
|
2021-02-16 16:39:31 +02:00 |
yuyi
|
982e35909d
|
cgen: fix `mut` var in `for` loop reads as address (fix #8548) (#8745)
|
2021-02-16 13:24:19 +01:00 |
yuyi
|
a9c2045dbd
|
cgen: fix var name clash of array/map (fix #1994) (#8765)
|
2021-02-15 15:51:57 +02:00 |
spaceface
|
e3649ec4d3
|
all: implement `type_name()` for interfaces too (#8767)
|
2021-02-15 15:29:44 +02:00 |
Delyan Angelov
|
0b60510c9c
|
cgen: cleanup generating helper comments with -skip-unused
|
2021-02-13 10:31:48 +02:00 |
yuyi
|
67c6f24c84
|
cgen: format match_expr (#8692)
|
2021-02-12 03:37:31 +01:00 |
yuyi
|
3164e29651
|
all: fix fn_or_for_in mut value (part 1) (#8671)
|
2021-02-12 02:03:11 +02:00 |
zakuro
|
f371803a32
|
cgen: move comp_if_to_ifdef to comptime.v (#8668)
|
2021-02-11 01:22:49 +01:00 |
yuyi
|
95c3ef3a6a
|
cgen: minor cleanup in stmt() (#8659)
|
2021-02-09 23:00:43 +01:00 |
Uwe Krüger
|
f3c5f24c17
|
allow `lock` expression to return multiple objects (#8657)
|
2021-02-09 17:09:10 +02:00 |
Delyan Angelov
|
5308b63a01
|
ci: fix the `-cflags "-Werror"` job, by explicit casting to `void**`
|
2021-02-09 14:22:51 +02:00 |
Delyan Angelov
|
3d2afcf02e
|
cgen: fix gohandle_name generation (use .cname)
|
2021-02-09 12:55:05 +02:00 |
Alexander Medvednikov
|
bfee8a528c
|
cgen: add "case" to c_reserved
|
2021-02-09 03:49:19 +01:00 |
Swastik Baranwal
|
09cff69919
|
all: allow using aliases as keys in map (#8589)
|
2021-02-08 18:51:05 +01:00 |
Lukas Neubert
|
5abd49d9bc
|
cgen: cast default struct field value to correct SumType/interface (#8619)
|
2021-02-08 17:33:05 +02:00 |
Nick Treleaven
|
e2ff2a5405
|
parser: deprecate `{var |` struct update (#8618)
|
2021-02-08 17:03:05 +02:00 |
zakuro
|
e5839effbc
|
checker/cgen: allow `<<` operator for aliases (#8561)
|
2021-02-08 01:41:47 +01:00 |
Uwe Krüger
|
118ca1240e
|
all: allow `shared` element types for `struct` and arrays (#8631)
|
2021-02-08 00:28:29 +01:00 |
Lukas Neubert
|
7f4c582f1a
|
fmt: unwrap long infix exprs inside parenthesis if necessary (#8609)
|
2021-02-07 23:10:39 +01:00 |
yuyi
|
81e8c3bc1b
|
cgen: minor optimization in infix_expr (#8625)
|
2021-02-07 17:22:54 +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 |
Uwe Krüger
|
5343f1374b
|
all: allow functions to return `shared` object (#8606)
|
2021-02-06 19:41:52 +01:00 |
zakuro
|
fe9d062b41
|
gen: fix bug where unreached defer is executed (#8594)
|
2021-02-06 18:40:39 +02:00 |
Swastik Baranwal
|
9b839b3b7d
|
cgen: fix gen of `>` operator overloading (#8600)
|
2021-02-06 12:59:20 +02:00 |
Uwe Krüger
|
ab279dace7
|
cgen: support `shared` initialization from call returning optional (#8593)
|
2021-02-06 03:07:05 +01:00 |
Delyan Angelov
|
e5c9fcb7e9
|
ci: fix building vdoc, vls, etc
|
2021-02-05 09:27:14 +02:00 |
Alexander Medvednikov
|
1084b43ffb
|
all: ast walker for marking unused fns
|
2021-02-05 08:05:35 +01:00 |
Delyan Angelov
|
119dfc0bb0
|
all: support map[f32]string and map[f64]string (float map keys) too (#8556)
|
2021-02-04 23:59:49 +01:00 |
Louis Schmieder
|
97c0ef3505
|
orm: struct field support (#8517)
|
2021-02-04 20:28:33 +01:00 |
Uwe Krüger
|
112c652ace
|
cgen: auto initialize `chan` that are struct elements (#8541)
|
2021-02-04 00:07:20 +01:00 |
Uwe Krüger
|
f013e65670
|
checker/cgen: support lock expressions `x := rlock s { s.get() }` (#8540)
|
2021-02-03 23:56:58 +01:00 |
Uwe Krüger
|
cee00a3551
|
cgen: create enclosing block on C side for V `lock` blocks (#8538)
|
2021-02-03 23:25:01 +01:00 |
Uwe Krüger
|
2424e2cb02
|
cgen: fix for `rlock`/`lock` handling (#8536)
|
2021-02-03 17:33:18 +01:00 |
Swastik Baranwal
|
7ec116d588
|
all: only allow defining `==` and `<` and auto generate `!=`, `>`, `>=` and `<=` (#8520)
|
2021-02-03 15:18:38 +01:00 |
Uwe Krüger
|
9dcf673216
|
all: make `lock` and `rlock` dead lock free :-) (#8534)
|
2021-02-03 15:16:52 +01:00 |
yuyi
|
7875164d91
|
cgen: add gen_alias_equlity_fn (#8514)
|
2021-02-02 18:37:57 +01:00 |
joe-conigliaro
|
ffedbe4b81
|
cgen: move cgen from v.gen to v.gen.c (#8515)
|
2021-02-02 15:41:51 +01:00 |