Commit Graph

4319 Commits (8a380f4699752849bbba070d62594c78b4ee4bb4)

Author SHA1 Message Date
Delyan Angelov 8a380f4699
tools: make `v test-cleancode` test everything by default (#10050) 2021-05-08 13:32:29 +03:00
Uwe Krüger d26ac5692e
all: various fixes for [heap]/auto-heap handling (#10033) 2021-05-07 15:58:48 +03:00
Delyan Angelov 13ea92a77d
ci: use hash.fnv1a.sum64_string instead of hash.sum64_string in Parser.set_path (fix sanitize jobs) 2021-05-07 11:20:13 +03:00
Delyan Angelov ea74e2bc64
v.parser: add p.unique_prefix, add run_project_folders_test.v (closes #10023) 2021-05-06 21:14:19 +03:00
yuyi a6764e3cc3
table: fix generics struct with anon fn fields (#10024) 2021-05-06 20:24:08 +03:00
Delyan Angelov ac2eaa05c7
tests: add interface_many_named_test.v regression test (closes #10013) 2021-05-06 19:54:49 +03:00
Delyan Angelov 3aa85bb5d7
v.ast: ensure interface->types info is complete 2021-05-06 19:48:11 +03:00
Delyan Angelov 483068f071
ci: fix tests-sanitize-undefined-gcc job 2021-05-06 15:15:35 +03:00
Delyan Angelov adffae4453
v.builder: refactor to make adding other post checker stages easier 2021-05-06 14:37:49 +03:00
Delyan Angelov 2eafea6308
v: reduce the memory usage of the compiler (analysed with heaptrack) 2021-05-06 11:44:48 +03:00
Delyan Angelov 84f9789e72
v: tag more low level functions with `[direct_array_access]` 2021-05-06 00:35:16 +03:00
Delyan Angelov 3405f517a4
v.scanner: apply `[direct_array_access]` for key frequently called low level functions 2021-05-05 23:45:23 +03:00
Delyan Angelov ab39011fb9
cgen: honor `[direct_array_access]` for `a_string[idx]` too 2021-05-05 23:43:46 +03:00
Enzo 4ac751d773
os: add `signal_opt` and deprecate `signal` (#10005) 2021-05-05 15:39:02 +03:00
yuyi 7c58dfb88b
checker: fix for_in mut var unused warning (#10008) 2021-05-05 14:11:32 +03:00
zakuro 8c44873674
fmt,parser: prevent unknown module error (#10004) 2021-05-05 14:09:30 +03:00
Delyan Angelov 818983de43
v.markused: fix for `v -skip-unused ~/.vmodules/ui/examples/users.v` 2021-05-04 19:05:52 +03:00
Lukas Neubert 9e717e02c9
parser, fmt: prevent error with comment after expr inside match (#9995) 2021-05-04 18:26:10 +03:00
Louis Schmieder b8e070b2a1
orm: fix multi substructs (#9941) 2021-05-04 12:35:18 +03:00
zakuro 92a22e9ec5
ast: fix bug where fn_signature return wrong str for variadic arg (#9993) 2021-05-04 12:33:24 +03:00
Ned Palacios 177f8f585b
checker: fn_call fixes (#9994) 2021-05-04 12:31:32 +03:00
zakuro 1e856c0f94
parser: improve error message for `mod.unknownsubmod.Type` (#9976) 2021-05-04 11:31:31 +03:00
Rhialto The M c21df2d44c
v: building on NetBSD (#9953) 2021-05-03 19:50:54 +03:00
yuyi 1d045e5496
checker: check generics fn called outside of generic fn (#9984) 2021-05-03 19:50:08 +03:00
yuyi ddc003380c
checker: check generics fn that return generic struct (#9979) 2021-05-03 19:48:54 +03:00
yuyi 035fd052d1
checker: check generic struct declaration (fix #9974) (#9978) 2021-05-03 19:47:02 +03:00
Delyan Angelov ae898e77c5
v.markused: handle interface implementation methods, and vweb programs 2021-05-03 18:40:39 +03:00
Enzo 106cd384da
parser: remove obsolete exceptions (#9987) 2021-05-03 17:35:09 +03:00
Lukas Neubert 5b826b2663
fmt: keep module alias in interfaces (#9985) 2021-05-03 15:07:12 +03:00
Delyan Angelov 597a774d36
scanner: speed up Scanner.skip_whitespace (~2-3% speed up of `-o x.c cmd/v`) 2021-05-03 14:14:32 +03:00
Delyan Angelov d3f2d6f6df
cgen: speed up c_name/1 by using a map lookup, instead of a linear search in []string{} 2021-05-03 12:58:40 +03:00
pancake 9d4783a2dd
native: initial support for macos-amd64 targets (#9975) 2021-05-03 02:41:36 +03:00
Enzo fb7ddcd4c9
checker: fix looking for unprefixed `os` functions (#9968) 2021-05-02 21:46:12 +03:00
Delyan Angelov 53ae9dda4b
cgen: speed up auto generated Array_*_contains and Array_*_index methods
Uses a.data instead of array_get, since the auto generated methods
have the calls in a loop that guarantees that the bounds of the arrays
will not be exceeded, thus the inner bounds checking can be skipped.

Results in +5% improvement for V compiled with tcc, doing `v -o x.c cmd/v`,
more with -prod.
2021-05-02 20:35:04 +03:00
yuyi 581fe375cc
checker: fix generics with cascaded multi nested generic fn (fix #3815) (#9965) 2021-05-02 19:30:57 +03:00
yuyi ae22967d1d
parser: ensure generic function declaration specifies type names (fix #9959) (#9967) 2021-05-02 19:30:39 +03:00
Delyan Angelov 4b818fa2be
v: implement interface embedding (#9935) 2021-05-02 03:00:47 +03:00
Enzo 000d4d3064
checker: cleanup typeof (#9954) 2021-05-01 21:21:44 +03:00
spaceface ef63491a8c
cgen: fix calling function-pointer fields on interfaces (#9948) 2021-05-01 16:45:53 +03:00
ka-weihe daac31aec5
cgen: update wyhash (#9945) 2021-05-01 14:25:27 +03:00
yuyi f82f1977d1
tests: enable test_generic_fn_with_variadics() test (#9944) 2021-05-01 12:52:47 +03:00
yuyi fec947c7e1
ast: minor cleanup in ast.FnDecl (#9950) 2021-05-01 12:50:49 +03:00
Alexander Medvednikov c16bb7f3e4 ast: a minor format of ast.v 2021-04-30 15:36:34 +03:00
Alexander Medvednikov e949d4b26c tools/fast: add "V lines" and "V lines/s" 2021-04-30 15:31:50 +03:00
yuyi d236d6a473
parser, cgen: fix generics fn typeof name (fix #7357) (#9939) 2021-04-30 13:40:36 +03:00
yuyi 844662e0d6
cgen: fix generics fn str() (fix #7403) (#9940) 2021-04-30 13:40:07 +03:00
Louis Schmieder fb685eee18
orm: support arrays (#9936) 2021-04-30 09:13:26 +03:00
Louis Schmieder b15156d465
orm: fix mysql substructs (#9930) 2021-04-29 21:00:17 +03:00
yuyi ea0ac09297
checker: fix generics with nested external generics fn (#9933) 2021-04-29 17:37:54 +03:00
Louis Schmieder e9bbb7de3a
orm: add pg select expr (#9927) 2021-04-29 13:38:36 +03:00