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 |
Leah Lundqvist
|
90c1c639fe
|
js: types (#7108)
|
2020-12-08 17:49:20 +01:00 |
joe-conigliaro
|
44b9ea4a75
|
cgen: selector expr / method call on sumtype pointer #7191
|
2020-12-08 16:08:10 +11:00 |
joe-conigliaro
|
805da2325f
|
cgen: defer was broken in presence of anon fn. fixed #7171
|
2020-12-08 14:21:19 +11:00 |
spaceface777
|
744a36ed71
|
js: restructure namespaces (#7170)
|
2020-12-07 18:36:22 +01: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 |
Alexander Medvednikov
|
22ebbab462
|
autofree: set tmp var pos
|
2020-12-05 21:27:49 +01: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 |
Delyan Angelov
|
6e76d5d1db
|
cgen: fix double escaping \n in @VMOD_FILE expansion
|
2020-12-05 20:13:36 +02:00 |
joe-conigliaro
|
83f651c29a
|
cgen: autofree - know where to stop freeing parent scops on continue/break
|
2020-12-06 02:36:27 +11:00 |
Xavier B
|
fafe30b6aa
|
json: add support for aliased struct fields (#6556)
|
2020-12-05 16:13:18 +01: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 |
Nick Treleaven
|
f21b2b41ac
|
gen: make _SLIT macro determine `len` at compile-time (#7131)
|
2020-12-04 20:14:39 +02:00 |
Alexander Medvednikov
|
0ea2fa228f
|
autofree: fix `or {}`; ci: bring back gitly -autofree
|
2020-12-04 18:06:53 +01:00 |
spaceface777
|
50a3009113
|
fmt: make single-stmt `or` blocks single-line (#7126)
|
2020-12-04 13:25:23 +02: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 |
Lukas Neubert
|
2691163a7e
|
scope: remove redundant name arg from register() (#7077)
|
2020-12-02 14:40:25 +01:00 |
Enzo
|
d8b8aca51e
|
gen: fix `arr.last().field` (#7076)
|
2020-12-02 04:35:00 +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 |
yuyi
|
6a1e0322bd
|
gen: fix interpolation variadic (#7059)
|
2020-12-01 12:40:38 +02: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 |
Leah Lundqvist
|
ab225ff154
|
jsgen: fix JS.@typeof (#7055)
|
2020-12-01 04:02:10 +01: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 |
Alexander Medvednikov
|
c7cefa9ce6
|
json: fix encoding pointers
|
2020-11-29 17:45:22 +01:00 |
Delyan Angelov
|
adeebad2a6
|
compiler: use thirdparty/tcc/tcc.exe by default, when no explicit -cc is given (#6598)
|
2020-11-29 16:18:49 +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 |
Swastik Baranwal
|
aadeb62bbf
|
cgen: add a _T_ prefix in the C names for generic fn instances; fixes #6927 (#6999)
|
2020-11-28 17:07:07 +02:00 |
Alexander Medvednikov
|
57ad943b92
|
autofree: free arrays on re-assignment
|
2020-11-28 15:21:53 +01:00 |
Alexander Medvednikov
|
c3ed8bb5da
|
autofree: remove old code
|
2020-11-28 02:28:43 +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 |
yuyi
|
636efb3c20
|
cgen: fix windows escape errors for comptime @ pseudo vars (#6977)
|
2020-11-27 11:16:57 +02: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 |
Alexander Medvednikov
|
62ee436944
|
all: remove broken escape sequences after $ in strings
|
2020-11-27 03:07:37 +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 |
Alexander Medvednikov
|
5efd393af2
|
all: make comptime templates usable outside of vweb via $tmpl
|
2020-11-26 18:40:35 +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
|
fa126b950a
|
cgen: prevent `undefined symbol: tcc_backtrace` errors with tcc and `-shared -d no_backtrace`
|
2020-11-25 15:47:55 +02: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 |
Leah Lundqvist
|
96b73acad7
|
jsgen: optional "or blocks" (#6938)
|
2020-11-24 22:52:23 +01:00 |
Alexander Medvednikov
|
98034e5504
|
http: make download_file() return an optional
|
2020-11-24 18:07:08 +01: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 |
pancake
|
aa90625819
|
js: initial support for optional return unwrapping (#6926)
|
2020-11-24 12:54:26 +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 |
pancake
|
4b19a6e00d
|
js: fix code generation for `$if js` statements (#6896)
|
2020-11-21 15:40:37 +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 |
Lukas Neubert
|
a67873f6cf
|
jsgen: tests: ensure output deletion on fail (#6875)
|
2020-11-20 01:15:32 +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 |
pancake
|
d8f64f516b
|
js: fix codegen for multiline strings (#6791)
|
2020-11-18 18:23:44 +01:00 |
Alexander Medvednikov
|
8e473181ed
|
autofree: remove old logic
|
2020-11-16 17:31:34 +01:00 |
Alexander Medvednikov
|
68077b7dbf
|
autofree: handle early returns (part 1)
|
2020-11-16 17:26:54 +01:00 |
Emily Hudson
|
cd2a2cef25
|
vlib/net: add buffered IO, x.net -> net (#6754)
|
2020-11-15 22:54:47 +02:00 |
Alexander Medvednikov
|
26785668c0
|
autofree: more tests; gg: fix draw_circle with hidpi
|
2020-11-15 15:09:44 +01:00 |
Nick Treleaven
|
50163508f8
|
gen: implement type_name method for sum type instances (#6802)
|
2020-11-14 13:59:03 +02:00 |
Delyan Angelov
|
023cddb160
|
cgen: remove .replace('T', ...)
|
2020-11-14 10:36:59 +02:00 |
Delyan Angelov
|
7feb1742d3
|
cgen: skip deleted map entries in the auto generated .str() method
|
2020-11-13 13:37:11 +02: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 |
Alexander Medvednikov
|
507d724ee6
|
autofree: free before return tests
|
2020-11-09 11:54:45 +01:00 |
spaceface777
|
3c83551dfe
|
parser: fix treating JS fn calls as type casts (#6779)
|
2020-11-08 20:33:55 +02:00 |
Nick Treleaven
|
125650c986
|
cgen: fix using brackets for match expression (#6768)
|
2020-11-07 14:47:27 +01:00 |
Alexander Medvednikov
|
0e8c7ca2e3
|
autofree: fix string reassignment
|
2020-11-07 04:00:45 +01:00 |
spaceface777
|
1d706674f2
|
cgen: don't generate a default expr if a function ends with `return` (#6766)
|
2020-11-06 18:46:41 +02:00 |
Ned Palacios
|
6d8a7ced24
|
cgen: fix setting nested map elements fields (#6744)
|
2020-11-06 16:32:44 +02:00 |
spaceface777
|
a9e9554b11
|
all: fix most C warnings (#6758)
|
2020-11-06 16:26:59 +02:00 |
Alexander Medvednikov
|
212e6fe52c
|
autofree: do not run in `builtin`
|
2020-11-06 10:13:05 +01:00 |
Larpon
|
785bf40f67
|
all: remove comp time '@' expansion from scanner (#6746)
|
2020-11-05 10:12:32 +02:00 |
Alexander Medvednikov
|
1b1d17cfb5
|
os: basic proof of concept stdout capture; autofree: small fixes
|
2020-11-05 08:44:37 +01:00 |
Nick Treleaven
|
ca8d23acab
|
table: make Table.type_to_str generate proper function type, not fn name (#6716)
|
2020-11-05 06:34:56 +01:00 |
Delyan Angelov
|
9eb655e65c
|
all: add .pos fields to all AST nodes, to avoid wrong positions in error messages
|
2020-11-04 13:34:12 +02:00 |
Daniel Däschle
|
25912673a9
|
cgen: fix generic json bug (#6731)
|
2020-11-04 10:21:30 +02:00 |
Daniel Däschle
|
9d5be12517
|
gen: add prefix when printing type aliases (#6701)
|
2020-11-03 14:13:35 +01:00 |
Nick Treleaven
|
788de9938a
|
cgen: fix typeof(expr).name for generic type, pointers, etc (#6712)
|
2020-11-02 22:59:48 +01:00 |
Alexander Medvednikov
|
613d6c043b
|
autofree: fix the tests
|
2020-11-02 01:39:10 +01:00 |
Alexander Medvednikov
|
a0bf796926
|
autofree: handle SelectorExpr and fix json
|
2020-11-02 00:57:45 +01:00 |
Delyan Angelov
|
e2505479ee
|
cgen: encode newlines as \n in the assert meta information
|
2020-11-01 17:01:45 +02:00 |
Daniel Däschle
|
9fdf04b7ff
|
cgen: make generics printable (#6700)
|
2020-10-31 19:43:06 +02:00 |