1
0
mirror of https://github.com/vlang/v.git synced 2023-08-10 21:13:21 +03:00
Commit Graph

5406 Commits

Author SHA1 Message Date
Alexander Medvednikov
c27818e247 all: remove remaining broken escape sequences 2020-11-27 03:17:19 +01:00
Daniel Däschle
966b95ca4e
parser: move mut in if/match to expr (#6973) 2020-11-27 03:08:42 +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
spaceface777
6563535a3d
term.ui: simplify/fix the truecolor feature test (#6963) 2020-11-26 23:52:20 +01:00
Nick Treleaven
ea8adfdbf9
gen: more efficient for in with a map (#6961) 2020-11-26 23:22:14 +01:00
Alexander Medvednikov
5e59718970 fmt: handle $tmpl 2020-11-26 18:53:38 +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
Daniel Däschle
52b627feb3
checker: check filter, map and sort left type (#6952) 2020-11-26 11:28:54 +01:00
spaceface777
e03ae19372
term.ui: approximate colors into ansi if rgb isn't supported (#6951) 2020-11-26 00:28:57 +01:00
Takahiro Yaota
258f8f6af9
parser: report unused expression error in if and or blocks (#6953) 2020-11-26 00:28:41 +01:00
Larpon
2957541e48
pref: fix message on inferred run (#6947) 2020-11-25 21:44:26 +02:00
Daniel Däschle
8e2b7fe3d6
tests: cleanup sum type tests (#6950) 2020-11-25 20:40:29 +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
Daniel Däschle
8446433bcf
parser: remove __type (#6946) 2020-11-25 14:27:15 +01:00
Delyan Angelov
35a0fe79f9 cgen: generate an unique sort comparator function for each .sort() call 2020-11-25 13:48:42 +02:00
Ekopalypse
a46eda7c44
builder: fix dll generation on Windows (#6939) 2020-11-25 12:18:58 +01: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
Lukas Neubert
8be9bdacd1
fmt: do not wrap real multiline comments into single line in arrays (#6923) 2020-11-24 12:55:39 +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
Daniel Däschle
9fbf38c798
parser: fix generic structs from other modules (#6921) 2020-11-23 23:21:11 +01:00
Alexander Medvednikov
e0d64903f8 table: rename atypes.v to types.v now that the order of the files is irrelevant 2020-11-23 18:19:51 +01:00
Takahiro Yaota
07fae5adf6
io: add a test for read_all (#6898) 2020-11-23 16:17: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
Takahiro Yaota
2f9b7fe0f7
vfmt: fix error with return // comment (#6914) 2020-11-23 11:36:20 +02:00
Nick Treleaven
51c737669d
checker: check labelled break/continue is inside a matching for loop (#6910) 2020-11-22 20:51:07 +01:00
Alexander Medvednikov
a1827d7f98 autofree: handle array set/get 2020-11-22 20:48:23 +01:00
hirossan4049
67d5dfb315
gg: draw_rounded_rect() (#6909) 2020-11-22 20:13:40 +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
Alexander Medvednikov
ed7413ee51 autofree: handle SelectorExpr receivers 2020-11-21 23:19:04 +01:00
Daniel Däschle
22fdf76db5
gen: unwrap optional on if guard expr (#6903) 2020-11-21 22:40:05 +01:00
Alexander Medvednikov
2f50a9ea1f utf: fix utf32_to_str 2020-11-21 22:37:16 +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
Delyan Angelov
2228d75657 ci: fix formatting of comptime.v 2020-11-21 19:04:31 +02:00
Delyan Angelov
018bd6aac3 os: fix flaky test in process_test.v 2020-11-21 18:01:21 +02:00
Delyan Angelov
fa55c247a2 parser: add -d print_vweb_template_expansions to ease vweb template debugging 2020-11-21 17:59:02 +02:00
pancake
4b19a6e00d
js: fix code generation for $if js statements (#6896) 2020-11-21 15:40:37 +01:00
hirossan4049
54df7d1daf
gg: new draw_empty_rounded_rect() (#6891) 2020-11-21 15:40:02 +01:00
Tomas Hellström
155aa6dac5
x.websocket: fix autobahn tests for wss and wss close behavor (#6901) 2020-11-21 15:45:45 +02:00
Swastik Baranwal
650cdef8b4
checker: disallow array sum types without default field (#6892) 2020-11-21 00:07:25 +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
Alexander Medvednikov
99bdb87a01 all: remove #objc for good 2020-11-20 23:49:52 +01:00
Delyan Angelov
9673d40bb9 ci: fix failing windows test run_v_code_from_stdin_test.v (2) 2020-11-20 16:57:44 +02:00
Takahiro Yaota
f47c2468bb
net: fix socket.read_line with long lines #6842 2020-11-20 15:24:41 +01:00
Delyan Angelov
93d460f8fc ci: fix failing windows tests for v run - 2020-11-20 16:14:04 +02:00
Lukas Neubert
5d76e85a23
vfmt: fix extra whitspace in fn type decl with type-only args (#6888) 2020-11-20 15:00:40 +01:00
Alexander Medvednikov
30ddb89e3c gg: UI mode for much lower CPU usage in UI apps 2020-11-20 14:50:26 +01:00
Delyan Angelov
3c4b87bfec checker: add check against fn test_opt() ?{} 2020-11-20 15:12:53 +02:00
Nick Treleaven
9871d24929
fmt: fix labelled break & continue (#6889) 2020-11-20 14:12:40 +01:00
Nick Treleaven
d5242e0bf5
gen: implement labelled break and continue (retry) (#6887) 2020-11-20 12:23:48 +01:00
Alexander Medvednikov
412e2a43e9 clipboard: fix clear() on macos 2020-11-20 12:00:16 +01:00
Ned Palacios
7c2c187743
vdoc: fix markdown and plaintext rendering (#6882) 2020-11-20 12:02:52 +02:00
Lukas Neubert
ef3e8d2c84
vfmt: handle comments after type declarations (#6874) 2020-11-20 11:51:50 +02:00
Delyan Angelov
d382db77ee ci: fix failing clipboard_test.v on MacOS 2020-11-20 11:44:26 +02:00
Ned Palacios
b957c64905
scanner: store errors and warnings on silent mode (#6883) 2020-11-20 11:44:19 +02:00
Nicolas Sauzede
159932d59b
v: run code from stdin echo println(2+2) | v run -, with no repl limits (#6884) 2020-11-20 10:25:59 +02:00
Alexander Medvednikov
55a7c907ad clipboard: fix set_text() 2020-11-20 03:28:28 +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
Delyan Angelov
1b8609c318 builder: fix for v -o x.exe run examples/hello_world.v 2020-11-20 02:38:24 +02:00
Lukas Neubert
a67873f6cf
jsgen: tests: ensure output deletion on fail (#6875) 2020-11-20 01:15:32 +01:00
Alexander Medvednikov
d50c919879 clipboard: fix get_text() on macos 2020-11-20 01:08:55 +01:00
Nick Treleaven
e798326a1a
gen: implement labelled break and continue (#6880) 2020-11-19 21:13:15 +01:00
Daniel Däschle
41ba942369
parser: smartcast mutable selector (#6881) 2020-11-19 21:05:10 +01:00
Delyan Angelov
2e57a1e1a6 sync: add vlib/sync/bench/many_writers_and_receivers_on_1_channel.v (run with --help) 2020-11-19 21:30:38 +02:00
Daniel Däschle
9feb010355
all: mutable smartcasts (#6878) 2020-11-19 17:28:46 +01:00
Delyan Angelov
48b117618d builtin: support -d no_backtrace, to ease compiling V code on older distros easier 2020-11-19 17:58:33 +02:00
Larpon
f807fd973e
compile: infer source file if a binary by the same name exists in same dir #6877 2020-11-19 16:23:55 +01:00
Delyan Angelov
69bb0891c7 vfmt: fix ^A keep.vv test too 2020-11-19 16:25:52 +02:00
Delyan Angelov
92a75c80db vfmt: trim ^A from embedded inline comments too 2020-11-19 15:32:51 +02:00
Daniel Däschle
e06756ef58
all: match multi aggregate for union sum types (#6868) 2020-11-18 20:52:00 +01:00
Lukas Neubert
df4165c7ee
docs_ci: check all md files except thirdparty (#6855) 2020-11-18 18:28:28 +01:00
pancake
d8f64f516b
js: fix codegen for multiline strings (#6791) 2020-11-18 18:23:44 +01:00
Anton Zavodchikov
6d99f0af50
x.websocket: expose log field (#6866) 2020-11-18 18:22:44 +01:00
Carlos Esquerdo Bernat
b4ae332e0c
web socket: fix wss 2020-11-18 18:21:49 +01:00
Daniel Däschle
ed874ffc5b
checker: fix sum type operator check (#6815) 2020-11-17 21:26:40 +01:00
Lukas Neubert
ee5ad2a653
parser: fix duplicated struct attrs on first field (#6859) 2020-11-17 21:25:54 +01:00
Swastik Baranwal
4415feb2df
checker: disallow string(bool) (#6863) 2020-11-17 21:23:17 +01:00
Larpon
fdc0cd4c03
term.ui: add dashed lines and rectangles (#6848) 2020-11-17 15:08:35 +01:00
Lukas Neubert
dbdcef5166
quote_path: also quote ampersands (#6846) 2020-11-16 19:26:44 +02:00
Delyan Angelov
d633261a99
os: add Process (#6786) 2020-11-16 17:32:50 +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
spaceface777
ac8a2ff12d
term.ui: feature-detect the SU spec (#6844) 2020-11-16 14:48:08 +02:00
Delyan Angelov
b3e19c7247 tests: restore skipped return_missing_comp_if.vv and return_missing_comp_if_nested.vv 2020-11-16 10:07:53 +02:00
Delyan Angelov
05933e783d net: add back some lower level client/server tcp tests 2020-11-16 09:59:37 +02:00
Nick Treleaven
4882d338f0
checker: improve array literal element type mismatch error (#6825) 2020-11-16 00:41:24 +02:00
Emily Hudson
cd2a2cef25
vlib/net: add buffered IO, x.net -> net (#6754) 2020-11-15 22:54:47 +02:00
Daniel Däschle
20bec81678
checker: smartcast only if type is not mut (#6841) 2020-11-15 16:53:51 +02:00
Alexander Medvednikov
5fb4d77764
doc: use fixed-width symbol name at start of comment (#6840) 2020-11-15 15:16:41 +01:00
Alexander Medvednikov
ad1510afa0 gg: vfmt gg.v 2020-11-15 15:11:43 +01:00
Alexander Medvednikov
26785668c0 autofree: more tests; gg: fix draw_circle with hidpi 2020-11-15 15:09:44 +01:00
Nick Treleaven
40e7b0eeb3 doc: use fixed-width symbol name at start of comment 2020-11-15 12:58:58 +00:00
Anton Zavodchikov
fe3d2a9aba
json2: unescape characters (#6836) 2020-11-15 14:58:17 +02:00
Delyan Angelov
f995aa35ea checker: add a check for x := math.sin<f64>(0) 2020-11-15 11:51:12 +02:00
spaceface777
1ead130eed
term.ui: render to the alternate buffer (#6832) 2020-11-14 21:05:22 +02:00
Nick Treleaven
01a5b263e5
encoding/csv: improve Reader docs (#6828) 2020-11-14 19:49:36 +02:00
Swastik Baranwal
00464ad988
builtin: add charptr.vstring() and charptr.vstring_with_len() (#6830) 2020-11-14 19:43:42 +02:00
Carlos Esquerdo Bernat
827fb62c29
examples/text_editor: edit multiple files (#6827) 2020-11-14 19:39:59 +02:00
Nick Treleaven
50163508f8
gen: implement type_name method for sum type instances (#6802) 2020-11-14 13:59:03 +02:00
Delyan Angelov
2dc9a45e06 vfmt: fix eating of app.$method(vars); format vlib/vweb/vweb.v 2020-11-14 13:55:10 +02:00
Delyan Angelov
ba8cdb2977 vfmt: fix $for method in App.methods {} turning to App(methods) 2020-11-14 12:24:46 +02:00
Delyan Angelov
d6d202341a table: add a helper pub fn (t Type) debug() []string {} 2020-11-14 11:39:58 +02:00
Delyan Angelov
df385799a2 checker: fix invalid type (typ=0 idx=0) when x,y := gfn(), and gfn returns (Abc,T) 2020-11-14 10:42:56 +02:00
Delyan Angelov
023cddb160 cgen: remove .replace('T', ...) 2020-11-14 10:36:59 +02:00
spaceface777
6b47c61fe4
term.ui: handle middle mouse button events and modifier keys (#6821) 2020-11-14 09:14:54 +02:00
Takahiro Yaota
5069be04a2
net: improve socket_test (#6822) 2020-11-14 08:23:22 +02:00
Delyan Angelov
01579957b8 builder: move -c right before the .c thirdparty file 2020-11-13 20:42:26 +02:00
Delyan Angelov
8cb1714255 builder: fix building sqlite3 on windows 2020-11-13 20:35:21 +02:00
spaceface777
c315218ed1
term.ui: allow setting the terminal title (#6809) 2020-11-13 15:30:47 +02:00
Delyan Angelov
7feb1742d3 cgen: skip deleted map entries in the auto generated .str() method 2020-11-13 13:37:11 +02:00
Delyan Angelov
a3404a38c6 term_drawing.v: support arrows, 1, 2 and space 2020-11-13 13:08:28 +02:00
Delyan Angelov
f6e54dc027 term.ui: improve Ctrl-Z + fg handling 2020-11-13 10:27:53 +02:00
Daniel Däschle
9c569246ef
cgen: fix typeof union sum type (#6794) 2020-11-12 12:27:54 +01:00
spaceface777
24f743ee12
term: add term.ui module (part 2) (#6798) 2020-11-12 12:12:51 +01:00
Luke Edwards
a525397022
checker: improve wording on error messages (#6799) 2020-11-11 23:11:27 +02:00
Delyan Angelov
f42a44abec vfmt: fix match x { 10 /* ... */ {} } and a := [1/* x */, /* y */2, 3] 2020-11-11 22:59:43 +02:00
Delyan Angelov
e6cc967ac8 vfmt: small cleanup 2020-11-11 21:43:47 +02:00
Delyan Angelov
8197463b08 vfmt: fix x := Repo<User,Permission>{} 2020-11-11 21:41:04 +02:00
Daniel Däschle
43ce098043
cgen: fix default value init for union sum types (#6795) 2020-11-11 19:56:13 +02:00
Delyan Angelov
a4acb70c64 vfmt: remove rc4.v from known_failing_exceptions 2020-11-11 18:19:03 +02:00
Delyan Angelov
2759b80514 vfmt: remove aes.v and block_generic.v from known_failing_exceptions in v test-fmt 2020-11-11 18:16:45 +02:00
Delyan Angelov
dd1717af34 checker: add a missing return regression test for if branches too 2020-11-11 18:06:13 +02:00
Delyan Angelov
ebfd259333 vfmt: support struct Repo <T, U> { } 2020-11-11 17:50:03 +02:00
Delyan Angelov
7d472d887e scanner: vfmt scanner.v 2020-11-11 17:25:58 +02:00
Delyan Angelov
8c241cb745 checker: check that fns with return values, and matches, do return 2020-11-11 17:23:57 +02:00
Daniel Däschle
6271798ce3
cgen: union sum types implementation (#6745) 2020-11-11 09:18:15 +01:00
spaceface777
bb91dc90a5
checker: fix & on pointers (#6787) 2020-11-10 13:12:21 +02:00
Nick Treleaven
baf2ff1a91
checker: unify invalid argument errors, use argument position (#6785) 2020-11-10 10:40:50 +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
KJ Lawrence
7108f89b69
pg: fix exec & exec_param_many (#6782) 2020-11-09 08:22:16 +01:00
div72
b0053d8910
x.json2: change default number type to i64 (#6773) 2020-11-09 07:37:53 +01:00
Carlos Esquerdo Bernat
ba366b126f
ws: handle close on client quit (#6776) 2020-11-08 20:36:42 +02:00
spaceface777
3c83551dfe
parser: fix treating JS fn calls as type casts (#6779) 2020-11-08 20:33:55 +02:00
Tomas Hellström
68cfbd6d66
websocket: fix autobahn test to always use latest v(#6780) 2020-11-08 17:46:06 +01:00
pancake
af5836202c
js: fix wrong filename and invalid backend selected when using -o .js (#6777) 2020-11-08 17:45:32 +01:00
pancake
2994e7150f
vweb: check function and route parameter count (#6761) 2020-11-08 09:14:24 +01:00
Delyan Angelov
6da8454b3b builder: a small -usecache fix, when v is run in subfolders 2020-11-08 09:18:05 +02:00
Delyan Angelov
4b35495fbe all: support VMODULES environment variable (defaulting to ~/.vmodules) 2020-11-08 08:07:17 +02:00
Delyan Angelov
0ba5544446 checker: add a check for ptr = Abc{} 2020-11-07 21:19:46 +02:00
Nick Treleaven
931882d720
checker: support ?T, &T generic return types (#6772) 2020-11-07 18:27:10 +02:00
Tomas Hellström
b47c23b73e
x.websocket: fix the uri port parsing problem. Make failures more informative (#6775) 2020-11-07 18:14:33 +02:00
Swastik Baranwal
6354fa031c
checker: add more checks for index_expr (#6737) 2020-11-07 14:55:05 +01: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
Nick Treleaven
62cae1ba00
parser: parse func<T>() when T is a map or array type (#6765) 2020-11-07 02:55:28 +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
Delyan Angelov
98e8894d90 x.websocket: more informative errors 2020-11-06 16:10:22 +02:00
Alexander Medvednikov
3e5871ffb3 autofree: disable optional_return test for now 2020-11-06 10:30:27 +01:00
Alexander Medvednikov
212e6fe52c autofree: do not run in builtin 2020-11-06 10:13:05 +01:00
Delyan Angelov
b14f779853 vweb: add a placeholder for checking route validity at startup 2020-11-05 22:59:11 +02:00
Delyan Angelov
d34c5b767b vfmt: keep the source fn type alias names, instead of the expanded fn declarations 2020-11-05 20:21:37 +02:00
Delyan Angelov
26c2654632 parser: vfmt vlib/v/parser/struct.v 2020-11-05 19:55:20 +02:00
Delyan Angelov
953d102996 parser: prevent a segfault, when compiling cmd/tools/vtest-vet.v in PR 6754 2020-11-05 19:40:15 +02:00
Delyan Angelov
3f9b05a876 vfmt: skip {} for pure fn declarations (let the bodies hit the floor) 2020-11-05 18:59:36 +02:00
Delyan Angelov
e80487b35c vfmt: support inline comments before fields in struct initializations 2020-11-05 18:49:52 +02:00
Delyan Angelov
4bf1c2fdcc vfmt: support match a { x...y {} } 2020-11-05 18:35:14 +02:00
Delyan Angelov
35096cda3f vfmt: support comments after interface methods 2020-11-05 18:23:45 +02:00
Larpon
4051ce869c
all: remove unused enum value and improve error message for @ tokens in scanner (#6751) 2020-11-05 12:59:49 +02: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
Carlos Esquerdo Bernat
8157f3c6ab
websocket: get port of the uri (#6750) 2020-11-05 06:36:50 +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
Daniel Däschle
a2fc19880a
parser: fixes or block position (#6736) 2020-11-04 16:02:01 +02: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
Ekopalypse
cc4bb71f29
os: prevent unnecessary dependencies when importing os on windows (#6741) 2020-11-04 10:19:46 +02:00
Daniel Däschle
9d5be12517
gen: add prefix when printing type aliases (#6701) 2020-11-03 14:13:35 +01:00
Delyan Angelov
18f5ed671d builder: fix -showcc with msvc 2020-11-03 12:37:04 +02:00
Delyan Angelov
aecdfb06e7 x.net: fix C fn redeclaration of C.inet_ntop (prevented compiling x.net and net together) 2020-11-03 10:06:47 +02:00
Delyan Angelov
204fd8be03 builder: improve the function redefinition detector 2020-11-03 10:00:06 +02:00
Delyan Angelov
2c3f695469 checker,parser: treat C.Struct fields as public by default 2020-11-03 09:35:44 +02:00
Delyan Angelov
ae241785bf vfmt: fix union {} declarations 2020-11-03 00:35:12 +02:00
Lukas Neubert
4ccb219079
clipboard: fix windows warnings and run vfmt (#6715) 2020-11-02 23:00:29 +01:00
Nick Treleaven
788de9938a
cgen: fix typeof(expr).name for generic type, pointers, etc (#6712) 2020-11-02 22:59:48 +01:00
Delyan Angelov
2202ee5d66 tests: add tests for continue/break in last statement of an or{} 2020-11-02 12:54:45 +02:00
Delyan Angelov
4e760c703e checker: disallow opt_returning_string() or { ... 123 } (closes #6711) 2020-11-02 05:29:37 +02:00
pancake
d040af4939
checker: improve error message for: a := foo() or { println(err) } (#6710) 2020-11-02 04:52:35 +02:00
Alexander Medvednikov
613d6c043b autofree: fix the tests 2020-11-02 01:39:10 +01:00
Alexander Medvednikov
06e4c45350 tests: re-enable valgrind tests 2020-11-02 01:25:16 +01:00
Daniel Däschle
d5a421e3f5
checker: add alias cast type check (closes #6705) (#6709) 2020-11-02 01:17:35 +01:00
Delyan Angelov
3c0f4c46fa checker: add check preventing if x:=non_optional() {} 2020-11-02 01:58:07 +02:00
Alexander Medvednikov
a0bf796926 autofree: handle SelectorExpr and fix json 2020-11-02 00:57:45 +01:00
zacanger
f0c98fb5c2
doc: fix syntax in sqlite install instructions(#6707) 2020-11-01 22:16:18 +01:00
sunnylcw
f934ca37c9
mysql: patch for Windows and FreeBSD (#6703) 2020-11-01 22:15:33 +01:00
Delyan Angelov
e2505479ee cgen: encode newlines as \n in the assert meta information 2020-11-01 17:01:45 +02:00
Delyan Angelov
e72d9c0f88 parser: protect against infinite loops in -silent mode over invalid .v files 2020-11-01 14:02:32 +02:00
Daniel Däschle
9fdf04b7ff
cgen: make generics printable (#6700) 2020-10-31 19:43:06 +02:00
Delyan Angelov
db59585a51 sokol.gfx: fix C.sg_depth_stencil_state compilation with tcc 2020-10-31 14:15:05 +02:00
Ned Palacios
a2a0765eff
cgen: fix setting map elements' fields (#6699) 2020-10-31 13:00:04 +01:00
Alexander Medvednikov
b59c5fd82b autofree: do not free tmp vars twice 2020-10-31 08:26:54 +01:00
Delyan Angelov
70cbf56655 cgen: show more informative errors, instead of a invalid type (typ=0 idx=0) verror panic 2020-10-30 20:26:08 +02:00
Delyan Angelov
ff93e8afee builtin: eliminate the usage of _us32_eq for frequent builtin array operations 2020-10-30 14:11:07 +02:00
Alexander Medvednikov
791fda16d3 fmt: handle "it" in lambdas 2020-10-30 07:35:44 +01:00
Alexander Medvednikov
2c75b1397c all: struct embedding 2020-10-30 07:09:26 +01:00
Alexander Medvednikov
dca3d13606 autofree: another lambda fix 2020-10-30 00:43:04 +01:00
Ned Palacios
ccc0cb23ed
doc: store source content, restructure module directory (#6692) 2020-10-29 17:21:37 +01:00
Ned Palacios
7b5a580c0c
util: split bom checking to a separate fn (#6694) 2020-10-29 17:21:08 +01:00
Delyan Angelov
be02ee97fb sync: enable compilation with -autofree 2020-10-29 12:17:08 +02:00
pancake
367067dfff
pkgconfig: improve and fix the parser; move to v.pkgconfig (#6695) 2020-10-29 11:57:23 +02:00
Alexander Medvednikov
423044d4d6 autofree: skip lambda for now 2020-10-29 08:59:13 +01:00
Alexander Medvednikov
71dfec3c4d autofree: generate unique names for each arg 2020-10-29 08:26:45 +01:00
Ned Palacios
ce7da85166
parser: make .parse() public (#6693) 2020-10-29 07:10:45 +01:00
Alexander Medvednikov
21002bf2de autofree: fix re-assigning an optional 2020-10-29 07:06:58 +01:00
Alexander Medvednikov
f19ca6b411 autofree: simplify, use more scoping, fix expressions inside or blocks 2020-10-29 01:09:38 +01:00
Delyan Angelov
b7121786a5 table: run vfmt over atypes.v 2020-10-28 08:46:54 +02:00
Delyan Angelov
7fb739ebcf table: make mut/not mut aggregate fields equal (for read only access) 2020-10-28 08:43:18 +02:00
Swastik Baranwal
0c987f433d
string: enable test for string escaping (#6688) 2020-10-27 15:25:44 +01:00
pancake
36c5eab799
all: add #pkgconfig directive using the new vlib modules (#6673) 2020-10-26 18:05:18 +01:00
Delyan Angelov
cf21c63183 v.vcache: extract v.vcache to a separate module, to test it and reuse it 2020-10-26 18:37:37 +02:00
Delyan Angelov
0c192cfd64 tests: fix warnings when doing ./v -W -progress -check-syntax test-fixed 2020-10-26 14:41:57 +02:00
Delyan Angelov
535c4ed0d6 builder: return early in run_compiled_executable_and_exit, when -check-syntax is passed 2020-10-26 11:23:28 +02:00
Rolf Schmidt
3f5be0f4fc
mysql: fix unwrapped unsafe code of mysql lib (#6680). (#6681) 2020-10-26 11:21:28 +02:00
Delyan Angelov
60cc8ac39c vcache: use 2x wyhash.sum64_string(hk,x).hex_full(), instead of md5.sum(hk.bytes()).hex() 2020-10-25 09:22:31 +02:00
Delyan Angelov
5cb31c2c8f builder: fix support for tcc on windows (openlibm.o) 2020-10-25 03:35:34 +03:00
Delyan Angelov
5f6259dde6 v: add VCACHE support for thirdparty object files and for v build-module 2020-10-25 03:09:07 +03:00
Delyan Angelov
89daec4e93 ci: run vfmt over compile.v and checker.v 2020-10-24 20:41:52 +03:00
Delyan Angelov
8b01146b90 compiler: implement -W and -reuse-tmpc 2020-10-24 20:34:50 +03:00
Alexander Medvednikov
42da37e900 autofree: fix if expressions 2020-10-24 19:06:31 +02:00
Delyan Angelov
23ee3018c3 tools: add v test-vet 2020-10-24 16:37:58 +03:00
Delyan Angelov
296a6095a4 builder: vfmt compile.v 2020-10-24 15:48:11 +03:00
Delyan Angelov
8f85396a31 builder: use unique .tmp.c and .tmp.c.rsp files, and rm them on successfull non debug builds. 2020-10-24 15:08:45 +03:00
Delyan Angelov
ac6fad6a63 checker: fix comptime custom defines usages, add tests 2020-10-24 15:06:51 +03:00
Larpon
e97d3af4b1
tcc: fix 'tcc: error: library atomic not found' on older Ubuntu distros (#6672) 2020-10-24 13:49:57 +03:00
Alexander Medvednikov
c2e9be5a45 cgen: use even more efficient array.delete_last() 2020-10-23 23:04:22 +02:00
Alexander Medvednikov
334497fdc0 cgen: use more efficient array.pop() 2020-10-23 22:52:50 +02:00
Alexander Medvednikov
3b3501cf09 autofree: if expression fixes 2020-10-23 22:50:22 +02:00
Delyan Angelov
8ffbcdc553 cgen: extract g.new_ctemp_var/2, g.new_ctemp_var_then_gen/2 and g.gen_ctemp_var from gen_assert_stmt 2020-10-22 19:48:06 +03:00
Delyan Angelov
66787b05d6 cgen: support most kinds of ast.PrefixExpr in gen_assert_metainfo 2020-10-22 19:25:07 +03:00
Delyan Angelov
f7698ea160 v symlink: fix windows PATH setting (cmd.exe needs C: not c:) 2020-10-22 17:31:37 +03:00
Alexander Medvednikov
66b8462d7a autofree: handle method chains 2020-10-22 03:51:28 +02:00
Delyan Angelov
ab137e4164
cgen: print results of failed callexprs in assert fn() == fn2() (#6665) 2020-10-21 21:58:40 +02:00
Alexander Medvednikov
6d11caf784 autofree: string.replace() test 2020-10-21 19:44:31 +02:00
Swastik Baranwal
019e3b2f4a
checker: add error for ast.PrefixExpr on the left side of decl_assign (#6660) 2020-10-21 17:37:30 +02:00
Delyan Angelov
d67e177733 ci: run v vet over cmd/tools and cmd/v too 2020-10-21 15:26:29 +03:00
Delyan Angelov
9322e91d1b v test-fmt: add 1 sec sleep before rebuilding vfmt, to avoid its parallel recompilation afterwards 2020-10-21 15:20:07 +03:00
Delyan Angelov
87f659a0dc ci: fix should_recompile_tool/2 2020-10-21 15:07:57 +03:00
Delyan Angelov
1aa6c125d9 ci: fix v self 2020-10-21 13:43:18 +03:00
Delyan Angelov
02db94c4bc v test-fmt: reuse v.util.should_recompile_tool/2, extracted from v.util.launch_tool/3 2020-10-21 12:54:10 +03:00
Delyan Angelov
dab66593fc vlib: run vfmt over vlib files, so that v doc -m vlib/ can run without warnings 2020-10-21 12:54:10 +03:00
Ned Palacios
5b1ab3b0bb
vdoc: use maps, enum-based categorization; fixes (#6659) 2020-10-21 11:26:33 +03:00
Delyan Angelov
f3732b730a term: replace assert with panic to enable build-module for it too 2020-10-21 08:49:07 +03:00
Enzo
21db4b338b
parser: clean error when nesting unsafe (#6656) 2020-10-20 22:57:24 +03:00
Delyan Angelov
5c93f942be docs,tests: add project_with_c_code_2 (passing structs from C to V to C) 2020-10-20 17:59:48 +03:00
Delyan Angelov
0e55534c6e cgen: fix spurious autoref bug, for struct init of a &C.type field, with a byteptr value 2020-10-20 16:28:33 +03:00
Alexey
74ebce6b1f
vdoc: fix generating documentation for 3rd-party modules (#6651) 2020-10-20 02:52:56 +02:00
Lukas Neubert
f37e936321
pg, sqlite, mysql: run vfmt (#6650) 2020-10-19 20:11:04 +02:00
Alexander Medvednikov
37d6503437 parser: do not allow fn consts 2020-10-19 13:48:39 +02:00
Delyan Angelov
0d31b39f11 cgen: improve error message for <inttypes.h> 2020-10-19 12:44:53 +03:00
Delyan Angelov
d89986dd5e cgen: use a guarded include for <inttypes.h> too 2020-10-19 12:18:22 +03:00
Delyan Angelov
92d9569d5d checker: fix #include with @VROOT 2020-10-18 22:31:21 +03:00
Alexander Medvednikov
396dca7f48 checker: handle bad $if values 2020-10-18 21:22:37 +02:00
Alexander Medvednikov
30214a7700 Revert "cgen: enable new if expression implementation everywhere"
This reverts commit 958577b98b.
2020-10-18 20:19:52 +02:00
Alexander Medvednikov
958577b98b cgen: enable new if expression implementation everywhere 2020-10-18 20:14:58 +02:00
Delyan Angelov
9cf5c9ac43 tests: simplify print mode logic 2020-10-18 20:49:25 +03:00
Delyan Angelov
2440413310 tests: turn off live_test.v on macos for now (due to frequent false positives) 2020-10-18 19:45:49 +03:00
Delyan Angelov
7bc94fff9a tests: implement compact progress mode (the old one is available with -expand) 2020-10-18 19:27:29 +03:00
Alexander Medvednikov
8a68714095 cgen: new experimental simple if expression implementation 2020-10-18 15:55:18 +02:00
Delyan Angelov
2f149e6984 vfmt: fix merged param warnings in sokol's particles example and vlib/x/net/udp.v 2020-10-18 13:45:13 +03:00
Delyan Angelov
44753e62ab builder: enable v run x_test.v to allow universal make/compile commands in vim/emacs 2020-10-18 10:34:40 +03:00
Delyan Angelov
8b2e704741 examples: make v -prod build-examples pass without warnings/errors 2020-10-18 09:48:13 +03:00
Delyan Angelov
dd96ba0d24 vfmt: fix type TwoSameArgs = fn (i int, j int) string formatting 2020-10-18 08:54:29 +03:00
Delyan Angelov
5c4ba3474b vfmt: fix init_fn gg.FNCb = voidptr(0) when vfmt-ing gg.v 2020-10-18 08:42:08 +03:00
Alexander Medvednikov
55536bb364 autofree: handle more statements 2020-10-18 00:48:06 +02:00
Swastik Baranwal
acc85be5ae
checker: disallow type casting to none (#6635) 2020-10-17 20:02:30 +03:00
Delyan Angelov
9309a07438 net.openssl: update custom missing headers message 2020-10-17 19:30:50 +03:00
Lukas Neubert
dea8662d6b
cli: show help for empty root command (#6636) 2020-10-17 19:06:27 +03:00
Delyan Angelov
3c2202572b
cgen: produce cleaner error on missing C headers (with optional explanation) (#6637)
Implements support for `#include <openssl/rand.h> # Please install OpenSSL`.
2020-10-17 18:27:06 +03:00
Delyan Angelov
aad122334b vlib: fix warnings due to the vfmt change 2020-10-17 16:26:56 +03:00
Delyan Angelov
8d88b73512 parser: fix formatting 2020-10-16 17:47:23 +03:00
Delyan Angelov
140166e1cd interpolation: support '' (rounding like in C) 2020-10-16 17:28:11 +03:00
Delyan Angelov
11ee68e799 cgen: fix an interface index generation bug 2020-10-16 15:22:25 +03:00
Delyan Angelov
eab0974e7d net: allow more accurate profiling, using res := C.xxx return res instead of return C.xxx 2020-10-16 00:43:55 +03:00
Delyan Angelov
6cea20e427 tests: fix warnings in live_test.v 2020-10-15 23:15:00 +03:00
Enzo
b083f4014b
fmt: fix multiple things and format most of the compiler (#6631)
Format expressions inside string interpolation like the rest (it used to be a+b instead of a + b, not too sure why)
Fix formatting some match branches when there were only one statement inside (it was inlined)
Fix parsing and formatting some comments edge case on struct field init. You should check out this test because the result is a bit different from before. I personally find it more logical but I would understand if the former format was to stay
Fix formatting of void-returning function signature
2020-10-15 22:12:59 +02:00
Delyan Angelov
d261844da0 vweb: fix warnings about fn f(x, y Type) 2020-10-15 22:04:42 +03:00
Nick Treleaven
3c336b566d
checker: add check_expected() which returns an optional error (#6623) 2020-10-15 17:30:36 +02:00
Alexander Medvednikov
0dfd51408e autofree: use scopes to avoid dups 2020-10-15 16:26:59 +02:00
Daniel Däschle
df82ef6bc7
base64: encode_url (#6622) 2020-10-15 16:04:06 +02:00
Delyan Angelov
31ef921ef2 ci: fix warnings/errors due to the vfmt change 2020-10-15 16:17:52 +03:00
Delyan Angelov
50a2b033b7 ci: fix failing tests on windows too 2020-10-15 15:54:44 +03:00
Delyan Angelov
5d4cce3e95 ci: fix failing tests 2020-10-15 15:42:16 +03:00
Alexander Medvednikov
8b13f3b53f fmt: fix tests 2020-10-15 12:45:34 +02:00