Commit Graph

4965 Commits (788de9938ae07c94a033f33643c108dc85c4b505)

Author SHA1 Message Date
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
Delyan Angelov 3795aaab5c v test-fmt: reformat some skipped files, comment on the remaining ones 2020-10-15 00:39:09 +03:00
Delyan Angelov 46c5a2c8fc v test-fmt: fix some embedded comments in expressions 2020-10-14 22:52:33 +03:00
Delyan Angelov c33a748344 vfmt: handle more comments in interface/struct init/match branches 2020-10-14 22:52:33 +03:00
Alexander Medvednikov 6ad5ecf569 table: add "please create a gh issue" to the "compiler bug" error 2020-10-14 21:09:10 +02:00
Delyan Angelov 3c48a6e4ce tests: rename _test.v files with dup names (temp workaround for highly parallel testing) 2020-10-14 18:25:26 +03:00
Delyan Angelov d1e52620c7 crypto.hmac: implement hmac.equal/2 too 2020-10-14 17:21:48 +03:00
Alexander Medvednikov 9355c60b4d cgen: fix for mut val and enable the test 2020-10-14 13:34:49 +02:00
Alexander Medvednikov 25947a7b23 autofree: handle args in optional returns 2020-10-14 13:23:58 +02:00
Alexander Medvednikov ea09bd5e45 checker/fmt: `for mut val` fixes 2020-10-14 12:50:19 +02:00
Ekopalypse ed7e306adc
crypto: add hmac module (#6614) 2020-10-14 12:25:58 +02:00
Delyan Angelov ee0baf62ad vdoc: fix for `v doc log` 2020-10-13 18:11:57 +03:00
Alexander Medvednikov 194c2c926e doc: use the new table.type_to_str 2020-10-13 16:46:56 +02:00
Alexander Medvednikov a07f31feae all: `for mut val in vals {` (part 1) 2020-10-13 16:27:30 +02:00
Delyan Angelov d316f78f94 vfmt: remove the buggy f.type_to_str, use f.table.type_to_str from now on 2020-10-13 16:17:02 +03:00
Delyan Angelov 1123f4fcc9 vfmt: fix deep nested map types, using f.table.type_to_str 2020-10-13 16:08:25 +03:00
Nick Treleaven 78bcda14c4
checker: infer T from parameter of type `[]T` (#6611) 2020-10-13 15:15:25 +03:00
Delyan Angelov 28dea17065 ci: prevent Periodic failure, ensure VSMTP_TEST_USER/VSMTP_TEST_PASS are set in smtp_test.v 2020-10-13 09:22:28 +03:00
JalonSolov 57d705e265
ast: minor code cleanup (#6608) 2020-10-12 23:11:51 +02:00
Enzo da7d531f8f
fmt: refactor `type_to_str` (#6607) 2020-10-12 18:41:42 +03:00
Enzo 93bb7564dc
fmt: fix multiple problems with types (#6603) 2020-10-12 09:27:55 +03:00
scurty-labs 5e86b40469
gg: update draw_circle/arc x, y to f32 (#6595) 2020-10-11 20:36:18 +02:00
Delyan Angelov 62f6e65509 repl: fix `reset`; make `echo "print(2.0 * 3.14159)" | ./v` print only the result 2020-10-11 10:50:24 +03:00
Delyan Angelov c7e0a27e0d ci: fix v fmt test, by formatting cgen.v and atypes.v 2020-10-11 10:00:53 +03:00
Delyan Angelov 604b28b1c5 cgen: fix for `type FdfFn = fn(...) (x,y)` 2020-10-11 09:53:35 +03:00
Nick Treleaven b677ad9ca5
checker: fix panic on match expression without results (#6597) 2020-10-10 15:42:40 +02:00
Enzo 6038264a4c
gen: fix slicing mutable arguments (#6596) 2020-10-10 12:03:23 +02:00
Alexander Medvednikov d8d80fbf42 gg: add a missing math import and vfmt 2020-10-10 10:37:17 +02:00
Alexander Medvednikov 1332bba7af autofree: wrap up optionals 2020-10-10 10:34:51 +02:00
scurty-labs b2fdd7fbaf
gg: add draw_circle and draw_arc (#6594) 2020-10-10 10:26:08 +02:00
Xavier B d56072eb53
vweb: fix/remove todos from assets tests (#6593) 2020-10-10 00:54:46 +02:00
Delyan Angelov e862fad917 parser: support `mut static x := y` in -translated mode 2020-10-09 22:24:21 +03:00
Justin Jones 04d3ca7dbe
http: fix status codes (#6590) 2020-10-09 18:33:16 +03:00
Nick Treleaven 36706126fd
checker - improve error for `as` casting on non-sum type (#6587) 2020-10-09 16:12:12 +02:00
Ned Palacios fc375a40f8
x.json2: add fast_raw_decode; support for i64 and f32 (#6586) 2020-10-09 16:11:55 +02:00