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
Alexey
54d1a29267
dl: improve module
2020-04-29 21:01:19 +02:00
Delyan Angelov
e5ae4b6454
parser: fix match exprs over C.VALUES (needed for C.GLFW_KEY_UP)
2020-04-29 20:35:57 +03:00
yuyi
b2a076e8b8
csv: fix last-field-empty error
2020-04-29 16:50:02 +02:00
Tim Basel
3e4cd12fd0
.gitignore: ignore all binary files by default
2020-04-29 16:49:13 +02:00
Alexander Medvednikov
03cee3fee0
builder: fix run & is_test check
2020-04-29 16:44:50 +02:00
Alexander Medvednikov
be0e848ae8
builder: do not allow `v run _test.v`
2020-04-29 14:52:32 +02:00
yuyi
1fabb7d5a6
checker: fix string.str() error
2020-04-29 13:51:42 +02:00
Enzo Baldisserri
390d88f933
parser: fail for section redefinition in struct
2020-04-29 13:32:39 +02:00
joe-conigliaro
98cd013908
cgen: fix interface struct sorting
2020-04-29 21:08:39 +10:00
Alexander Medvednikov
51d0ce0222
tests: more interface tests; checker: handle zero selectorexpr type error
2020-04-29 12:46:09 +02:00
Henrixounez
c500044bae
checker: unreachable code warning
2020-04-29 12:31:18 +02:00
Alexander Medvednikov
2fc05b814c
all: interface arrays
2020-04-29 12:21:15 +02:00
Delyan Angelov
3d8853af2b
builder: move warning/error printing into print_warnings_and_errors
2020-04-29 13:04:09 +03:00
Delyan Angelov
1e910c6afe
tests: add reference_field_must_be_initialized.vv
2020-04-29 12:56:12 +03:00
Delyan Angelov
bf8ed1815c
builder: print collected checker warnings too
2020-04-29 12:38:43 +03:00
penguindark
ad46e1b832
strconv: v_printf documentation
...
* v_printf documentation
* syntax fix
2020-04-29 12:25:38 +03:00
Delyan Angelov
0e765e34be
vfmt: extract v.util.find_working_diff_command, color_compare_files
2020-04-29 11:51:45 +03:00
Delyan Angelov
dd3434598c
checker_test: remove generated .v files, when a test is OK
2020-04-29 11:48:51 +03:00
yuyi
117649f40d
checker: check devision by zero (int and float)
2020-04-29 10:07:27 +02:00
yuyi
2b48ce21df
checker: make sure `main` has no args and doesn't return
2020-04-29 09:19:46 +02:00
yuyi
a9e33e712a
checker: check struct field name duplicate
2020-04-29 09:11:36 +02:00
Henrixounez
0dc7a57e1f
scanner: prevent panic with string starting on first character
2020-04-28 18:57:16 +02:00
Delyan Angelov
8c526ad05b
tests: ignore vlib/v/checker/tests/*.v files (only *.vv are sources there)
2020-04-28 16:45:25 +03:00
Henrixounez
0afaef5818
checker: ambiguous function call error
...
* checker: ambiguous function call error
* checker: ambiguous function call error wording
* checker: ambiguous functions tests newline
2020-04-28 16:27:49 +03:00
Delyan Angelov
8a81aa5c93
errors: disambiguate between variable and fn source_context
2020-04-28 16:20:50 +03:00
Delyan Angelov
7924b4d77c
compiler: handle a panic when an error is produced, but source == ''
2020-04-28 16:15:56 +03:00
Delyan Angelov
8ea087f957
vfmt: fix compilation; handle the case when fmt.tabs is not enough
2020-04-28 16:04:37 +03:00
Delyan Angelov
c6a15dba50
compiler: add support for size_t
2020-04-28 15:07:19 +03:00
jm-duro
210b6e36b6
http: mutable request fields
2020-04-28 13:57:48 +02:00
Alexander Medvednikov
1e4e882bc2
cc/cgen: cached modules fixes
2020-04-28 13:15:37 +02:00
Sandro Martini
761fb930ce
dl: add dynamic load module
2020-04-28 11:53:55 +02:00
Enzo Baldisserri
7bf8731778
checker: check variable mutability for postfix exprs
2020-04-28 11:20:19 +02:00
Delyan Angelov
54b71242fe
builder: add autofree compatibility; protect against b.str() twice in a row
2020-04-28 11:03:43 +03:00
yuyi
f2060d431e
checker: check division by zero
2020-04-28 09:52:01 +02:00
joe-conigliaro
ef4f4825ac
cgen: auto dereference for optional
2020-04-28 15:59:41 +10:00
yuyi
28f5920bb0
cgen: fix `map` `fixed-array` .str() error
2020-04-28 07:22:46 +02:00
yuyi
b20777df59
checker: main function called error
2020-04-28 07:21:50 +02:00
Major Taylor
9edbcb823c
cli: Fix off-by-one error in smart-wrap
2020-04-28 00:10:36 +03:00
Enzo Baldisserri
682838a0cf
checker: check array and fields mutability
2020-04-27 22:53:26 +02:00
Alexander Medvednikov
5d073dcce5
x64: # opcodes
2020-04-27 21:38:58 +02:00
joe-conigliaro
9f76a7b250
parser: simplify unused vars & add loop/if vars etc
2020-04-27 23:16:31 +10:00
Delyan Angelov
e67bf674e3
scanner: cleanup, only v.parser now depends on v.scanner
2020-04-27 16:08:04 +03:00
yuyi
e9f764db4f
cgen: uniform string output format
2020-04-27 14:48:28 +02:00
Alexander Medvednikov
eb8973c362
builder: module caching fixes
2020-04-27 14:46:25 +02:00
Alexander Medvednikov
f005079e0b
pref: rename keep_c
2020-04-27 13:28:00 +02:00
ka-weihe
18faaefe82
map: get: remove malloc and memcpy
2020-04-27 13:27:33 +02:00
Delyan Angelov
73106b5f5e
profile: measure defer{} statements too
2020-04-27 13:18:37 +03:00
Alexander Medvednikov
fde929ee30
cgen: remove tos3() call: part 1
2020-04-27 12:10:08 +02:00
Delyan Angelov
dd1ee39271
profile: produce civilized output
2020-04-27 12:45:19 +03:00
yuyi
99a7b69578
cgen: optimize map_to_string format
2020-04-27 10:52:21 +02:00
Delyan Angelov
c84dee5968
profile: move profiling related logic into vlib/v/gen/profile.v
2020-04-27 09:40:13 +03:00
yuyi
95754f211f
cgen: generate str function when using x.str()
2020-04-27 08:09:37 +02:00
Alexander Medvednikov
3256d060f7
array: inline ensure_cap
2020-04-27 07:39:33 +02:00
Alexander Medvednikov
ef26f27753
builtin: replace `isnil` calls for perfomance
2020-04-27 07:13:36 +02:00
Delyan Angelov
e523540f3a
profile: use specialized time__vpc_now
2020-04-26 22:14:54 +03:00
Alexander Medvednikov
50a83736ff
checker: struct init: handle C types
2020-04-26 19:59:03 +02:00
Alexander Medvednikov
8223efe9df
checker: check struct field types
2020-04-26 18:38:29 +02:00
Alexander Medvednikov
83552a0d58
array: replace make() with the new init syntax
2020-04-26 17:52:27 +02:00
Alexander Medvednikov
f23948010a
parser: new array init syntax
2020-04-26 17:28:48 +02:00
penguindark
d16474442a
strconv: format test fixes
2020-04-26 16:26:33 +02:00
yuyi
2574dce174
all: fix remaining `[]array` warnings
2020-04-26 16:25:54 +02:00
yuyi
9f4d498ff1
all: update`import ()` and `[]array`
2020-04-26 13:49:31 +02:00
Larpon
7b39ab6d06
string: fix replace_each edge case error message
2020-04-26 12:40:39 +02:00
Enzo Baldisserri
0f2f97e3e5
checker: reorganize tests to match fmt tests
2020-04-26 12:34:42 +02:00
Alexander Medvednikov
41eb4453e3
parser: do not allow redefinition of fn args
2020-04-26 12:01:10 +02:00
Alexander Medvednikov
153ac230ec
tests: use new array init syntax, fix mutability
2020-04-26 11:56:30 +02:00
Alexander Medvednikov
0641a31fe0
parser: allow mutable pointer args
2020-04-26 11:53:41 +02:00
eyelash
b495dac780
fix a few warnings
...
Good find, @eyelash .
2020-04-26 12:42:44 +03:00
Alexander Medvednikov
270566055f
checker: make sure all FnDecl types are valid
2020-04-26 10:39:26 +02:00
Alexander Medvednikov
3c08f655af
parser: do not allow mutable simple args
2020-04-26 10:35:10 +02:00
Alexander Medvednikov
a56121c329
checker: check mutability in index exprs; parser: set is_mut for args
2020-04-26 10:25:58 +02:00
Delyan Angelov
ee31339dfd
parser: fix error position for use `x := []Type{}`
2020-04-26 10:42:46 +03:00
Alexander Medvednikov
d844ff1381
builder: fix msvc.v
2020-04-26 09:33:40 +02:00
Alexander Medvednikov
20bcb6b8bb
tests: fix lef_shift test
2020-04-26 09:29:29 +02:00
penguindark
b67698888c
strconv: printf and string format utilities
2020-04-26 10:23:10 +03:00
Alexander Medvednikov
7955181c6c
tests: [] fixes
2020-04-26 09:18:29 +02:00
Alexander Medvednikov
3ab8dc0092
parser: array init: `[]string` => `[]string{}`
2020-04-26 09:17:17 +02:00
yuyi
3a59f5727c
checker: fix check main function error ( #4601 )
2020-04-26 08:04:28 +02:00
Alexander Medvednikov
a48080afec
parser: deprecate import(); replace remaining import()s
2020-04-26 07:36:02 +02:00
Delyan Angelov
48f9cc1ed7
tests: make alias_type_exists.vv use `type Pigeon Bird` syntax
2020-04-26 08:23:09 +03:00
Alexander Medvednikov
f7153ca4fa
fmt: array_init(); parser: fn_redefinition_error()
2020-04-26 07:17:01 +02:00
Delyan Angelov
620fc962d7
builtin: use single line imports, to make analysis easier
2020-04-26 08:06:39 +03:00
Alexander Medvednikov
3166833471
parser: fix interface method return type parsing
2020-04-26 07:03:26 +02:00
yuyi
9cfb1e3bf7
cgen: fix struct with fixed array error
2020-04-26 06:54:14 +02:00
Enzo Baldisserri
0b3412cdb5
checker: check that type exists in TypeDecl
2020-04-26 06:40:54 +02:00
yuyi
541b058e90
all: use `a !in b` instead of `!(a in b)`
2020-04-26 06:39:23 +02:00
Alexander Medvednikov
2b4ac0e63a
checker: handle array of interfaces
2020-04-26 06:29:03 +02:00
Alexander Medvednikov
8000eb3656
parser: revert silent _ prefix rule
2020-04-26 05:34:34 +02:00
Alexander Medvednikov
60a0ba5eaa
table: minor interface clean up
2020-04-26 05:34:34 +02:00
Delyan Angelov
a77640165e
compiler: faster vmod lookup
2020-04-25 23:43:46 +03:00
Delyan Angelov
08799792a7
tests: fix regex test
2020-04-25 23:42:48 +03:00
Delyan Angelov
cd27300d75
cookie: fix a new match error about redundant `else`
2020-04-25 23:02:04 +03:00
Delyan Angelov
19d7553d67
tests: fix vlib/net/http/cookie_test.v
2020-04-25 22:53:18 +03:00
Enzo Baldisserri
3e68e429b6
checker: avert if else is unnecessary
2020-04-25 21:51:44 +02:00
Alexander Medvednikov
e0f9c042c1
cgen: interface fixes
2020-04-25 21:24:12 +02:00
Delyan Angelov
86ba1645b0
os: add os.input(prompt)
2020-04-25 22:04:12 +03:00
Enzo Baldisserri
c73d91a8fe
fmt: TypeDecl; format more files
2020-04-25 20:58:00 +02:00
Ruofan XU
d86539c4f5
checker: clean up infix_expr
2020-04-25 20:28:49 +02:00
ka-weihe
d72e401378
string: optimize eq
2020-04-25 20:19:53 +02:00
Alexander Medvednikov
b7e5be41f5
checker/cgen: `as` fixes
2020-04-25 18:41:12 +02:00
yuyi
c26e83f58a
array: fix fixed array errors
2020-04-25 18:26:38 +02:00
yuyi
ec9566988a
cmdline: minor optimizaztion
2020-04-25 17:49:51 +02:00
Enzo Baldisserri
fb54a2635c
fmt: lots of fixes
2020-04-25 17:49:16 +02:00
Delyan Angelov
7c080c5d4a
checker: prevent `x := voidfn()`
2020-04-25 18:06:34 +03:00
Larpon
6a834c0528
checker: use 'mut' instead of 'var' in error message
2020-04-25 17:51:12 +03:00
Delyan Angelov
a20bef65ba
fmt: workaround a vfmt limitation preventing formatting of vlib/v/ast/ast.v
2020-04-25 17:34:42 +03:00
Delyan Angelov
9a19531909
compiler: add support for `[if myflag]` void fn/methods
2020-04-25 16:57:11 +03:00
Delyan Angelov
945f964c0c
parser: stay silent about unused variables starting with _
2020-04-25 15:38:15 +03:00
joe-conigliaro
aacc3c6f7e
cgen: generate str for variadic ( #4587 )
2020-04-25 22:23:47 +10:00
Delyan Angelov
4bcdf11743
cgen: support `-profile -` and `-profile x.txt`
2020-04-25 13:41:49 +03:00
Delyan Angelov
eecf92cdb0
cgen: implement -profile support.
2020-04-25 13:05:49 +03:00
joe-conigliaro
41cc96aaec
revert parser: simplify array push detection
2020-04-25 18:57:12 +10:00
joe-conigliaro
4675656786
parser: simplify array push detection
2020-04-25 18:42:53 +10:00
Delyan Angelov
e0ab318f56
cgen: add support for `v -printfn main file.v`
2020-04-25 11:15:57 +03:00
joe-conigliaro
900d96c638
parser: allow deref assign without parens pt2 update vlib
2020-04-25 18:14:01 +10:00
joe-conigliaro
7177e71444
revert parser: allow deref assign without parens pt2 update vlib
2020-04-25 18:11:14 +10:00
joe-conigliaro
f92cf69e60
parser: allow deref assign without parens pt2 update vlib
2020-04-25 18:09:52 +10:00
joe-conigliaro
9fff8733a0
parser: allow deref assign without parens pt1
2020-04-25 18:07:30 +10:00
joe-conigliaro
6696e1a6e2
table: move set_nr_muls to method
2020-04-25 17:54:32 +10:00
Alexander Medvednikov
d54b48b300
table: interface cast fix
2020-04-25 09:18:10 +02:00
Alexander Medvednikov
9229a963ed
array: use __new_array everywhere
2020-04-25 09:10:54 +02:00
joe-conigliaro
fbcdffbbc8
table: move Type functions to methods
2020-04-25 17:08:53 +10:00
Alexander Medvednikov
6248899d25
compiler_test: handle panics
2020-04-25 09:05:14 +02:00
Delyan Angelov
1c46dabc84
tetris: cleanup unused variable warnings
2020-04-25 09:49:02 +03:00
Alexander Medvednikov
48857090fc
runtime `as` type check: part 2
2020-04-25 08:42:23 +02:00
Alexander Medvednikov
2d187fb951
runtime `as` type check: part 1
2020-04-25 08:36:53 +02:00
Alexander Medvednikov
f1f9e423c3
interfaces: preparatory fixes
2020-04-25 08:00:44 +02:00
Junya Okuno
5600fd8613
net.http: remove redundant httponly handling
2020-04-25 06:15:05 +02:00
Enzo Baldisserri
a924defb94
checker: check `in` left type
2020-04-25 06:14:17 +02:00
Enzo Baldisserri
fa4739794f
checker: fix "unnecessary `()`" error position
2020-04-24 20:27:18 +02:00
Delyan Angelov
cc4090cc74
vfmt: remove unused variable check for vfmt
2020-04-24 20:25:11 +03:00
Delyan Angelov
8be10ffbd6
vfmt: always walk over all comptime branches
2020-04-24 19:05:55 +03:00
Delyan Angelov
f6f204387d
cgen: fix for msvc
2020-04-24 18:44:25 +03:00
Delyan Angelov
c6a829ce82
cgen: support for error('abc').str() and printing errors
2020-04-24 18:35:33 +03:00
Enzo Baldisserri
323ca2b3bb
checker: check duplicates on match with no else
...
Refactor match duplication test to work even if there is not else, and to include every expression.
Add tests for duplicate expressions in match.
2020-04-24 17:04:39 +03:00
Delyan Angelov
aa15dec660
checker: check default struct field expression types
2020-04-24 16:46:55 +03:00
Delyan Angelov
d6899788dd
time: add back vlib/time/time_linux.c.v
2020-04-24 15:28:16 +03:00
yuyi
afa9d42ff0
cgen: fix gen_str_for_array_fixed error
2020-04-24 12:36:45 +02:00
Alexander Medvednikov
a3382a5319
x64: debug opcodes nicely
2020-04-24 09:44:54 +02:00
Delyan Angelov
6bd34a069d
benchmark: show xxx.yyy ms, using the new highres timer
2020-04-24 10:26:47 +03:00
Delyan Angelov
117ec722a2
time: remove temporary time__linux.c.v workaround
2020-04-24 09:12:34 +03:00
Delyan Angelov
20637ae54c
time: restore building v on linux, till v.c is regenerated with `-os cross`
2020-04-24 09:00:07 +03:00
Delyan Angelov
863fab0268
comptime: enable again skipping parsing of other platform branches
2020-04-24 08:51:48 +03:00
Delyan Angelov
7a132e5c79
cgen: cleaner comptime ifdefs .
2020-04-24 08:42:31 +03:00
Major Taylor
25f2b171fc
time: Timer -> StopWatch; time.Duration
2020-04-24 07:33:25 +02:00
Leah Lundqvist
f3e3d7e0c5
websocket: update to work with latest V
2020-04-24 07:32:51 +02:00
yuyi
998fc8fc07
cgen: add gen_str_for_array_fixed
2020-04-24 07:32:27 +02:00
Alexander Medvednikov
c30c76c285
tests: fix x64 test
2020-04-24 05:26:29 +00:00
Delyan Angelov
6b31ebe456
Revert "comptime: enable again skipping parsing of other platform branches"
...
This reverts commit 0f4c5fb1c9
.
2020-04-23 22:47:16 +03:00
Alexander Medvednikov
8cb88d5c9a
x64: remove fn arg test for now
2020-04-23 20:55:23 +02:00
Delyan Angelov
ebc41375f1
os.executable: fix panic when os.executable_fallback fails (early in startup)
2020-04-23 21:53:18 +03:00
Alexander Medvednikov
1247718cbd
x64: pass fn args
2020-04-23 20:27:34 +02:00
Delyan Angelov
0f4c5fb1c9
comptime: enable again skipping parsing of other platform branches
2020-04-23 20:45:16 +03:00
Delyan Angelov
4f4567513e
comptime: fix `$if debug {}` when giving -cg or -d debug
2020-04-23 18:03:07 +03:00
Delyan Angelov
adb8fb1dc6
comptime: fix custom -d flags and `$if x? {}`. Fixes ftp_test.v .
2020-04-23 17:52:44 +03:00
Delyan Angelov
1a79e5419f
tests: fix aes_test.v by manually dereferencing the mut dst parameter
2020-04-23 16:45:25 +03:00
yuyi
2b4f72ef64
parser: fix empty import error
2020-04-23 14:48:05 +02:00
yuyi
f2e505d962
tests: enable compiler_test.v on Windows
2020-04-23 14:15:15 +02:00
Delyan Angelov
8b5573a6f3
errors: use more distinct and detailed name redefinition messages
2020-04-23 13:15:01 +03:00
Enzo Baldisserri
7e400124e8
parser: allow blank ident in nested loops
2020-04-23 12:00:51 +02:00
Delyan Angelov
fb97c2e01e
examples: fix path_tracing.v compilation, using (*ptr) = expression
2020-04-23 12:28:16 +03:00