Delyan Angelov
|
aa0ddec638
|
cgen: unify _name_table[0]{} generation (fix a bootstrapping problem with v_win.c and msvc)
|
2020-12-09 20:18:48 +02:00 |
Delyan Angelov
|
23f5cecbd0
|
ci: run vfmt over vlib/v/gen/cgen.v
|
2020-12-09 20:12:47 +02:00 |
Delyan Angelov
|
c7bea03ce3
|
ci: fix msvc _name_table [0]{} generation
|
2020-12-09 20:08:51 +02:00 |
Delyan Angelov
|
9451233c34
|
cgen: force CI rebuild with newer vc/
|
2020-12-09 19:49:37 +02:00 |
Delyan Angelov
|
6115db4820
|
cgen: fix msvc CI failure on `static struct _name_table[] = {}`, by skipping static for now
|
2020-12-09 19:25:36 +02:00 |
Delyan Angelov
|
80d12f6795
|
cgen: add static for the generated _name_table (fixes `./v -cc clang -o v2 -usecache cmd/v` on macos)
|
2020-12-09 19:03:48 +02:00 |
Delyan Angelov
|
8caf3829d7
|
checker: fix interface checking of array arguments; closes #2377
|
2020-12-09 18:51:37 +02:00 |
Delyan Angelov
|
3b94a2b77a
|
cgen: fix interface _name_table generation; closes issue #73
|
2020-12-09 17:07:11 +02:00 |
Alexander Medvednikov
|
1abb40dc46
|
cgen: use `cur_mode ast.Module` instead of a string
|
2020-12-08 19:52:33 +01:00 |
Alexander Medvednikov
|
a1c0bb3585
|
os: File.write_string()
|
2020-12-08 19:37:33 +01:00 |
joe-conigliaro
|
44b9ea4a75
|
cgen: selector expr / method call on sumtype pointer #7191
|
2020-12-08 16:08:10 +11:00 |
Uwe Krüger
|
fd689f5fdd
|
cgen: optimize array op assign (#7178)
|
2020-12-07 17:13:19 +01:00 |
joe-conigliaro
|
dcca821000
|
cgen: autofree - set/reset g.branch_parent_pos for all for loops
|
2020-12-07 12:08:09 +11:00 |
Uwe Krüger
|
853dcc33c7
|
cgen: optimize map op_assign (#7162)
|
2020-12-06 15:20:31 +01:00 |
joe-conigliaro
|
5931b26737
|
cgen: remove extraneous call to util.no_dots
|
2020-12-06 22:12:23 +11:00 |
Alexander Medvednikov
|
8eff8b0eff
|
autofree: fix `for` args
|
2020-12-06 08:38:21 +01:00 |
joe-conigliaro
|
cd72c25edb
|
cgen: vfmt cgen.v after changes from previous commit
|
2020-12-06 18:05:17 +11:00 |
joe-conigliaro
|
7733834751
|
parser/cgen: autofree - move branch_parent_pos to cgen.
|
2020-12-06 18:02:36 +11:00 |
joe-conigliaro
|
aeb467e038
|
cgen: fix typo from previous commit
|
2020-12-06 15:18:24 +11:00 |
joe-conigliaro
|
d779510616
|
cgen: remove debugging comments added in a05408b
|
2020-12-06 15:16:45 +11:00 |
joe-conigliaro
|
a05408b49a
|
all: make type system use source name & cleanup storing name in fields
|
2020-12-06 14:55:08 +11:00 |
ka-weihe
|
5a7fdb0610
|
map: optimize free() and keys() (#7152)
|
2020-12-06 00:24:24 +01:00 |
Nick Treleaven
|
0d28f12c54
|
map: use untyped keys for DenseArray and interleave keys and values (#7142)
|
2020-12-05 22:53:50 +01:00 |
Delyan Angelov
|
b99ea332f0
|
cgen,builtin: fix sort for []u64
|
2020-12-05 23:14:19 +02:00 |
Delyan Angelov
|
946a1418fe
|
Revert "autofree: handle tmp vars in for loops"
This reverts commit 1d6c604664 .
|
2020-12-05 21:52:50 +02:00 |
Alexander Medvednikov
|
1d6c604664
|
autofree: handle tmp vars in for loops
|
2020-12-05 20:11:31 +01:00 |
joe-conigliaro
|
83f651c29a
|
cgen: autofree - know where to stop freeing parent scops on continue/break
|
2020-12-06 02:36:27 +11:00 |
Delyan Angelov
|
0dfcacd26b
|
cgen: fix `fn f(mut a []int) { a << [1,2] }`
|
2020-12-05 10:12:17 +02:00 |
Alexander Medvednikov
|
d1281ac6c1
|
autofree: handle` break`
|
2020-12-05 05:06:52 +01:00 |
Alexander Medvednikov
|
5180013aef
|
autofree: fix array re-assignment with struct fields
|
2020-12-04 23:30:30 +01:00 |
Alexander Medvednikov
|
f14bd10c00
|
autofree: more `return` fixes
|
2020-12-04 20:44:33 +01:00 |
spaceface777
|
52fb7033c3
|
gen: fix evaluating the receiver of array methods (.map(), .filter(), etc) more than once (#7130)
|
2020-12-04 20:29:34 +02:00 |
Alexander Medvednikov
|
0ea2fa228f
|
autofree: fix `or {}`; ci: bring back gitly -autofree
|
2020-12-04 18:06:53 +01:00 |
Delyan Angelov
|
52ccdd747f
|
cgen: allow for `const ( x = opt() ? )`
|
2020-12-04 13:11:12 +02:00 |
Lukas Neubert
|
02ba923ba7
|
fmt: do not add braces for trailing struct arg (#7072)
|
2020-12-04 11:22:26 +02:00 |
Alexander Medvednikov
|
b64945a6c0
|
autofree: lots of fixes in `return_statement()`
|
2020-12-04 10:10:40 +01:00 |
Nick Treleaven
|
d590ce7675
|
map: add 3 DenseArray methods for bootstrapping (#7113)
|
2020-12-03 21:12:53 +02:00 |
yuyi
|
06eaded6ea
|
string: change `tos_lit` to `_SLIT` (#7079)
|
2020-12-03 16:02:48 +01:00 |
Uwe Krüger
|
c1b25dd61d
|
cgen: fix map value op-assign modification (#7101)
|
2020-12-03 00:40:11 +01:00 |
Alexander Medvednikov
|
953a51bec8
|
autofree: fix an off by 1 error
|
2020-12-02 03:45:08 +01:00 |
Alexander Medvednikov
|
0ff541375d
|
autofree: fix a bug with $if and add a test
|
2020-12-01 18:58:16 +01:00 |
yuyi
|
d3deaa1f59
|
cgen: fix typeof variadic type (#7063)
|
2020-12-01 16:11:37 +01:00 |
Daniel Däschle
|
5b6eb7b2c9
|
cgen: simplify .str() generation (#7038)
|
2020-12-01 16:09:03 +01:00 |
joe-conigliaro
|
88835a0456
|
cgen: remove some nasty replacements
|
2020-12-01 21:17:19 +11:00 |
joe-conigliaro
|
34e124d5f7
|
cgen: auto cast sum type in array init. fixes #6907
|
2020-12-01 20:03:45 +11:00 |
Daniel Däschle
|
879d238887
|
cgen: initial option auto str support (#7004)
|
2020-12-01 04:00:23 +01:00 |
spaceface777
|
0248e4955d
|
gen: fix `undef`ing __has_include on macos tcc (#7057)
|
2020-11-30 21:56:17 +02:00 |
Delyan Angelov
|
5bca6a4bfe
|
cgen: undef *earlier* __has_include for tcc
|
2020-11-30 21:29:48 +02:00 |
Uwe Krüger
|
a128ab4313
|
cgen: add support for shared maps (#7042)
|
2020-11-30 13:25:14 +01:00 |
yuyi
|
39b46e95a0
|
gen: minor optimization in `type_to_fmt()` (#7028)
|
2020-11-30 09:35:55 +02:00 |
yuyi
|
f7cc3d3718
|
gen: minor cleanup in gen_expr_to_string() (#7026)
|
2020-11-30 09:16:50 +02:00 |
ka-weihe
|
9367dcda10
|
all: fix remaining c warnings and add -Werror to CI (#7021)
|
2020-11-29 21:23:37 +02:00 |
spaceface777
|
4e6bc27b30
|
compiler: fix self compilation with cached modules on macOS (#7023)
|
2020-11-29 19:30:35 +01:00 |
joe-conigliaro
|
91eca539d0
|
all: -usecache fixes and self compilation & some type cname optimisation (#7015)
|
2020-11-29 14:10:45 +01:00 |
Delyan Angelov
|
a6f1667bce
|
checker: make `sym == typ` an error
|
2020-11-29 00:43:06 +02:00 |
Daniel Däschle
|
32c027a0bf
|
parser: disallow ptr type as sum type variant (#6996)
|
2020-11-28 23:40:40 +02:00 |
Alexander Medvednikov
|
159abd4727
|
autofree: fix unused var error
|
2020-11-28 20:33:32 +01:00 |
Alexander Medvednikov
|
91007e87d2
|
autofree: remove old code
|
2020-11-28 20:26:32 +01:00 |
Alexander Medvednikov
|
cb3367d734
|
autofree: free_before_break() test
|
2020-11-28 20:23:54 +01:00 |
Delyan Angelov
|
321daede1d
|
cgen: fix a buggy comparison, add ability to do println(sym.debug())
|
2020-11-28 19:48:53 +02:00 |
Alexander Medvednikov
|
0114333d34
|
autofree: fix _
|
2020-11-28 16:45:08 +01:00 |
Alexander Medvednikov
|
57ad943b92
|
autofree: free arrays on re-assignment
|
2020-11-28 15:21:53 +01:00 |
Delyan Angelov
|
ac27a3ccee
|
parser,cgen: improve `[flag]enum Abc{ a b }`, allow `x := Abc.a | Abc.b`
|
2020-11-27 23:09:14 +02:00 |
Alexander Medvednikov
|
fcd127ed87
|
autofree: make -experimental the default
|
2020-11-27 20:49:48 +01:00 |
Swastik Baranwal
|
2473f65278
|
cgen: minor cleanup (use replace_each) (#6978)
|
2020-11-27 16:13:30 +01:00 |
Daniel Däschle
|
ee2a5727fb
|
gen: fix assigning an anon fn to a struct field (#6965)
|
2020-11-27 11:15:48 +02:00 |
Alexander Medvednikov
|
c27818e247
|
all: remove remaining broken escape sequences
|
2020-11-27 03:17:19 +01:00 |
Daniel Däschle
|
d71d9ad7c0
|
сgen: print generic structs (#6967)
|
2020-11-26 23:57:03 +01:00 |
Nick Treleaven
|
ea8adfdbf9
|
gen: more efficient `for in` with a map (#6961)
|
2020-11-26 23:22:14 +01:00 |
Ruofan XU
|
c6a8c3cad5
|
cgen: remove unneeded sumtype logic and add more tests (#6959)
|
2020-11-26 15:29:23 +01:00 |
Delyan Angelov
|
35a0fe79f9
|
cgen: generate an unique sort comparator function for each .sort() call
|
2020-11-25 13:48:42 +02:00 |
Daniel Däschle
|
7d6f97259f
|
all: refactor UnionSumType to SumType (#6944)
|
2020-11-25 13:09:40 +02:00 |
Daniel Däschle
|
a042966082
|
all: remove old sumtype code (#6937)
|
2020-11-24 17:55:24 +01:00 |
Daniel Däschle
|
aa6303f0b2
|
all: use the new types with old syntax (#6922)
|
2020-11-24 13:58:29 +01:00 |
Daniel Däschle
|
789912238f
|
gen: generate typedef first on sum types (#6930)
|
2020-11-24 12:53:39 +01:00 |
Nick Treleaven
|
380e3640e3
|
gen: add panic message when using '?' with `none` (#6919)
|
2020-11-23 16:16:38 +01:00 |
Daniel Däschle
|
96539e43b5
|
all: nested sum types (#6913)
|
2020-11-23 16:16:13 +01:00 |
Alexander Medvednikov
|
a1827d7f98
|
autofree: handle array set/get
|
2020-11-22 20:48:23 +01:00 |
Alexander Medvednikov
|
311b5e8188
|
autofree: string.clone() fix
|
2020-11-22 13:45:12 +01:00 |
Alexander Medvednikov
|
65005fdae8
|
builtin: same fix for array.insert
|
2020-11-22 13:30:48 +01:00 |
Alexander Medvednikov
|
f8827c3fe5
|
builtin: clone the strings correctly in array.push
|
2020-11-22 13:22:42 +01:00 |
Daniel Däschle
|
22fdf76db5
|
gen: unwrap optional on if guard expr (#6903)
|
2020-11-21 22:40:05 +01:00 |
Alexander Medvednikov
|
9a51f4e3c2
|
autofree: builtin fixes
|
2020-11-21 22:33:31 +01:00 |
Alexander Medvednikov
|
2afb9b30e9
|
autofree: minor fixes; skip in consts
|
2020-11-21 19:07:47 +01:00 |
Alexander Medvednikov
|
ad940ff40e
|
autofree: free parent scope vars only before fn returns
|
2020-11-21 18:23:50 +01:00 |
Daniel Däschle
|
838ad16296
|
all: refactor ast.Expr to use the new sum type implementation (#6792)
|
2020-11-21 00:05:57 +01:00 |
Alexander Medvednikov
|
ff1752dfff
|
gg: vfmt gg.v
|
2020-11-21 00:04:29 +01:00 |
Alexander Medvednikov
|
c1486925d5
|
autofree: enable free_before_return test
|
2020-11-21 00:00:27 +01:00 |
Nick Treleaven
|
d5242e0bf5
|
gen: implement labelled break and continue (retry) (#6887)
|
2020-11-20 12:23:48 +01:00 |
Alexander Medvednikov
|
4328233504
|
Revert "gen: implement labelled break and continue (#6880)"
This reverts commit e798326a1a .
|
2020-11-20 02:51:35 +01:00 |
Nick Treleaven
|
e798326a1a
|
gen: implement labelled break and continue (#6880)
|
2020-11-19 21:13:15 +01:00 |
Daniel Däschle
|
e06756ef58
|
all: match multi aggregate for union sum types (#6868)
|
2020-11-18 20:52:00 +01:00 |
Alexander Medvednikov
|
68077b7dbf
|
autofree: handle early returns (part 1)
|
2020-11-16 17:26:54 +01:00 |
Alexander Medvednikov
|
26785668c0
|
autofree: more tests; gg: fix draw_circle with hidpi
|
2020-11-15 15:09:44 +01:00 |
Daniel Däschle
|
9c569246ef
|
cgen: fix typeof union sum type (#6794)
|
2020-11-12 12:27:54 +01:00 |
Daniel Däschle
|
43ce098043
|
cgen: fix default value init for union sum types (#6795)
|
2020-11-11 19:56:13 +02:00 |
Daniel Däschle
|
6271798ce3
|
cgen: union sum types implementation (#6745)
|
2020-11-11 09:18:15 +01:00 |
Alexander Medvednikov
|
2254f41722
|
autofree: free all vars in parent scopes recursively
|
2020-11-09 15:56:28 +01:00 |
Nick Treleaven
|
c76e486765
|
parser: implement `T.name` for generic types (#6783)
|
2020-11-09 14:35:26 +01:00 |
Alexander Medvednikov
|
1c257abc23
|
autofree: simplify: merge tmp arg logic with scope vars
|
2020-11-09 14:24:46 +01:00 |