Commit Graph

7355 Commits (ed7c8d5e190027b83d66dc1e64018ea315dcb293)

Author SHA1 Message Date
yuyi ed7c8d5e19
checker: fix generics return recursive generic struct (fix #10028) (#10031) 2021-05-08 14:33:09 +03:00
Cabral b5afa049e9
math: sign function (#10014) 2021-05-08 14:32:18 +03:00
Leigh McCulloch 68c8709343
io: add MultiWriter (#10021) 2021-05-08 14:21:53 +03:00
yuyi 3dfbd2351b
checker,cgen: fix generics with generic_fn type parameter (#10022) 2021-05-08 14:06:56 +03:00
zakuro 82a9add25b
cgen: insert a newline every 8 elements in array init (#10034) 2021-05-08 13:35:21 +03:00
El Koulali András 262ef7598d
checker: fix unchecked optional in match condition (#10041) 2021-05-08 13:33:13 +03:00
Delyan Angelov 8a380f4699
tools: make `v test-cleancode` test everything by default (#10050) 2021-05-08 13:32:29 +03:00
Leigh McCulloch cba2cb6b9c
crypto/sha256: make digest sum public (#10047) 2021-05-08 13:14:37 +03:00
penguindark e9d7ff751f
strconv: new decimal digits counts function (#10029) 2021-05-08 00:24:50 +03:00
Enzo 2d2b4f79cc
strings: add Builder.cut_to (#10042) 2021-05-07 19:41:27 +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
Miccah 8b50a5a171
vweb: fix route matching on `/` (#10001) 2021-05-05 14:20:40 +03:00
Miccah 12c3f85507
os: add getuid and geteuid (#10002) 2021-05-05 14:20:11 +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
penguindark 99a2fd76c8
strconv: separate v_sprintf (#10007) 2021-05-05 04:12:18 +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
Delyan Angelov 298fc533e4
ci: run `v fmt -w vlib/os/file.c.v` 2021-05-04 08:40:27 +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
Leigh McCulloch 0fa9a648ae
os: add os.stdout() and os.stderr(), returning os.File, similarly to os.stdin() (#9990) 2021-05-03 19:00:51 +03:00
Leigh McCulloch 4ba11b7752
os: deprecate os.open_stdin in favor of os.stdin (#9989) 2021-05-03 18:57:21 +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
Delyan Angelov 07f00440bf
picohttpparser: fix setting of req.body 2021-05-03 16:55:20 +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