spaceface
|
de711da774
|
cgen: support larger closure parameters (#13040)
|
2022-01-05 16:22:20 +02:00 |
Alexander Medvednikov
|
59ed4be49a
|
all: update copyright year
|
2022-01-04 12:21:12 +03:00 |
Delyan Angelov
|
43fee6b3d5
|
all: fix registration of methods with the same name on different generic structs
|
2021-12-28 21:42:48 +02:00 |
Toby Webb
|
35418b8413
|
cgen: fix compile error on locking interface value (#12883)
|
2021-12-26 20:01:00 +02:00 |
Delyan Angelov
|
e256f1b2aa
|
checker,cgen: stabilise generic method handling (fix a source code ordering issue)
|
2021-12-22 18:03:46 +02:00 |
spaceface
|
cfb814a0e3
|
gen: support returning large types from closures on amd64 (#12926)
|
2021-12-22 00:18:45 +02:00 |
yuyi
|
cd0b581445
|
ast: rename 'table.get_type_symbol()' to 'table.sym()' and more related calls (#12898)
|
2021-12-19 18:25:18 +02:00 |
yuyi
|
c957f59071
|
cgen: minor cleanup in cgen.v (#12896)
|
2021-12-19 14:31:04 +02:00 |
yuyi
|
2ab861ef89
|
cgen: fix generic array of interface method call (fix #12882) (#12888)
|
2021-12-18 18:08:19 +02:00 |
spaceface
|
de92f819f0
|
cgen: support closures with any number of parameters of any size on amd64 (#12891)
|
2021-12-18 17:33:24 +02:00 |
yuyi
|
f87f8ec3f7
|
cgen: fix defer with function variables (fix #12854) (#12866)
|
2021-12-16 20:58:54 +02:00 |
Delyan Angelov
|
6ff953d936
|
preludes,builder,cgen: add support for VTEST_RUNNER=tap and -test-runner tap (#12523)
|
2021-12-16 15:59:46 +02:00 |
Ekopalypse
|
a19dd36473
|
cgen: ensure the different gdi32 notations are always matched in is_gui_app (#12756)
|
2021-12-07 22:13:56 +02:00 |
yuyi
|
d85111e3dd
|
cgen: fix comptime for_in methods call (#12741)
|
2021-12-06 10:55:27 +02:00 |
yuyi
|
0cb4557a8d
|
ast, checker, cgen: fix nested struct embed method call (#12714)
|
2021-12-04 14:51:42 +02:00 |
yuyi
|
365b46cad3
|
cgen: fix match sumtype print var aggregate error (#12667)
|
2021-12-03 20:00:00 +02:00 |
yuyi
|
2144471ce1
|
cgen: fix generic fn with anon fn in body (#12647)
|
2021-12-02 10:53:42 +02:00 |
yuyi
|
d1b0ce9e0c
|
cgen: fix error of the interface str method (fix #12538) (#12620)
|
2021-11-30 15:03:44 +02:00 |
yuyi
|
cf274f262c
|
checker, cgen: fix fn type call of match expr (#12579)
|
2021-11-26 09:52:20 +02:00 |
Delyan Angelov
|
3caeadfa0d
|
cgen,vfmt: support `[weak]` tags for functions and globals
|
2021-11-18 18:32:39 +02:00 |
Alexander Medvednikov
|
49a36515dc
|
checker, cgen: c2v fixes
|
2021-11-16 20:56:50 +03:00 |
yuyi
|
d8479f107f
|
cgen: fix typeof comptime selector (fix #12461) (#12463)
|
2021-11-15 10:23:49 +02:00 |
yuyi
|
fb997eb5fe
|
cgen: fix comptime for in field selector (#12457)
|
2021-11-14 20:58:22 +02:00 |
yuyi
|
d5e767f389
|
checker, cgen: fix alias of map keys() (#12422)
|
2021-11-10 13:04:59 +02:00 |
Delyan Angelov
|
6c244d3065
|
cgen: improve diagnostic for a v compiler panic in dicordv
|
2021-11-10 08:12:12 +02:00 |
Delyan Angelov
|
008d15dcb5
|
builder,pref: add support for `-no-builtin` (useful for writing Linux kernel modules)
|
2021-10-23 12:53:53 +03:00 |
Delyan Angelov
|
efa1092199
|
v.gen.c: add coutput tests for the `[console]` codegen to prevent future regressions
|
2021-10-06 00:14:16 +03:00 |
Delyan Angelov
|
6d2c1f7e2c
|
v.gen.c: enable again parallel cgen for `-g`, make `-g` more robust
|
2021-10-05 21:51:49 +03:00 |
yuyi
|
03269f9854
|
cgen: fix error of reference struct str() (#12061)
|
2021-10-04 09:58:50 +03:00 |
Ekopalypse
|
9be16eba63
|
v.gen.c: add tests to ensure the same calling convention is used on exported functions for -m32/-m64 (#11977)
|
2021-10-03 15:47:08 +03:00 |
05st
|
cc4af235f3
|
cgen: fix if-expression code generation if it evaluates to propagating optional / or block (#12032)
|
2021-10-02 14:30:04 +03:00 |
05st
|
60ecbec8ea
|
cgen: fix closure code gen with if statement in definition (#12028)
|
2021-10-01 16:52:34 +03:00 |
Alexander Medvednikov
|
d4b3c65c45
|
cgen: a minor optimization; checker: a c2v fix
|
2021-09-30 12:51:53 +03:00 |
yuyi
|
f2c710d306
|
cgen: fix fn mut args with interface type (#12012)
|
2021-09-29 13:54:23 +03:00 |
crthpl
|
85b58b03a3
|
cgen: parallelize (#10844)
|
2021-09-28 10:28:04 +03:00 |
yuyi
|
108a01d65f
|
fmt: fix unnecessary line break in array init (fix #11448) (#11562)
|
2021-09-21 16:20:09 +03:00 |
yuyi
|
39ad6da506
|
checker, cgen: generate .free() methods for custom structs automatically (#11529)
|
2021-09-18 09:38:42 +03:00 |
Alexander Medvednikov
|
ae41d1d3c6
|
builtin, cgen: more -nofloat fixes
|
2021-09-13 19:06:19 +03:00 |
yuyi
|
bee5e7de03
|
v.gen.c: fix generics array delete (#11429)
|
2021-09-07 20:40: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
|
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 |
Enzo
|
da53f818df
|
all: initial support for closures (x64 / linux-only) (#11114)
|
2021-08-10 21:27:15 +03:00 |
yuyi
|
11794039e2
|
v.gen.c: fix fn variadic of reference param (#11115)
|
2021-08-10 10:36:11 +03:00 |
yuyi
|
eed8c4671f
|
cgen: fix fn mut arg of array (#11104)
|
2021-08-09 01:49:30 +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 |
yuyi
|
ec39e38e14
|
cgen: fix generic method on alias struct receiver (#11080)
|
2021-08-06 21:26:54 +03:00 |
alula
|
e1cc1665dc
|
cgen: push function arguments in fn_args() (#11086)
|
2021-08-06 20:01:20 +03:00 |
yuyi
|
c30cda3daf
|
v.gen.c: fix error of `println(alias of struct)` (#11062)
|
2021-08-05 20:20:10 +03:00 |
Leo Developer
|
6dcf72fe9b
|
cgen: dont generate function if its flag is false (#11021)
|
2021-08-03 03:17:22 +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
|
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 |