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
Nick Treleaven
f734f8167b
checker: improve error message for match branch type mismatch ( #6588 )
2020-10-09 16:11:11 +02:00
Alexander Medvednikov
c463c26983
autofree: optionals fix
2020-10-09 01:13:31 +02:00
Nick Treleaven
92630a2821
checker: error if assigning to a function ( #6581 )
2020-10-09 00:48:39 +02:00
Alexander Medvednikov
7d65e4cb10
autofree: fix and test var declarations
2020-10-08 17:10:20 +02:00
Alexander Medvednikov
1123b8259a
time: vfmt time/parse.v
2020-10-08 16:59:43 +02:00
Delyan Angelov
c3626bf2e6
vfmt: prepare for using .source_name in type_to_str
2020-10-08 14:26:12 +03:00
Swastik Baranwal
aea52af9ae
checker: add is_mut check for disallowing taking address of map's key and array's element outside unsafe ( #6573 )
2020-10-08 09:37:18 +03:00
Delyan Angelov
efce448b23
parser: always treat MainLetter(x) as a cast, even when the type is not yet known
2020-10-07 15:50:54 +03:00
Delyan Angelov
d46d607334
backporting: remove C typedef redefinitions of map_int/map_string/array_byte/array_string
2020-10-07 11:32:50 +03:00
Delyan Angelov
317a9bae5f
backporting: remove redefinition of strconv__Float64u
2020-10-07 11:06:52 +03:00
Delyan Angelov
3d0f4fd756
backporting: cleanup Makefile, use -std=gnu99 by default, honor CFLAGS and LDFLAGS (CentOS 6.9)
2020-10-07 07:05:59 +00:00
shnorbluk
b940dc4f8a
cli: help displayed when a Command has no execute function ( fix #6530 ) ( #6567 )
2020-10-07 05:39:13 +02:00
Delyan Angelov
ce302c29e4
builtin: support also [abc,def].sort(b>a)
2020-10-06 21:33:15 +03:00
Nick Treleaven
f7decfe399
checker: infer generic type T from matching fn call argument ( #6298 )
2020-10-06 15:34:02 +02:00
Delyan Angelov
8e5067421f
vet: accumulate the collected errors manually (fixes CI)
2020-10-06 10:02:35 +03:00
Delyan Angelov
70826914a7
ci: fix mut_args_warning.vv error
2020-10-06 09:38:07 +03:00
Alexander Medvednikov
256a572cbe
vet: fix vet_errors
2020-10-06 07:07:50 +02:00
Alexander Medvednikov
ed15b40529
parser: do not allow array references + explain why
2020-10-06 06:53:48 +02:00
Alexander Medvednikov
63c9b88e7f
vet: remove unnecessary &[]string
2020-10-06 06:43:28 +02:00
Alexander Medvednikov
a51c445df8
ci: vfmt -verify more important files
2020-10-06 06:32:39 +02:00
Alexander Medvednikov
d2d3289a2a
all: mark pref.Preferences field as immutable
2020-10-06 06:24:50 +02:00
Delyan Angelov
06a02c41c3
tests: reduce probability of locks during macos runs of live_test.v
2020-10-05 21:20:42 +03:00
Swastik Baranwal
d77669da80
test: add tests for disallowing map/array get element/key address ( #6568 )
2020-10-05 18:40:51 +03:00
kalapalo
4b410534dd
cgen: add C fn memfreedup to cheaders.v ( #6563 )
2020-10-05 13:14:41 +02:00
Swastik Baranwal
5f07b255bd
checker: disallow address of array and map index outside unsafe ( #6557 )
2020-10-05 13:08:30 +02:00
Ned Palacios
2b1a5d7a56
vdoc: move local scope-based doc generation to its own function ( #6565 )
2020-10-05 07:59:17 +02:00
Enzo
35a83464d0
gen: separate sumtype from classic match ( #6547 )
2020-10-04 19:50:23 +02:00
Ekopalypse
2622070f14
os: ensure that setenv creates the key on windows ( #6560 )
2020-10-04 19:43:28 +02:00
Delyan Angelov
0c174104fc
checker: allow &=,|=,^=,%= on an integer number type aliases
2020-10-04 15:29:09 +03:00
Delyan Angelov
628b136e85
checker: allow casting from floats/enums to byte
2020-10-04 14:46:24 +03:00
Marcin
aa81ebb600
scanner: fix double quotes escape ( #6474 )
2020-10-04 10:34:04 +02:00
Enzo
fd88bfbac8
fmt: fix formatting of anon args ( #6545 )
2020-10-04 06:32:47 +02:00
Leonardo Cecchi
51987e17df
pg: make `exec`, `q_int` and `q_strings` return an optional ( #6554 )
2020-10-04 06:31:47 +02:00
Enzo
c84848c417
fmt: fix formatting enum with attributes ( #6551 )
2020-10-03 21:33:02 +03:00
vmcrash
c5e46c9e55
atoi.v: add common_parse_uint2 with error code return values ( #6550 )
2020-10-03 20:57:37 +03:00
Henrixounez
c324169af0
all: remove intermediate handling for both global definition syntaxes ( #6546 )
2020-10-03 15:41:45 +02:00
Swastik Baranwal
7e13518cc2
parser: disallow match expr at certain places ( #6490 )
2020-10-03 16:30:58 +03:00
Henrixounez
a9da4dd437
parser: fix indentation to tabs ( #6548 )
2020-10-03 14:20:41 +02:00
Delyan Angelov
de77f0ba0f
vfmt: make vlib/v/table/table.v vfmt-able
2020-10-03 12:57:21 +03:00
Enzo
677b0ba2d2
gen: access fields in multi-type sumtype match ( #6541 )
2020-10-03 11:19:43 +02:00
Delyan Angelov
7b034a54e3
vfmt: make vlib/v/table/atypes.v vfmt-able
2020-10-03 11:48:12 +03:00
Henrixounez
c9574ae7d7
syntax: new global variable declaration syntax ( #6540 )
2020-10-03 07:03:44 +02:00
Leonardo Cecchi
8ac0bd44bd
pg: avoid leaking a PGconn on connection errors ( #6543 )
2020-10-03 07:03:11 +02:00
Swastik Baranwal
c8a884f57f
checker: fix typos in chan ( #6539 )
2020-10-03 06:59:30 +02:00
kalapalo
eefe067c27
cgen: fix `as` cast when sumtype is the result of a function call ( #6537 )
2020-10-03 05:04:15 +02:00
Daniel Däschle
2204bad7cf
gen: removes space on struct printing ( #6535 )
2020-10-02 13:06:02 +02:00
Delyan Angelov
70c87137a9
live_test.v: wait 5 times more on macos
2020-10-02 11:38:49 +03:00
Nick Treleaven
7c86b03505
checker: don't error if last statement in match branch produces a value ( #6523 )
2020-10-02 09:33:04 +02:00
Daniel Däschle
8e8e808fc9
gen: fix sumtype custom str ( #6534 )
2020-10-02 09:32:07 +02:00
Ekopalypse
1a7ac5e382
builtin: VectoredExceptionHandler cast on x86 ( #6525 )
2020-10-02 05:17:33 +02:00
Nicolas Sauzede
c825275f7f
pref: fix whitespace in compiler message ( #6529 )
2020-10-02 05:16:16 +02:00
Henrixounez
8152b86652
checker: detect correct len expression for multidimensional array init ( #6521 )
2020-10-02 03:12:33 +02:00
Nick Treleaven
7e720a1253
pref: do not check arguments after 'run' command ( #6524 )
2020-10-01 23:30:39 +03:00
Henrixounez
a57e01fee7
parser: dont allow single letter enums ( #6526 )
2020-10-01 23:29:49 +03:00
spaceface777
f55f2fb9d1
gen: optimize `str == ''` to `str.len == 0` for performance ( #6527 )
2020-10-01 23:28:44 +03:00
Delyan Angelov
ac384db71f
builder: cleanup .timing_message/2
2020-10-01 18:21:34 +03:00
Delyan Angelov
a0e4be04be
compiler: print more suggestions, without a good specific match
2020-10-01 17:27:31 +03:00
Henrixounez
0f1ed1ca09
scanner: add an error for unfinished string literals ( #6519 )
2020-10-01 16:40:59 +03:00
Delyan Angelov
11b16a63cf
checker: add a suggestion for misspelled struct field name errors
2020-10-01 15:36:47 +03:00
Alexander Medvednikov
f534edc371
doc: replace os.base_dir with os.dir
2020-10-01 01:30:22 +02:00
Alexander Medvednikov
4879661f5a
os: remove base_dir(); dir() and base() fixes
2020-10-01 01:25:52 +02:00
Enzo
324d547cdb
parser: allow multiple types in match branch ( #6505 )
2020-10-01 01:07:36 +02:00
Nick Treleaven
18be7b115a
checker: disallow most statements in if/match expression branches ( #6509 )
2020-09-30 16:06:22 +02:00
Lukas Neubert
3a8be4d8d9
os: home_dir() remove trailing slash ( #6512 )
2020-09-30 16:02:54 +02:00
Lukas Neubert
76e373a5f4
v help: fix newline ( #6510 )
2020-09-30 15:57:22 +03:00
Larpon
4cd5153b32
android: enable autofree ( #6503 )
2020-09-30 07:40:05 +02:00
Alexander Medvednikov
ae7689f739
autofree: simplify, clean up, and fix complex arg exprs
2020-09-30 07:27:24 +02:00
Daniel Däschle
c38a050125
cgen: fix array and map printing ( #6508 )
2020-09-30 01:26:27 +02:00
Delyan Angelov
dc954bbb03
all: use `macos` consistently in os.user_os and the compiler
2020-09-29 22:32:20 +03:00
JalonSolov
2fd6c05445
fonts: fix so it does not try for RobotoMonoMono.ttf ( #6507 )
2020-09-29 13:20:37 +03:00
Ned Palacios
1aec041371
json: fix encode/decode support for generic structs ( #6489 )
2020-09-29 03:15:00 +02:00
Nick Treleaven
05dcdfd267
pref: error if unknown argument passed to `v` ( #6487 )
2020-09-29 03:13:54 +02:00
Nick Treleaven
9f33b33803
parser: warn about ambiguous infix/prefix op token ( #6491 )
2020-09-29 03:13:10 +02:00
Alexander Medvednikov
9e31335744
pref: remove obsolete flags
2020-09-29 02:54:05 +02:00
Daniel Däschle
06cade6c31
all: change .ReturnType and .Type to .return_type and .typ ( #6494 )
2020-09-28 06:13:38 +02:00
Delyan Angelov
f9ce7f3542
vfmt: fix formatting for [4][4]int static arrays
2020-09-27 22:46:33 +03:00
Delyan Angelov
cbd7c7d8c6
tests: support VTEST_ONLY in vlib/v/fmt/fmt_keep_test.v too
2020-09-27 22:01:46 +03:00
Delyan Angelov
cfdf66c129
ci: run vfmt over checker.v
2020-09-27 17:08:28 +03:00
Delyan Angelov
220f3cc2b9
bare: update Signo enumeration
2020-09-27 16:48:25 +03:00
Delyan Angelov
a6d525eb92
ci: fix `is not a variable and cannot be locked` failing tests
2020-09-27 16:32:46 +03:00
Emily Hudson
3a869c726b
builtin: fix definition of VectoredExceptionHandler ( #6495 )
2020-09-27 15:56:30 +03:00
Delyan Angelov
03258db26d
ci: other mut vlib test fixes
2020-09-27 11:18:55 +03:00
Delyan Angelov
aa889b0edc
ci: fix vlib/x/websocket tests
2020-09-27 11:10:56 +03:00
Delyan Angelov
7c6695317c
Revert "ci: fix building v from vc"
...
This reverts commit b3f503e0ce
.
2020-09-27 10:36:26 +03:00
Delyan Angelov
b3f503e0ce
ci: fix building v from vc
2020-09-27 10:34:11 +03:00
Alexander Medvednikov
c5dc792c5d
fmt: args => params
2020-09-27 03:46:15 +02:00
Alexander Medvednikov
3d5292b63f
tcp/udp: fix mutability
2020-09-27 03:40:59 +02:00
Alexander Medvednikov
fca344d1fb
all: fn args => params
2020-09-27 03:32:56 +02:00
Alexander Medvednikov
e2c7126d11
checker: verify mutability of method args
2020-09-27 03:14:24 +02:00
Delyan Angelov
af37c7ac6b
gg: prevent messages about missing font variants without `-d debug_font`
2020-09-26 09:36:46 +03:00
Daniel Däschle
d782de5b00
gen: struct str fixes ( #6483 )
2020-09-25 23:12:33 +02:00
Delyan Angelov
b999d01de7
runtime: use GetCurrentProcessorNumber for runtime.nr_cpus()
2020-09-25 22:02:29 +03:00
Nick Treleaven
fbae0a7274
checker: warn if fn looks like a test fn but filename doesn't end in `_test.v` ( #6469 )
2020-09-25 19:26:11 +03:00
spaceface777
b44620d065
time: use linux high-precision timers on Android as well ( #6476 )
2020-09-25 18:02:02 +03:00
spaceface777
aa1d5fcbdd
flag: fix panic if flag value was not provided ( #6478 )
2020-09-25 16:31:35 +03:00
spaceface777
ae48b709ed
gg: don't call `os.is_file()` on Android (the font is part of the APK there) ( #6475 )
2020-09-25 13:06:20 +03:00
Daniel Däschle
abc98c273c
parser: require assign on type alias ( #6477 )
2020-09-25 12:02:32 +02:00
Lukas Neubert
2ea94d621f
gg: fix loading variants of many fonts in new_ft() ( #6468 )
2020-09-25 11:52:57 +02:00
spaceface777
0b95d72354
checker: comp. if branch logic fix ( #6473 )
2020-09-25 12:48:27 +03:00
Daniel Däschle
90d1a689db
gen: fix str gen for pointers in structs ( #6462 )
2020-09-24 21:14:16 +02:00
Daniel Däschle
e384dea8ac
checker: add error for amp on literals ( #6467 )
2020-09-24 21:13:46 +02:00
Alexander Medvednikov
47a62b12d4
autofree: advanced expr test
2020-09-24 19:22:16 +02:00
Alexander Medvednikov
403cd0d915
Revert "gen: scape string function in gen/str.v ( #6452 )"
...
This reverts commit 60fbcc37fc
.
2020-09-24 18:19:18 +02:00
Marcin
60fbcc37fc
gen: scape string function in gen/str.v ( #6452 )
2020-09-24 18:18:10 +02:00
Nick Treleaven
be2ac0ba89
fmt: fix writing ConcatExpr ( #6466 )
2020-09-24 18:04:39 +02:00
Delyan Angelov
dbce01792c
gg: try 3 different fonts in system_font_path on MacOS
2020-09-24 17:09:08 +03:00
Delyan Angelov
1f21bc4b49
gg: bugfix on missing font file, remove last empty line in `v doctor`
2020-09-24 16:53:06 +03:00
Nick Treleaven
3925c3fa20
parser: disallow index variable with range `for` ( #6464 )
2020-09-24 15:52:44 +03:00
Marcin
fb45e2e046
flag: fix panic on single `-`
2020-09-24 15:50:44 +03:00
Uwe Krüger
72ecc222ee
fmt: support `select` expressions ( #6460 )
2020-09-23 22:22:39 +02:00
Daniel Däschle
4f09ddccb4
cgen: implement sum type str gen ( #6454 )
2020-09-23 20:51:51 +02:00
Nick Treleaven
2886b1c67d
checker: require binary operands for &&, || ( #6449 )
2020-09-23 20:48:25 +02:00
Uwe Krüger
9c0758639b
cgen: fix `for match {...} {` and `for select {...} {` ( #6441 )
2020-09-23 06:05:12 +02:00
Alexander Medvednikov
624f22e27e
all: mutability check (part 1); enable mutable sumtype args
2020-09-22 05:28:29 +02:00
Delyan Angelov
a9ef7d173f
doctor: suggest `v doctor` in issue templates and C builder errors
2020-09-21 18:29:52 +03:00
Ned Palacios
744f685973
vdoc: document variables in a specific pos/scope; support `v doc os File` ( #6354 )
2020-09-21 17:40:39 +03:00
Swastik Baranwal
077b597bd8
scanner/parser: change error msgs for `\0` and `\x00` and add error for r`byte` and c`byte` ( #6436 )
2020-09-21 17:34:24 +03:00
Uwe Krüger
0f1c484ad1
parser/checker: `if select { ... } {` ( #6434 )
2020-09-21 07:34:04 +02:00
Alexander Medvednikov
27f91faae5
gg: remove an old compielr hack that's no longer needed
2020-09-21 02:51:14 +02:00
Alexander Medvednikov
8c8fe02000
gg: mouse_move, mouse_down
2020-09-21 02:42:53 +02:00
Leonardo Cecchi
21c5ff681b
pg: add binding for PQfinish (close) ( #6435 )
2020-09-21 01:47:37 +02:00
Henrixounez
e429a77de2
gen: named imported structs operator overloading and str methods ( #6433 )
2020-09-20 19:51:14 +02:00
Henrixounez
5086fd537c
checker: prompt error on implicit int overflow by literal ( #6410 )
2020-09-20 16:29:01 +02:00
Marcin
34884c1631
os: fix binary mode read/write on windows ( #6431 )
2020-09-20 16:28:45 +02:00
Delyan Angelov
d4fbf422b3
gg: support transparency for rect/triangle/etc primitives too
2020-09-20 12:05:30 +03:00
Uwe Krüger
4ae88c69ac
sync/select: allow push of literals and calculated expressions ( #6429 )
2020-09-20 03:50:09 +02:00
Alexander Medvednikov
c781a5f245
gg: draw_triangle(); draw_image_flipped()
2020-09-20 03:47:32 +02:00
Nick Treleaven
9958881cbe
parser: support parsing unsafe (as first token) as UnsafeExpr ( #6032 )
2020-09-19 19:18:36 +03:00
Swastik Baranwal
1c886ad067
scanner: add check for `!is_raw` for null `\0` ( #6427 )
2020-09-19 19:09:18 +03:00
Henrixounez
4b0e7fc979
checker: check if imported struct is public ( #6425 )
2020-09-19 18:16:43 +03:00
Henrixounez
4121ba9ea9
parser: fix error about multiple modules showing when eof ( #6423 )
2020-09-19 02:15:47 +02:00
Uwe Krüger
31a52cdf21
cgen: implement channel `select` block code generation ( #6424 )
2020-09-19 02:14:35 +02:00
Enzo
3126ae305c
checker: verify use of blank identifier ( #6412 )
2020-09-18 23:47:50 +02:00
Delyan Angelov
78e6ddee75
tests: enable running `v test .` inside vlib/v/ too
2020-09-18 19:20:01 +03:00
Daniel Däschle
1b9711edde
gen: fix C warnings by cleaning up skip_struct_init ( #6416 )
...
* gen: removes struct name from list which shouldn't be initialized
* gen: vfmt
* cgen: remove the skip_struct_init list
* Revert "cgen: remove the skip_struct_init list"
This reverts commit d9e1fdbb4c
.
* fix ci
* vfmt vlib/v/gen/cgen.v
Co-authored-by: Delyan Angelov <delian66@gmail.com>
2020-09-18 16:36:40 +03:00
Henrixounez
46dc6cc24b
repl: fix ctrl+z job to background on linux ( #6417 )
2020-09-18 16:34:00 +03:00
Delyan Angelov
d2badcdedf
vlib: fix more C warns on windows
2020-09-18 13:40:47 +03:00
Henrixounez
c1f04d8c72
builtin: fix min value for int_str ( #6411 )
2020-09-18 12:56:16 +03:00
Daniel Däschle
ffc8cf3925
gen: c don't generate x >= 0 check for unsigned ints in range exprs in matches ( #6414 )
2020-09-18 12:53:19 +03:00
Daniel Däschle
f7aa9cb0c5
vlib: fix C warning for UNICODE macro redefinition on windows ( #6415 )
2020-09-18 12:51:55 +03:00
Henrixounez
c02a0f90df
checker: prompt error on script expression while inside a file with main ( #6400 )
2020-09-18 01:14:14 +02:00
Henrixounez
4038ac463c
gen: bytes array print not ending prematurely when null byte ( #6401 )
2020-09-18 01:12:32 +02:00
Nick Treleaven
14743458e5
checker: tweak error messages for `or` block; use proper type names ( #6377 )
2020-09-18 01:09:00 +02:00
Daniel Däschle
f59b771c76
parser: fix nested amp ( #6402 )
2020-09-18 01:04:56 +02:00
Nick Treleaven
69c592e0d6
checker: disallow infix op on an optional type ( #6406 )
2020-09-18 01:03:55 +02:00
Henrixounez
99574e465d
scanner: allow escape on null character ( #6404 )
2020-09-18 01:02:06 +02:00
Enzo
a1e127ae46
checker: check type in `is` InfixExpr ( #6407 )
2020-09-18 01:01:05 +02:00
spaceface777
ff92c3409d
ast: merge `IfExpr` and `CompIf` ( #6011 )
2020-09-18 00:58:54 +02:00
Seven Du
98e6d25b42
vweb: make ip() to return peer_ip work ( #6399 )
2020-09-17 10:38:39 +03:00
Delyan Angelov
6f7bb30b0a
tests: fix strconv.v_sprintf arrity mismatch in format_test.v
2020-09-17 00:33:25 +03:00
Delyan Angelov
80b150d3ad
strconv.v_sprintf: add runtime checks&panics on arrity mismatches
2020-09-17 00:24:33 +03:00
Lukas Neubert
2464deec82
cli: improvements to help and error messages ( #6375 )
2020-09-16 22:01:44 +02:00
Henrixounez
608df40058
checker: fix error declaration on a value ( #6390 )
2020-09-16 22:01:15 +02:00
Delyan Angelov
e2e683199d
time: do not panic on time.new_time({unix: 1608854400}).str()
2020-09-16 22:14:02 +03:00
Daniel Däschle
c960b5979e
vlib: fix incompatible pointer warning ( #6385 )
2020-09-16 17:40:02 +03:00
Uwe Krüger
1bc9063573
parser: implement parsing of `select` block ( #6379 )
2020-09-16 15:34:57 +02:00
Daniel Däschle
3a795e6d9b
gen: fixes C warnings by appending U after unsigned integer literals ( #6384 )
2020-09-16 15:50:41 +03:00
Delyan Angelov
5da698b4bf
tests: add support for skipping tests in vlib/v/compiler_errors_test.v too
2020-09-15 19:56:52 +03:00
Nick Treleaven
b552c29bef
os: add fn `read_bytes_into` with buffer argument ( #6365 )
2020-09-14 15:34:34 +02:00
Delyan Angelov
a9bd6acd52
builtin: fix new_dense_array (avoid the &string(int(...)) bug generating (int*) )
2020-09-14 16:26:25 +03:00
Delyan Angelov
bbf4983524
autofree: add option_reassigned.v and option_simple.v tests.
2020-09-14 13:04:24 +03:00
Alexander Medvednikov
bffa100aa6
autofree: optional fix
2020-09-13 21:36:33 +02:00
Delyan Angelov
2bd4355a4c
os: add check for path.len == 0 in vfopen
2020-09-13 18:08:58 +03:00
Delyan Angelov
8c71ba8912
os: add more error checking for os.read_bytes and os.read_file
2020-09-13 18:03:19 +03:00
Alexander Medvednikov
68948c7947
checker: vfmt checker.v
2020-09-13 16:21:40 +02:00
Tomas Hellström
a160038e1a
ci: re-enable autobahn tests (without autofree) ( #6360 )
2020-09-13 16:20:22 +02:00
Vasilis Katsifolis
43942057a4
checker: fix a type check that caused a C error #6238 ( #6358 )
2020-09-13 15:19:53 +02:00
Uwe Krüger
168daebccf
sync/channels: fix bug that caused 100% CPU on block ( #6357 )
2020-09-13 15:13:06 +02:00
Alexander Medvednikov
fc88f43e50
autofree: make optional methods work
2020-09-13 03:20:34 +02:00
Alexander Medvednikov
f337980e52
autofree: move tmp var generation to a separate method
2020-09-13 03:18:13 +02:00
Alexander Medvednikov
9149d8ecb5
autofree: a small simplification
2020-09-13 03:12:09 +02:00
Alexander Medvednikov
f074d766e5
ci: disable gitly autofree build for now
2020-09-13 03:06:16 +02:00
Alexander Medvednikov
db51ee08ea
autofree: more fixes in optionals
2020-09-13 03:00:45 +02:00
Yağızcan Değirmenci
e77c4c182d
sqlite: fix indentation in readme ( #6356 )
2020-09-12 16:42:35 +02:00
Alexander Medvednikov
b74c1805d7
cgen/autofree: fix and simplify optionals
2020-09-12 16:40:52 +02:00
Delyan Angelov
37311883c1
tests: add optional_method_err.vv
2020-09-12 13:12:06 +03:00
Delyan Angelov
0801f88d0a
tests: cleanup vlib/v/checker/tests/run ; add unused_variable_warning.vv
2020-09-12 12:33:17 +03:00
Delyan Angelov
60ecb7e4b6
os: change f.write and f.writeln to return options too
2020-09-12 08:39:28 +03:00
Oghogho Odemwingie
332f3a924c
builtin: consume matched string length in string.replace_each ( #6349 )
2020-09-12 02:31:06 +02:00
Uwe Krüger
b10d79c4d9
sync/channels: fixes for `try_push/pop()`, optimizations ( #6352 )
2020-09-12 02:29:11 +02:00
Sandro Martini
07b5d6b1b6
vweb: add mime type for json static content ( #6347 )
2020-09-11 23:14:44 +03:00
Delyan Angelov
96c22a26b9
tests: cleanup if_smartcast_test.v
2020-09-11 22:00:13 +03:00
Delyan Angelov
40ed2e1b3d
builtin: use C.write for print/eprint . Call C.SetConsoleOutputCP(C.CP_UTF8) on windows
2020-09-11 16:20:35 +03:00
Delyan Angelov
d46c1f0f20
tests: fix sporadic waitgroup failure on slow windows VMs in anon_fn_test.v
2020-09-11 16:00:24 +03:00
Daniel Däschle
ce62f997f3
all: better type error positions ( #6345 )
2020-09-11 14:37:14 +02:00
Alexander Medvednikov
62a692b29c
checker: make the "unnecessary default" error a warning for now
2020-09-11 13:59:28 +02:00
Alexander Medvednikov
53bed596e7
autofree: do not free _ vars
2020-09-11 13:58:12 +02:00
Alexander Medvednikov
e0d20eadff
autofree: free strings on re-assignments
2020-09-11 13:55:20 +02:00
Alexander Medvednikov
17882db635
autofree: disable ?string test for now
2020-09-10 22:19:18 +02:00
Delyan Angelov
ce6d2759f5
os: add os.open_stdin/0 and os.File.get_line/0
2020-09-10 16:57:03 +03:00
Alexander Medvednikov
67cc515e74
autofree: ?string test
2020-09-10 13:41:30 +02:00
Alexander Medvednikov
03327e5161
time: minor fixes + vfmt
2020-09-10 13:26:01 +02:00
Ned Palacios
368c2a6bf0
vlib: add x/json2 ( #6336 )
2020-09-10 12:05:40 +02:00
Alexander Medvednikov
bc8aab4775
checker: fix := test
2020-09-09 17:59:51 +02:00
Alexander Medvednikov
3956ea4665
Revert "checker: fix := test"
...
This reverts commit 818220de45
.
2020-09-09 17:55:48 +02:00
Alexander Medvednikov
818220de45
checker: fix := test
2020-09-09 17:50:14 +02:00
Alexander Medvednikov
5d484bf022
checker: better error message for incorrect `mut x :=`
2020-09-09 17:27:16 +02:00
Daniel Däschle
3a146a6dbe
checker: fix error pos on default value ( #6338 )
2020-09-09 15:34:41 +02:00
Alexander Medvednikov
78e28a72ed
doc: vfmt and make compile
2020-09-09 14:24:42 +02:00
Alexander Medvednikov
cb43084e26
regex: fix compilation
2020-09-09 14:18:06 +02:00
Alexander Medvednikov
ea31f75098
checker: more default field fixes
2020-09-09 14:14:44 +02:00
Alexander Medvednikov
925f1781b3
checker: default field fixes
2020-09-09 14:05:56 +02:00
Alexander Medvednikov
e018509ba6
checker: test for unnecessary default struct field values
2020-09-09 13:59:52 +02:00
Nick Treleaven
eb95a4333a
table: rename Arg to Param ( #6337 )
2020-09-09 13:21:11 +02:00
Swastik Baranwal
ea2b2ebc07
checker: modify error messages for ptrs ( #6325 )
2020-09-09 10:07:58 +02:00
bpryer
3f7970db52
term: add get_cursor_position and set_terminal_title ( #6279 )
...
* added functions
added:
- get_cursor_position()
- set_terminal_title(title string)
* implement term.get_cursor_position and term.set_terminal_title on unix
* Cleanup
* make x,y fields of term.Coord mutable
* fix vrepl compilation
* use more descriptive var names in term_test.v
* do not change the current terminal title in dumb terminals; do not test term.set_terminal_title outside of CI
* unix: in term.set_terminal_title, return true even for dumb terminals
Co-authored-by: Brent Pryer <brent@pryermachine.com>
Co-authored-by: Delyan Angelov <delian66@gmail.com>
2020-09-08 22:00:10 +03:00
Nick Treleaven
49c322f120
checker: simplify argument qualifier errors ( #6321 )
2020-09-08 19:34:17 +02:00
Ruofan XU
90128ed4ee
cc: add support for tcc backend on windows-i386 ( #6297 )
2020-09-08 15:15:35 +02:00
Larpon
1c5b9db63f
io: introduce a go-like io.util module ( #6323 )
2020-09-08 14:17:01 +02:00
Enzo
18034bb95c
gen: fix multiple call of expression in match ( #6324 )
2020-09-08 00:38:24 +02:00
Uwe Krüger
5258f52497
fmt: add support for `chan` types and operations ( #6328 )
2020-09-08 00:36:05 +02:00
Maciej Obarski
9a5b86e454
arrays: common methods - min, max, idx_min, idx_max, shuffle, merge ( #6177 )
2020-09-07 13:50:53 +02:00
Nick Treleaven
497bf226e2
add TESTS.md file to explain different tests ( #6318 )
2020-09-07 13:48:15 +02:00
Uwe Krüger
2cb711ee15
checker/channels: check `mut`/`&` state of transmitted objects ( #6315 )
2020-09-06 21:24:41 +02:00
Enzo
601d098b48
szip: make compile ( #6314 )
2020-09-06 15:04:27 +02:00
Larpon
51d7d7cfae
os: fix os.mv edge case and Windows style paths ( #6302 )
2020-09-06 13:12:07 +02:00
Alexander Medvednikov
9fbea31f47
autofree: fix exprs N levels deep
2020-09-06 13:02:32 +02:00
Uwe Krüger
047bf02985
builtin: fix `in` for various numeric types ( #6311 )
2020-09-06 12:45:02 +02:00
Larpon
b4b898b769
os: enable is_file tests ( #6312 )
2020-09-06 12:39:02 +02:00
Uwe Krüger
4d2c8a40d6
sync/atomic2: support 32 bit platforms ( #6308 )
2020-09-05 14:44:16 +02:00
Alexander Medvednikov
3410705974
autofree: lots of fixes
2020-09-05 12:00:35 +02:00
Uwe Krüger
b015033c53
builtin: add methods to builtin channels ( #6303 )
2020-09-05 01:36:20 +02:00
Pavel Kolesnikov
246fe3bfb7
builder: cc_linux_cross() fixes ( #6287 )
2020-09-05 01:35:35 +02:00
Xavier B
8ef55bd8c9
checker: add checks for map key/value types ( #6283 )
2020-09-04 23:59:54 +02:00
Larpon
81778e507f
os: is_file() ( #6301 )
2020-09-04 22:27:52 +02:00
Larpon
efa49bfbb7
os: make behave more like Unix "mv" command ( #6300 )
2020-09-04 13:08:47 +02:00
Alexander Medvednikov
333f355e23
Revert "cgen: handle variables called "array""
...
This reverts commit cc714ca5cc
.
2020-09-03 02:43:26 +02:00
Uwe Krüger
b8617ace53
checker: do not allow aliases of `chan` types ( #6294 )
2020-09-03 02:03:31 +02:00
Alexander Medvednikov
cc714ca5cc
cgen: handle variables called "array"
2020-09-03 02:01:21 +02:00
Pavel Kolesnikov
a3ee217537
builder: use tar instead of unzip in cc_linux_cross() ( #6286 )
2020-09-02 10:09:06 +02:00
spaceface777
35cbca96e1
checker: implement `[required]` struct field attribute ( #6276 )
2020-08-31 23:15:40 +02:00
spaceface777
bd304f1141
checker: check number of fields in short struct inits ( #6280 )
2020-08-31 22:17:59 +02:00
spaceface777
60a9d49382
cgen: implement `[export: 'FooBar']` attribute ( #6278 )
2020-08-31 21:52:25 +02:00
Sandro Martini
39da5eca89
vweb: hide debug prints
2020-08-31 19:39:46 +02:00
Uwe Krüger
cbcba2e4cf
parser: enable module auto import (of `sync`) ( #6271 )
2020-08-31 10:44:39 +02:00
florin
b1a8e1e5b2
vweb: escape form key, not only value. ( #6269 )
2020-08-30 19:09:12 +02:00
Xavier B
d33f68ff54
x.websocket: remove debuging leftover ( #6264 )
2020-08-30 19:35:47 +03:00
Nick Treleaven
5d3d14da53
cgen: support `typeof(expr).name` ( #6253 )
2020-08-30 08:56:18 +02:00
Uwe Krüger
c351f8fa47
checker, builtin: prepage for builtin channels ( #6262 )
2020-08-30 08:55:31 +02:00
Delyan Angelov
718a4692dd
os: enable test_write_and_read_bytes again
2020-08-29 07:43:31 +03:00
Uwe Krüger
fe8286c53c
checker: implement implicit conversions/promotions to `rune` ( #6249 )
2020-08-29 01:59:07 +02:00
Maciej Obarski
7bd2804ce9
all: automatic error propagation in place of "or { return(err) }"
2020-08-29 01:58:03 +02:00
Uwe Krüger
4d425b0e6d
fmt: insert space in front of `?` for propagation ( #6250 )
2020-08-29 01:56:43 +02:00
Delyan Angelov
30fc374fc5
os.args: fix os.args[0] when compiling graphical apps on windows
2020-08-28 22:39:52 +03:00
Nick Treleaven
7dbae14e19
checker: error on `mut name =` ( #6247 )
2020-08-28 20:07:32 +03:00
Delyan Angelov
5d18ece661
ci: fix msvc finding (3)
2020-08-28 20:06:41 +03:00
Delyan Angelov
68864d0703
ci: fix msvc finding (2)
2020-08-28 19:58:17 +03:00
Delyan Angelov
317d15dbe9
ci: fix finding the msvc compiler on windows
2020-08-28 19:48:18 +03:00
Delyan Angelov
3d8a35ced6
ci: fix compiler error tests on windows
2020-08-28 19:27:41 +03:00
Delyan Angelov
dde1b89c5e
vup: remove empty new line on unix
2020-08-28 19:09:47 +03:00
Maciej Obarski
2ce5797ec2
os: vfopen returns option now ( #6244 )
2020-08-28 14:24:00 +02:00
Alexander Medvednikov
789674bd5a
tests: autofree: use -experimental flag
2020-08-28 10:22:28 +02:00
Alexander Medvednikov
0890562663
tests: autofree tmp expr test
2020-08-28 10:08:32 +02:00
Swastik Baranwal
39bf02ea68
checker: add error for arr1 <,>,>=,<= arr2 ( #6243 )
2020-08-28 11:08:07 +03:00
Delyan Angelov
88f75fc1d6
builder: cleanup cc.v; log build_thirdparty_obj_files with `-v`
2020-08-28 09:38:52 +03:00
spaceface777
d663f57d43
parser: move flag logic to checker ( #6239 )
2020-08-28 09:24:04 +03:00
Delyan Angelov
5526954fdc
vdoc: cleanup warnings on `./v doc -s vlib`
2020-08-28 09:03:22 +03:00
Delyan Angelov
d80843bf53
vdoc: parse with `enable_globals: true`
2020-08-28 08:53:12 +03:00
Delyan Angelov
0975f3bd4c
vfmt: support `x chan Name` in fn args
2020-08-28 01:54:16 +03:00
Delyan Angelov
8f5ca29fcd
vfmt: support `x := chan Name{cap: 123}`
2020-08-27 23:37:39 +03:00
Alexander Medvednikov
27702b5a5d
fast: update V with v up instead of git pull
2020-08-27 18:07:28 +02:00
Alexander Medvednikov
a14c6c1ffe
autofree: another tmp arg fix
2020-08-27 17:54:36 +02:00
Larpon
d982aa54e8
os: add missing documentation ( #6234 )
2020-08-27 16:57:01 +02:00
spaceface777
eff319f869
comp_for: allow checking full mehod and arg types ( #5997 )
2020-08-27 15:00:44 +02:00
Delyan Angelov
7476428def
vfmt: handle comments after last const field
2020-08-27 15:07:49 +03:00
Delyan Angelov
8f5cefb116
strconv: fix f64_to_str_lnd and f64_to_str_l after 6921d46
2020-08-27 14:22:04 +03:00
Alexander Medvednikov
c01d17fcc4
tests: fix array_test.v
2020-08-27 13:12:04 +02:00
Alexander Medvednikov
15bdb8f7cd
autofree: tmp arg var frees fixes
2020-08-27 11:30:35 +02:00
Delyan Angelov
3b03edd7cb
repl: fix compilation after 6921d46
2020-08-27 12:20:31 +03:00
Delyan Angelov
8b3990225a
v.checker: run vfmt over vlib/v/checker/checker.v
2020-08-27 12:09:08 +03:00
Delyan Angelov
f73506be49
tests: fix some byte->rune errors
2020-08-27 12:08:05 +03:00
Stunx
fa3e95222e
doc: ignore sokol.sapp ( #6228 )
2020-08-27 08:35:04 +02:00
Xavier B
3e9dc578de
checker: disallow interfaces inside sum types ( #6232 )
2020-08-27 08:33:59 +02:00
Alexander Medvednikov
8dcc73993e
net: remove old websocket module
2020-08-27 07:33:59 +02:00
Alexander Medvednikov
6921d46185
all: rune type for `` literals
2020-08-27 06:46:37 +02:00
Delyan Angelov
99dd72efea
tests: add another test for 47f59d3
2020-08-26 11:46:29 +03:00
Delyan Angelov
47f59d3fb6
v.scanner: fix error line numbers when comments end with CRLF
2020-08-26 11:39:32 +03:00
Alexander Medvednikov
84b8e0a7e4
tests: enable live tests on macos
2020-08-26 06:50:32 +02:00
Uwe Krüger
393b46a6dd
channels: make `ch.len` and `ch.cap` available as properties ( #6221 )
2020-08-26 06:41:51 +02:00
Delyan Angelov
7879510ef5
live: fix hot code reloading on macos (use .dylib, not .so)
2020-08-25 21:40:45 +03:00
Alexander Medvednikov
a55bea44da
table: register rune type
2020-08-25 18:15:24 +02:00
Delyan Angelov
cc82ed28f8
tests: enable running fmt_vlib_test.v on != freebsd platforms again
2020-08-25 19:09:47 +03:00
Delyan Angelov
e3f79df3ac
tests: support .vv in compiler_test.v too
2020-08-25 18:52:28 +03:00
Delyan Angelov
55fdae77d5
tests: add .vv support for `v vet` too, and simplify vet_test.v
2020-08-25 18:46:33 +03:00
Delyan Angelov
86dfd3902f
tests: use .vv files directly in compiler_errors_test.v
2020-08-25 18:14:06 +03:00
Delyan Angelov
f259d275fc
tests: bump simple_tcp_client retries to 20
2020-08-25 17:52:44 +03:00
Delyan Angelov
7b7ab580ab
tests: add retry logic in simple_tcp_client in vweb_test.v
2020-08-25 17:05:40 +03:00
Delyan Angelov
1619beda91
tests: fix repl_test.v
2020-08-25 15:59:07 +03:00
Delyan Angelov
ceca1547fb
valgrind: fix valgrind_test.v
2020-08-25 15:48:11 +03:00
Alexander Medvednikov
c8b3cd2957
tests: simplify valgrind tests, remove .vv
2020-08-25 13:58:21 +02:00
Alexander Medvednikov
33b4ff75d0
builder: handle bad extensions and support .vv
2020-08-25 13:32:27 +02:00
Nick Treleaven
818db91a9e
parser: warn if PostfixExpr followed by `]` or `)` token ( #6214 )
2020-08-25 08:50:06 +02:00
Nick Treleaven
479bfa28de
cgen: implement fixed array `.len` property ( #6212 )
2020-08-25 08:48:28 +02:00
Nick Treleaven
8e4ee54070
glm: fix pointer indexing warnings ( #6215 )
2020-08-25 08:48:05 +02:00
Delyan Angelov
995a5fed1f
v.builder: add -DNDEBUG for non debug -prod builds (affects sokol performance)
2020-08-24 23:10:22 +03:00
Delyan Angelov
3efa670d6a
sokol: add new mouse_dx and mouse_dy fields (fix for Android multitouch)
2020-08-24 23:01:14 +03:00
Xavier B
32a894719e
x.openssl: remove printlns ( #6205 )
2020-08-24 17:20:03 +02:00
Nick Treleaven
acc5c95f0d
checker: error with `*expr` if not a pointer ( #6211 )
2020-08-24 17:19:17 +02:00
Alexander Medvednikov
d547f74cb0
checker/cgen: interface smart casts
2020-08-24 11:10:26 +02:00
Maciej Obarski
e8e0d9fa42
all: [direct_array_access] tag ( #6203 )
2020-08-24 09:04:50 +02:00
Alexander Medvednikov
702a80fc5a
x.net: fix new_tcp_socket()
2020-08-24 03:24:00 +02:00
Delyan Angelov
fa8f5df817
sokol: fix compilation of 2048 on some linux distros (undefined XIQueryVersion and XcursorImageCreate)
2020-08-23 22:17:05 +03:00
Delyan Angelov
2e589a5b0b
sokol.audio: add proper #flag for windows (-lole32)
2020-08-23 21:15:59 +03:00
Delyan Angelov
e71aff71ce
sokol.audio: fix compilation on macos (link with -framework AudioToolbox)
2020-08-23 20:55:01 +03:00
Delyan Angelov
dad2c6608e
examples: implement examples/sokol/sounds/wav_player.v
2020-08-23 20:49:37 +03:00
Delyan Angelov
1c9e02094c
sokol.audio: add simple_sin_tones.v example
2020-08-23 15:28:07 +03:00
Alexander Medvednikov
542b149290
sokol: fix examples and remove copy pasta
2020-08-23 07:47:50 +02:00
Alexander Medvednikov
94c3a912ba
gg: update sokol and stb_truetype
2020-08-23 07:25:30 +02:00
Alexander Medvednikov
5407d9b062
gg: fix draw_line on hi dpi screens
2020-08-23 04:57:12 +02:00
Swastik Baranwal
b2e79dbebd
parser: add an error for `import mod.sub as mod` and `import mod as mod` ( #6194 )
2020-08-23 02:12:25 +02:00
Uwe Krüger
61df70fdf5
all: enable `x = <-ch or {...}` ( #6195 )
2020-08-23 02:12:05 +02:00
Alexander Medvednikov
7dfae2384b
builtin: remove asl.h include
2020-08-22 17:22:14 +02:00
Alexander Medvednikov
9e12095111
gg: image: return an optional instead of panic(); darwin: fix nsstring()
2020-08-22 17:09:30 +02:00
Delyan Angelov
0bdb096bfa
x.net: use port 45123 in tcp_test.v, preventing sporadic `socket error 98` conflicts with websocket_test.v
2020-08-22 15:29:29 +03:00
Delyan Angelov
94ced907d2
sort: fix C compilation error for `fn abc(mut a []int) { a.sort() }`
2020-08-22 15:20:49 +03:00
Yarila682
7dde82322a
cgen: fix dereferencing a mutable array ( #6191 )
2020-08-22 12:48:09 +02:00
Daniel Däschle
fcc61a981d
all: TypeSymbol.source_name ( #6187 )
2020-08-22 12:29:15 +02:00
Delyan Angelov
b5ca114a96
ui: fix compiling the calculator ui example with tcc
2020-08-22 12:58:48 +03:00
Nick Treleaven
98c39a37c0
scanner: warn about interpolation for `$f(expr)` ( #6179 )
2020-08-22 05:48:06 +02:00
Alexander Medvednikov
793d2ce6dc
stbi: more clear panic message
2020-08-22 00:51:16 +02:00
Tomas Hellström
fb148e0b61
x.websockets: new websockets module on top of x.net ( #6189 )
2020-08-22 00:50:38 +02:00
Nick Treleaven
1b914d217e
fmt: don't remove `mut` from `if mut` smart cast ( #6188 )
2020-08-22 00:00:02 +02:00
Delyan Angelov
06967d9297
sort: require a mutable receiver
2020-08-21 21:19:37 +03:00
Lukas Neubert
93e6c3df6a
cli: various improvements ( #6180 )
2020-08-20 23:14:53 +02:00
Emily Hudson
b88569c845
x.net: new net module ( #6130 )
2020-08-20 23:01:37 +02:00
Delyan Angelov
9b171b76e0
os: call os.real_path/1 before returning in os.find_abs_path_of_executable/1
2020-08-20 19:23:19 +03:00
Daniel Däschle
0c183da116
checker: fix sort return type ( #6182 )
2020-08-20 17:29:40 +03:00
Delyan Angelov
e8ff94fb8b
net.html: simplify map setting (fixes compilation with tcc on aarch64)
2020-08-20 16:45:54 +03:00
Delyan Angelov
dfc4298125
tests: return early in x64_test.v on non AMD64 machines
2020-08-20 15:42:26 +03:00
Delyan Angelov
8c7bcad6b1
cgen: support for `$if amd64 {}` and `$if aarch64 {}`
2020-08-20 15:28:37 +03:00
Lukas Neubert
6eea13ecc2
clipboard: wrap pointer indexing in unsafe block ( #6178 )
2020-08-20 10:33:12 +02:00
Alexander Medvednikov
9da7349f63
gg: minor fixes
2020-08-20 08:32:05 +02:00
Lukas Neubert
88bca9d17a
clipboard: wrap vstring call in unsafe ( #6170 )
2020-08-19 16:06:23 +02:00
Nick Treleaven
217f04e311
checker: disallow casting to bool, use `some_int != 0` instead ( #6138 )
2020-08-19 14:37:55 +02:00
Alexander Medvednikov
55b025413d
fmt: temporary struct attr fix
2020-08-19 14:33:45 +02:00
Larpon
d9aae023b1
android: initial support for C output using sokol_main ( #6164 )
2020-08-19 11:00:15 +02:00
spaceface777
c1651bd271
gg: fixes and Android support ( #6161 )
2020-08-19 07:10:42 +02:00
jhuntos
c42ca84850
pg: fix array init warnings ( #6163 )
2020-08-19 07:10:09 +02:00
Nick Treleaven
e69f091bbd
parser: require `(` on same line as name token for fn call or cast ( #6160 )
2020-08-19 02:37:17 +02:00
Alexander Medvednikov
51bd69cdd8
cgen: fix u64 in struct str()
2020-08-18 16:05:11 +02:00
Delyan Angelov
7727aad90f
net.http: fix windows compilation warning
2020-08-18 12:14:21 +03:00
Delyan Angelov
2f6757a56a
Revert "cgen: fix all -Wmissing-variable-declarations ( #5802 )"
...
This reverts commit ae349ca6ba
.
Fixing these warnings, unfortunately also means, that hot code
(which reloads a shared library during runtime) can not use V
constants, because the private static C variables in the shared
library will not be initialized by _vinit(), which is only called
by the main V program.
For example in examples/hot_reload/bounce.v, using `gx.blue`,
defined as:
` blue = Color { r: 0, g: 0, b: 255 }`
... will instead use a const with all 0 fields (i.e. a black color).
2020-08-18 11:55:55 +03:00
Delyan Angelov
937a3e14c5
cgen: add g.options_typedefs, g.shared_types, g.channel_definitions
2020-08-18 11:45:36 +03:00
Alexander Medvednikov
40d91cc23b
gg: handle bad image index
2020-08-18 01:08:58 +02:00
joe-conigliaro
c599a4c7de
checker: remove pos+1 on innermost call
2020-08-18 07:39:40 +10:00
Uwe Krüger
0d7cc8829a
cgen: implement channel `push()`/`pop()` using `<-` operator ( #6154 )
2020-08-17 23:35:36 +02:00
JalonSolov
5c98c0760b
gg: use OpenGL on Windows until D3D issues resolved ( #6155 )
2020-08-17 23:34:51 +02:00
Daniel Däschle
b5c1ea44dc
all: fix mutability after if-smartcast ( #6129 )
2020-08-17 21:11:11 +02:00
Nick Treleaven
36c98b3e5d
cgen: implement fixed array 'for in' for lvalue condition ( #6151 )
2020-08-17 21:10:47 +02:00
Swastik Baranwal
46b4e2a0cd
checker: check`match` types ( #6149 )
2020-08-17 20:19:21 +02:00
Sandro Martini
dab639662f
http: fix new warnings ( #6153 )
2020-08-17 20:17:17 +02:00
Irabaruta Freeman
fa11e124dd
term: add documentation ( #6097 )
2020-08-17 20:16:18 +02:00
Uwe Krüger
9a5f040f72
all: handle `<-` arrow token for channel operations ( #6152 )
2020-08-17 20:12:00 +02:00
joe-conigliaro
c01fd4ac58
parser: remove extra scopes from if & match & fix scope end_pos
2020-08-18 01:51:25 +10:00
Nick Treleaven
6ba6a22a77
checker: prevent from casting non-struct to struct ( #6143 )
2020-08-17 11:19:44 +02:00
Uwe Krüger
0c7d73c8b0
sync/channels: use references for `chan mut X` testcase ( #6145 )
2020-08-16 23:01:49 +02:00
Alexander Medvednikov
b2059c481a
checker: fix an incorrect name test
2020-08-16 19:24:00 +02:00
Alexander Medvednikov
f965ddae49
parser: handle several errors in types; cgen: objC includes
2020-08-16 19:16:59 +02:00
Delyan Angelov
191c908f3a
tests/valgrind: vfmt fn_with_return_should_free_local_vars.vv
2020-08-16 13:22:32 +03:00
Delyan Angelov
fbe02c5ae1
tests/valgrind: add skipped fn_with_return_should_free_local_vars.vv (-autofree)
2020-08-16 13:20:02 +03:00
Delyan Angelov
fc7a108366
v.builder: fix quoting when building thirdparty source files
2020-08-16 10:18:14 +03:00
Yarila682
29528196f2
os: close opened file descriptors in `cp()` ( #6142 )
2020-08-16 04:55:10 +02:00
Nick Treleaven
bab5c21224
parser: warn when fixed-size ArrayInit doesn't have trailing `{}`. ( #6137 )
2020-08-16 04:54:05 +02:00
Enzo
a02593204f
checker: forbid aliasing an alias ( #6118 )
2020-08-16 04:53:16 +02:00
Vinicius Rangel
bf065674cc
json: maps, memory leak, and error forwarding ( #6116 )
2020-08-16 02:30:37 +02:00
Delyan Angelov
e7b2aefd36
v.pref: handle `|` as separators in -path option parsing again (as documented in the help)
2020-08-15 22:09:40 +03:00
Uwe Krüger
c2b4c645a1
sync/channels: document more benchmark results ( #6135 )
2020-08-15 11:20:51 +02:00
Nick Treleaven
0f0a91fc9e
parser: support custom fixed size ArrayInit: `[3]int{init: -1}` ( #6114 )
2020-08-15 11:01:54 +02:00
spaceface777
5f3ced7213
builder: only include `os` when building `.vsh` files ( #6134 )
2020-08-14 21:57:32 +02:00
Uwe Krüger
9602a25a0b
all: add builtin channel type `chan elem_type` ( #6126 )
2020-08-14 21:18:42 +02:00
Nick Treleaven
75212f9fab
cgen: error if ForInStmt is not handled ( #6131 )
2020-08-14 21:01:43 +02:00
Daniel Däschle
b2fee21ef3
checker: check struct casting ( #5864 )
2020-08-14 14:57:08 +02:00
Nick Treleaven
6016f28171
cgen: fix assigning ArrayInit to fixed array: `a = [3]int` ( #6115 )
2020-08-14 13:57:00 +02:00
Nick Treleaven
078ab47a9a
cgen: support `==`, `!=` on FixedArray ( #6119 )
2020-08-14 02:03:38 +02:00
Delyan Angelov
2ad2b4c5ba
vweb: add more tests. Fix missing Content-Length: header bug on 404.
2020-08-14 02:49:15 +03:00
Delyan Angelov
712f4bd7f8
vweb: add tests
2020-08-14 00:52:02 +03:00
Alexander Medvednikov
fc1f41fc84
checker: fix a string error test
2020-08-13 23:33:18 +02:00
Alexander Medvednikov
88cde776e7
checker: more clear string error
2020-08-13 23:21:15 +02:00
Delyan Angelov
8580a0bcd7
cgen: run vfmt to silence `./v fmt -verify`
2020-08-13 21:22:52 +03:00
Delyan Angelov
a62307f711
vweb: fix body appending (missing closing json bracket)
2020-08-13 21:07:31 +03:00
Daniel Däschle
64e8125807
cgen: fixe calling anon fn asynchronously ( closes #6088 ) ( #6121 )
2020-08-13 20:06:56 +02:00
Daniel Däschle
34b28cb68a
fmt: fix anon fn call ( #6120 )
2020-08-13 20:05:59 +02:00
Delyan Angelov
1135dffe2d
cgen: prevent generation of duplicate interface method wrappers
2020-08-13 20:56:58 +03:00
spaceface777
2353814821
vweb: fix body size calculation ( #6122 )
2020-08-13 20:55:33 +03:00
Delyan Angelov
da7adb5b1b
ci: fix failing tests for compiler_errors_test.v
2020-08-13 13:16:41 +03:00
Delyan Angelov
fd5a76a8ad
ci: fail compiler_errors_test.v, when at least one of all the parser/checker tests failed
2020-08-13 12:57:16 +03:00
Delyan Angelov
1a96bcf405
ci: fix `v vet` filtering
2020-08-12 20:34:13 +03:00
Alexander Medvednikov
f8be2110ec
sort: fix sorting by struct fields
2020-08-12 18:43:41 +02:00
Alexander Medvednikov
e5e31f7210
sort: handle `.sort(a.field > b.field)`
2020-08-12 06:11:40 +02:00
Alexander Medvednikov
4bc0dde413
all: new `.sort(a < b)` syntax
2020-08-12 05:54:51 +02:00
Alexander Medvednikov
9800cf1e7b
checker: improve array errors; gg: remove unused imports
2020-08-12 03:54:17 +02:00
Uwe Krüger
bb93bf34ec
sync/semaphores: use dispatch semaphores on MacOS ( #6110 )
2020-08-12 03:45:09 +02:00
Delyan Angelov
ca7a64a451
cgen: add support for -g again
2020-08-12 02:05:45 +03:00
Uwe Krüger
433610b5c0
sync/channels: provide `.cap` and `.len()` ( #6104 )
2020-08-11 17:52:13 +02:00
Swastik Baranwal
9fdb1701e0
checker: add a check for str[i] = `a` ( #6107 )
2020-08-11 17:41:54 +02:00
Alexander Medvednikov
99798b83b4
parser: fix match/else check
2020-08-11 17:30:37 +02:00
Alexander Medvednikov
c5aa2bfa51
tests: fix a match test
2020-08-11 16:26:52 +02:00
Alexander Medvednikov
1a9dba0005
checker: make << shifts work with custom number types
2020-08-11 01:05:34 +02:00
Alexander Medvednikov
2dd82748e0
checker: simplify << error message
2020-08-11 01:01:33 +02:00
Alexander Medvednikov
6d72209363
checker: minor c2v fixes
2020-08-11 00:51:15 +02:00
Alexander Medvednikov
11113e43e7
checker: a minor perf fix
2020-08-10 23:59:42 +02:00
Nick Treleaven
d8d82a0be4
checker: make `has_return` fn more efficient ( #6103 )
2020-08-10 23:59:08 +02:00
Alexander Medvednikov
88988817d0
parser: minor `match` simplification
2020-08-10 19:54:38 +02:00
Uwe Krüger
c3cdfa1c96
sync/channels: provide `try_push(), try_pop() as public methods ( #6101 )
2020-08-10 18:06:42 +02:00
Delyan Angelov
36eae1c175
builtin: x.vstring() instead of string(x) ( #6102 )
2020-08-10 18:05:26 +02:00
Delyan Angelov
eba413853f
compiler_errors_test.v: use work.close() instead of sentinel tasks
2020-08-10 15:26:54 +03:00
Nick Treleaven
5e2824e2f2
vfmt: align field attributes (when no inline comment after type) ( #6089 )
2020-08-10 13:13:42 +03:00
Delyan Angelov
bd32f0969f
parser: enable CamelCase named method names for JS. objects
2020-08-10 10:39:14 +03:00
Uwe Krüger
20a65cf9c8
sync/channels: implement `close()` method ( #6098 )
2020-08-10 06:22:20 +02:00
Nick Treleaven
fce106cf83
parser: use Attr.arg field for `[name: arg]` ( #6084 )
2020-08-10 02:00:14 +02:00
Sandro Martini
c7fae4dd6f
vweb: add set_status() ( #6087 )
2020-08-09 18:05:06 +02:00
Nick Treleaven
2dd90de993
parser: error on `[unsafe_fn]` ( #6090 )
2020-08-09 12:22:11 +03:00
Alexander Medvednikov
200f8dacb7
[]byte.str2() => bytestr()
2020-08-09 04:22:42 +02:00
Alexander Medvednikov
94f4dfe85b
builtin: a temporary []byte.str2() (until runes are implemented)
2020-08-09 04:20:43 +02:00
João Victor Oliveira Couto
f6a85d5305
net.html: create html parser module ( #6076 )
2020-08-09 04:13:34 +02:00
Louis Schmieder
97fec78b40
io: input/output streams ( #6078 )
2020-08-09 04:12:29 +02:00
Alexander Medvednikov
64f218e943
string: fix all cap .title() test
2020-08-09 04:09:48 +02:00
Alexander Medvednikov
c65dbe51d6
parser: c2v fixes
2020-08-09 03:58:14 +02:00
Nick Treleaven
6cc8815931
parser: support [unsafe] instead of [unsafe_fn] ( #6066 )
2020-08-08 16:24:05 +02:00
Maciej Obarski
2a4ef2acbd
regex: new options returning interface to the regex module ( #6062 )
2020-08-08 09:04:12 +03:00
Delyan Angelov
55b8cc1bb2
tests: parallelize compiler_errors_test.v using channels & threads
2020-08-07 16:44:49 +03:00
Delyan Angelov
34d03801de
tests: run ws_test.v only with -d network
2020-08-07 10:14:40 +03:00
Alexander Medvednikov
ce4ee2b247
v0.1.29
2020-08-06 19:36:52 +02:00
Delyan Angelov
4568ce8f00
builtin: add sanity check on the number of returned frames by C.backtrace
2020-08-06 19:50:29 +03:00
Uwe Krüger
d63daa0798
sync: use `mfence` on windows-tcc ( #6079 )
2020-08-06 17:31:05 +02:00
Alexander Medvednikov
ea76a33b43
remove freetype references everywhere
2020-08-06 17:23:57 +02:00
Uwe Krüger
863cf8af60
sync: channel implementation ( #6074 )
2020-08-06 15:28:19 +02:00
Larpon
09f1362305
os: let temp_dir adhere to posix/fhs version 3.0 on linux and mac ( #6069 )
2020-08-05 19:02:57 +02:00
Delyan Angelov
d1257f5590
tests/valgrind: add skipped fn_returning_string_param.vv (-autofree)
2020-08-05 19:35:18 +03:00
Delyan Angelov
6c27ce58ed
v.util.vtest: extract the common code for VTEST_ONLY in a single place
2020-08-05 19:34:27 +03:00
Alexander Medvednikov
ecaccafd31
gg: image cache
2020-08-05 16:00:24 +02:00
Alexander Medvednikov
67aafd03c6
gg: fix image rendering
2020-08-05 14:34:28 +02:00
spaceface777
bf20d6d3db
builder: don't panic if msvc rootdir isn't found ( #6068 )
2020-08-05 13:22:10 +03:00
Delyan Angelov
f331f63f53
ci: fix windows build
2020-08-05 09:09:18 +03:00
Delyan Angelov
5874d7c5ab
os: add os.getpid(), use it in os.is_writable_folder on windows
2020-08-05 09:04:40 +03:00
Delyan Angelov
7b1944c2da
gg: simplify the image_cache
2020-08-05 08:46:20 +03:00
Delyan Angelov
221a777a80
gg: cache sokol C.sg_image handles
2020-08-05 08:09:25 +03:00
Delyan Angelov
ab7936f514
os.exec: on unix return error, when the command was not found, instead of os.Result
2020-08-05 07:11:51 +03:00
Maciej Michalec
449c98e861
scanner: floats without fraction ( fix #5262 ) ( #6064 )
2020-08-05 05:11:29 +02:00
Alexander Medvednikov
f3ebd3a6e7
gg: fix image rendering
2020-08-05 03:15:40 +02:00
Enzo
f238890fe9
compiler: move attributes to declarations ( #6026 )
2020-08-04 20:10:22 +02:00
Nick Treleaven
3ce6dd6cbc
hash: use match expression with ranges ( #6046 )
2020-08-04 20:09:58 +02:00
Delyan Angelov
3dfe242dbb
vfmt: add a regression test for `type SocketMessageFn = fn (mut c Client, msg &Message) ?
2020-08-04 16:13:04 +03:00
Delyan Angelov
cd9bb51af2
vfmt: fix 6040 (part 2)
2020-08-04 16:08:47 +03:00
Delyan Angelov
f9d241ae27
gg,stbi: implement gg.create_image_from_memory/2
2020-08-04 13:18:08 +03:00
Delyan Angelov
216b6bf285
gg: remove tracing println in draw_image
2020-08-04 12:57:54 +03:00
Delyan Angelov
9ce75e10d5
gg: free gg.create_image from having to be called by sokols init_fn callback
2020-08-04 12:37:28 +03:00
Swastik Baranwal
f3817c47f9
token: remove switch keyword ( #6056 )
2020-08-04 11:04:07 +02:00
Delyan Angelov
f7a0d0a02f
ci: fix -autofree compilation of vlib/v/tests/valgrind/strings_and_arrays.vv
2020-08-04 11:30:02 +03:00
Alexander Medvednikov
60c642f42d
gg: clean up draw_image()
2020-08-04 01:26:56 +02:00
Alexander Medvednikov
7a7572e478
autofree: free temp string exprs
2020-08-04 01:26:34 +02:00
Nick Treleaven
c33dbbc216
fmt: don't add newlines for UnsafeExpr ( #6048 )
2020-08-04 00:29:10 +02:00
Delyan Angelov
e291c38119
ast: add use case comment for MatchExpr.var_name
2020-08-03 22:10:59 +03:00
Swastik Baranwal
c547e8b191
v/fmt: fix formatting of `type Foo = fn (a int)?` ( #6047 )
2020-08-03 19:28:48 +03:00
dils2k
8dede3b535
builder: add a verror, when the output folder is not existing and writable ( #5966 )
2020-08-03 18:19:36 +03:00
Nick Treleaven
3e4df7f140
v/fmt: fix dropping `as ident` from `if sum is T` statement ( #6049 )
2020-08-03 18:16:06 +03:00
Carlos Esquerdo Bernat
66b3fabeef
log: avoid the deprecated .is_opened() method ( #6039 )
2020-08-03 02:35:08 +03:00
Delyan Angelov
0ac30a8d9c
gg: enable image transparency in gg.draw_image2 too
2020-08-03 00:30:08 +03:00
Delyan Angelov
a7ca1682c4
gg: fix gg.draw_image2 (image drawn, but without transparency for now)
2020-08-02 23:47:37 +03:00
Delyan Angelov
0b6b0aca09
parser: fix infinite loop on unexpected $ between statements
2020-08-02 18:17:38 +03:00
Alexander Medvednikov
79b70006e6
examples: simplify gg/rectangles.v
2020-08-02 17:01:10 +02:00
Delyan Angelov
c6ae322f85
parser: add hard limit to the number of statements in a fn
2020-08-02 17:58:05 +03:00
Nick Treleaven
8dcc3cda97
os.cp: fix returning false error on Windows ( #6037 )
2020-08-02 14:08:45 +03:00
Nick Treleaven
7f447bb82f
ast: use Block instead of UnsafeStmt ( #5981 )
2020-08-02 14:06:44 +03:00
Alexander Medvednikov
cc57b52773
gg: fix typo
2020-08-01 23:52:15 +02:00
Alexander Medvednikov
149de958f3
gg: fix compilation
2020-08-01 23:45:36 +02:00
Alexander Medvednikov
a1593e7db8
checker: 1 line v fmt fix
2020-08-01 23:41:32 +02:00
Alexander Medvednikov
fb4550e582
gg: new create_image() (part 1)
2020-08-01 23:40:28 +02:00
Swastik Baranwal
d56d622a43
checker: add checks for byte casting ( #5917 )
2020-08-01 23:17:00 +02:00
Carlos Esquerdo Bernat
d71c11577a
os: move file logic to file.v ( #6013 )
2020-08-01 23:07:37 +02:00
Duarte Roso
055117dc5f
builtin: make byte.hex() two digits format ( #5886 )
2020-08-01 23:06:08 +02:00
spaceface777
4f37202b72
checker: allow struct fields starting with capitals in builtin ( #5998 )
2020-08-01 23:01:40 +02:00
spaceface777
1feca22e28
jsgen: don't generate `JS.` struct decls ( #6035 )
2020-08-01 22:27:25 +02:00
Alexander Medvednikov
adafd24819
gen: auto_str_methods.v
2020-08-01 16:36:12 +02:00
Delyan Angelov
0fb8074353
cgen: add support for `$if gcc {}` too
2020-07-31 21:25:37 +03:00
joe-conigliaro
1ea511b530
builder/cgen: get -usecache working for self cimpilation
2020-07-31 20:10:19 +10:00
Nick Treleaven
eb47ce1e83
ast: fix ParExpr.str(), RangeExpr.str(), SizeOf.str() ( #6023 )
2020-07-31 02:31:01 +02:00
Louis Schmieder
1fd499ed4a
vweb: fix request checking ( #6027 )
2020-07-31 01:26:56 +02:00
Delyan Angelov
91c9c0c917
checker: fix unknown_method_suggest_name.out test result too
2020-07-30 19:37:36 +03:00
Delyan Angelov
65891f54ed
v.util.suggestions: fix hash.crc32.Crc32 case
2020-07-30 19:35:16 +03:00
Delyan Angelov
f300f787f3
checker: add suggestions for method mispellings and unknown types
2020-07-30 18:48:16 +03:00
Delyan Angelov
2c45e601ef
builder: increase backtrace size with tcc to 25 frames
2020-07-30 16:56:58 +03:00
Delyan Angelov
3883c34b8c
vfmt: fix eating of `n` in `string(x,n)`
2020-07-30 12:15:04 +03:00
Lukas Neubert
f2c639c869
builtin: add string.contains_any() ( #5963 )
2020-07-29 21:48:50 +02:00
Alexander Medvednikov
f269cbdc94
Revert "parser: Support `unsafe(expr)` ( #5973 )"
...
This reverts commit 19c226fcf8
.
2020-07-29 21:41:47 +02:00
Delyan Angelov
9c9533dad9
checker: add error for `fn f() Struct { return &Struct{} }` ( #6019 )
2020-07-29 21:40:43 +02:00
Delyan Angelov
81f8e910e6
compiler: remove space at the end of warn/error messages to minimize diff churn
2020-07-29 20:37:55 +03:00
Swastik Baranwal
4500e7131e
checker: add a checker error for fn calls on left side of an assignment ( #5993 )
2020-07-29 18:33:00 +03:00
Carlos Esquerdo Bernat
7b630f0350
ws: send unsolicited pong control frame on connect in ws_test.v ( #6010 )
2020-07-29 18:11:24 +03:00
Carlos Esquerdo Bernat
2f2463a04c
ws: make Client.state `pub mut` ( #6009 )
2020-07-29 17:52:33 +03:00
Alexander Medvednikov
280afb2282
builder: rename `a` to `args`
2020-07-28 22:33:33 +02:00
Leah Lundqvist
51c9b49d3f
iOS: basic building and running ( #5999 )
2020-07-28 22:27:38 +02:00
Ruofan XU
1d59d35129
cgen: fix sum type match ( #5978 )
2020-07-28 22:17:25 +02:00
Delyan Angelov
e06448b616
eventbus: update test and docs too
2020-07-28 19:08:16 +03:00
Carlos Esquerdo Bernat
0539b2a7ea
eventbus: removed check on publish, always use receiver, args, sender order for callbacks ( #5940 )
2020-07-28 18:48:25 +03:00
Delyan Angelov
9c028bb299
checker: fix passing enum to a method expecting string
2020-07-28 13:50:40 +03:00
Delyan Angelov
228486555c
http: add pub to Method.str()
2020-07-28 12:34:29 +03:00
Delyan Angelov
5bf3b6eda3
gg: fix running tetris and ui examples on linux
2020-07-28 12:12:44 +03:00
Carlos Esquerdo Bernat
49a7a835c7
ws: update README.md ( #5983 )
2020-07-28 11:22:03 +03:00
Nick Treleaven
19c226fcf8
parser: Support `unsafe(expr)` ( #5973 )
2020-07-28 11:20:52 +03:00
Enzo
d7ed3cd8b7
fmt: fix SQL formatting in ORM expressions - remove trailing spaces ( #5996 )
2020-07-28 11:09:42 +03:00
Carlos Esquerdo Bernat
28657fe7cb
http: handle all of the http.Method values in .str() ( #6002 )
2020-07-28 10:39:10 +03:00
Swastik Baranwal
8b66816bdc
scanner: more checks for `_` as num_sep ( #5992 )
2020-07-28 16:09:19 +10:00
joe-conigliaro
5d49034c31
http: backend_windows - use Method enum in ssl_do()
2020-07-28 14:35:21 +10:00
joe-conigliaro
395e886b2e
http/vweb: use Method enum & add helpers
2020-07-28 14:13:19 +10:00
Alexander Medvednikov
fec9920b1a
http: replace method string with an enum
2020-07-27 21:20:23 +02:00
Alexander Medvednikov
65159b8070
gg: bold/mono/italic fonts
2020-07-27 21:20:23 +02:00
joe-conigliaro
61c1c4a690
checker: add error for invalid sum type cast `MySt{1}`
2020-07-28 01:04:04 +10:00
Enzo
2de1437a1e
ci: vet all files from the compiler ( #5994 )
2020-07-27 12:15:29 +02:00
joe-conigliaro
1086150ab9
builder: add comment to parse_imports `re: dup file parsing`
2020-07-27 12:06:48 +10:00
Alexander Medvednikov
3d19167628
http: fix cookies (part 2)
2020-07-26 22:01:25 +02:00
Alexander Medvednikov
cf4235ab65
http: fix cookies
2020-07-26 15:54:21 +02:00
Delyan Angelov
88345d759a
tests: add support for skipping to valgrind_test.v
2020-07-26 16:09:58 +03:00
Ruofan XU
7027b2354b
cgen: fix array and map with fns ( #5938 )
2020-07-26 14:22:02 +02:00
Delyan Angelov
dfa01d8877
rand: add rand.ulid_at_millisecond/1, use it in rand.ulid/0
2020-07-26 14:17:29 +03:00
penguindark
7d52d612ce
rand: add rand.ulid() ( #5979 )
...
* removed debug println
* added newline to the end of the file
* time: add .unix_time_milli() method; rand,time: add tests
* rand: add more ulid tests; move tests to a separate file random_identifiers_test.v
* run vfmt over vlib/rand/random_identifiers_test.v
* speed up time.unix_time_milli
* simplify and speedup time.unix_time/0 and time.new_time/1
* update comment about rand.ulid()
* fix terminating 0 off by 1 issue in rand.ulid()
* optimize time.new_time()
* restore the master version of vlib/time/parse.v
* make test_unix_time more robust
Co-authored-by: Delyan Angelov <delian66@gmail.com>
2020-07-26 13:10:56 +03:00
Delyan Angelov
9e652c4f40
ci: fix remaining failing tests. Do mut ptr check only outside unsafe{} blocks.
2020-07-26 10:59:07 +03:00
Delyan Angelov
9d056168ae
ci: fix failing tests
2020-07-26 10:48:24 +03:00
Delyan Angelov
a7f484d9a7
tests: make output of vlib/v/compiler_errors_test.v more readable
2020-07-26 10:47:55 +03:00
Carlos Esquerdo Bernat
1f8ae5d12c
websocket: add tests ( #5967 )
2020-07-25 22:25:31 +02:00
Alexander Medvednikov
6796b93abd
tests: fix compiler_errors_test.v
2020-07-25 22:20:10 +02:00
Delyan Angelov
6fcc6cdc75
rand: add comments for rand.uuid_v4, apply some more perf tweaks
2020-07-25 21:39:54 +03:00
Delyan Angelov
ee3ebed23c
rand: further speed up of rand.uuid_v4
2020-07-25 20:21:44 +03:00
Delyan Angelov
3d2fd471b6
ci: prepare for enabling compilation with g++ again
2020-07-25 20:20:49 +03:00
Alexander Medvednikov
7c86156be5
checker: fix unsafe tests
2020-07-25 18:58:23 +02:00
Alexander Medvednikov
34907f7605
checker: do not allow assigning immutable refs to mutable vars
2020-07-25 18:32:36 +02:00
Delyan Angelov
a552674254
vvet: fix segfault on `v vet .`
2020-07-25 15:57:57 +03:00
Delyan Angelov
d5b837e808
rand: speed up rand.uuid_v4() ~7x, with -prod
2020-07-25 13:09:05 +03:00
Delyan Angelov
c1e14b451e
builder: show timing info in bold; also add a `checker summary:` line with -stats
2020-07-25 10:32:29 +03:00
Alexander Medvednikov
3c1427a4e8
all: fix current module in build-module mode
2020-07-25 01:37:54 +02:00
Louis Schmieder
b58b15993c
gen: compile time for (methods and fields) ( #5957 )
2020-07-25 00:02:44 +02:00
Lukas Neubert
2ccb28a93e
checker: run vfmt over checker.v ( #5965 )
2020-07-24 20:12:01 +03:00
Delyan Angelov
289974dd15
rand: use time microseconds too in default rand initialization; generate proper uuid_v4
2020-07-24 14:33:58 +03:00
Delyan Angelov
c429fa7e27
rand: add test for rand.uuid_v4()
2020-07-24 14:01:48 +03:00
Delyan Angelov
bba0edf9a3
rand: add rand.uuid_v4()
2020-07-24 13:59:24 +03:00
Delyan Angelov
bfca55b87a
examples: fix `v build-examples`
2020-07-24 13:29:47 +03:00
Delyan Angelov
8c4429c875
parser: fix passing the is_mut flag of anon fn arguments
2020-07-24 11:27:56 +03:00
Delyan Angelov
d204c926a8
tests: fix compilation of if_smartcast_test.v
2020-07-24 10:30:22 +03:00
pancake
04ef2a2671
os: implement os.system for iOS and uncomment the `$if ios` blocks ( #5947 )
2020-07-24 10:17:32 +03:00
Delyan Angelov
921b5cddd0
live: fix compilation
2020-07-24 08:45:28 +03:00
Delyan Angelov
d31142ac3e
vfmt: fix compilation after the more strict mutability check
2020-07-24 08:43:18 +03:00
Delyan Angelov
d83e2ee330
websocket: fix compilation after the more strict mutability check
2020-07-24 08:41:14 +03:00
Delyan Angelov
346cc5ca2c
term: fix panic in term.header, when cols,rows from get_terminal_size are < 2
2020-07-24 08:34:39 +03:00
Delyan Angelov
c2083203b3
v.util: fix util.emanager.set_support_color
2020-07-24 08:31:05 +03:00
Alexander Medvednikov
ec443c65a8
tests: fix some tests
2020-07-24 01:55:55 +02:00
Alexander Medvednikov
d2675b89c0
builtin: fix a mutable var on windows
2020-07-23 23:18:45 +02:00
Alexander Medvednikov
632e27a4a9
all: fix a big mutability bug and update all mutable vars
2020-07-23 23:16:36 +02:00
Alexander Medvednikov
32c1042ac6
parser: disable the duplicate import check for now
2020-07-23 22:20:00 +02:00
Alexander Medvednikov
653d40bfe8
parser: do not duplicate table imports
2020-07-23 21:59:48 +02:00
pancake
b7bdb97f7d
term: fix crash in `header` when divider.len < 2 ( #5956 )
2020-07-23 18:54:29 +02:00
Louis Schmieder
b537d8e23e
parser: comp `for` attrs array ( #5903 )
2020-07-23 17:19:37 +02:00
Carlos Esquerdo Bernat
7a4c27bd08
log: add flush to log file ( #5942 )
2020-07-23 08:02:53 +03:00
pancake
36352085ae
v: add support for iOS crosscompilation ( #5943 )
2020-07-23 07:58:44 +03:00
Emily Hudson
0f98445f7f
cgen: properly handle more multi-return edge cases ( #5933 )
2020-07-23 00:39:19 +02:00
Uwe Krüger
6586a9a657
fmt: give braced sub expressions a higher priority ( #5941 )
2020-07-23 00:32:34 +02:00
Delyan Angelov
37c6f6ab1b
vfmt: fix compilation with -prod
2020-07-22 21:43:20 +03:00
Delyan Angelov
276c1de190
unsafe: tag with unsafe{} some more pointer manipulations
2020-07-22 21:42:51 +03:00
Delyan Angelov
949ed90b51
utf8: fix a panic in utf8.len("pippo"), mark with `unsafe{}` direct pointer manipulations
2020-07-22 21:15:27 +03:00
Lukas Neubert
4096432a1d
cli: prevent need for unsafe block ( #5937 )
2020-07-22 20:53:49 +03:00
Ryan Willis
938e71b468
v: fix for `import cli { Command }`
2020-07-22 20:33:43 +03:00
Nick Treleaven
ee349691f9
v/checker: Warn about pointer indexing outside unsafe {} ( #5918 )
2020-07-22 20:28:53 +03:00
joe-conigliaro
d46a89b90d
parser/checker/fmt: optimize scope lookups by storing object with ident & add if expr smartcast support to vfmt ( #5935 )
2020-07-23 02:10:31 +10:00
Delyan Angelov
ebbc7bd471
examples: fix crash when running examples/ws/client.v outside of valgrind
2020-07-22 18:42:57 +03:00
Carlos Esquerdo Bernat
b0d76c59f7
websocket utf8: move utf8 functions from websocket to encoding.utf8, add utf8_test.v (4/4) ( #5924 )
2020-07-22 18:36:24 +03:00
Carlos Esquerdo Bernat
635c99e2ed
ws: obtain port when not specified ( #5922 )
2020-07-22 17:35:30 +03:00
Carlos Esquerdo Bernat
0d8ebf5845
websocket: use log instead submodule logger (1/4) ( #5921 )
2020-07-22 17:31:22 +03:00
Ruofan XU
0f72328d1f
cgen: minor generated C source format fix
2020-07-22 17:27:37 +03:00
Carlos Esquerdo Bernat
f09e14a2b9
csv: cleanup reader_test.v
2020-07-22 17:26:26 +03:00
Emily Hudson
1476602f99
builder: pass define flags to msvc ( #5931 )
2020-07-22 17:24:12 +03:00
Ruofan XU
a370dd2867
cgen: further fixes to and array/map of fns ( #5916 )
2020-07-22 02:30:44 +02:00
kalapalo
c3a2e9b5c4
cgen: fix sum type assignment with pointers ( #5868 )
2020-07-22 02:28:49 +02:00
spaceface777
f4251dded0
checker: suggest using `:=` when assigning to undefined variable ( #5911 )
2020-07-21 19:49:53 +03:00
Delyan Angelov
8b930b4888
builder: measure msvc execution too
2020-07-21 19:45:50 +03:00
Delyan Angelov
14fd7d93ca
v.pref: fix `v build file.v`
2020-07-21 19:36:58 +03:00
Delyan Angelov
6dd1494008
encoding.base64: use fixed static arrays for the ending_table and index consts
2020-07-21 17:56:19 +03:00
Delyan Angelov
4cb9e651a6
vfmt: fix `sizeof(C.Type)`
2020-07-21 16:28:30 +03:00
Delyan Angelov
e1eb9c4ff1
vfmt: fix `x := *&int(ptr)`
2020-07-21 15:58:17 +03:00
Delyan Angelov
35df792c05
vfmt: fix `#include "@VROOT/path/x.h"`
2020-07-21 14:26:49 +03:00
Delyan Angelov
8f23accc4e
time: add .format_ss_milli and .format_ss_micro methods
2020-07-21 11:58:33 +03:00
Delyan Angelov
0af415fa28
vlib: add unsafe{} wrappers to C. fn calls, to allow compiling with -prod again
2020-07-21 09:05:31 +03:00
Carlos Esquerdo Bernat
6dbc143d67
websocket: move ws example to examples folder ( #5875 )
2020-07-21 00:55:58 +02:00
Alexander Medvednikov
303b65c0b9
roadmap: io streams
2020-07-20 22:51:17 +02:00
Alexander Medvednikov
059722f211
checker: minor vfmt run
2020-07-20 22:30:09 +02:00
Nick Treleaven
15ca64d81d
tests: rename pointer_arithmetic_should_be_checked.vv -> unsafe_required.vv ( #5897 )
2020-07-20 23:04:22 +03:00
Nick Treleaven
a74cbf55c7
checker: warn if C.m* or C.s* functions are called outside unsafe blocks ( #5869 )
2020-07-20 20:06:41 +03:00
spaceface777
1a5236e53d
jsgen: export module through commonjs ( #5895 )
2020-07-20 19:57:13 +03:00
Ruofan XU
88c8e194d0
cgen: fix map and array with fns ( #5894 )
2020-07-20 19:53:02 +03:00
Nick Treleaven
e6fc8eb015
checker: check that array slicing indexes are valid ( #5892 )
2020-07-20 19:52:03 +03:00
Enzo
8653605b0a
fmt: allow for comments in call args and if expressions branches ( #5871 )
2020-07-20 17:48:33 +03:00
Nick Treleaven
fb76e02c59
builtin: speed up string.clone() by using C.memcpy ( #5837 )
2020-07-20 17:44:35 +03:00
Carlos Esquerdo Bernat
c60948e52e
runtime: simplify nr_cpus(), add a test for nr_jobs()
2020-07-20 17:36:44 +03:00
Delyan Angelov
fb4c3ff31a
tests: split unsafe.v to vlib/v/tests/unsafe_test.v and a checker output .vv&.out test
2020-07-20 16:53:27 +03:00
Carlos Esquerdo Bernat
60997b3052
net.http: wrap unsafe{} around req.headers.free() ( #5891 )
2020-07-20 15:39:46 +03:00
Delyan Angelov
c858978348
cgen: add support for `-d trace_gen` too. Add `v tracev` command.
2020-07-20 12:36:27 +03:00
Delyan Angelov
587b9dd8aa
tests: reduce iterations for the atomic and semaphore tests, to speed up test-fixed
2020-07-20 11:14:55 +03:00
Ruofan XU
9f6aacb739
cgen: fix array of fns init ( #5884 )
2020-07-19 21:44:03 +02:00
Louis Schmieder
bb60fe2ccf
vweb: implement cookie expiration date ( #5873 )
2020-07-19 21:42:50 +02:00
Enzo
8a855ccae1
fmt,vet: handle `var in [single_value]` ( #5882 )
2020-07-19 19:58:34 +02:00
Delyan Angelov
9c3aa8bfc3
sqlite: add more detailed C.sqlite3_ APIs
2020-07-19 19:14:40 +03:00
Ryan Willis
1114fd28d0
all: import individual symbols feature ( #5872 )
2020-07-18 21:34:38 +02:00
Delyan Angelov
de0fc53d62
CI: fix failing tests because of hash.wyhash duplicates
2020-07-18 15:27:57 +03:00
Delyan Angelov
ca8344460a
cli: fix failing test on macos/windows
2020-07-18 15:02:05 +03:00
XeGrox
e5a508c0d7
checker: fix inability to access aliased struct fields ( #5861 )
2020-07-18 13:58:16 +02:00
Alexander Medvednikov
74d70b8719
all: more cached moduels fixes
2020-07-18 13:49:03 +02:00
Delyan Angelov
3a4f2dfe8b
cli: extract improvements to vlib/cli, based on PR 5616 (without cmd/v2)
2020-07-18 14:24:29 +03:00
Alexander Medvednikov
7ab6899538
builtin: fix compilation (part 1)
2020-07-18 11:17:29 +02:00
Alexander Medvednikov
38e5569503
all: cached modules fixes
2020-07-18 11:15:44 +02:00
Nick Treleaven
105a0e015e
checker: warn if unsafe method called outside unsafe block ( #5863 )
2020-07-17 19:14:12 +02:00
Enzo
90d9040e6e
all: make comment expressions + fix vfmt array init ( #5851 )
2020-07-17 19:13:22 +02:00
Nick Treleaven
39f90e25f3
all: `if` guard optional: define `err` in `else` branch ( #5853 )
2020-07-17 19:10:01 +02:00
Uwe Krüger
ea322bdd97
checker, cgen: fix call of generic function returning normal type ( #5865 )
2020-07-17 18:28:45 +02:00
Ryan Willis
e804ba5294
vfmt: add support for VDIFF_TOOL, detect more diffing tools ( #5857 )
2020-07-17 14:03:07 +03:00
Uwe Krüger
f6947d111b
parser: fix `sizeof(int)` when used as call arg for external function ( #5855 )
2020-07-17 11:31:35 +03:00
spaceface777
3583302ad4
parser: force `...` rather than `..` in matches for inclusive ranges ( #5852 )
2020-07-17 11:30:21 +03:00
Lukas Neubert
fa03f390b3
parser: add error for `for i := 0; i++; i < ..` ( #5850 )
2020-07-17 10:31:58 +03:00
Ryan Willis
82e2b1ec33
strconv: use import instead of module in test files ( #5856 )
2020-07-17 02:35:42 +02:00
Alexander Medvednikov
69ef43ba00
vweb: fix ip()
2020-07-16 21:23:35 +02:00
Alexander Medvednikov
cb1009d91b
strconv: more fixes
2020-07-16 20:55:15 +02:00
Alexander Medvednikov
f1b4af33ac
tests: atof_test fix
2020-07-16 19:50:09 +02:00
Alexander Medvednikov
9b2cbdacc6
vfmt: verify
2020-07-16 19:46:03 +02:00
Alexander Medvednikov
a989e017fe
tests: fix f32_f64_to_string_test.v
2020-07-16 19:41:01 +02:00
Alexander Medvednikov
e4fac6ff97
autofree: fix scope position
2020-07-16 19:40:14 +02:00
Alexander Medvednikov
dc89a914ea
cc: build-module/module cache fixes; strconv: move all code in one module
2020-07-16 19:01:56 +02:00
Ryan Willis
f66967a88c
vsymlink: real Windows symbolic link, fallback to batch, make.bat updates ( #5841 )
2020-07-16 18:33:26 +02:00
Swastik Baranwal
f3a505b558
scanner: add check for `_` in num literals ( #5849 )
2020-07-16 17:29:07 +03:00
spaceface777
b900577dae
compiler: handle ranges as `match` conditions ( #5847 )
2020-07-16 16:41:18 +03:00
joe-conigliaro
612fe1b8fb
cgen: autofree scope var position fixes
2020-07-16 20:06:50 +10:00
Alexander Medvednikov
6245876806
vweb: ip()
2020-07-16 00:48:14 +02:00
Nick Treleaven
f5e6a83a05
builtin: unsafe vlib pointer indexing ( #5836 )
2020-07-15 21:56:50 +02:00
Alexander Medvednikov
c563168d69
rand: string()
2020-07-15 21:36:09 +02:00
Nick Treleaven
4b0ded0475
checker: Warn instead of error for pointer arithmetic ( #5840 )
2020-07-15 19:59:39 +02:00
Delyan Angelov
1873a0cb6d
builder: pass -g3 for -cg
2020-07-15 12:46:24 +03:00
Enzo
2ee8f93d60
parser: duplicate method declaration on interface ( #5825 )
2020-07-15 10:23:21 +02:00
Uwe Krüger
8df6e59678
sync: add semaphores ( #5831 )
2020-07-15 10:22:33 +02:00
Delyan Angelov
cf7d03bda6
builtin: implement array.pop()
2020-07-14 20:01:39 +03:00
Enzo
de0b96f52c
parser: fail when interface name is duplicated ( #5828 )
2020-07-14 18:52:51 +02:00
Enzo
d301611de7
fmt: interface decl fixes ( #5829 )
2020-07-14 18:52:28 +02:00
Alexander Medvednikov
60ce938149
builder: make builtin, strconv, os work with `v build-module`
2020-07-14 18:27:14 +02:00
Delyan Angelov
5ad957f270
vfmt: fix formatting for `x, _ := f()`
2020-07-14 19:11:16 +03:00
Delyan Angelov
e23925f2be
pref: add -show-timings option
2020-07-14 18:47:40 +03:00
Alexander Medvednikov
06f5279f77
checker: fix multi_const_field_name_duplicate test
2020-07-14 17:44:08 +02:00
Alexander Medvednikov
899c69caf1
checker: fix dup const test
2020-07-14 17:24:08 +02:00
Enzo
880c8e4dc9
cgen: else if guard ( #5822 )
2020-07-14 17:19:55 +02:00
Alexander Medvednikov
d33fbe4547
checker: format + fix duplicate const error
2020-07-14 17:18:10 +02:00
Swastik Baranwal
c3bdacbf04
doc: add info about _ separator in literals ( #5823 )
2020-07-14 15:46:13 +02:00
Alexander Medvednikov
c3ec5323f0
autofree: move new scope free behind -experimental for now
2020-07-14 15:30:55 +02:00
Alexander Medvednikov
7231b467a6
autofree: fix stmts() free
2020-07-14 14:50:51 +02:00
Alexander Medvednikov
1338e7fce2
autofree: free in each scope
2020-07-14 13:56:52 +02:00
Delyan Angelov
3703ade9f1
doc: add a Numbers section. Add tests for `0b` prefixed integer literals too
2020-07-14 11:10:43 +03:00
Alexander Medvednikov
361d12bf43
pref: -experimental flag
2020-07-14 00:32:33 +02:00
ka-weihe
df45488e09
cgen: fix warnings ( #5820 )
2020-07-14 00:16:31 +02:00
joe-conigliaro
042add0e7f
ast: fix typo in comment
2020-07-14 04:04:16 +10:00
joe-conigliaro
dd06d90466
checker/gen: temp hack for struct fn type field (fixes ui)
2020-07-14 03:59:00 +10:00
Alexander Medvednikov
1c682d7b89
cgen/autofree: sb.writeln() optimization fixes
2020-07-13 18:59:47 +02:00
Delyan Angelov
e5a5e76a30
cgen: fix for passing functions as voidptr args
2020-07-13 19:45:13 +03:00
Delyan Angelov
e3f7681e89
smtp_test: use `assert false return`, remove for loop
2020-07-13 18:52:46 +03:00
Delyan Angelov
97d01a5487
test: enable passing username/password through env vars to smtp_test.v
2020-07-13 18:22:36 +03:00
spaceface777
e9c144bf98
smtp: rewrite module api ( #5819 )
2020-07-13 16:41:23 +02:00
Delyan Angelov
a565848dfa
tests: remove duplicate test autolock_array_1_test.v
2020-07-13 15:02:44 +03:00
Uwe Krüger
6e6010d198
checker, cgen: implement auto-lock for `a[i]++`, `a[i]--` ( #5817 )
2020-07-13 15:01:32 +03:00
Delyan Angelov
b04fff272e
tests: move autolock_array_1.v to autolock_array_1_test.v
2020-07-13 14:21:44 +03:00
Uwe Krüger
aa364ddaca
checker, cgen: checks for shared/lock, first autolock ( #5815 )
2020-07-13 12:19:28 +02:00
Delyan Angelov
1baa7ef806
os: implement os.write_file_array and os.read_file_array .
2020-07-13 10:46:37 +03:00
Alexander Medvednikov
db2346069a
gg: always use stb_truetype for now
2020-07-13 01:02:50 +02:00
Delyan Angelov
f1fdafcdff
pref: add -check-syntax for just parsing files, without checking them
2020-07-12 22:44:38 +03:00
Swastik Baranwal
b5b5176f9b
string: add filter method ( #5812 )
2020-07-12 21:07:28 +03:00
Nedim
8674991bac
smtp: add mail sent confirmation and tests for smtp lib ( #5813 )
2020-07-12 20:42:11 +03:00
Takeru Tanaka
f61a7bf3df
os,rand.mt19937: fix broken links in code comments ( #5806 )
2020-07-12 16:18:52 +03:00
Delyan Angelov
d28a1042a0
net.http, net.websocket: allow importing both in the same app
2020-07-12 15:21:40 +03:00
Delyan Angelov
53ee5eb043
vfmt: fix removing cmod. in []Enum return values
2020-07-12 14:40:50 +03:00
Nick Treleaven
53023c1ca9
all: add UnsafeExpr ( #5793 )
2020-07-12 12:58:33 +02:00
Alexander Medvednikov
cad816a19d
gg: text_height()
2020-07-12 12:48:42 +02:00
Delyan Angelov
9c43d36513
parser,checker: add `-d trace_parser`, `-d trace_checker`
2020-07-12 12:56:01 +03:00
Delyan Angelov
23c8e1f06d
checker: add support for `-d debug_stmts` to ease debugging checker panics
2020-07-12 12:04:39 +03:00
Alexander Medvednikov
40da32a141
gg: text_width()
2020-07-12 01:46:21 +02:00
Nedim
25c397f921
net.smtp: remove credentials from the test ( #5808 )
2020-07-11 21:19:36 +02:00
Nedim
549c4f54cd
net: implementation of SMTP RFC 2821 ( #5807 )
2020-07-11 21:05:24 +02:00
Delyan Angelov
c891014c77
scanner: reduce memory, increase speed for long commented sections
2020-07-11 21:27:39 +03:00
Delyan Angelov
022cc72740
scanner: parse multiple comments and long strings without a stackoverflow
2020-07-11 20:52:08 +03:00
Alexander Medvednikov
a2cb01e16a
parser: parse _x64.v files only with -x64
2020-07-11 19:03:59 +02:00
Alexander Medvednikov
d4dd5645fe
parser: remove strconv import
2020-07-11 18:53:50 +02:00
Delyan Angelov
498c8cfc8e
builtin: skip print_backtraces on panics with tcc, it does it automatically
2020-07-11 17:51:06 +03:00
yuyi
9b4c81e85f
checker: check missing return values in functions ( #5803 )
2020-07-11 16:30:49 +02:00
Delyan Angelov
37d739684c
checker: prevent string(byte), suggest byte.str() instead
2020-07-11 17:09:22 +03:00
ka-weihe
ae349ca6ba
cgen: fix all -Wmissing-variable-declarations ( #5802 )
2020-07-11 15:37:40 +02:00
Alexander Medvednikov
59df2db4e0
ci: disable C++ test for now
2020-07-11 15:36:08 +02:00
Delyan Angelov
26768e8514
vfmt: strip `current_module.` in fn args more robustly
2020-07-11 16:09:20 +03:00
Delyan Angelov
b55f84c0a8
vfmt: turn off module is imported but never used for vfmt
2020-07-11 15:03:37 +03:00
Delyan Angelov
7c0a298701
vfmt: fix crash when a .v file contains only imports
2020-07-11 14:54:55 +03:00
Delyan Angelov
3aeca70970
benchmark: update the example in the README.md
2020-07-11 14:54:55 +03:00
Alexander Medvednikov
ab3c1f2a08
prealloc: skip frees for now
2020-07-11 13:22:18 +02:00
yuyi
fae601fe39
array: add `reverse_in_place` for performance ( #5798 )
2020-07-11 13:17:11 +02:00
Alexander Medvednikov
b92ce38593
os: fix v_realloc call on windows
2020-07-11 12:45:22 +02:00
Alexander Medvednikov
2e275731a3
websocket: fix compilation
2020-07-11 12:41:37 +02:00
Alexander Medvednikov
649821be4c
all: use v_realloc
2020-07-11 12:37:54 +02:00
Alexander Medvednikov
2a696cb837
vet: prohibit spaces before `)`
2020-07-11 12:14:19 +02:00
Alexander Medvednikov
d94a02ba79
strings: builder.writeln() optimization
2020-07-11 12:03:24 +02:00
Alexander Medvednikov
549d7a487d
tests: fix scanner_test.v
2020-07-11 11:51:58 +02:00
Alexander Medvednikov
d4d552fb00
vet: prohibit spaces after `(`
2020-07-11 11:41:39 +02:00
Alexander Medvednikov
a1073105e1
all: re-enable -prealloc
2020-07-11 11:25:56 +02:00
Delyan Angelov
006d260d20
vfmt: keep `vproto.Name`, in module `proto` in struct inits too
2020-07-11 02:42:57 +03:00
Uwe Krüger
646df49c74
builtin: fix string.hash method for `gcc -O2` ( #5794 )
2020-07-11 01:18:52 +03:00
Delyan Angelov
7248d8422e
vfmt: keep `vproto.Name`, when current module is `proto`
2020-07-11 00:59:19 +03:00
pancake
7d6ba2d07d
checker: add error when interface i, without a .str() method, have i.str() called ( #5788 )
2020-07-10 22:47:29 +03:00
Delyan Angelov
2fb5c91f4d
scanner: remove error check for embedded \x00 chars in c'literals'
2020-07-10 21:42:03 +03:00
yuyi
bf14e666ea
cgen: add `gen_map_equality_fn` to compare maps ( #5770 )
2020-07-10 18:08:17 +02:00
yuyi
0c9c66dd6b
cgen: fix mutable array arguments ( #5769 )
2020-07-10 18:04:51 +02:00
Emily Hudson
7488dd829d
all: _allow_multiple_values enum attribute ( #5772 )
2020-07-10 16:43:02 +02:00
Delyan Angelov
88946a34bb
checker: limit showing too many unhandled match cases
2020-07-10 15:49:02 +03:00
penguindark
e85c1fb762
utf8: bug fix in get_uchar ( #5775 )
2020-07-10 14:44:40 +02:00
Swastik Baranwal
9839b0eb7f
parser: handle `a,b += 1,1` ( fix #5735 ) ( #5783 )
2020-07-10 13:59:17 +02:00
Delyan Angelov
75b7b9564a
builder: show the contents of the C .rsp file on -showcc
2020-07-10 13:07:20 +03:00
Delyan Angelov
ca9790a71f
vweb: ensure the tcp connection is always closed at the end of the response
2020-07-10 10:49:39 +03:00
Delyan Angelov
d3e676bdc1
orm: use errcode comparisons, instead of strcmp(sqlite3_errmsg,msg)
2020-07-10 10:14:30 +03:00
Uwe Krüger
581603f2bd
fmt: make formatter know about new keywords `shared`, `rlock` ( #5779 )
2020-07-09 22:41:45 +02:00
Daniel Däschle
fb927dab60
checker: check all branches for return ( #5763 )
2020-07-09 22:38:43 +02:00
Uwe Krüger
194ecda829
fmt: array_init: use line breaks of first elements in every hierarchy ( #5777 )
2020-07-09 22:36:49 +02:00
Lukas Neubert
14d83c8457
orm: fix invalid `no more rows available` error ( #5774 )
2020-07-09 22:36:01 +02:00
Uwe Krüger
e47ad33af6
fmt: format array elements line-by-line when nl after `[` ( #5776 )
2020-07-09 19:47:12 +02:00
yuyi
31ac20876c
cgen: minor formatting of `struct_init` ( #5768 )
2020-07-09 17:25:48 +02:00
Louis Schmieder
3792e17885
vweb: fix routing for 0 params ( #5773 )
2020-07-09 17:16:02 +02:00
Daniel Däschle
c5dc1a33b6
all: remove `it` smartcast and replace with original variable name ( #5764 )
2020-07-09 17:14:14 +02:00
Alexander Medvednikov
9511b7d0a1
cc: do not use -ldl in cross compiling for now
2020-07-09 12:29:49 +02:00
Alexander Medvednikov
8c338a7c3b
cc: format and fix linuxroot download
2020-07-09 12:26:15 +02:00
Alexander Medvednikov
dfa29b6e4d
fast: fix 1mil.v test
2020-07-09 11:56:31 +02:00
Delyan Angelov
73a259496e
tests: support `VTEST_ONLY=fn_,match_ ./v test-fixed` and in compiler_test.v
2020-07-09 10:47:16 +03:00
Delyan Angelov
ce31c4c03e
tests: support `VTEST_ONLY=parser ./v vlib/v/compiler_errors_test.v`
2020-07-09 10:27:31 +03:00
Louis Schmieder
373aa3dbc8
vweb: router: fix trailing / ( #5760 )
2020-07-08 22:15:37 +02:00
Alexander Medvednikov
b8d762df97
gg: use D3D and stb_truetype on Windows;
2020-07-08 21:43:27 +02:00
Tomas Hellström
2790890bc2
ci: use pre built docker containers for musl ( #5759 )
2020-07-08 21:30:57 +03:00
Daniel Däschle
c0fa31e75a
cgen: if smartcast part 3 ( #5755 )
2020-07-08 19:14:47 +02:00
Alexander Medvednikov
03b76d19f1
repl: make the info message a bit smaller
2020-07-08 17:22:38 +02:00
Daniel Däschle
e7cd496c31
parser: smartcast fix ( #5756 )
2020-07-08 16:08:44 +02:00
Nick Treleaven
f834276803
doc: struct literals ( #5726 )
2020-07-08 16:02:35 +02:00
yuyi
64e9bdc213
parser: fix non-void optional fn missing return value ( fix #5736 ) ( #5741 )
2020-07-08 16:01:17 +02:00
Daniel Däschle
5ea17ad2d4
all: if smartcast part 2 ( #5754 )
2020-07-08 15:46:58 +02:00
Louis Schmieder
7ad03e9d6a
vweb: simplify router ( #5751 )
2020-07-08 15:22:03 +02:00
Daniel Däschle
b62bf59c21
all: if-is smartcast part 1 ( #5730 )
2020-07-08 15:17:28 +02:00
Emily Hudson
3b0dfd9ae1
cc: use @response files to avoid command line length limits ( #5750 )
2020-07-08 15:50:17 +03:00
Delyan Angelov
69d3c3f596
cgen: sort const inits/cleanups topologically, skip calling non `fn init(){}` fns
2020-07-08 14:28:58 +03:00
Alexander Medvednikov
2425c05c42
Revert "cgen: sort const inits/cleanups topologically too"
...
This reverts commit 38000f8622
.
2020-07-08 12:56:56 +02:00
Uwe Krüger
88248b1b66
cgen: add support for shared arrays ( #5721 )
2020-07-08 11:05:43 +02:00
Delyan Angelov
38000f8622
cgen: sort const inits/cleanups topologically too
2020-07-08 11:22:30 +03:00
Ruofan XU
9c87ace153
cgen: fix cross assign for functions ( #5734 )
2020-07-08 09:17:26 +03:00
Louis Schmieder
3bb1d24dad
parser: add template path by fn name for vweb ( #5737 )
2020-07-08 09:12:57 +03:00
yuyi
bd16dd9fdf
cgen: fix assert `sumtype is` ( #5739 )
2020-07-08 09:05:01 +03:00
yuyi
b0ce66d141
gen: fix generated `defer` ( #5717 )
2020-07-08 08:39:11 +03:00
Alexander Medvednikov
246e7e8464
vweb: form error
2020-07-07 21:35:59 +02:00
Emily Hudson
cdfb578565
builder: cache msvc ( #5733 )
2020-07-07 20:35:49 +02:00
joe-conigliaro
c99200918e
checker: fix if
2020-07-08 01:42:42 +10:00
joe-conigliaro
2480cce1ed
checker: optimize if & fix typo
2020-07-08 01:36:48 +10:00
Alexander Medvednikov
e0fcd565d5
gg: fix default text size
2020-07-07 17:33:24 +02:00
joe-conigliaro
5fd5e558ae
parser/checker/gen: anon fn direct call with args
2020-07-08 01:10:39 +10:00
Louis Schmieder
f8a89e3f8f
gg: fix text rendering ( #5727 )
2020-07-07 17:09:35 +02:00
Louis Schmieder
2a7a6fa1eb
orm: add delete stmt ( #5725 )
2020-07-07 16:55:32 +02:00
Alexander Medvednikov
4d7d1eb0c4
http: referer()
2020-07-07 14:37:43 +02:00
yuyi
dc24327b1e
cgen: minor optionals fix ( #5714 )
2020-07-07 14:21:02 +02:00
Tarang11
68e01d87be
checker: fix multi assignment for multiple fns ( #5716 )
2020-07-07 14:18:51 +02:00
Louis Schmieder
d2d4ea42ce
vweb: add url query ( #5719 )
2020-07-07 13:46:57 +02:00
yuyi
4490cd2e8a
os: replace panics with optionals ( #5718 )
2020-07-07 12:41:42 +02:00
Alexander Medvednikov
a6450e8e98
vweb: fix and simplify routing
2020-07-07 12:35:45 +02:00
Uwe Krüger
ef02373061
all: remove `rwshared` keyword, make its semantics default for `shared` ( #5710 )
2020-07-07 01:57:31 +02:00
Alexander Medvednikov
013c0e6e16
gg: make FT private
2020-07-06 21:40:24 +02:00
Alexander Medvednikov
48f1f814d2
gg: minor fixes
2020-07-06 20:40:54 +02:00
Alexander Medvednikov
0ed8199da2
gg: merge ft module
2020-07-06 20:29:09 +02:00
yuyi
43c8726c37
cgen: minor optimization of comptime ( #5705 )
2020-07-06 19:58:21 +02:00
Alexander Medvednikov
1f3d7d393e
gg: simplify text rendering
2020-07-06 19:45:00 +02:00
Leah Lundqvist
cfa8e0a81a
js: |0 -> parseInt ( #5703 )
2020-07-06 18:09:54 +02:00
joe-conigliaro
9a4d989188
test: move sumtype int cast test into fn & test var
2020-07-06 23:39:51 +10:00
Leah Lundqvist
659aa8db3c
js: fix int division ( #5701 )
2020-07-06 15:24:24 +02:00
Delyan Angelov
6b2777e681
compiler: support VTMP; tests: delete .tmp.c files on successfull tests
2020-07-06 15:08:46 +03:00
joe-conigliaro
d82e6c9cd9
checker/table: fix sumtype cast from int literal
2020-07-06 21:27:48 +10:00
Delyan Angelov
25771a1afe
compiler: remove -keepc option (it is now always on)
2020-07-06 13:42:18 +03:00
yuyi
c94038af89
cgen: improve generated code formatting ( #5693 )
2020-07-06 12:33:57 +02:00
yuyi
fc7237be7b
checker: fix cast to sum type ( fix #5690 ) ( #5692 )
2020-07-06 12:32:59 +02:00
yuyi
f41edef4c6
checker: add `1/0x0 1/0b0..` division by zero check ( #5694 )
2020-07-06 12:32:00 +02:00
Uwe Krüger
c3614c0e38
cgen, sync: implement separate read/write locks for `rwshared` types ( #5687 )
2020-07-05 22:53:28 +02:00
Louis Schmieder
3cd9e2cab7
vweb: fix index ( #5682 )
2020-07-05 22:05:58 +02:00
spaceface777
d0e321c8a3
fmt: allow parsing files without `fn main()` ( #5681 )
2020-07-05 20:53:01 +02:00
KrisChambers
8d035a446a
Fix v/parser: Failure to parse structs with fields typed as anonymous functions returning having an optional void (`?`) return type. ( #5684 )
...
* Handle optional void return type in function types in struct fields.
* Add more testing for optional return types in struct fields.
* Move language parsing into it's own function
* Fix issue caused by not setting typ.
* Fix test for structs containing anon fn with optional void return types
2020-07-05 19:29:39 +02:00
Alexander Medvednikov
f6ab63f3a0
stbi: remove opengl call
2020-07-05 19:28:31 +02:00
Delyan Angelov
1416c70e73
net.websocket: fix building client.v
2020-07-05 18:44:39 +03:00
joe-conigliaro
4e66728477
checker/table: rearrange sumtype check fns
2020-07-06 00:53:56 +10:00
Alexander Medvednikov
36183660e6
remove oldgg, gl, glfw, freetype from vlib now that we have the new sokol based `gg`
2020-07-05 16:44:28 +02:00
yuyi
96bd4e8794
parser: fix type detection in `match` ( #5679 )
2020-07-05 16:35:45 +02:00
joe-conigliaro
9d7f1a236a
checker/gen: fix nested sumtype matching
2020-07-06 00:25:04 +10:00
yuyi
34a24eaa4e
checker: validate loop var names ( #5677 )
2020-07-05 15:27:37 +02:00
yuyi
cda9240632
cgen: add unsafe block braces and comments in generated code ( #5674 )
2020-07-05 13:32:39 +02:00
Delyan Angelov
770ffa1ebd
crypto.rand: fix linux/solaris rand.read() compilation
2020-07-05 01:33:43 +03:00
Alexander Medvednikov
188bad4f38
vfmt: handle string attrs
2020-07-04 23:38:28 +02:00
Enzo
7778cbe9f5
all: make `os` global in scripts ( #5669 )
2020-07-04 23:37:41 +02:00
yuyi
11866fb017
cgen: improve code formatting of `array_init` ( #5663 )
2020-07-04 21:49:04 +02:00
Delyan Angelov
f374e37b61
checker: add details about a non matching functional argument
2020-07-04 22:37:06 +03:00
Delyan Angelov
108913c69e
checker: handle error token positions with negative pos.len
2020-07-04 21:55:14 +03:00
Delyan Angelov
0637feb382
checker: use a more readable error message for non matching fn args
2020-07-04 21:23:22 +03:00
Delyan Angelov
db4a9d6b59
checker: stricter check for function type signatures
2020-07-04 21:01:08 +03:00
Ryan Willis
bb6ab185c3
ci: fix periodic integration tests ( #5666 )
2020-07-04 19:52:25 +02:00
Daniel Däschle
0626ac2901
checker: fix position of infix expr error
2020-07-04 18:52:40 +02:00
div72
be04de98bb
checker: check for enum value duplicates/overflow ( #5659 )
2020-07-04 18:28:01 +03:00
Delyan Angelov
b018381f10
vfmt: fix `as var` in `match expr as var {}`
2020-07-04 16:46:46 +03:00
Delyan Angelov
fe50bdc164
vfmt: ran `v vet vlib/v/` and fix spaces
2020-07-04 16:19:54 +03:00
Delyan Angelov
d2a2db7bff
vfmt: format scanner.v
2020-07-04 16:14:30 +03:00
Delyan Angelov
5b93b4f37d
vfmt: allow multiple comments after if branches
2020-07-04 16:13:58 +03:00
Delyan Angelov
68af46402e
vvet: allow passing many files, improve specifity for emacs goto error
2020-07-04 15:29:00 +03:00
Delyan Angelov
dc3101384f
checker: cleanup indentation
2020-07-04 14:45:11 +03:00
Delyan Angelov
48029fa9ad
checker: check .str() calls too
2020-07-04 14:43:01 +03:00
Delyan Angelov
35431d457b
checker: add check for strict .str() method signature
2020-07-04 14:14:43 +03:00
Delyan Angelov
4403c76406
vfmt: print `or { }` on a single line
2020-07-04 14:14:43 +03:00
Delyan Angelov
bae9ed0350
os: fix file.writeln(s) too, where s contains `0` bytes
2020-07-04 14:14:43 +03:00
Uwe Krüger
3b067f5f85
all: experimental locked concurrency support, part 1 ( #5637 )
2020-07-04 12:44:25 +02:00
yuyi
27149ba8bc
cgen: fix `in` in mutable arrays ( #5647 )
2020-07-04 12:12:44 +02:00
Ruofan XU
765ffa37eb
cgen: fix == for mut arraay args ( #5648 )
2020-07-04 11:36:33 +02:00
joe-conigliaro
da98c3c135
checker: use new match syntax everywhere
2020-07-04 19:23:41 +10:00
joe-conigliaro
cdd4a7c880
checker: only check ForInStmt.high once
2020-07-04 19:10:37 +10:00
div72
95696559b7
os: fix early termination when saving binary ( #5646 )
2020-07-04 01:48:01 +02:00
Ruofan XU
37f31da6c9
parser: minor simplification ( #5645 )
2020-07-03 23:22:43 +02:00
Alexander Medvednikov
3d3549d65a
Revert "parser: advanced division by zero check ( #5629 )"
...
This reverts commit f03688e443
.
2020-07-03 22:30:51 +02:00
Alexander Medvednikov
e9e437ce05
repl: show short version
2020-07-03 22:30:34 +02:00
Alexander Medvednikov
244d61f8d0
vweb: fix a route matching bug
2020-07-03 22:00:17 +02:00
yuyi
67e85fa9dd
cgen: fix indent in `for_in_string` ( #5631 )
2020-07-03 18:10:45 +02:00
yuyi
61213263cd
cgen: remove extra `\n` in map.get ( #5630 )
2020-07-03 18:10:29 +02:00
Nick Treleaven
0b49e4db1c
v/checker.v: disallow pointer arithmetic for InfixExpr outside unsafe {} ( #5640 )
2020-07-03 18:10:10 +02:00
Ruofan XU
a2395ff3e8
cgen: fix mut map with relation op in fn ( #5642 )
2020-07-03 18:07:11 +02:00
yuyi
9e949622d3
vrepl: pre-imported common modules ( #5643 )
2020-07-03 18:06:36 +02:00
Alexander Medvednikov
2281163efd
vweb: fix a routing bug
2020-07-03 17:50:48 +02:00
Tom Leen
51410fdb6d
vweb: add .txt and .md mime types ( #5641 )
2020-07-03 17:17:25 +02:00
Delyan Angelov
8adaf4efd4
cgen: allow `-printfn main` for _test.v files too
2020-07-03 17:53:48 +03:00
Delyan Angelov
652380c5fd
cgen: fix `-printfn main`
2020-07-03 17:42:59 +03:00
yuyi
dff385cb37
cgen: fix map_in mut ( #5638 )
2020-07-03 17:33:53 +03:00
Delyan Angelov
df2749dd50
vfmt: fix indent level of commented match branches
2020-07-03 17:16:20 +03:00
Alexander Medvednikov
b7175b54eb
vweb: ['/:arg1/:arg2/action'] attribute
2020-07-03 15:10:39 +02:00
yuyi
f03688e443
parser: advanced division by zero check ( #5629 )
2020-07-03 11:28:00 +02:00
yuyi
1efbb83060
cgen: add space before `else` in match ( #5632 )
2020-07-03 11:23:23 +02:00
Delyan Angelov
3c432f5e07
orm: require `order by` instead of just `order`
2020-07-02 23:37:30 +03:00
Delyan Angelov
7004f74b71
orm: fix `LIMIT var` as well
2020-07-02 23:29:29 +03:00
Louis Schmieder
421b6d4a80
orm: fix offset when order is given too ( #5625 )
2020-07-02 23:22:52 +03:00
Delyan Angelov
5813d2bf72
net.socket: add s.peer_ip()
2020-07-02 23:02:56 +03:00
Louis Schmieder
b89cbf3224
orm: add support for ordering ( #5624 )
2020-07-02 20:29:22 +03:00
yuyi
68ac8fde26
tests: add mixed and complex types tests for cross assign ( #5622 )
2020-07-02 18:20:03 +02:00
Delyan Angelov
5b900056f3
vfmt: add _keep.vv tests for the recent fixes, to prevent regressions
2020-07-02 17:50:21 +03:00
Delyan Angelov
d809bbb715
vfmt: fix enum field comments
2020-07-02 17:39:56 +03:00
Delyan Angelov
132170f54c
vfmt: handle comments in enum Abc{} and after match branches
2020-07-02 16:51:09 +03:00
Delyan Angelov
05e11f6336
vfmt: fix `for x; y; i++ \n {}`
2020-07-02 15:30:06 +03:00
Delyan Angelov
37d51e8d74
vfmt: keep top level comments on their own lines
2020-07-02 15:21:09 +03:00
Delyan Angelov
29943d7a91
vfmt: fix eating C. from C.sapp_desc{} and adding & to &&&App()
2020-07-02 15:06:35 +03:00
Tim Basel
703b060d09
cli: add flag/cmd sorting + get_all_found ( #5615 )
2020-07-02 11:10:03 +02:00
yuyi
6cbc0e84f0
cgen: fix cross assign with mutable args ( fix #5609 #5610 #5611 ) ( #5614 )
2020-07-02 11:09:26 +02:00
yuyi
c21527d3c6
cgen: fix indent in multi_return ( #5617 )
2020-07-02 11:08:27 +02:00
yuyi
e904732554
cgen: remove an extra \n in for loops ( #5618 )
2020-07-02 11:03:40 +02:00
Uwe Krüger
6c022db786
scanner: fix string interpolation for '$a.b().c' ( #5612 )
2020-07-02 00:02:59 +02:00
Delyan Angelov
4e34edfa81
vweb: allow quoting @css/@js resources with both ' and "
2020-07-01 22:03:30 +03:00
Alexander Medvednikov
2716a37916
ci: fix v vet call; fmt: fix SizeOf
2020-07-01 20:07:33 +02:00
Alexander Medvednikov
66f36f6dcc
cgen: fix gen_cross_tmp_variable, part 2
2020-07-01 19:39:41 +02:00
Alexander Medvednikov
625ed030ef
cgen: fix getn_cross_tmp_variable
2020-07-01 19:19:49 +02:00
Alexander Medvednikov
dbcb23ddc8
ci: run v vet on cgen and ast
2020-07-01 19:07:19 +02:00
Alexander Medvednikov
da99868a28
ci: run v vet vlib/v/parser
2020-07-01 18:57:14 +02:00
yuyi
40a393926d
cgen: fix cross assign of struct fields ( #5606 )
2020-07-01 18:43:14 +02:00
Delyan Angelov
56ae814cbc
gen: fix js main entry point generation
2020-07-01 19:37:24 +03:00
Alexander Medvednikov
5de0f944bd
vweb: fix a template leak
2020-07-01 17:04:30 +02:00
Alexander Medvednikov
e78dc4d682
strings: fix a leak in builder
2020-07-01 16:52:04 +02:00
Delyan Angelov
d43722fa85
vweb: fix compiling templates containing '
2020-07-01 17:44:26 +03:00
yuyi
2f614ad79f
parser: optimize cross assign using expr.str() ( #5604 )
2020-07-01 16:43:13 +02:00
Alexander Medvednikov
013a4fc0f6
cgen: do not free strings in const decls
2020-07-01 16:40:04 +02:00
Alexander Medvednikov
6dad3cc018
cgen: fix a leak
2020-07-01 15:45:02 +02:00
Nick Treleaven
e7339fec15
all: disallow pointer arithmetic for AssignStmt, PostfixExpr outside unsafe{} ( #5581 )
2020-07-01 14:50:17 +02:00
Alexander Medvednikov
5eb76606ae
cgen: store return vals in tmp vars with -autofree
2020-07-01 14:34:14 +02:00
yuyi
92eea7f95a
cgen: fix map cross assign ( #5603 )
2020-07-01 14:03:12 +02:00
yuyi
6c5b638202
parser: fix array cross assign ( fix #5577 ) ( #5591 )
2020-07-01 12:11:03 +02:00
Tim Basel
7386adfc99
cli: help/version abbrev optional + fix various inconsistencies ( #5586 )
2020-07-01 10:54:34 +02:00
Delyan Angelov
ca1f47a742
cgen: fix `for k,_ in map { x << k }`
2020-07-01 11:49:02 +03:00
Delyan Angelov
cfd71560fa
cgen: fix << for `mut a []Type` args
2020-07-01 09:21:50 +03:00
Delyan Angelov
78e1127d99
cgen: treat the main module like any other v module
2020-07-01 00:53:53 +02:00
Alexander Medvednikov
34ddc9240e
tutorials: web blog fixes
2020-06-30 21:04:00 +02:00
Delyan Angelov
3fed6ca050
cgen: comment out g_str_buf for now
2020-06-30 18:32:04 +03:00
Delyan Angelov
2fd960f12c
builtin: implement a double free detection for v strings
2020-06-30 18:32:04 +03:00
nyaascii
f10d2bb75f
string: fix trim_prefix and trim_suffix methods ( #5572 )
2020-06-30 15:44:53 +02:00
Delyan Angelov
af56b01a41
cgen: parametrize g_str_buf size by V_STRBUF_MB; free in _vcleanup()
2020-06-30 16:31:02 +03:00
Louis Schmieder
f3010cbfb2
http: add post function with json as payload ( #5580 )
2020-06-30 14:36:11 +02:00
Uwe Krüger
8a46911725
checker: check if mut function arg is declared as mut ( #5579 )
2020-06-30 14:19:22 +02:00
yuyi
61b8c0b699
cgen: change `i++` to `++i` in `for`
2020-06-30 14:14:48 +02:00
yuyi
628f13f1c8
cgen: minor optimization of `index_expr()`
2020-06-30 14:11:59 +02:00
joe-conigliaro
a3086a2ef3
cgen: optimize generic struct name replacement (temp solution)
2020-06-30 13:45:52 +10:00
joe-conigliaro
73da3c9e4c
generic structs: better naming & comments
2020-06-30 09:22:15 +10:00
Louis Schmieder
616b07204d
vweb: add cookies with expire date
2020-06-29 21:14:36 +02:00
joe-conigliaro
7565fe595b
builder: generic struct fix - derive field type
2020-06-30 04:37:07 +10:00
nyaascii
3436ae99fc
picoev: add html() content-type method
2020-06-29 20:25:16 +02:00
Alexander Medvednikov
77e56aa3f9
cgen: fix string frees in calls
2020-06-29 20:20:35 +02:00
joe-conigliaro
ab37dcaa9c
generic structs: initial implementation
2020-06-29 20:09:09 +02:00
Tim Basel
76176eddab
cli: calculate indent based on name length
2020-06-29 17:59:55 +02:00
Alexander Medvednikov
5b98cde811
cgen: free temp strings
2020-06-29 17:47:12 +02:00
yuyi
9d845262b7
parser: fix module type cast
2020-06-29 17:15:40 +02:00
yuyi
c69ef876c5
os: remove `return none` in `fn()?`
2020-06-29 15:06:26 +02:00
Tim Basel
4a1ce3e1f5
cli: add pretty print for multiline descriptions
2020-06-29 14:47:20 +02:00
Ned Palacios
025652bb78
vdoc: dd .vdocignore + minor fixes
2020-06-29 11:03:09 +02:00
yuyi
c588bdee5a
cgen: fix fn()? return
2020-06-29 11:02:40 +02:00
Delyan Angelov
1ba5996404
parser: fix interface functions with no params (ui examples)
2020-06-29 10:53:12 +03:00
Delyan Angelov
b6e6cde3e8
parser: disallow fns with type only args and a body
2020-06-29 10:21:01 +03:00
ka-weihe
1b0b4be287
atof: fix is_space ( #5555 )
2020-06-29 09:23:51 +03:00
Delyan Angelov
8f1e8a9dde
orm: cleanup test (put structs at top)
2020-06-28 22:10:49 +03:00
Alexander Medvednikov
3f59f23427
vweb: fix a leak
2020-06-28 19:55:53 +02:00
Alexander Medvednikov
d2c508e9a9
checker: clean up
2020-06-28 19:44:41 +02:00
Alexander Medvednikov
219ecd18b5
orm: handle unknown tbale names
2020-06-28 19:01:30 +02:00
Alexander Medvednikov
3dea698c93
checker: do not register pseudo variables in sql queries
2020-06-28 18:56:11 +02:00
Alexander Medvednikov
9cbf572561
tests: fix a typo
2020-06-28 15:59:05 +02:00
Alexander Medvednikov
9feaff3464
x64: fix tests
2020-06-28 14:05:18 +02:00
Alexander Medvednikov
0138f46797
vweb: fix a leak
2020-06-28 13:56:38 +02:00
yuyi
05de780219
map: add map['aa']+='str' test
2020-06-28 13:34:59 +02:00
Delyan Angelov
9814497b91
vfmt: fix eating of sql x { ... limit 1 }
2020-06-28 14:27:53 +03:00
Delyan Angelov
fa867578bc
vfmt: fix segfault in update where the struct is not yet known
2020-06-28 14:07:28 +03:00
Delyan Angelov
0661273aad
vfmt: add support for sql x {} expressions and statements
2020-06-28 13:36:21 +03:00
yuyi
b924c6c4a9
cgen: minor opitimize `infix_expr` ( #5547 )
2020-06-28 11:35:49 +02:00
Delyan Angelov
13783aea70
vfmt: support for 'VDIFF_OPTIONS=-w'
2020-06-28 12:35:05 +03:00
yuyi
d9409006fa
cgen: fix a[0]+='str'
2020-06-28 11:16:16 +02:00
Alexander Medvednikov
e666209fe2
vweb: set_content_type()
2020-06-27 23:22:41 +02:00
Emily Hudson
c84bafbdae
vlib,cgen: cleanup array inits using `.repeat() instead of new init syntax
2020-06-27 21:46:04 +02:00
Delyan Angelov
1e5a53abb3
sqlite: support for thirdparty/sqlite amalgamation install
2020-06-27 21:23:26 +03:00
Emily Hudson
1848eb0973
cgen,map: fix leaks in `keys()` and `for x in y`
2020-06-27 17:00:27 +02:00
Alexander Medvednikov
190f970544
checker: handle limit and offset
2020-06-27 16:41:29 +02:00
Alexander Medvednikov
3672cfad0b
orm: offset test
2020-06-27 16:25:25 +02:00
Alexander Medvednikov
f990a0b3d3
orm: offset
2020-06-27 16:22:41 +02:00
Alexander Medvednikov
f073ffa4ad
orm: limit
2020-06-27 16:19:12 +02:00
Louis Schmieder
f8f2fa246e
orm: fix sql table names
2020-06-27 15:14:53 +02:00
Alexander Medvednikov
6a335c4416
fmt: run on parser/assign.v
2020-06-27 15:00:28 +02:00
Alexander Medvednikov
2bfe8e5153
vet: a basic version that just checks indentation for now
2020-06-27 14:50:07 +02:00
yuyi
58763ff299
map: remove unused `get2()` and `get3()`
2020-06-27 13:58:07 +02:00
Alexander Medvednikov
02b846aa72
vweb: fix json() and text() results
2020-06-27 13:56:15 +02:00
Uwe Krüger
8fe70a24a8
checker: forbid non-reference mut arg or receiver of go function
2020-06-26 23:31:38 +02:00
Tomas Hellström
993cd1467b
sync: own submodule for atomic
2020-06-26 23:31:03 +02:00
Alexander Medvednikov
d52f1da7a2
orm: handle missing rows
2020-06-26 20:38:21 +02:00
Tomas Hellström
def99bed02
sync: atomic counters
2020-06-26 20:04:17 +02:00
Emily Hudson
09236a438b
msvc: unique names for pdb files, remove test job limit
2020-06-26 17:16:15 +02:00
Delyan Angelov
c83c5e7c61
os: use `return none` in functions returning `?`
2020-06-26 17:57:02 +03:00
joe-conigliaro
2440ffd013
cgen: always unwrap generic type. fix `x := &T{}`
2020-06-27 00:31:36 +10:00
Delyan Angelov
951f30853a
os: fix rmdir on windows
2020-06-26 17:24:36 +03:00
Daniel Däschle
8903f6e0c0
tmpl: add docs for variables
2020-06-26 15:02:49 +02:00
Lukas Neubert
692ca8ac83
os: make all rm functions return an optional
2020-06-26 15:01:10 +02:00
jhuntos
20884c9576
pg: call PQclean in rows()
2020-06-26 11:55:59 +02:00
joe-conigliaro
202d479bad
checker: fix typo in check_types.v
2020-06-26 15:05:07 +10:00
Alexander Medvednikov
9a713ff9b0
orm: handle more operators
2020-06-25 22:58:28 +02:00
Alexander Medvednikov
aec7f2f6c4
checker: SqlStmt fixes
2020-06-25 22:37:40 +02:00
Uwe Krüger
46379d92f4
fmt: force break in front of long unbreakable parts, avoid very small sub-expressions
2020-06-25 22:24:28 +02:00
Alexander Medvednikov
328cb7ed7e
orm: `update` with selectors and other fixes
2020-06-25 22:23:19 +02:00
Alexander Medvednikov
450c6e843c
orm: `update` with multiple fields
2020-06-25 17:18:44 +02:00
Alexander Medvednikov
b280e08ee0
orm: `update` cgen
2020-06-25 17:12:32 +02:00
Alexander Medvednikov
a8b0dfb38a
checker: allow casting strings to string aliases
2020-06-25 14:55:53 +02:00
Alexander Medvednikov
ce6f687f65
checker: remove an unnecessary error for unexisting types
2020-06-25 14:51:58 +02:00
Alexander Medvednikov
afa5a134b7
orm: move fields fetching to a separate function to remove copy pasta
2020-06-25 14:43:25 +02:00
yuyi
f1e17f30f6
cgen: fix map_in error
2020-06-25 12:53:12 +02:00
yuyi
5e9c154376
os_api: cp/cp_all/... ?bool => ?
2020-06-25 12:06:47 +02:00
Alexander Medvednikov
786be1d1c3
orm: move type logic to checker, so that sql queries can be used before type def
2020-06-25 12:05:24 +02:00
Uwe Krüger
a1bad50b2f
token: use only one representation for precedences
2020-06-25 11:36:13 +02:00
Uwe Krüger
bdecbc1945
fmt: use `-1` for *really* no precedence, since `&` and `|` have precedence 0
2020-06-25 02:39:33 +02:00
ka-weihe
3bb6b6c8b2
map: comments and renaming
2020-06-24 23:31:19 +02:00
Alexander Medvednikov
bb5793d485
vweb: more xss fixes
2020-06-24 22:38:25 +02:00
Alexander Medvednikov
83b300435a
vweb: escape html; table: rename parent_typ to parent_type
2020-06-24 22:12:33 +02:00
yuyi
67d9d94fb3
map: fix m[a]++ etc
2020-06-24 20:41:26 +02:00
Lukas Neubert
955c0b1576
cgen: add 'link' to c_reserved
2020-06-24 20:40:56 +02:00
Uwe Krüger
eb68c222fe
fmt: fix weird bug with tabs in string inpertolation
2020-06-24 20:40:29 +02:00
Alexander Medvednikov
9a77c0ab81
parser: fix the for loop check
2020-06-24 16:58:11 +02:00
Alexander Medvednikov
8ac00b8711
parser: check for loop key/val names
2020-06-24 16:54:21 +02:00
Alexander Medvednikov
4b0e606ae8
checker: fix the alias check
2020-06-24 16:52:23 +02:00
Alexander Medvednikov
9df29d0dd2
checker: do not allow {} for aliases; orm: update stmt
2020-06-24 16:35:18 +02:00
Uwe Krüger
0018e44102
fmt: further improvements by taking precedence into account for subexpressions
2020-06-24 15:19:30 +02:00
Alexander Medvednikov
9d0cc7912a
fmt: re-run on gen/fn.v
2020-06-24 14:56:44 +02:00
Alexander Medvednikov
e918f8faf2
fmt: re-run on checker.v and cgen.v
2020-06-24 14:44:06 +02:00
Alexander Medvednikov
11871d9544
fmt: re-run on parser.v and fmt.v
2020-06-24 14:35:00 +02:00
Alexander Medvednikov
090e6e936a
orm: SqlStmt
2020-06-24 14:32:17 +02:00
Lukas Neubert
30169f86c1
os: make `rm` return an optional
2020-06-24 14:01:19 +02:00
Daniel Däschle
852fca2151
all: call anon fns right away
2020-06-24 12:54:39 +02:00
Alexander Medvednikov
cf7ac7be7f
cgen: zero_struct_field(); orm: zero un-inited fields
2020-06-24 12:53:39 +02:00
yuyi
5f36874c9b
vrepl: fix optional call
2020-06-24 12:45:48 +02:00
yuyi
514ee9d396
cgen: fix optional void return error
2020-06-24 12:45:15 +02:00
Uwe Krüger
56749877ea
fmt: fix handling of double quotes inside single quotes
2020-06-23 23:59:58 +02:00
Alexander Medvednikov
11ad18cd28
vweb: page gen time
2020-06-23 21:02:20 +02:00
Delyan Angelov
fcd73bcb63
scanner: ignore CR signs in string literals
2020-06-23 21:10:58 +03:00
Alexander Medvednikov
74af88bc92
Revert "fmt: re-format parser.v and cgen.v"
...
This reverts commit 6b2808a3f9
.
2020-06-23 18:16:24 +02:00
Alexander Medvednikov
6b2808a3f9
fmt: re-format parser.v and cgen.v
2020-06-23 18:05:53 +02:00
ka-weihe
4e447db883
parser/fmt: fix comments in structs/consts
2020-06-23 18:01:56 +02:00
Uwe Krüger
000eaca6be
fmt: avoid breaking lines with <= 100 characters
2020-06-23 17:54:39 +02:00
yuyi
7efb3ecb34
checker: check deprecated functions
2020-06-23 16:25:24 +02:00
Alexander Medvednikov
db28796b5f
orm: handle bool literals for older sqlite versions
2020-06-23 14:07:39 +02:00
Alexander Medvednikov
16dd889922
orm: test true/false
2020-06-23 13:59:00 +02:00
Alexander Medvednikov
076d0208cd
cc: add -ldl and .o in cross builds
2020-06-23 12:57:06 +02:00
Alexander Medvednikov
63ef04e03e
os: make write_file() return an optional
2020-06-23 11:41:23 +02:00
Alexander Medvednikov
3774ae0d91
orm: fix =
2020-06-23 11:41:23 +02:00
yuyi
e2b5debc6b
checker: check optional type call
2020-06-23 11:39:58 +02:00
yuyi
ed393896f5
checker: check printing of optional type
2020-06-23 11:38:30 +02:00
joe-conigliaro
cff2874608
checker: fn arg - disallow any type with .str() to be passed as string
2020-06-23 08:51:18 +10:00
joe-conigliaro
d19a33c420
sync: use Event for waitgroup on windows
2020-06-23 03:23:42 +10:00
Alexander Medvednikov
a4b159a80f
orm: order by id by default
2020-06-22 17:13:57 +02:00
Alexander Medvednikov
e3f00ff28b
orm: `limit 1` test
2020-06-22 16:58:43 +02:00
Alexander Medvednikov
deb09d95b0
orm: fix `column == var`; limit 1; vweb: @footer
2020-06-22 16:52:16 +02:00
yuyi
73296e486a
parser: fix function return anon_fn without parentheses
2020-06-22 16:03:31 +02:00
Delyan Angelov
b930a11203
parser: fix `match x { mod.constname {} }` handling
2020-06-22 16:16:39 +03:00
yuyi
d232833573
gen: fix printing of generic arrays
2020-06-22 14:54:24 +02:00
Delyan Angelov
cf4dc93e02
sync: run sync.pool without using concurrency features when VJOBS=1
2020-06-22 14:21:54 +03:00
Richard Warburton
640bbbae85
waitgroup: remove races, make platform independent, document
2020-06-22 11:07:34 +02:00
Alexander Medvednikov
e65879d076
fmt: fix compilation
2020-06-21 23:23:31 +02:00
Alexander Medvednikov
011e26ca9a
checker: check sum types in `match`; cross compilation fixes; orm fixes
2020-06-21 23:09:53 +02:00
yuyi
81c19517d1
cgen: add gen_str_for_multi_return
2020-06-21 17:53:13 +02:00
ka-weihe
7f225f2eaa
map: rename size to len
2020-06-21 16:51:02 +02:00
Delyan Angelov
0d6233cd45
net: support for s.max_single_send_size in Socket.send/2
2020-06-21 17:40:39 +03:00
Uwe Krüger
37927235cd
parser: trigger declaration of array element as error
2020-06-20 14:30:03 +02:00
Daniel Däschle
76dc7eea50
vweb: tmpl: add docs
2020-06-20 13:29:55 +02:00
spaceface777
a02aff9126
jsgen: fixes and improvements
2020-06-20 13:22:49 +02:00
joe-conigliaro
ddd83f1fc6
checker: error if variable used before declaration
2020-06-20 12:42:08 +10:00
Alexander Medvednikov
1d8d19c977
vweb: return $vweb.html()
2020-06-20 03:12:38 +02:00
yuyi
e41ddab3b0
test: add multiple array clone tests
2020-06-20 02:35:22 +02:00
yuyi
e484fe15d3
tests: add nested array not equal tests
2020-06-20 02:34:49 +02:00
yuyi
4dc703af2d
cgen: fix nested array equality
2020-06-20 01:40:33 +02:00
JalonSolov
bbd6d0b4e5
vweb: ignore url params on static files
2020-06-20 01:39:55 +02:00
Uwe Krüger
0338d4153a
fmt: make linebreak smarter by algorithm based on penalty
2020-06-19 19:54:26 +02:00
Alexander Medvednikov
a609ff4659
orm: skip fields with [skip]
2020-06-19 17:35:50 +02:00
Swastik Baranwal
72b09d4794
term: add clear
2020-06-19 17:15:41 +02:00
Alexander Medvednikov
3cfeb92a4e
cgen: fix tmp counter; orm: insert fixes
2020-06-19 17:05:57 +02:00
Alexander Medvednikov
cd8392e42d
orm: insert
2020-06-19 16:43:35 +02:00
Uwe Krüger
c78cfa43bc
checker: make map literals have a real type
2020-06-19 15:00:27 +02:00
joe-conigliaro
7bc9e234a3
revert: checker: error if variable used before decleration p1
2020-06-19 21:37:09 +10:00
yuyi
dc8b82e9a4
array: fix multiple array clone
2020-06-19 13:32:55 +02:00
joe-conigliaro
8a5ca4cbdc
checker: error if variable used before decleration p1
2020-06-19 21:31:33 +10:00
spaceface777
624005bbd0
tcc_win: fix tests
2020-06-19 12:54:56 +02:00
Alexander Medvednikov
e8b21b4242
checker: type `x` does not support indexing
2020-06-19 12:53:53 +02:00
Alexander Medvednikov
5f5228f0f3
test: fix `as` checker test
2020-06-19 11:48:19 +02:00
Alexander Medvednikov
d04554f0b7
all: more match updates
2020-06-19 11:46:08 +02:00
Alexander Medvednikov
274ecb71fa
checker: `as` type test
2020-06-19 11:27:20 +02:00
Alexander Medvednikov
d9dd9679e7
cgen: fix a typo
2020-06-19 11:16:51 +02:00
Alexander Medvednikov
ef36520509
checker: check if the type in `as` exists, skip void type errors
2020-06-19 11:15:15 +02:00
yuyi
5a6d440f68
checker: check `array_insert` `array_prepend` type mismatch
2020-06-19 10:49:43 +02:00
Ned Palacios
5ff7d07138
vdoc: fix sorting + other minor improvements
2020-06-19 10:36:45 +02:00
Uwe Krüger
770132ff37
float: make default string representations for floats become alike
2020-06-18 22:33:41 +02:00
joe-conigliaro
1c68417918
parser: error on variable redefinition
2020-06-19 06:16:38 +10:00
spaceface777
68967e833d
parser: skip comp_if when building for a different compiler
2020-06-18 22:01:00 +02:00
Alexander Medvednikov
5ddb129bc2
checker: use the new match syntax
2020-06-18 20:38:59 +02:00
Alexander Medvednikov
78b32892ac
cgen: use the new match syntax
2020-06-18 20:21:08 +02:00
Alexander Medvednikov
d4b17fb0c3
fmt: use the new match syntax
2020-06-18 20:07:48 +02:00
Uwe Krüger
3b6e66db0d
fmt: further fixes for string interpolation and builtin macros
2020-06-18 18:48:23 +02:00
joe-conigliaro
812a9d646a
test: fix sumtype shadow & as test
2020-06-19 01:14:53 +10:00
joe-conigliaro
198fdcf1c6
test: change sumtype var shadow and as test
2020-06-19 01:10:16 +10:00
joe-conigliaro
3533335804
test: add match sumtype var shadow and `as` test
2020-06-19 01:06:40 +10:00
joe-conigliaro
45239cbd62
parser/checker/gen: match shaddow cond var & as support: p2
2020-06-19 00:41:00 +10:00
joe-conigliaro
68143b7b22
parser/checker/gen: match shaddow cond var & as support: p1
2020-06-19 00:33:16 +10:00
Alexander Medvednikov
7be952605b
0.1.28
2020-06-18 15:57:53 +02:00
Alexander Medvednikov
1d28d45c5c
builder: add -lpthread; x64: a+b, a-b
2020-06-18 14:14:42 +02:00
yuyi
947e8922f2
cgen: optimize the format of the generated code
2020-06-18 12:08:36 +02:00
yuyi
930c3d73c1
cgen: fix `arr.insert(0, [1,2,3])` and `arr.prepend([1,2,3])`
2020-06-18 12:08:11 +02:00
yuyi
b806fff90a
parser: minor optimization in parse_multi_expr()
2020-06-18 01:15:17 +02:00
yuyi
3f01e2b796
cgen: fix array.insert and arr.prepend
2020-06-18 00:22:34 +02:00
Alexander Medvednikov
7056f875db
x64: fix another test
2020-06-17 18:31:08 +00:00
Alexander Medvednikov
60bbad4d86
x64: fix a test
2020-06-17 20:24:39 +02:00
Alexander Medvednikov
a602673adb
x64: pass variables to functions
2020-06-17 20:18:51 +02:00
Uwe Krüger
9c9f6415da
fmt: more sophisticated analysis for string interpolat
2020-06-17 19:49:13 +02:00
Alexander Medvednikov
325a7c7ec5
orm: more fixes and tests
2020-06-17 14:29:44 +02:00
Alexander Medvednikov
6066414afa
orm: select many
2020-06-17 14:18:32 +02:00
joe-conigliaro
effa0061e8
parser: fix incorrect duplicate struct attr error
2020-06-17 20:27:51 +10:00
Swastik Baranwal
0052ab71e9
string: add map method
2020-06-17 12:26:55 +02:00
Alexander Medvednikov
fb5cae7376
orm: select where id = x
2020-06-17 04:05:20 +02:00
Uwe Krüger
ddb1770af2
cgen: fix unsigned/signed integer comparisons
2020-06-17 02:54:27 +02:00
Alexander Medvednikov
88654ad81b
orm: use the new optionals
2020-06-17 01:56:50 +02:00
Alexander Medvednikov
ed58192e4c
v orm: select
2020-06-17 00:59:37 +02:00
yuyi
23993d2264
cgen: fix nested array equality error
2020-06-16 18:40:32 +02:00
joe-conigliaro
d478b44915
parser/checker/gen: merge AssignExpr & AssignStmt into just AssignStmt
2020-06-16 21:20:16 +10:00
Alexander Medvednikov
9d6b402df0
test: fix sqlite_test.v
2020-06-16 12:23:52 +02:00
Alexander Medvednikov
e8f8defc3e
ast: SqlExpr
2020-06-16 12:14:22 +02:00
yuyi
2daf915371
parser: `expression evaluated but not used` error
2020-06-16 11:06:53 +02:00
Uwe Krüger
f2d9fa3815
cgen: restructure string_inter_literal()
2020-06-16 10:41:51 +02:00
yuyi
730f485591
test: fix `test_array_init()`
2020-06-15 22:31:11 +02:00
Emily Hudson
49d7a151b7
cgen: edge case for multi-returns
2020-06-15 22:30:16 +02:00
Delyan Angelov
62a872b8b5
vdoc: fix `v doc sokol` const formatting
2020-06-15 18:28:00 +03:00
joe-conigliaro
0cd9066f44
parser/cgen: multiple attributes & better errors ( closes #5334 )
2020-06-15 22:59:09 +10:00
Delyan Angelov
cadde3e9f0
vlib: fix os.exec().output usages, that may rely on trimmed lines
2020-06-15 15:38:20 +03:00
yuyi
b0138e021e
cgen: fix `in` multi_array
2020-06-15 13:21:06 +02:00
Delyan Angelov
e73ed56231
tests: add parser/tests/, move checker_test.v=>compiler_errors_test.v
2020-06-15 10:58:34 +03:00
yuyi
2785a5bf65
checker: check return_duplicate_with_none ( closes #5363 )
2020-06-15 15:10:45 +10:00
spaceface777
5f21b152a7
tcc: support tcc on Windows
2020-06-14 23:15:12 +02:00
Delyan Angelov
c874a22b3b
doc: use `v new` instead of `v create`
2020-06-14 21:20:31 +03:00
yuyi
4e1a09c9f5
cgen: fix array_init temporary variable error
2020-06-14 19:09:27 +02:00
Ruofan XU
90279a7108
checker: use ++ / -- instead of += 1 / -= 1
2020-06-14 19:05:05 +02:00
Swastik Baranwal
a3a91f54a9
checker: handle `!is` in error messages
2020-06-14 19:03:29 +02:00
Mike 'Fuzzy' Partin
206e64d72c
os: add os.uname()
2020-06-14 16:46:30 +03:00
yuyi
2ef0f15b34
string: fix contains behaviour ( closes #5371 )
2020-06-14 19:24:15 +10:00
yuyi
7e0197c1b8
cgen: fix `in` empty array
2020-06-14 10:54:10 +02:00
Adam Stankiewicz
471c931ada
os: do not trim space from output of exec
2020-06-14 01:41:47 +02:00
Alexander Medvednikov
45a3d8474e
cc: remove sysroot hack now that $ bug is fixed
2020-06-13 22:54:20 +02:00
Uwe Krüger
50cd0ed785
parser: fix string array initialization with interpolation
2020-06-13 22:38:10 +02:00
Uwe Krüger
6113c4fe63
builtin: fix string interpolation for autofree
2020-06-13 18:39:17 +02:00
Alexander Medvednikov
6ce7bb4581
vweb: remove an unnecessary empty newline at the start
2020-06-13 16:59:06 +02:00
Adam Stankiewicz
f2a75d5223
test: run all tests even if some fail
2020-06-13 16:20:45 +02:00
Alexander Medvednikov
183924e2a8
cc: linux cross compilation fixes + make work with openssl
2020-06-13 16:19:19 +02:00
Adam Stankiewicz
b3fc462a78
scanner: fix parsing multiple .amp
2020-06-13 00:01:44 +02:00
Alexander Medvednikov
af27963938
string: do not free empty strings
2020-06-12 17:20:51 +00:00
Alexander Medvednikov
ca63b92d4f
cgen: fix _STR 000
2020-06-12 16:55:21 +00:00
yuyi
90f07eb64a
parser: fix fn attributes empty error
2020-06-12 18:27:05 +02:00
Alexander Medvednikov
0d1e5abc41
cgen: call va_end() in _str()
2020-06-12 17:33:08 +02:00
Alexander Medvednikov
7750ce5f60
time: fix relative()
2020-06-12 15:28:28 +02:00
Alexander Medvednikov
b13c95ea48
Revert "vweb: @include tempaltes"
...
This reverts commit 6b06184ef4
.
2020-06-12 14:32:09 +02:00
Daniel Däschle
6b06184ef4
vweb: @include tempaltes
2020-06-12 14:30:07 +02:00
Swastik Baranwal
56ae3797dd
checker: add checks and test for ~ operator
2020-06-12 12:05:20 +02:00
yuyi
b4ad174b7f
array: fix multiple array.repeat index error
2020-06-12 11:42:26 +02:00
Adam Stankiewicz
827a9e221f
cgen: do not double-reference anon fn
2020-06-12 10:48:44 +02:00
Delyan Angelov
0a07dc5762
Revert "_vinit: use static initialization of large const []number"
...
This reverts commit b306c04e99
.
2020-06-12 09:57:38 +03:00
Delyan Angelov
b306c04e99
_vinit: use static initialization of large const []number
2020-06-12 09:41:32 +03:00
yuyi
47ffedc5de
cgen: minor array_init fix
2020-06-12 02:19:48 +02:00
yuyi
ff1437fc5a
cgen: fix multi_array index issue
2020-06-12 01:24:25 +02:00
Alexander Medvednikov
c9cfe9d40b
vweb: @js and @css template fns
2020-06-11 20:34:59 +02:00
Alexander Medvednikov
72fdb09e46
time: relative_short(); fmt: handle $vweb.html()
2020-06-11 20:26:49 +02:00
Delyan Angelov
3bf9b28773
vlib: add fixes for problems, found by check_os_api_parity.v
2020-06-11 21:16:12 +03:00
Delyan Angelov
5ef9569098
cmd/tools: add check_os_api_parity.v - keep module APIs even
2020-06-11 21:13:36 +03:00
Delyan Angelov
05177b9dcb
builder: add 'builtin' to builtin_module_parts instead of .clone()
2020-06-11 19:23:13 +03:00
Delyan Angelov
b2428290f9
builder: fix a const changing bug that prevented 2 builders
2020-06-11 18:35:41 +03:00
yuyi
a66753871d
checker: check array.map/filter fn or anon_fn
2020-06-11 13:14:07 +02:00
Alexander Medvednikov
8f3f27f286
vweb: bring back @header
2020-06-11 11:13:41 +02:00
Don Alfons Nisnoni
39c5c9b966
mysql: update documentation
2020-06-11 11:07:17 +03:00
Emily Hudson
19c3ba2f8f
cgen: ensure struct has empty_struct_declaration to appease msvc
2020-06-11 00:52:06 +02:00
Alexander Medvednikov
684a443b08
cgen: disable _STR_TMP
2020-06-10 21:24:59 +00:00
spaceface777
e50706f25c
jsgen: implement array map and filter
2020-06-10 22:18:20 +02:00
spaceface777
6f886dccca
jsgen: initial string interpolation support
2020-06-10 20:53:43 +02:00
Daniel Däschle
123d788d0d
vweb: include directive
2020-06-10 18:53:04 +02:00
Alexander Medvednikov
a2d7bc6e6f
vweb: look for html templates in `templates/`
2020-06-10 18:00:11 +02:00
Delyan Angelov
972f60d785
cgen: do use g.write_defer_stmts in opt()? calls
2020-06-10 18:43:23 +03:00
yuyi
b6e2495aa2
cgen: remove redundant code for array.map/filter(anon_fn)
2020-06-10 17:25:54 +02:00
Alexander Medvednikov
1254d7a302
cc: fix windows cross compiling for programs that use json
2020-06-10 17:15:24 +02:00
Emily Hudson
bf7f84d16f
cgen: fix using C constants in enums, `none` propagation
2020-06-10 17:01:55 +02:00
Delyan Angelov
a43b8b5c96
vfmt: add maps_in_fn_args__keep.vv test for 3a369f5
2020-06-10 17:15:53 +03:00
Delyan Angelov
3a369f513c
vfmt: fix table.type_to_str(), keep map[string]mod.Type in fn args
2020-06-10 17:12:55 +03:00
yuyi
acf0b84523
cgen: fix array.filter(anon_fn)
2020-06-10 13:18:59 +02:00
yuyi
12faf9fcfa
cgen: fix multiple array.map(anon_fn) calls
2020-06-10 13:18:45 +02:00
Alexander Medvednikov
a130d3cd14
vweb: fix unused var warning
2020-06-10 12:17:49 +02:00
Alexander Medvednikov
b904d7d1ba
vweb: debug prints behind $if debug
2020-06-10 11:50:06 +02:00
Alexander Medvednikov
931bba1d7d
net: fix windows urlmon flag
2020-06-10 11:25:41 +02:00
Alexander Medvednikov
c261ac4f46
net: fix windows headers
2020-06-10 11:24:37 +02:00
Alexander Medvednikov
2ed4457c5f
vweb: init_once()
2020-06-10 11:24:36 +02:00
Tomas Hellström
2dc547a45c
time: fix iso8601 parser and utc time
2020-06-10 11:14:55 +02:00
Ned Palacios
8f9f426479
vdoc: plaintext fixes
2020-06-10 11:14:03 +02:00
Ned Palacios
e3c40f1df8
vdoc: minor css fix + add error message
2020-06-10 11:13:42 +02:00
joe-conigliaro
e38a221dc3
checker: fix second use of gloabl ident
2020-06-10 16:59:31 +10:00
Alexander Medvednikov
4a7ec90bef
vweb: fix a bug with <span>
2020-06-10 01:43:04 +02:00
Alexander Medvednikov
e5aba94ae4
vweb: use state enum
2020-06-09 23:20:51 +02:00
joe-conigliaro
3664bea912
vweb/checker: show tmpl var errors
2020-06-10 02:47:51 +10:00
Delyan Angelov
4fc41c4bc4
v: add compiler support for _unlikely_(x) too
2020-06-09 18:11:03 +03:00
Delyan Angelov
c7d4360931
v: add full compiler support for _likely_(x)
2020-06-09 17:42:43 +03:00
Delyan Angelov
6663e94780
builtin: add C._likely_ support
2020-06-09 16:36:53 +03:00
Hungry Blue Dev
e649cf84e3
rand: reorganize: phase 2
2020-06-09 15:06:07 +02:00
yuyi
85c741519b
cgen: fix array.map(fn...)
2020-06-09 12:50:56 +02:00
Alexander Medvednikov
b3e416fb52
vweb: fix duplicate fn error with multiple templates
2020-06-09 12:43:20 +02:00
yuyi
1396dc1c89
cgen: remove extra blank lines
2020-06-09 12:23:08 +02:00
Alexander Medvednikov
3b8f01b4fb
sokol: remove duplicate #include ft2build.h
2020-06-09 12:21:35 +02:00
joe-conigliaro
62c80bc2c5
parser: add mod list to allow globals by default
2020-06-09 18:49:15 +10:00
Alexander Medvednikov
5dcd2303c9
builtin: fix string.fields()
2020-06-09 10:15:20 +02:00
yuyi
d472a27489
cgen: fix array.map(anon_fn)
2020-06-09 10:14:10 +02:00
spaceface777
895c7624e4
jsgen: improve handling of `blank_ident`
2020-06-09 09:45:50 +02:00
joe-conigliaro
2799a6f065
parser/checker: fix global lookup
2020-06-09 17:08:11 +10:00
Delyan Angelov
99f311cc5f
checker: protect against stackoverflows due to deep expr recursion
2020-06-08 20:35:33 +03:00
spaceface777
30f1c6bad5
parser: fix type_only fns starting with varargs
2020-06-08 19:02:36 +02:00
wilesun
564545d20a
cgen: add defered statements before propagating option returns
2020-06-08 18:50:23 +03:00
Adam Stankiewicz
b4dbf9cacf
table: remove name from MultiReturn type
2020-06-08 15:40:40 +02:00
Adam Stankiewicz
586a886975
table: add tests and improve performance
2020-06-08 15:36:59 +02:00
Louis Schmieder
d3839b5d68
glm: improve matrix mult function and add tests
2020-06-08 15:31:55 +02:00
Alexander Medvednikov
1bbfc271c5
vweb: fix unused tmpl warning; remove duplicate code
2020-06-08 13:30:42 +02:00
Alexander Medvednikov
dabfc4ebd0
checker: do not display errors for incorrectly initialized vars
2020-06-08 13:10:47 +02:00
Alexander Medvednikov
288a6ee468
vweb: minor tmpl fixes
2020-06-08 12:44:38 +02:00
Ned Palacios
721a3a24ae
vdoc: minor features + fixes
2020-06-08 10:28:46 +02:00
Delyan Angelov
6c9b2b8303
builtin: use tcc_backtrace for tcc (phase 2)
2020-06-08 10:46:51 +03:00
Delyan Angelov
8a16086084
builder: pass -bt10 for tcc (phase 1 for using tcc_backtrace)
2020-06-08 10:40:01 +03:00
Ryan Willis
08814d6de4
tools/vsymlink: use the win32 api to update the system environment
2020-06-08 09:19:31 +02:00
Delyan Angelov
0058b8253d
vdoc: fix 'module, comment, import' sequence bug
2020-06-08 09:27:22 +03:00
Enzo Baldisserri
11b7b97311
parser: fail when assigning to _ with :=
2020-06-08 00:47:04 +02:00
Ned Palacios
36edd6295f
vlib: transfer intro to readme; normalize comments
2020-06-08 00:04:23 +03:00
Louis Schmieder
2cad6db9f7
http: fix redirect for servers returning lowercase 'location:' header
2020-06-08 00:01:20 +03:00
Alexander Medvednikov
3bbda7103f
Revert "parser: allow void return type for C functions"
...
This reverts commit d7c63922d5
.
2020-06-07 19:06:19 +02:00
Alexander Medvednikov
30ade1d6ea
tests: test more vweb template features
2020-06-07 19:06:07 +02:00
Swastik Baranwal
d7c63922d5
parser: allow void return type for C functions
2020-06-07 19:45:27 +03:00
Delyan Angelov
2b6ba63a55
ci: fix tests (most CI jobs do not have pg set up)
2020-06-07 18:08:31 +03:00
Alexander Medvednikov
e029044b13
pg: fix compilation
2020-06-07 16:05:44 +02:00
Alexander Medvednikov
931cf86cc3
tests: build vweb example
2020-06-07 15:44:33 +02:00
Alexander Medvednikov
8277c976a8
gg: draw_image,draw_rounded_rect placeholder fns
2020-06-07 15:20:42 +02:00
Tomas Hellström
9c8769503f
time: add microsecond precision to Time struct
2020-06-07 16:19:09 +03:00
Lukas Neubert
eec5cf1eb1
vpm: use only `-v` for verbose output
2020-06-07 14:20:56 +02:00
joe-conigliaro
70c18fc7b2
vweb: tmpl access to action method vars
2020-06-07 21:26:47 +10:00
Ned Palacios
cbcdc8434f
vdoc: group constants + minor fixes
2020-06-07 12:27:42 +02:00
joe-conigliaro
1c2bf7b244
vweb: impl of comptime tmpl parsing (fix vweb_example)
2020-06-07 20:26:45 +10:00
Delyan Angelov
013bfc7ebc
vweb: add vweb.run_app(app,port); fix compilation of vweb_assets/main.v
2020-06-07 11:02:35 +03:00
Sumeet Chhetri
442030a7c8
picoev: make compile, add header parsing
2020-06-07 01:23:30 +02:00
Alexander Medvednikov
d62d0c40d2
parser: fix typo
2020-06-06 21:36:55 +02:00
Alexander Medvednikov
4d5ac1e16d
vweb: $html
2020-06-06 21:36:34 +02:00
Delyan Angelov
16bf300934
os: fix compilation with -cc gcc -prod of programs using os.cp
2020-06-06 22:05:23 +03:00
Delyan Angelov
e534f8507b
vlib: minor tweaks for various module imports, needed for vdoc
2020-06-06 19:14:10 +03:00
Delyan Angelov
8d3f680d07
vdoc: implement .toplevel_comments parsing mode
2020-06-06 19:05:26 +03:00
Delyan Angelov
3aecdeab63
os,gl,sync: cleanup, prepare for .toplevel_comments vdoc mode
2020-06-06 18:47:25 +03:00
Alexander Medvednikov
fb6be080fb
fmt: fix compilation
2020-06-06 16:52:41 +02:00
Alexander Medvednikov
2770077cb0
fmt: x.foo!() experiment
2020-06-06 16:05:24 +02:00
Alexander Medvednikov
40bd1be85f
parser: fix !
2020-06-06 12:43:35 +02:00
Alexander Medvednikov
100b3986b8
parser: handle ! after CallExpr
2020-06-06 12:28:03 +02:00
joe-conigliaro
34af7ccba9
scanner: cut keyword lookups in half
2020-06-06 19:49:50 +10:00
Alexander Medvednikov
7815c5b108
cgen: $action (ComptimeCall); vweb: hello world works!
2020-06-06 10:05:26 +02:00
joe-conigliaro
0a3486b4c5
checker: generic/vewb fix
2020-06-06 17:06:11 +10:00
joe-conigliaro
c2fe4ffa85
table: remove fn to set idx & add new derive fn
2020-06-06 12:51:36 +10:00
joe-conigliaro
31d03bb113
checker/cgen: small generic fixes (mut arg return)
2020-06-06 12:24:27 +10:00
Uwe Krüger
de76ac583f
parser: fix string interpolation for expressions ending `c`, `r`, `js`
2020-06-05 22:37:34 +02:00
Alexander Medvednikov
11908410f3
vweb: make compile
2020-06-05 21:04:18 +02:00
Alexander Medvednikov
e3917d98c2
generics: another mut arg test
2020-06-05 20:57:05 +02:00
Louis Schmieder
5c74e86ec4
gl: add comments & clean up
2020-06-05 15:57:45 +02:00
Alexander Medvednikov
3478430762
gg: borderless windows on macos without animation
2020-06-05 15:43:47 +02:00
Delyan Angelov
c1fc61200c
gg: support .keydown_fn and .char_fn in addition to .event_fn
2020-06-05 12:39:06 +03:00
joe-conigliaro
3c4e4d4825
gen/checker: copy ptr & flag info in unwrap_generic
2020-06-05 18:41:15 +10:00
Ned Palacios
30e0bda434
vdoc: rewrite usage, add new options + streamline process
2020-06-05 09:59:26 +02:00
yuyi
c9b395f9cf
checker: fix for_in_index type error
2020-06-05 09:44:25 +02:00
yuyi
ef46fbb96f
cgen: clean up ternary
2020-06-05 08:30:03 +02:00
Delyan Angelov
24b263cf87
vid: bring back scale field to gg.Config, fixes vid compilation
2020-06-05 08:48:31 +03:00
Delyan Angelov
2237968ec1
gg: fix x11 scaling
2020-06-05 08:19:34 +03:00
Alexander Medvednikov
e7f52ebed6
gg/ft: minor Sokol fixes
2020-06-04 23:51:59 +02:00
Daniel Däschle
d0f9bdf85e
vdoc: style and other improvements
2020-06-04 23:50:59 +02:00
Daniel Däschle
6118875ee3
vweb: add tmpl api to compile either file or a string
2020-06-04 22:30:25 +02:00
Alexander Medvednikov
13a7ce9e69
gg: GG => Context
2020-06-04 20:26:18 +02:00
Alexander Medvednikov
926ffc8aa9
freetype: use old gg
2020-06-04 20:18:22 +02:00
Alexander Medvednikov
fb7ca56d87
gg: minor fixes
2020-06-04 19:57:16 +02:00
Uwe Krüger
cf9498ef6b
cgen: use standard checks for float comparisons
2020-06-04 19:47:41 +02:00
joe-conigliaro
1c43204224
table: remove extra parens & inline fn
2020-06-05 00:28:34 +10:00
Alexander Medvednikov
6b6c9d6738
gg: make the Sokol based gg the default
2020-06-04 16:05:15 +02:00
yuyi
dd7ebf7fac
parser: check function argument mutable syntax
2020-06-04 15:20:43 +02:00
joe-conigliaro
edd56bc080
table: allow type hold 8 flags at once
2020-06-04 22:38:54 +10:00
Alexander Medvednikov
277b7b35d0
cgen: write_fn_attr()
2020-06-04 12:20:14 +02:00
joe-conigliaro
41dca3ef58
checker/cgen: fix mutable generic fn args
2020-06-04 19:32:31 +10:00
yuyi
8a24d7d723
checker: optional return fix
2020-06-04 10:40:32 +02:00
yuyi
5ae8853648
all: change `f mut Foo` to `mut f Foo`
2020-06-04 10:35:40 +02:00
Delyan Angelov
0b7fe0a9d0
gg2: add the rest of the sokol callbacks in gg.new_context
2020-06-04 09:48:49 +03:00
Delyan Angelov
576e80b3a9
tetris: restore text rendering with gg2.ft.draw_text
2020-06-03 23:09:34 +03:00
Swastik Baranwal
d286f67220
parser: update check for non mut types in fn
2020-06-03 18:47:18 +03:00
yuyi
962bbf1c60
fmt: fix ?void format error, add _keep.vv test
2020-06-03 18:45:40 +03:00
yuyi
ffafeac0f8
cgen: optimize gen c code format
2020-06-03 18:24:08 +03:00
Leah Lundqvist
5e2a6ffe65
jsgen: small fix - remove trailing comma in export
2020-06-03 17:30:43 +03:00
Delyan Angelov
8a23cfc0d6
tetris: support instant `d`rop key, add +FPS counter on -d showfps
2020-06-03 16:45:26 +03:00
pancake
e9bcd36d5e
builtin: implement generic break_if_debugger_attached()
2020-06-03 14:11:23 +02:00
yuyi
13e09c61ef
tests: add multi_dimensional array init tests
2020-06-03 14:10:29 +02:00
yuyi
1060de88af
parser: fix function mutable argument error
2020-06-03 12:28:16 +02:00
spaceface777
4b7c70caca
parser: fix JS functions starting with caps
2020-06-03 10:57:32 +02:00
Alexander Medvednikov
d182059ba6
tests: fix fn_test.v
2020-06-03 10:54:47 +02:00
Alexander Medvednikov
00978da2c4
checker: fix mut int test
2020-06-03 10:45:19 +02:00
Alexander Medvednikov
888a43a684
checker: fix mut int test
2020-06-03 10:40:41 +02:00
Alexander Medvednikov
199f4f006b
checker: fix mut int check
2020-06-03 10:36:56 +02:00
Delyan Angelov
6a0a2da05c
cgen: support `$if test { ... }`
2020-06-03 10:20:10 +03:00
Alexander Medvednikov
99c70cf9c6
pref: do not allow -o .v
2020-06-03 09:03:46 +02:00
Mike 'Fuzzy' Partin
ac0fee8e64
repl: fix BSDs
2020-06-03 08:44:44 +03:00
yuyi
d0ff9a7c4a
parser: correct fn arg position in error message
2020-06-03 08:42:02 +03:00
Delyan Angelov
845084c89d
strconv: fix format_dec example
2020-06-03 01:30:46 +03:00
Alexander Medvednikov
63b8cdea7a
checker: require () in a && b || c
2020-06-02 22:21:44 +02:00
Delyan Angelov
0a84f0feb5
vdoc: prevent infinite recursion in get_parent_mod
2020-06-02 23:14:46 +03:00
yuyi
1386c5df13
parser: use `?` instead of `?void` errpr
2020-06-02 17:24:24 +02:00
Uwe Krüger
b0f66a4e05
checker: permit int -> f32, int64 -> f64 and similar promotions again
2020-06-02 17:00:14 +02:00
Alexander Medvednikov
640688d8cf
vdoc: fmt doc/doc.v
2020-06-02 16:19:55 +02:00
Alexander Medvednikov
fb3e52ca63
all: `!is` operator
2020-06-02 16:18:12 +02:00
Alexander Medvednikov
78f8a8aee6
cgen: remove g_ hack
2020-06-02 15:49:43 +02:00
Alexander Medvednikov
1139d3b458
gg: move text rendering to gg.ft
2020-06-02 15:35:41 +02:00
yuyi
653a27005b
cgen: fix multi dimensional array init error
2020-06-02 15:15:52 +02:00
Delyan Angelov
3521c9045b
vpm: change hardcoded ~/.vmodules/ (does not work on windows)
2020-06-02 14:36:49 +03:00
Ned Palacios
b99ba21ddd
vdoc: markdown, html, json generation + lots of fixes
2020-06-02 12:10:01 +02:00
Emily Hudson
46dbbd0ed0
json: add enum to json_test to prevent regressions
2020-06-02 12:13:26 +03:00
yuyi
63b2d4be99
cgen: make >8 indent levels work
2020-06-02 10:40:24 +02:00
Alexander Medvednikov
ad8ed851d0
examples: make tetris compile
2020-06-02 09:38:42 +02:00
Alexander Medvednikov
138d730dfa
checker: prepare for the is_changed check
2020-06-02 09:00:51 +02:00
Ned Palacios
9fcb8536e8
fmt: fix struct decl gen with c structs
2020-06-02 07:41:02 +02:00
ka-weihe
13c68eb81e
rand: fix warnings
2020-06-02 06:39:38 +02:00
Uwe Krüger
076089d3c5
checker: apply stricter type checks to function args and return types
2020-06-01 21:15:59 +02:00
Hungry Blue Dev
a7c84834f4
rand: reorganize (step 1)
2020-06-01 21:13:56 +02:00
Naheel
4fcabb71c4
os: implement cp for nix
2020-06-01 21:11:40 +02:00
Delyan Angelov
4956ca62e3
websocket: move .nonce_size to pub mut:
2020-06-01 20:37:24 +03:00
Delyan Angelov
328a235f94
websocket: add Client.nonce_size field
2020-06-01 20:31:58 +03:00
Emily Hudson
0c7bac4ba7
json: fix enums and byte, cleanup
2020-06-01 19:36:07 +03:00
Delyan Angelov
6161392648
json: do not generate comptime encode/decode functions already defined in json_primitives.v
2020-06-01 19:04:17 +03:00
Delyan Angelov
c6a7d0a3a0
tests: update the remaining erroring tests, CI should be green now
2020-06-01 18:30:26 +03:00
Delyan Angelov
ae8f7cf569
tests: fix some tests, that failed due to the stricter immutable checks
2020-06-01 18:24:38 +03:00
Delyan Angelov
86862d6a94
checker: remove mod_file_cacher exception
2020-06-01 17:43:03 +03:00
Alexander Medvednikov
3d83934caf
checker: check mutating methods; generics fixes
2020-06-01 15:44:10 +02:00
Delyan Angelov
945439dab6
cgen: print actual values on a failed assert (when possible)
2020-06-01 14:43:38 +03:00
Alexander Medvednikov
9bcbb3868f
gg: migrate to sokol; examples: update tetris
2020-06-01 12:57:08 +02:00
Don Alfons Nisnoni
37e3cc0e72
mysql: simplify, add more functionality & documentation
2020-06-01 11:26:39 +02:00
Delyan Angelov
97b9ce04a4
crypto.rand: cleanup test, make it less likely to fail in CI
2020-06-01 07:49:52 +03:00
spaceface777
11e6734912
jsgen: more fixes and improvements
2020-05-31 20:48:31 +02:00
pancake
304258162c
cgen: when building a shared library, make vinit() a constructor
2020-05-31 17:27:23 +02:00
Mike 'Fuzzy' Partin
411868a43a
util: add gdiff to the list of diff utilities to support bsd systems
2020-05-31 17:01:31 +02:00
Alexander Medvednikov
a5ddb613fb
builder: linux cross compilation
2020-05-31 15:09:07 +02:00
Delyan Angelov
f1f6fb1a9f
json: fix `f32 is not struct`
2020-05-31 14:17:20 +03:00
Uwe Krüger
faf3248e98
checker: check types for bitwise right shift
2020-05-31 12:58:13 +02:00
Emily Hudson
75eac291ac
all: variable sized options
2020-05-31 12:57:26 +02:00
Alexander Medvednikov
f87e872fa2
checker/cgen: interface match
2020-05-31 10:22:21 +02:00
Delyan Angelov
bb9d268bd9
fmt: add struct init keep test, fix another &&Foo bug
2020-05-30 22:34:57 +03:00
Alexander Medvednikov
905f844b16
cgen: return interface fix
2020-05-30 20:18:03 +02:00
Alexander Medvednikov
1ca7a607d3
checker/cgen: return interfaces
2020-05-30 19:54:16 +02:00
Uwe Krüger
b74e1bb05d
checker: fix type mismatch in function argument for struct reference init
2020-05-30 15:42:12 +02:00
Emily Hudson
a4de507c6d
cgen: panic on assertion failed outside tests
2020-05-30 13:19:52 +02:00
Alexander Medvednikov
dd34e65398
gg: sokol fixes and text rendering benchmark
2020-05-30 12:52:27 +02:00
Delyan Angelov
f9cb0d443b
builder: improve suggestion on a w64 cross compile fail on linux
2020-05-30 13:49:03 +03:00
Delyan Angelov
d148920b54
v.util: prepare CI for the external markdown module (needed for vdoc)
2020-05-30 11:06:16 +03:00
JalonSolov
b7dc5b2f7b
stopwatch: auto_start option, make pause cumulative
2020-05-30 10:20:54 +03:00
Delyan Angelov
077e06b44e
fmt: fix struct field default expressions and tags
2020-05-29 21:22:27 +03:00
yuyi
1e504fb388
parser: check undefined variable of assign_expr
2020-05-29 17:38:40 +02:00
Delyan Angelov
f3c5f36317
parser: allow for `struct Abc { f [skip] = -1 }`
2020-05-29 12:45:54 +03:00
Delyan Angelov
0970e61350
repl: fix exiting raw mode by reverting da9b3d8
...
This reverts commit da9b3d82d2
.
2020-05-29 09:03:55 +03:00
Alexander Medvednikov
1c11ac9fdf
checker: make sure `is` is only used with interfaces and sum types
2020-05-29 06:46:01 +02:00
yuyi
3a340cbffc
checker: fix array_init cast type error
2020-05-29 06:39:46 +02:00
Alexander Medvednikov
bec3e07635
interfaces: fix `is`
2020-05-29 05:54:53 +02:00
pancake
b3f2c629c6
builder: use .dylib for -shared builds in macOS
2020-05-29 04:52:19 +02:00
Alexander Medvednikov
39925b8dac
live: simplify elog()
2020-05-29 04:42:02 +02:00
Alexander Medvednikov
96fb7901b3
live: fix reloader.v
2020-05-29 04:36:08 +02:00
Alexander Medvednikov
81b44dc2c9
generics: generic call inside generic call; checker: check mut args at call
2020-05-29 04:30:00 +02:00
Emily Hudson
f0a9b88ac4
all: add stdcall attribute, unhandled exception handler, get_raw_stdin, v_realloc
2020-05-29 03:06:27 +02:00
Tim Basel
7e538d7401
utils: add args to launch_tool
2020-05-28 19:40:09 +03:00
yuyi
28ffe2a6ee
checker: add error for struct fields of type []unknown
2020-05-28 19:38:53 +03:00
spaceface777
60716bba29
parser: fix nested array_init syntax
2020-05-28 19:36:57 +03:00
pancake
1d78914a8f
parser: support @VROOT in #include too, make it use absolute paths
2020-05-28 19:36:04 +03:00
Delyan Angelov
75b8822f06
scanner: prevent infinite looping, when reaching .eof due to parser bugs
2020-05-28 19:22:11 +03:00
Delyan Angelov
d70cd81875
v.pref: remove 'setting pref.path to ...' when given -v
2020-05-28 18:41:26 +03:00
Matt Baulch
da9b3d82d2
readline: fix stack memory leak on Linux
2020-05-28 15:38:20 +02:00
Alexander Medvednikov
9609b3a9c8
checker: make the method warning an error
2020-05-28 15:30:54 +02:00
Alexander Medvednikov
01dbb25a37
checker: do not allow defining methods on types from other modules
2020-05-28 15:23:20 +02:00
Leah Lundqvist
1d0ebfb691
jsgen: add hash statement
2020-05-28 14:38:10 +02:00
pancake
2943bdc1f6
cgen: add support for $if (mach|darwin|hpux|gnu|qnx|bsd)
2020-05-28 13:33:12 +02:00
Tim Basel
d688d356a7
cli: assign parent by default; add disable_flag
2020-05-28 13:32:43 +02:00
yuyi
977eb895e8
checker: check array init's element type
2020-05-28 13:32:12 +02:00
Ethan Reynolds
6da1d3aff8
gx: convert Color values from int to byte and expand operators
2020-05-28 13:21:20 +02:00
Matt Baulch
c7501e2d3d
os: fix build issue caused by fileno on *BSD
2020-05-28 11:08:59 +02:00
Delyan Angelov
a3bd8d3e4c
cgen: add trace info about auto str generation
2020-05-28 10:36:29 +03:00
Delyan Angelov
55ef117531
cgen: fix for V structs fields (auto str and json_decode)
2020-05-28 09:55:37 +03:00
Ned Palacios
94f23d96e9
vfmt: fix generation on C idents, fixed arrays
2020-05-28 08:06:20 +02:00
Alexander Medvednikov
d6037cbcf2
generics: fix method calls
2020-05-28 05:58:19 +02:00
Delyan Angelov
ae8cc2f433
live: fix -live compilation && make live_test.v not swallow segfault errors
2020-05-28 03:21:49 +03:00
yuyi
9cbd9db4e7
cgen: fix swap assign of prefix and postfix expr
2020-05-28 02:22:09 +03:00
div72
cecb7d29c7
Prevent vfmt from appending the module name to FnTypeDecl inside the same module ( #5080 )
2020-05-28 02:19:24 +03:00
Alexander Medvednikov
4988d340b1
generics: fix method calls
2020-05-28 01:19:08 +02:00
Hungry Blue Dev
e89ae7e194
rand: refactor rand.v and random_numbers_test.v
2020-05-28 02:16:17 +03:00
Delyan Angelov
04ca7efc0c
websocket: fix compilation of client.v
2020-05-28 01:38:54 +03:00
Delyan Angelov
f6bdb3ae81
v.vmod: cleanup vmod.mod_file_cacher API
2020-05-28 01:38:11 +03:00
Delyan Angelov
2046ae78df
builder: improve `redefinition of function` messages
2020-05-28 00:56:28 +03:00
Delyan Angelov
0292666ac1
builder: use verror instead of panic when a _test.v file does not exist
2020-05-27 21:38:09 +03:00
div72
48cc8dd86b
rand: cleanup of rand_f32xxx and rand_f64xxx functions
2020-05-27 20:13:57 +03:00
yuyi
84edbd83da
all: fix struct names error
2020-05-27 19:12:34 +03:00
Alexander Medvednikov
670820cc59
parser: do not allow 1 char struct names
2020-05-27 16:00:00 +02:00
Alexander Medvednikov
5423a15f46
generics: more fixes
2020-05-27 15:56:30 +02:00
Larpon
8c753ddf8d
rand: add random functions for f32 and f64, [0,max] and [min,max] versions
2020-05-27 16:41:37 +03:00
Ned Palacios
e0db880791
fmt: simplify map_init
2020-05-27 16:26:45 +03:00
Delyan Angelov
a4af4f9fe7
http_test.v: comment yahoo test urls for now
2020-05-27 15:53:57 +03:00
Emily Hudson
0b64e2190f
checker,cgen: unpack multi returns in return statements
2020-05-27 15:47:38 +03:00
x0r19x91
72ed673566
builtin: array: fix slice cloning
2020-05-27 14:07:03 +02:00
Larpon
6ca53d7b39
scanner: improve @FN substitution for anon functions
2020-05-27 12:05:50 +03:00
Delyan Angelov
481f103dc9
checker: make an error using non `pub` fns from other modules
2020-05-27 12:00:19 +03:00
Delyan Angelov
ebbf42dadb
tests: add a commented test_generic_fn_with_variadics, which worked with old v
2020-05-27 08:41:12 +03:00
Alexander Medvednikov
59711d9c55
generics: test `T{}`
2020-05-27 06:53:52 +02:00
Uwe Krüger
013fdb8a4b
checker: restrict numeric promotions to cases where no data is lost
2020-05-27 05:42:48 +02:00
Alexander Medvednikov
fc67046bac
checker: fix pub fn check
2020-05-27 03:38:21 +02:00
Alexander Medvednikov
7c9279c447
vfmt: make work with comptime
2020-05-27 03:33:40 +02:00
yuyi
23c0bb600c
scanner: fix vmod_file on windows
2020-05-27 03:32:39 +02:00
Alexander Medvednikov
6f7628cb67
parser: comptime call fixes
2020-05-27 03:20:25 +02:00
Ned Palacios
b02ec8cbf9
vfmt: fix raw string support
2020-05-27 03:10:47 +02:00
Delyan Angelov
3cfdd2a4cd
scanner: add support for @VMOD_FILE
2020-05-26 23:39:15 +03:00
yuyi
bb48851092
cgen: fix mutliple_assign swap
2020-05-26 18:00:51 +02:00
ka-weihe
64173c792f
builtin: map: fix memory leak
2020-05-26 17:59:52 +02:00
Larpon
31ba64b409
scanner: add support for `@STRUCT` compile time substitution
2020-05-26 15:35:11 +02:00
Julia K
285e04393e
cgen: fix missing space, remove unnecessary comment
2020-05-26 16:22:28 +03:00
pancake
8d10adf886
flag: fix a typo
2020-05-26 14:27:01 +02:00
Julia K
2b27072fac
compiler: new attributes, prelude customization
2020-05-26 14:12:18 +02:00
Emily Hudson
748b1d3381
cgen: use typ() for array type
2020-05-26 14:11:59 +02:00
Enzo Baldisserri
145b125155
websocket: make compile
2020-05-26 12:50:37 +02:00
Julia K
b4eadb9030
cmd/v: reimplement -path flag
2020-05-26 03:17:52 +02:00
Alexander Medvednikov
b4d88ee4af
checker: handle map.clone()
2020-05-26 02:09:26 +02:00
ka-weihe
8ea0c812a2
builtin: map.clone()
2020-05-26 01:52:06 +02:00
Alexander Medvednikov
0f92800921
cgen: string buffer fix
2020-05-26 00:04:13 +02:00
Delyan Angelov
b0cfd3fa67
parser: reimplement [flag] enum support. Add p.vcodegen too
2020-05-26 00:00:48 +03:00
Delyan Angelov
5825e467b8
checker: fix appending an .enum_val to a struct field of []Enum
2020-05-25 21:48:43 +03:00
spaceface777
f8b237433f
jsgen: fix array push operator
2020-05-25 19:34:42 +03:00
Larpon
09dc2eed82
scanner: add support for '@MOD'
2020-05-25 19:33:41 +03:00
Alexander Medvednikov
bc3e29e77b
cgen: fix a bug with tmp strings/free
2020-05-25 11:01:21 +00:00
Alexander Medvednikov
53a10eb312
cgen: use STR_TMP with -autofree
2020-05-25 12:46:18 +02:00
pancake
fe249cd1f8
pref: fix crash in 'v run' without arguments
2020-05-25 12:30:12 +02:00
Enzo Baldisserri
d22609051a
checker: CallExpr with handled optional returns plain type
2020-05-25 11:32:14 +02:00
yuyi
30ca08aaa3
parser: fix self-referenced error
2020-05-25 11:31:04 +02:00
Delyan Angelov
96808a0e2a
cgen: generalize _vcleanup of array/string consts + valgrind with tcc
2020-05-25 10:24:19 +03:00
Delyan Angelov
ae03aab03e
cgen: autofree math.bits and strconv.ftoa constants
2020-05-25 09:53:30 +03:00
Delyan Angelov
6683f98eba
cgen: add support for `-printfn _vcleanup` and `-printfn _vinit`
2020-05-25 09:47:00 +03:00
Alexander Medvednikov
656bc6b6c8
tests: valgrind: strings are freed now!
2020-05-25 06:23:50 +00:00
Alexander Medvednikov
f41e2c0a4b
string: make replace() clone for now; parser: comptime method
2020-05-25 08:17:36 +02:00
Alexander Medvednikov
1b36d7a037
cgen: handle c++ keyword
2020-05-25 05:46:58 +02:00
Alexander Medvednikov
99ce3d456b
jsgen: handle ComptimeCall
2020-05-25 05:38:47 +02:00
Alexander Medvednikov
1ef8eacd6e
checker/gen: more generics fixes; ComptimeCall
2020-05-25 05:32:36 +02:00
yuyi
ec7863d174
cgen: fix array_init of struct error
2020-05-25 04:45:16 +02:00
spaceface777
4189190bb8
jsgen: start implementing remaining `expr`s and `stmt`s
2020-05-24 22:49:01 +02:00
Uwe Krüger
fd4d28b7b6
tests: update for stricter type checks
2020-05-24 21:07:32 +02:00
penguindark
4e66c12557
strconv: minor fixes
2020-05-24 21:06:35 +02:00
Delyan Angelov
a0f8005352
checker: support tests/run/ folder, checks many warns/errors/output
2020-05-24 21:13:09 +03:00
Delyan Angelov
23e8c8ecda
checker: prevent infinite recursion on a:=b b:=a
2020-05-24 20:55:04 +03:00
yuyi
641fe5c864
checker: fix unresolved variables error on assignments
2020-05-24 20:33:53 +03:00
Delyan Angelov
1754ba19d8
live: cleanup live_test.v output, remove 1s delay
2020-05-24 18:38:43 +03:00
Delyan Angelov
d16485c29e
live: make live_test.v more robust
2020-05-24 17:45:53 +03:00
Uwe Krüger
7c4f2b535b
cgen: prepare any_in, any_float on v side
2020-05-24 15:26:43 +03:00
Delyan Angelov
ddcb5f7da3
gen: fix autogenerated print methods for vargs
2020-05-24 15:05:19 +03:00
Uwe Krüger
c4fbae3edc
cgen: add definitions of any_float and any_int types to cheader
2020-05-24 11:28:25 +02:00
Delyan Angelov
2adfbfc830
builtin: fix a bug in array_delete
2020-05-24 11:10:41 +03:00
Alexander Medvednikov
7963e48ca1
tests: valgrind: disable string.replace() test for now
2020-05-24 07:33:33 +00:00
Alexander Medvednikov
494f4fe986
tests: valgrind: string.replace()
2020-05-24 07:19:58 +00:00
Delyan Angelov
06540f0e91
net: fix warnings due to uppercase consts
2020-05-24 07:39:47 +03:00
Alexander Medvednikov
85d19dd253
cmd/v: error-limit
2020-05-24 04:47:51 +02:00
Alexander Medvednikov
67750c91d7
generics: lots of fixes
2020-05-24 04:43:03 +02:00
yuyi
4608898bcd
checker: fix multiple assign immutable error
2020-05-23 17:30:28 +02:00
Delyan Angelov
4271eb477c
cgen: disable C static fn attribute with -cg (improves backtraces)
2020-05-23 14:04:02 +03:00
Delyan Angelov
43eaec325d
fmt: add keep tests for struct init, fix warnings
2020-05-23 12:05:21 +03:00
Delyan Angelov
c690c2f984
vfmt: fix formatting of struct init without a module prefix
2020-05-23 11:56:06 +03:00
Delyan Angelov
70f0115e27
options: use panic_debug() for opt()? calls in main with -cg
2020-05-23 11:43:20 +03:00
Enzo Baldisserri
801bca1ef2
compiler: propagate optional
2020-05-23 08:51:15 +02:00
Delyan Angelov
5037d9de37
vlib: remove unused uiold
2020-05-23 09:19:41 +03:00
Delyan Angelov
4af4a8f2ff
fmt: fix 'import time as t', then using t.sleep_ms() .
2020-05-22 22:31:24 +03:00
Delyan Angelov
104359365f
examples: fix const name warnings due to gx.White, etc...
2020-05-22 20:00:46 +03:00
Delyan Angelov
acb58a1f98
parser: add p.peek_tok3, fix `for ...<a.len...`
2020-05-22 19:48:47 +03:00
yuyi
dda875a9c8
all: unify const names to snake_case
2020-05-22 17:36:09 +02:00
Delyan Angelov
aef751861d
cgen: fix `_ := []byte{init:1}`
2020-05-22 18:17:20 +03:00
Delyan Angelov
88fa935376
builtin: fix print mem leak on windows
2020-05-22 12:18:27 +03:00
Delyan Angelov
7a4f26ac4f
compiler: use -lpthread during building v itself.
2020-05-22 08:36:56 +03:00
penguindark
8bf290acf0
os: minor fixes
2020-05-22 06:21:11 +02:00
Alexander Medvednikov
edabd57e8a
parser: use parallel only on macos for now
2020-05-22 02:45:11 +02:00
Alexander Medvednikov
1e853072dc
parser: parallel parser, part 1
2020-05-22 02:23:14 +02:00
yuyi
2f171bf5d9
regex: uniform const field names to snake_case
2020-05-21 23:33:51 +02:00
Leah Lundqvist
f2ea8ca62c
jsgen: class -> factory
2020-05-21 22:36:06 +02:00
Enzo Baldisserri
1633675c11
gen: fix nested `or`
2020-05-21 22:35:43 +02:00
Alexander Medvednikov
d3ce6fd2e7
checker: check each generic function for each type
2020-05-21 21:51:52 +02:00
Ruofan XU
b2b0461218
scanner: fix err pos related to num literal
2020-05-21 18:43:57 +02:00
Alexander Medvednikov
227f039652
vfmt: handle generic fn calls
2020-05-21 18:36:25 +02:00
Alexander Medvednikov
87d8e70d6d
checker/table: generic fixes
2020-05-21 18:15:04 +02:00
Swastik Baranwal
bf7ab19d09
builder: do not allow importing 'builtin' module
2020-05-21 16:31:41 +02:00
Abdullah Atta
cb82ff618b
jsgen: proper jsdoc for namespace
2020-05-21 16:31:07 +02:00
Maddi Kopfermann
26cb9e4b9f
regex: fix spelling
2020-05-21 16:22:39 +03:00
Ruofan XU
aba09a7e4d
scanner: fix err pos related to num literals
2020-05-21 16:20:36 +03:00
Abdullah Atta
9888bacad5
v: make js hello world work
2020-05-21 16:17:16 +03:00
Louis Schmieder
a9999ee10d
glm: add uniform functions to gl, add matrix rotation to glm
2020-05-21 16:13:02 +03:00
yuyi
047e982318
gen: fix pointer_str_test.v
2020-05-21 15:09:35 +03:00
Alexander Medvednikov
abb15275f5
checker: update a `for in` error test
2020-05-21 06:06:11 +02:00
Alexander Medvednikov
45c9ccfc03
tests: simple<string> generics test
2020-05-21 04:56:36 +02:00
Alexander Medvednikov
ce1a181699
all: generic functions
2020-05-21 03:58:53 +02:00
yuyi
b8c028c727
parser: fix -5.str() precedence
2020-05-20 23:26:23 +02:00
Alexander Medvednikov
cd07429cc1
rand: fix compilation on linux
2020-05-20 21:14:17 +00:00
Alexander Medvednikov
ca81442fac
parser: fix a small bug with <
2020-05-20 21:47:03 +02:00
Alexander Medvednikov
82cedbaf62
fmt: fix `map[string][]string`; parser: allow `foo<int>(10)`
2020-05-20 21:40:24 +02:00
Delyan Angelov
e3a162db77
http: remove redundant consts in backend_nix.c.v
2020-05-20 21:40:29 +03:00
spaceface777
d4c1ea4bba
jsgen: fix jsdoc class namespacing bug
2020-05-20 20:34:37 +02:00
Don Alfons Nisnoni
10ad5332e8
parser: improve unused imports warning
2020-05-20 20:50:27 +03:00
Delyan Angelov
9d4fe88d09
compiler: support for -color/-nocolor option overrides
2020-05-20 20:34:04 +03:00
Alexander Medvednikov
80070516fd
http: set buffer size to 1536
2020-05-20 19:23:51 +02:00
Alexander Medvednikov
5d08c9d5a8
http: use bufsize const
2020-05-20 19:22:02 +02:00
Alexander Medvednikov
0d3f133436
parser: show location of a previously defined function
2020-05-20 17:27:37 +02:00
spaceface777
dd534fde57
jsgen: many fixes and updates
2020-05-20 16:57:42 +02:00
Louis Schmieder
a0ed1e2878
gl: add bind_attrib_location, also add gl cleanup functions
2020-05-20 16:24:37 +03:00
Tanel Liiv
c9f3a05ef6
checker: fix map/filter called with a plain fn argument
2020-05-20 15:28:33 +03:00
Delyan Angelov
6eee69f7bc
http: cleanup ssl_do, enhance the detection of chunked encoding
2020-05-20 14:32:59 +03:00
Delyan Angelov
ac396ea02f
http: cleanup backend_nix.c.v, fixes vpm too
2020-05-20 12:04:28 +03:00
Delyan Angelov
1c2376741b
http: fix redirects handling
2020-05-20 09:58:57 +03:00
Alexander Medvednikov
0a6d709ce2
http: fix recent changes; picoev: make compile
2020-05-20 05:37:03 +02:00
Sandro Martini
e137fbb1ea
array: more tests of initialization
2020-05-19 19:53:47 +02:00
yuyi
b3b86ea6d7
cgen: fix array_init has len but no init error
2020-05-19 18:33:24 +02:00
spaceface777
b10df252dc
all: replace `is_c`, `is_js` with `language`
2020-05-19 17:12:47 +02:00
yuyi
74686d0ec4
test: fix alias type errors and type_test.v
2020-05-19 15:04:51 +03:00
Ned Palacios
bd85d2fd2a
vfmt: make methods and structs public, to be used in vdoc
2020-05-19 14:19:37 +03:00
spaceface777
e07869af91
builder: fix false-positive import cycle warning
2020-05-19 14:17:03 +03:00
Delyan Angelov
931c846602
os: cleanup code duplication for os.create and os.open
2020-05-19 13:38:06 +03:00
Alexander Medvednikov
03525843a0
parser: do not allow calling private functions
2020-05-18 22:54:11 +02:00
Uwe Krüger
2635be511f
all: re-apply C++ support
2020-05-18 21:38:06 +02:00
Alexander Medvednikov
895cefe351
parser: do not allow defining methods on types from other modules
2020-05-18 20:55:22 +02:00
Alexander Medvednikov
57ea9bec30
tests: vfmt test for all vlib/v files
2020-05-18 18:43:07 +02:00
Tanel Liiv
2344c1a435
parser: fix to multi-expr
2020-05-18 18:33:27 +02:00
Alexander Medvednikov
b1bf5f0edc
vfmt: wrap long sum type definitions
2020-05-18 18:08:32 +02:00
Alexander Medvednikov
5c0c418818
ast: vfmt ast.v
2020-05-18 18:06:09 +02:00
Alexander Medvednikov
07a78b2843
Revert "all: C++ compiler support"
...
This reverts commit 9a237c3e82
.
2020-05-18 17:05:48 +02:00
Alexander Medvednikov
fc900baf9e
parser: a minor simplification
2020-05-18 17:02:29 +02:00
Alexander Medvednikov
90270d8791
vfmt: handle fixed size arrays
2020-05-18 16:52:12 +02:00
Uwe Krüger
9a237c3e82
all: C++ compiler support
2020-05-18 15:51:36 +02:00
Alexander Medvednikov
d325cdba0d
checker: fmt
2020-05-18 15:43:52 +02:00
Ned Palacios
d94d436273
table, vfmt: fix typ_to_string + some fixes to vfmt
2020-05-18 15:37:06 +02:00
Ned Palacios
ae3df002a2
vmod: add v.mod parser
2020-05-18 14:35:28 +02:00
Delyan Angelov
53ffee1e02
compiler: respect -showcc, -prod, -cg, when cross compiling for windows
2020-05-18 12:11:26 +03:00
Alexander Medvednikov
4f307c1a78
checker: requre & in struct init; http: chunked encoding
2020-05-18 05:11:00 +02:00
Leah Lundqvist
88e6d987d6
js: imports and anon_fn
2020-05-17 21:39:01 +02:00
Swastik Baranwal
d697b2848a
checker: more checks for in and !in
2020-05-17 17:03:32 +02:00
spaceface777
0def084932
checker: fix JS name regression
2020-05-17 16:23:09 +02:00
Delyan Angelov
627400723c
x64 gen: improve error handling for unknown nodes
2020-05-17 15:45:17 +03:00
iRedMail
4a70d2fe51
examples: fix 2 unused var warnings
2020-05-17 14:15:04 +02:00
yuyi
7f4cf08516
parser: check `(mut f Foo)` syntax
2020-05-17 13:51:18 +02:00
Hungry Blue Dev
b138cadbcb
math.fractions: add approximation.v and tests
2020-05-17 12:00:29 +03:00
yuyi
02fb393747
test: fix vrepl and cast test errors
2020-05-17 02:13:08 +02:00
Alexander Medvednikov
81148fa2bd
cmd/v: version: print only main repo hash
2020-05-16 23:52:06 +02:00
Alexander Medvednikov
8cbb9e1c1f
pref: move parse_define()
2020-05-16 22:57:55 +02:00
Alexander Medvednikov
5b15b8ccc9
checker: do not allow casting strings
2020-05-16 22:52:41 +02:00
Alexander Medvednikov
6e4ae5a5e6
checker: do not allow casting strings
2020-05-16 22:48:45 +02:00
asvvvad
e245e22875
os: make exists_in_system_path function public
2020-05-16 22:46:05 +02:00
Alexander Medvednikov
0845b2cfbe
builder: skip warnings; pref: move pref creation to pref.v
2020-05-16 22:45:38 +02:00
Delyan Angelov
62cb48d252
repl: treat middle imports in a more forgiving way
2020-05-16 22:03:28 +03:00
yuyi
6855996cca
cgen: fix array_init_with_default
2020-05-16 19:05:26 +02:00
penguindark
48659f4145
regex: small fixes, '-' minus to char classes, remove all C.printf
2020-05-16 17:11:13 +02:00
asvvvad
57dd26650c
os: add new function exists_in_system_path
2020-05-16 17:10:34 +02:00
yuyi
655d9bda94
cgen: remove extra `;` from if_expr
2020-05-16 17:09:57 +02:00
Enzo Baldisserri
f44a40eee0
checker: check incorrect names
2020-05-16 16:12:23 +02:00
Swastik Baranwal
37cf46d67a
checker: add more checks for modulo
2020-05-16 15:32:46 +02:00
yuyi
9b6ee8e77d
cgen: array_init_with_default
2020-05-16 15:21:37 +02:00
Delyan Angelov
789b75df92
cheaders: fix _MOV macro in the C case
2020-05-16 15:51:09 +03:00
Larpon
aa30549337
scanner: fill out '@FN' placeholder at compile time while scanning
2020-05-16 14:20:19 +02:00
Delyan Angelov
034bf46e4d
vlib: remove unused arrays module
2020-05-16 00:20:14 +03:00
Tanel Liiv
44502a3fb2
parser: return multi expr
2020-05-15 23:14:53 +02:00
Alexander Medvednikov
7caebc5781
doc: print available modules
2020-05-15 23:09:38 +02:00
Delyan Angelov
2dbb4c2ca7
live: cleanup
2020-05-15 23:51:40 +03:00
spaceface777
7c9bb44784
parser: allow JS methods with more than 1 dot
2020-05-15 22:26:51 +02:00
Swastik Baranwal
04744a5390
string: add trim_prefix and trim_suffix
2020-05-15 19:37:14 +02:00
Delyan Angelov
5d0cc0944e
parser: fix v_panic due to -pos in unused var warning (with tcc)
2020-05-15 20:11:27 +03:00
Alexander Medvednikov
c4ca6a9113
sokol: make examples compile
2020-05-15 18:55:29 +02:00
Delyan Angelov
465f0ddf60
regex: fix unused variable warnings in regex_test.v
2020-05-15 18:50:54 +03:00
spaceface777
8de6da01d6
jsgen: prefix JS keywords with 'v_'
2020-05-15 15:55:49 +02:00
yuyi
8500c8885c
cgen: fix optional_void error; handle `?` return type
2020-05-15 15:55:03 +02:00
Delyan Angelov
66cb61c242
builtin: cleanup by turning backtrace* fns to ordinary C. fns
2020-05-15 15:52:06 +03:00
Delyan Angelov
e18268e2f4
cheaders: use backtrace* stubs for both android & musl
2020-05-15 15:37:59 +03:00
Delyan Angelov
2c93deb884
builtin: bootstrap for backtrace functions cleanup
2020-05-15 15:08:42 +03:00
Dario Tarantini
f7605c397a
stbi: pub fields in Image
2020-05-15 13:15:04 +02:00
Enzo Baldisserri
d60233b618
cgen: simplify for in range
2020-05-14 22:22:32 +02:00
Alexander Medvednikov
0f251e9ede
checker: handle json.decode correctly
2020-05-14 18:30:30 +02:00
Alexander Medvednikov
f49ef39708
checker: handle unexpected `or` blocks
2020-05-14 18:19:40 +02:00
Alexander Medvednikov
e5d4786371
builder: simplify C error message
2020-05-14 18:14:38 +02:00
Enzo Baldisserri
fd0d833e33
gen: if expressions with multiple statements
2020-05-14 17:15:25 +02:00
wilesun
2a9cbbe157
cgen: handle sizeof(C.struct)
2020-05-14 17:14:59 +02:00
yuyi
6d0b791ac8
parser: warning about unused imports
2020-05-14 17:14:24 +02:00
Alexander Medvednikov
c3fe2135a4
math.fabs
2020-05-14 16:58:20 +02:00
Alexander Medvednikov
2369a5c8c6
cgen: handle `is` for interfaces
2020-05-14 16:56:45 +02:00
yuyi
70b76a8e31
builder: use verror for not found modules
2020-05-14 10:59:29 +03:00
Delyan Angelov
74005b4362
vfmt: handle file paths with spaces
2020-05-14 09:07:14 +03:00
Delyan Angelov
d830620651
compiler: restore support for --enable-globals flag, and add tests.
2020-05-14 08:43:12 +03:00
Alexander Medvednikov
1cb4aa7642
builder: cross compiling for linux, part 1
2020-05-14 04:15:04 +02:00
Alexander Medvednikov
e60e8f3b34
builder: bring back cross compilation for windows
2020-05-13 23:02:31 +02:00
Alexander Medvednikov
1bf26a35fa
array: rename default to init
2020-05-13 22:00:24 +02:00
Alexander Medvednikov
ab7bc760c6
cgen: new Option part 1
2020-05-13 21:59:08 +02:00
Sandro Martini
9895cab51c
tests: add more tests on interfaces
2020-05-13 20:30:18 +02:00
Enzo Baldisserri
1ca04e6113
checker: prevent interface instantiation
2020-05-13 19:20:15 +02:00
Hungry Blue Dev
3270545953
fraction: simplify variable names
2020-05-13 18:39:19 +02:00
yuyi
2e0b9de31c
parser: error for consts in fns
2020-05-13 18:39:02 +02:00
Enzo Baldisserri
172e4ff853
cgen: simplify if guard else clause
2020-05-13 18:38:00 +02:00
Alexander Medvednikov
33a9822548
parser/vfmt: handle array len and default in array init
2020-05-13 16:11:52 +02:00
Alexander Medvednikov
db5036686b
checker: make `type is private` warning an errror
2020-05-13 14:21:52 +02:00
yuyi
b1511ce995
parser: optimize no main file process
2020-05-13 14:02:04 +02:00
Tanel Liiv
af334e320c
cgen: dereference in one place and fix
2020-05-13 01:01:34 +02:00
Alexander Medvednikov
3e6f7d3eb6
freetype: minor fixes
2020-05-13 00:50:46 +02:00
Alexander Medvednikov
7a5a4df4c6
checker: handle `println()`
2020-05-12 19:38:46 +02:00
yuyi
7837abf6b0
parser: optimize stmt()
2020-05-12 17:18:25 +02:00
yuyi
99b31d8241
parser: unified way to handle struct and enum name check
2020-05-12 13:39:32 +02:00
Alexander Medvednikov
712fd384ee
parser: fix eval not used in match
2020-05-12 00:26:39 +02:00
Alexander Medvednikov
27d3800cc3
parser: bring back "evaluated but not used"
2020-05-12 00:19:45 +02:00
Alexander Medvednikov
1c8e14c77c
vfmt: handle comments in const blocks
2020-05-12 00:09:59 +02:00
yuyi
dea2658a80
checker: minor optimization in infix_expr
2020-05-11 23:50:13 +02:00
Kris Cherven
d359a7aefb
cgen: fix a goto error
2020-05-11 23:49:08 +02:00
JalonSolov
649a0140fd
x64: fix NUL at end of strings, and length
2020-05-11 16:50:36 +02:00
Alexander Medvednikov
e9177faf17
checker: allow `*x = y` only inside unsafe blocks
2020-05-11 16:05:59 +02:00
Alexander Medvednikov
2618b4fbd3
Revert "tests: add more tests on interfaces "
...
This reverts commit 538662d99a
.
2020-05-11 15:19:55 +02:00
Alexander Medvednikov
aacc35db19
pref: do not enable globals by default
2020-05-11 15:19:47 +02:00
Sandro Martini
538662d99a
tests: add more tests on interfaces
2020-05-11 15:13:03 +02:00
kdmult
ea8fcb3981
cgen: fix nested conditional statements
2020-05-11 15:11:48 +02:00
Alexey
6f2dcd819f
parser: force visibility of interface methods
2020-05-11 15:10:26 +02:00
Alexander Medvednikov
828f9af64c
checker: fmt
2020-05-11 14:38:25 +02:00
Alexander Medvednikov
8a6820d1b7
checker: revert fmt for now
2020-05-11 14:32:41 +02:00
Alexander Medvednikov
ce03761375
parser: fix mut args with the new syntax; checker: fmt
2020-05-11 14:16:20 +02:00
joe-conigliaro
2a40665919
ast/checker: cast no longer needed & use auto deref
2020-05-11 20:02:28 +10:00
Kris Cherven
8bc0c31f29
parser: add error for variables, that are evaluated, but not used
2020-05-11 11:13:36 +03:00
Kris Cherven
3a3d00ac72
checker: prevent C error on const mutation
2020-05-11 11:09:58 +03:00
Ned Palacios
38277d1dac
cgen: fix gen_str_for_struc when called on a struct with a pointer field
2020-05-11 11:08:21 +03:00
joe-conigliaro
1b3cd7abe0
cgen: fix sum type assign/push from in match branch & type mod
2020-05-11 16:59:55 +10:00
yuyi
64ba59590e
cgen: fix multiple assign error
2020-05-11 09:45:11 +03:00
joe-conigliaro
74cc2b2a68
table: add function return type check
2020-05-11 14:47:39 +10:00
Hungry Blue Dev
e52d35bf16
math.fraction: improve documentation, remove unnecessary mut modifiers
2020-05-11 07:20:55 +03:00
yuyi
14bba54ddc
vrepl: fix array_init error
...
* optimize print conditions
2020-05-11 07:15:08 +03:00
Fabien Salathe
c9c956fc8a
flag: fix a comment with an example
2020-05-10 22:27:14 +02:00
Alexey
71c2b26103
checker: fix checking uninitialized refs
2020-05-10 22:26:47 +02:00
Enzo Baldisserri
b09fd66aa2
gen: fix interface pointers
2020-05-10 21:16:22 +02:00
Louis Schmieder
40aad27a67
pg: remove `pg.`
2020-05-10 21:16:03 +02:00
Delyan Angelov
7c5905164e
glm: remove unused variable (prevents compiling ui with -prod)
2020-05-10 19:59:26 +03:00
Delyan Angelov
1bf13f8a09
v version: do more accurate current git hash detection, when not on a branch
2020-05-10 18:56:19 +03:00
Alexander Medvednikov
a2d120b583
cgen: fix reassignment of optionals
2020-05-10 17:41:33 +02:00
eyelash
1722171adc
compiler: color only the relevant part of the source code in error messages
2020-05-10 17:24:29 +02:00
Louis Schmieder
3ec2608d6b
glm: matrix multiplication; docs: toc
2020-05-10 16:49:29 +02:00
eyelash
72dfe11fa5
scanner: add a colon to error messages ( #4818 )
2020-05-10 16:29:15 +02:00
eyelash
f396f70ae7
repl: fix newline in error messages
2020-05-10 16:26:56 +02:00
Sumeet Chhetri
8dc0c5a699
cgen: C++ compiler support - Part 1
2020-05-10 16:26:21 +02:00
Hungry Blue Dev
8aba3eaa07
math.fractions: refactor and add more tests
2020-05-10 16:25:33 +02:00
joe-conigliaro
a73660a4c3
checker/cgen: simplify assigning fn to var
2020-05-11 00:13:30 +10:00
yuyi
0606d26ba7
csv: fix field multiple lines error
2020-05-10 14:19:26 +02:00
eyelash
eabc72d4fe
compiler: print underlines in the same color as the error
2020-05-10 12:27:46 +02:00
Ned Palacios
5f0ad0f562
compiler: add output mode for errors and warnings, support for `-silent` flag
2020-05-10 12:26:57 +03:00
Ned Palacios
01de1b6375
parser: fix JSON encode function name on invocation
2020-05-10 10:30:35 +03:00
Delyan Angelov
edb921f463
sync: mark sync.WaitGroup and sync.Mutex with [ref_only]
2020-05-10 08:58:54 +03:00
yuyi
7f69c2fbf5
parser: check `import` in the middle of file error
2020-05-10 07:47:20 +03:00
pancake
76eec7b6ea
readline: fix input echo issue on musl-based systems
2020-05-10 07:39:31 +03:00
yuyi
ba3a631954
parser: check for module statement errors
2020-05-10 02:28:56 +02:00
yuyi
85723e3799
checker: check for_in_map using one variable error
2020-05-10 02:28:43 +02:00
Alexander Medvednikov
10da871743
checker: handle unknown fields in fail_if_immutable
2020-05-10 02:07:15 +02:00
Alexander Medvednikov
09f6cd6a75
parser/checker: [ref_only] attribute
2020-05-09 23:45:41 +02:00
Alexander Medvednikov
3052266a40
live: make compile; pref: allow _linux.v etc
2020-05-09 20:31:50 +02:00
Alexander Medvednikov
d7c4630d33
checker: make pub field check an error
2020-05-09 18:34:07 +02:00
yuyi
53989daf9a
csv: fix empty line error
2020-05-09 17:35:03 +02:00
yuyi
3eeef6203e
checker: check for map_init key duplicate
2020-05-09 16:55:38 +02:00
Alexander Medvednikov
dea9ca2491
cgen: fix a big with &Foo{} init
2020-05-09 15:23:48 +02:00
Alexander Medvednikov
c64f8b0d1f
parser/checker: pub: struct fields
2020-05-09 15:16:48 +02:00
Delyan Angelov
809676a856
cgen: fix a sporadic segfault when giving -width in a string interpolation
2020-05-09 15:23:37 +03:00
yuyi
5f435fa1cc
parser: check enum name and field name errors
2020-05-09 12:43:10 +02:00
ka-weihe
85763d0539
map: faster get and exists
2020-05-09 12:42:01 +02:00
Tanel Liiv
7815a5495c
checker: handle multireturn fn calls as if/match last expressions
2020-05-08 22:49:45 +02:00
pancake
b5bf0eeac5
time: add .no_delimiter format option
2020-05-08 21:23:26 +03:00
Sandro Martini
910a8934cb
checker: fix typo on error message and related test
2020-05-08 21:21:47 +03:00
Delyan Angelov
4b347ff148
v self: force the subprocess to show colors
2020-05-08 19:04:24 +03:00
Alexander Medvednikov
6ea741e26e
Revert "tests: valgrind: enable string tests"
...
This reverts commit 1ea13ac7f3
.
2020-05-08 16:18:14 +02:00
Alexander Medvednikov
1ea13ac7f3
tests: valgrind: enable string tests
2020-05-08 13:18:27 +00:00
Ned Palacios
5b47ec49af
parser: add support for multiple struct field attributes
2020-05-08 15:09:42 +02:00
Alexander Medvednikov
c29f76454e
cgen: clone strings in struct_init()
2020-05-08 15:07:53 +02:00
yuyi
ef505e21ee
parser: check for import errors
2020-05-08 16:01:54 +03:00
Alexander Medvednikov
2f4fc86d58
checker: fix unknown var enum crash
2020-05-08 15:00:06 +02:00
Hungry Blue Dev
dbb3c2a4cd
math.fractions: improve `.equals()`
2020-05-08 15:39:23 +03:00
Delyan Angelov
e08566d571
compiler: do not exit early, when given -o x.c or -o x.js
2020-05-08 15:31:03 +03:00
Delyan Angelov
4c320e1512
profile: support for -profile-no-inline (with it, [inline] fns will not get profiled)
2020-05-08 15:01:59 +03:00
Alexander Medvednikov
847a1035a5
cgen: use tos_lit
2020-05-08 13:25:23 +02:00
Ned Palacios
13b11a4155
parser: fix struct attribute for array struct field
2020-05-08 13:09:40 +02:00
Delyan Angelov
fec7f0f0b9
cgen: fix auto .str() generation for []&T, and `fn (t &T) str() string{}`
2020-05-08 12:48:07 +03:00
yuyi
8866773f97
vrepl: fix import and comment error in the middle of other lines
2020-05-08 09:34:59 +03:00
Uwe Krüger
722a2c71c3
builtin: new_array: cap should not be less than len
2020-05-07 22:41:41 +02:00
Delyan Angelov
673acdbd00
tcc: fix selfcompilation with tcc. Temporarily disable crashing interface test
2020-05-07 20:59:45 +03:00
Delyan Angelov
7207a4970b
solaris: fix tests
2020-05-07 16:19:21 +00:00
Alexander Medvednikov
8cfb2ad6c9
string: is_lit
2020-05-07 18:05:57 +02:00
Alexander Medvednikov
ef387779bf
cgen: fix -autofree
2020-05-07 17:51:30 +02:00
Alexander Medvednikov
3c6e090ae3
ci: test broken -autofree
2020-05-07 17:45:00 +02:00
Alexander Medvednikov
be063d740b
ci: test self compilation with -autofree
2020-05-07 17:37:12 +02:00
yuyi
d096763f62
token: change 'STR' kind to 'string'
2020-05-07 16:26:22 +02:00
Tanel Liiv
d0afa748ff
cgen: optional multiple return values
2020-05-07 15:36:04 +02:00
Alexander Medvednikov
12221fb999
cgen: fix msvc struct init
2020-05-07 13:11:24 +02:00
Alexander Medvednikov
6ff93f270c
cgen: simplify struct_init()
2020-05-07 13:00:42 +02:00
yuyi
78efe72c4c
checker: optimize check string cast error
2020-05-07 12:34:06 +02:00
Don Alfons Nisnoni
0a930f9862
bitfield: rename functions, getsize => get_size, etc.
2020-05-07 11:21:14 +03:00
Enzo Baldisserri
0f8ed84333
checker: verify interface is not used as receiver
2020-05-07 11:14:51 +03:00
Major Taylor
7d32476841
math: extract platform specific wrapper functions to math.c.v and math.js.v
2020-05-07 08:47:24 +03:00
yuyi
2f52106253
parser: use .next instead of .check, when a token is already known
2020-05-07 07:51:36 +03:00
Uwe Krüger
59aa31cee5
cgen: string interpolation: optimize away some partial strings of 0 length
2020-05-07 04:34:18 +02:00
wilesun
19390871e9
json: handle external types
2020-05-07 04:33:19 +02:00
yuyi
98a1b2782b
parser: simplify import
2020-05-07 04:32:29 +02:00
Delyan Angelov
e33805b2b3
json.decode: fix expressions in the second argument, also fixes news_fetcher.v
2020-05-06 21:44:50 +03:00
Tanel Liiv
b5a1544bf8
parser: allow re-assigning fns to variables
2020-05-06 20:09:29 +02:00
Delyan Angelov
f638caef39
compiler: v -autofree can now compile itself
2020-05-06 19:03:51 +03:00
Delyan Angelov
88ef0a75e2
ci: pass V_CI_MUSL=1 on musl CI jobs
2020-05-06 15:10:47 +03:00
Alexander Medvednikov
8d2a4d2436
clipboard: make compile on linux
2020-05-06 12:00:52 +00:00
Alexander Medvednikov
207324d15b
strings.builder: remove unused var; clipboard: linux fixes
2020-05-06 11:44:08 +00:00
Alexander Medvednikov
25db5e96a3
strings.builder: fix a memory leak
2020-05-06 11:12:00 +00:00
Don Alfons Nisnoni
e87289f24d
Fix typo on checker
2020-05-06 13:57:40 +03:00
Alexander Medvednikov
f80876497e
fmt: use the new `mut` syntax in args
2020-05-06 12:43:46 +02:00
Alexander Medvednikov
b4c93349e8
checker: fix interface name check
2020-05-06 12:32:44 +02:00
Alexander Medvednikov
cc66eb1194
parser/checker: check capital letters in interface names/methods
2020-05-06 12:26:00 +02:00
Alexander Medvednikov
99cf520bd4
parser: `mut x Type` syntax for args
2020-05-06 12:13:22 +02:00
yuyi
51f3f31a4e
checker: check string(1) cast error
2020-05-06 12:05:24 +02:00
Don Alfons Nisnoni
5bd3045498
mysql: Using `int.str()` instead of `string(int)`
2020-05-06 12:53:47 +03:00
Enzo Baldisserri
215657e16a
checker: check interface implementation
2020-05-06 11:29:37 +02:00
yuyi
b627bb933c
message: use uniform message reference format
2020-05-06 09:10:40 +03:00
yuyi
c653977c15
cgen: fix struct with map field str() error
2020-05-06 09:08:48 +03:00
Alexander Medvednikov
67351c74c8
V 0.1.27
2020-05-06 02:26:43 +02:00
Don Alfons Nisnoni
67a50b5b34
mysql: simplify `Result.maps`
2020-05-06 00:10:10 +02:00
Enzo Baldisserri
c1f224640f
checker: verify that there is a main module
2020-05-06 00:09:46 +02:00
Alexander Medvednikov
25b536d03f
cgen: str: do not free "true"/"false" literals
2020-05-05 23:25:14 +02:00
Don Alfons Nisnoni
8fbbf488ab
darwin: fix `if ()` warning
2020-05-05 20:07:43 +02:00
Alexander Medvednikov
473ffb5489
builtin: fix a leak in array_str
2020-05-05 18:04:43 +00:00
Sandro Martini
50351eded8
tests: interface: minor fixes
2020-05-05 19:56:11 +02:00
Alexander Medvednikov
fd0f8d06f8
tests: valgrind: use correct flag
2020-05-05 17:55:11 +00:00
Delyan Angelov
9e715b8701
cgen: use c_name() while generating code for `or {}`
2020-05-05 19:28:25 +03:00
Alexander Medvednikov
ff88906e9a
cgen: add `new` to reserved words
2020-05-05 16:50:59 +02:00
Delyan Angelov
ddb5a8e6e4
time: add specialized vpc_now_darwin to fix -os cross
2020-05-05 17:31:21 +03:00
Sandro Martini
dd2a1455dc
tests: add another function to the Animal interface
2020-05-05 16:27:05 +02:00
Tanel Liiv
b16281d6e4
cgen: pass around functions
2020-05-05 16:21:21 +02:00
Alexander Medvednikov
7e71799980
checker: check `none` properly
2020-05-05 15:29:52 +02:00
Alexander Medvednikov
a0ca68ce3f
checker: do not allow `string(int)`
2020-05-05 15:26:42 +02:00
Alexander Medvednikov
c5d295c378
fmt: move struct init logic to a separate fn
2020-05-05 15:06:51 +02:00
Alexander Medvednikov
148661ead6
json: wrap up: encode_array()
2020-05-05 14:54:12 +02:00
Alexander Medvednikov
b3d7b0205a
json: handle field attributes
2020-05-05 14:41:27 +02:00
Delyan Angelov
a3bc32f3e0
builder: use time.new_stopwatch instead of benchmark.new_benchmark (reduces exe size)
2020-05-05 15:31:38 +03:00
Alexander Medvednikov
ee92060d4d
json: decode_array fix
2020-05-05 14:19:31 +02:00
Alexander Medvednikov
ef6c418eb6
json: decode arrays
2020-05-05 13:23:44 +02:00
Steve Phillips
84fc587ec2
cgen: use a temp var in map()
2020-05-05 10:29:23 +02:00
yuyi
6aca3be474
cgen: fix []map[string]string.str() error
2020-05-05 08:46:19 +03:00
Ned Palacios
507e457c0a
builtin: add parenthesis around frame_addr as a workaround
2020-05-05 08:35:26 +03:00
Delyan Angelov
f9fe5b60a7
v doc: skip _x.c.v when not on x, i.e. filter files like v itself
2020-05-05 08:08:03 +03:00
Alexander Medvednikov
621cb7b914
parser: short struct init syntax
2020-05-05 02:12:51 +02:00
Uwe Krüger
a4b6c3fa5d
cgen: hex representation of signed and pointers
2020-05-05 00:24:33 +02:00
Steve Phillips
081338b8bf
checker.v: suggest []Type{}, not []Type
2020-05-05 00:20:32 +02:00
Delyan Angelov
1c945faa15
cgen: fix _to_Interface_INAME conversion fns generation
2020-05-05 00:01:54 +03:00
Delyan Angelov
b5fda6e410
cgen: skip interface outside methods, while generating _interface_methods struct
2020-05-04 22:56:58 +03:00
Alexander Medvednikov
32a7bd3a48
parser/checker: do not allow using private types from other modules
2020-05-04 21:56:41 +02:00
Alexander Medvednikov
9aa1a65489
checker: check match condition
2020-05-04 21:03:18 +02:00
Alexander Medvednikov
9823d80e0c
json: minor fixes + bring back the test
2020-05-04 20:43:22 +02:00
Delyan Angelov
6e1825b417
cgen: prefix with v_ keyword C fn args too
2020-05-04 19:55:21 +03:00
joe-conigliaro
c9798d3918
table: fix check for fn with no args
2020-05-05 02:44:10 +10:00
joe-conigliaro
2bb995274e
table: make table.check ret false & update fn args check
2020-05-05 02:34:11 +10:00
Delyan Angelov
d7e7113047
cgen: fix `for char in nums {}`
2020-05-04 18:57:33 +03:00
joe-conigliaro
b2157388d9
checker: check method args
2020-05-05 01:32:40 +10:00
Delyan Angelov
36bf99ed5a
parser: remove forgotten ----- line
2020-05-04 18:28:55 +03:00
Delyan Angelov
d30eefc3be
fmt: improve handling of map[k]v and []map[k]v types
2020-05-04 18:27:07 +03:00
Alexander Medvednikov
fd8a194df0
json: wrap up decode()
2020-05-04 16:46:39 +02:00
Delyan Angelov
5eb71c4a13
fmt: initial support for -debug
2020-05-04 17:27:41 +03:00
Don Alfons Nisnoni
23df9b052e
mysql: update code & add a feature to get value as map
2020-05-04 14:58:24 +02:00
ka-weihe
f27fd63f8c
builtin: map: one voidptr for all values
2020-05-04 14:56:19 +02:00
Enzo Baldisserri
8fd69e845f
cgen: fix using pointer as interface receiver
2020-05-04 14:21:03 +02:00
Delyan Angelov
0e241162d9
panic: distinguish between builtin and main modules
2020-05-04 14:51:30 +03:00
Delyan Angelov
cdf70c070b
tests: add panic_with_cg.vv/.out
2020-05-04 14:34:51 +03:00
joe-conigliaro
57903247e3
parser: add back struct field removed by accident
2020-05-04 21:27:54 +10:00
yuyi
90fc23ccfb
checker: fix array init []type{cap: x.len} error
2020-05-04 13:22:09 +02:00
Uwe Krüger
f831910c5c
utf: fix string length calculation for combining characters
2020-05-04 13:21:11 +02:00
ka-weihe
a72f3ed0c7
builtin: voidptr.str() and byteptr.str()
2020-05-04 13:20:18 +02:00
joe-conigliaro
d75f286230
parser: store FnDecl body position and use for scope
2020-05-04 20:31:34 +10:00
joe-conigliaro
4571a5eb83
gen: use middle of fn pos to load correct scope for free
2020-05-04 20:08:37 +10:00
yuyi
c112b3aec5
tests: fix cleanup of compiler_test.v on windows
2020-05-04 11:33:54 +02:00
Delyan Angelov
068da2ea0f
builtin: fix warning about unused skipframes
2020-05-04 12:05:08 +03:00
Alexander Medvednikov
eca24c5d11
tests: interface: rename Speaker to Animal
2020-05-04 10:58:42 +02:00
Delyan Angelov
acd80f052b
tests: improve diagnostic output on failure
2020-05-04 11:21:25 +03:00
yuyi
e0e064ff08
scanner: fix string slash line breaks error
2020-05-04 10:19:23 +02:00
yuyi
cd5dccd855
gen: fix compilter_test.v error on windows
2020-05-04 10:09:49 +02:00
Enzo Baldisserri
4b3ce79e84
interface: support arguments in methods and simplify
2020-05-04 00:14:59 +02:00
Delyan Angelov
71a92eb87b
tests: fix CI failing for builtin __as_cast
2020-05-03 22:25:38 +03:00
Delyan Angelov
242670a33d
compiler: add support for panic_debug with -cg
2020-05-03 22:13:59 +03:00
Delyan Angelov
0b750a234f
repl: fix for single lines ending with // comment
2020-05-03 20:48:46 +03:00
Delyan Angelov
845ffb59a6
live: use mostly pure V code for reloading, eases customization
2020-05-03 20:22:24 +03:00
Uwe Krüger
4a096bd133
parser: fix string interpolation for default conversion
2020-05-03 18:12:59 +02:00
Alexander Medvednikov
de749e9d3b
parser/cgen: interface <<; `any` type
2020-05-03 18:08:45 +02:00
Alexander Medvednikov
2a016d03ac
checker: use `[]int` instead of `array_int` in errors
2020-05-03 16:49:05 +02:00
Alexander Medvednikov
2a5421133d
clipboard: Linux fixes
2020-05-03 16:39:26 +02:00
Alexander Medvednikov
361fad9231
tests: disable valgrind test until fn scopes are fixed
2020-05-03 16:29:15 +02:00
Alexander Medvednikov
16fe8103ba
tests: bring back valgrind test
2020-05-03 13:12:05 +02:00
joe-conigliaro
8df7637853
checker: dont re match/cast with position() when already cast to sum type
2020-05-03 14:22:41 +10:00
Delyan Angelov
7e4e3abc2c
compiler: circuimvent the dependency cycle v.ast <-> v.table
2020-05-02 22:52:10 +03:00
Delyan Angelov
dbbfb04e7c
docs: change obsolete -show_c_cmd to -showcc and -keepc
2020-05-02 19:01:53 +03:00
yuyi
02807aab43
interpolation: fix error on windows_gcc
2020-05-02 18:22:34 +03:00
Alexander Medvednikov
b0018ed594
checker: better << error
2020-05-02 16:48:52 +02:00
joe-conigliaro
483f0f408c
ast: allow scope var shadowing
2020-05-02 23:46:53 +10:00
Tanel Liiv
68ca8ab8a4
array: nested map()
2020-05-02 15:26:58 +02:00
Alexander Medvednikov
44c00199b6
cgen: fix fixed array consts and pointer interfaces
2020-05-02 15:18:58 +02:00
joe-conigliaro
a9a8539e41
checker: small fix in assign_stmt
2020-05-02 20:21:28 +10:00
joe-conigliaro
fd925fbd05
checker: simplify assign_stmt & add better checks
2020-05-02 19:45:08 +10:00
Alexander Medvednikov
06d533b0c1
cgen: clean up _STR
2020-05-02 11:11:32 +02:00
eyelash
716d867f25
cgen: generate static C functions
2020-05-02 10:42:38 +02:00
Alexander Medvednikov
06173834c0
cgen: interface_call()
2020-05-02 10:10:52 +02:00
Delyan Angelov
aa9bb6f71a
compiler: fix -live compilation of bounce example with gcc-9 & clang
2020-05-02 02:36:29 +03:00
Alexander Medvednikov
7a51d4d796
cgen: revert `new`
2020-05-02 00:59:06 +02:00
Alexander Medvednikov
7dc98120c0
cgen: vfmt -live fix; add new to c_reserved
2020-05-02 00:45:45 +02:00
Uwe Krüger
170ee4312f
cgen: string interpolation field width support for large integers and utf8 strings
2020-05-02 00:43:59 +02:00
Alexander Medvednikov
2f64594ce0
cgen: more interface fixes
2020-05-02 00:28:46 +02:00
Delyan Angelov
7038f59ca5
compiler: add back support for -live
2020-05-02 01:14:44 +03:00
eyelash
130324df76
compiler: remove debug prints
2020-05-02 00:10:36 +02:00
yuyi
b21be7f670
parser: multiple names error
2020-05-01 18:18:58 +02:00
yuyi
de272654f1
repl: fix import xxx with no fn main error
2020-05-01 18:12:18 +02:00
eyelash
4d04e88679
errors: show line numbers in default color and add a space
2020-05-01 14:46:12 +02:00
eyelash
6b08cbcb7a
compiler: print warnings in magenta
2020-05-01 13:44:15 +03:00
Alexander Medvednikov
0106eb1cf6
cgen: fix thread wrapper
2020-05-01 12:32:10 +02:00
Alexander Medvednikov
0b8a0d1640
checker: fix _ check
2020-05-01 12:22:39 +02:00
joe-conigliaro
fb1c60c53d
checker: add back check struct field fn args
2020-05-01 20:12:21 +10:00
Alexander Medvednikov
c1ee14cc3e
json: decode() part 1
2020-05-01 12:02:31 +02:00
joe-conigliaro
a0e662bef9
checker: remove debug println from selector_expr
2020-05-01 19:54:47 +10:00
joe-conigliaro
03904085c4
checker: check fn field exprs
2020-05-01 19:50:32 +10:00
Delyan Angelov
35f56bc4f0
vfmt: fix eating ? in `$if x ? {}`, missing newline in `__global ...`
2020-05-01 12:29:23 +03:00
Delyan Angelov
59525c8c93
tests: fix missing ? after v fmt run
2020-05-01 12:01:30 +03:00
Delyan Angelov
84785bbb59
tests: fix msvc transient failures when sleep_ms takes longer
2020-05-01 11:58:56 +03:00
Alexander Medvednikov
51da324465
tests: fix eventbus_test.v
2020-05-01 10:57:19 +02:00
Delyan Angelov
3608c81cb9
time: add stopwatch_test.v
2020-05-01 10:21:15 +03:00
Tanel Liiv
182e7071bf
array: map() function
2020-05-01 00:29:54 +02:00
Alexander Medvednikov
b0c710c985
checker: allow `fn == 0` comparison for now
2020-04-30 18:51:33 +02:00
Delyan Angelov
a6dfc6d46b
compiler: support ctags with -print_v_files and .ctags.d/v.ctags
2020-04-30 19:45:50 +03:00
Alexander Medvednikov
250dea7bd1
cgen: another imported interface fix
2020-04-30 18:23:17 +02:00
Alexander Medvednikov
f1903f3c1f
parser: fix imported interfaces
2020-04-30 18:06:14 +02:00
Alexander Medvednikov
9971c58ca3
all: remove `var` key
2020-04-30 16:55:33 +02:00
Alexander Medvednikov
20013e4b4b
table: interfaces: unique gen_types
2020-04-30 16:48:46 +02:00
Tim Basel
473617f061
cli: add option with default
2020-04-30 12:18:46 +02:00
yuyi
5481c0fc84
parser: uniform handling of enum field format
2020-04-30 12:18:16 +02:00
yuyi
81ed6ad2a1
checker: check duplicate consts
2020-04-30 12:17:31 +02:00
yuyi
4d415e56d6
checker: check enum field name duplicate
2020-04-30 09:34:18 +02:00
Enzo Baldisserri
50491670af
fmt: fix formatting backtick char literal
2020-04-30 09:33:43 +02:00
yuyi
c4f672454f
checker: check import duplicates
2020-04-30 09:33:12 +02:00
Henrixounez
f6d74c8a37
checker: error on ternary if type mismatch
2020-04-30 09:32:29 +02:00