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

4999 Commits

Author SHA1 Message Date
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
Alexander Medvednikov
3d4ab7de1e checker: update tests 2020-10-15 12:39:32 +02:00
Alexander Medvednikov
7da1afa140 all: switch to the new fn arg syntax everywhere; add lots of vfmt -verify tests 2020-10-15 12:32:28 +02:00
Alexander Medvednikov
982056894e fmt: use f(x int, y int) instead of f(x, y int) 2020-10-15 12:00:46 +02:00
Swastik Baranwal
314fae7446
checker: add more checks for hash_stmt (#6615) 2020-10-15 11:58:01 +03:00
Delyan Angelov
44a42b7273 ci: fix parser.v formatting 2020-10-15 11:41:43 +03:00
Delyan Angelov
6326b6d58e parser: add helper method p.trace/2 2020-10-15 11:09:19 +03:00
JalonSolov
a4cc1ab7e3
all: cleanup more match statements (#6616) 2020-10-15 08:08:27 +03:00