yuyi
5664cbd3d0
enum: check enum name and modify related files
2020-04-23 05:16:10 +02:00
Alexander Medvednikov
45e21085c7
tests: re-enable some old array tests
2020-04-23 04:23:19 +02:00
Alexander Medvednikov
9fe0ca5323
x64: ++
2020-04-23 01:55:38 +02:00
Kris Cherven
d871595437
all: replace `var` with `mut`
2020-04-23 01:16:58 +02:00
yuyi
4e1abc8503
all: remove commas between enum vals
2020-04-23 01:16:16 +02:00
Alexander Medvednikov
d7ee4755c2
parser/cgen: interfaces (part 1)
2020-04-22 20:23:53 +02:00
Kris Cherven
faed178cb1
fmt: fix optional formatting
2020-04-22 20:12:58 +02:00
Enzo Baldisserri
fecf4ddf65
cgen: fix optional pointers
2020-04-22 20:12:30 +02:00
joe-conigliaro
de182d5809
parser: use single scope for fn args/body
2020-04-22 21:15:38 +10:00
joe-conigliaro
80a4fbf0be
parser: anon fn arg scope fix
2020-04-22 21:11:58 +10:00
joe-conigliaro
830b1807c1
test: add comment for assert bug in fn_test
2020-04-22 18:47:46 +10:00
joe-conigliaro
3ca4f5fada
checker/parser: anon fn call & return type fix
2020-04-22 18:41:57 +10:00
Delyan Angelov
4b8ed3f831
cgen: fixes for ustring, makes utf8_util_test.v pass
2020-04-22 10:35:14 +03:00
Alexander Medvednikov
50436a0e4a
x64: local variables; if
2020-04-22 07:11:17 +02:00
joe-conigliaro
c35e0e49ce
cgen: use gen_varg var in condition
2020-04-22 13:31:24 +10:00
joe-conigliaro
c1e8612624
checker/gen: allow vargs to be forwarded. fix/enable variadic test
2020-04-22 13:28:47 +10:00
Kris Cherven
b288ecb795
cgen: add map string generation
2020-04-22 04:00:38 +02:00
Kris Cherven
5c3742fbd2
parser: check var names in for loops
2020-04-22 03:48:51 +02:00
Kris Cherven
155891a4e0
parser: add unused variable warning
2020-04-22 01:52:56 +02:00
Uwe Krüger
08fac28c52
cgen: fix string interpolation for non-standard integer types
2020-04-22 01:48:53 +02:00
penguindark
34fd148f2f
ftoa: some fixes for rounding, new functions
2020-04-22 01:42:44 +02:00
joe-conigliaro
b9c0d2d362
cgen: fix passing high order function with body
2020-04-21 22:45:20 +10:00
yuyi
bc4a576c54
flag: fix flag_test.v
2020-04-21 14:44:17 +03:00
yuyi
a8dc0ccbcd
checker: add more op checks
2020-04-21 13:26:02 +02:00
Delyan Angelov
7c1d6b60c2
cgen: add g.auto_str_funcs, print &Struct pointers with enum fields
2020-04-21 13:32:17 +03:00
Alexander Medvednikov
baf3bf6778
uiold: make compile (fix vid); x64: mov rbp, rsp
2020-04-21 10:48:52 +02:00
Alexander Medvednikov
4471314291
clipboard: make the Linux version compile
2020-04-21 07:24:23 +00:00
Delyan Angelov
9d107007a1
x64: enhance diagnostic for unhandled nodes
2020-04-21 09:34:00 +03:00
Alexander Medvednikov
ab38605802
tests: disable clipboard on linux; x64: leave()
2020-04-21 06:16:47 +02:00
Alexander Medvednikov
77679d9650
tests: mark more tests as fixed
2020-04-21 05:52:44 +02:00
Alexander Medvednikov
9278a0cfba
tests: fix mut_test; x64: sub32()
2020-04-21 05:49:03 +02:00
joe-conigliaro
abf5942433
parser/cgen: anon fn var & calling ( #4534 )
2020-04-21 13:23:36 +10:00
Alexander Medvednikov
ee2e83fef0
go back to `mut`. decisions, decisions...
2020-04-21 05:11:50 +02:00
Alexander Medvednikov
1bf094fbca
parser: mut in receivers
2020-04-21 05:07:49 +02:00
Alexander Medvednikov
cc0e0ed281
fmt: single line match fix; x64: minor fixes
2020-04-21 04:51:53 +02:00
sambeckingham
4ea4d1c8c4
csv: handle missing line ending
2020-04-21 00:02:55 +02:00
Alexander Medvednikov
67a76cee1e
tests: fix x64 output comparison
2020-04-20 22:57:41 +02:00
Alexander Medvednikov
10677c2b0c
x64: fn call test
2020-04-20 22:36:12 +02:00
Alexander Medvednikov
871c29ea5d
x64: fn calls; return;
2020-04-20 22:21:40 +02:00
sambeckingham
b1459ade69
csv: fix missing last column
2020-04-20 21:49:05 +02:00
Ruofan XU
f725b93019
tests: delete an unused file
2020-04-20 21:48:14 +02:00
Alexey
9c0d97335e
builtin: improve backtrace on Windows
2020-04-20 20:59:08 +02:00
Ruofan XU
cdb1b0344c
checker: improve type check for arithmetic assignment op and fix error pos
2020-04-20 20:56:05 +02:00
Major Taylor
dc8199709f
cli: add smart-wrap for help description
2020-04-20 14:50:15 +02:00
yuyi
717e26b45e
checker: more infix checks
2020-04-20 14:49:26 +02:00
yuyi
07f69fab19
checker: remove dots from error messages
2020-04-20 11:57:07 +02:00
Alexander Medvednikov
2805f8d0cc
tests: fix x64_test.v
2020-04-16 14:19:14 +03:00
Alexander Medvednikov
78cbb7746f
tests: fix hello.vv output
2020-04-20 09:07:19 +02:00
Alexander Medvednikov
2642f6a0da
cgen: remove _PUSH
2020-04-20 09:04:17 +02:00
Alexander Medvednikov
e006da7259
parser: fix a bad comment
2020-04-20 08:44:14 +02:00
Alexander Medvednikov
4b329cb89d
tests: fix a typo
2020-04-20 08:32:10 +02:00
Alexander Medvednikov
ee2f1652b5
fmt: add EOL
2020-04-20 08:30:42 +02:00
Alexander Medvednikov
639dc02cc8
x64: test hello world
2020-04-20 08:27:37 +02:00
Alexander Medvednikov
c1fc768c1b
fmt: run on cmd/v; cgen: fix anonymous functions
2020-04-20 07:04:31 +02:00
Alexander Medvednikov
efff96d622
x64: make hello world run
2020-04-20 07:02:09 +02:00
Alexander Medvednikov
19a5436118
cgen: use faster array_push instead of _PUSH; re-fmt cgen.v
2020-04-20 03:54:41 +02:00
yuyi
be3bd520f6
checker: fix for in range type mismatch
2020-04-20 00:21:16 +02:00
Ruofan XU
5edd9cdc3a
checker: add type check for bit op
2020-04-19 22:29:45 +02:00
yuyi
dbb81b89fd
checker: fix type mismatch of `in` array
2020-04-19 22:26:58 +02:00
Daniel Däschle
b62bb22fa6
checker: allow C values in enum
2020-04-19 22:26:04 +02:00
Ruofan XU
6c59b306c7
checker: add type check for arithmetic assignment ops
2020-04-19 22:24:12 +02:00
yuyi
4de16e9f0f
tests: enable checker_error_test on windows
2020-04-19 20:48:13 +02:00
Keito Nagai
57859db07c
readme: fix docs link
2020-04-19 20:47:36 +02:00
Kris Cherven
95ae915c0c
checker/parser: fix outdated error messages
2020-04-19 20:46:48 +02:00
yuyi
27e04748ed
cgen:gen_str_for_array
2020-04-19 10:42:34 +02:00
Alexey
3ee858cd79
cgen: fix struct initialization bugs
2020-04-19 04:44:39 +02:00
Major Taylor
be0a8794c2
time: add Timer; refactor benchmark to use Timer
2020-04-19 03:40:32 +02:00
Enzo Baldisserri
57c142b993
checker: disallow pub in main
2020-04-19 00:07:57 +02:00
Alexander Medvednikov
de9f302412
fmt: array newlines test
2020-04-18 23:58:59 +02:00
Alexey
85c5103ba3
tests: test cflags parsing
2020-04-18 23:45:17 +02:00
Alexey
3d6142064d
tests: remove `msvc-test`
2020-04-18 23:44:42 +02:00
Alexander Medvednikov
a18201faa7
fmt: save newlines between array elements
2020-04-18 23:09:23 +02:00
Alexey
2ab2a58bc5
string: add more interpolation tests
2020-04-18 18:26:07 +02:00
Ruofan XU
b0e498bf0b
scanner: refactor ident_dec_number
2020-04-18 17:49:27 +02:00
Tim Basel
86df486988
compiler: rename is_so to is_shared
2020-04-18 17:46:23 +02:00
Kris Cherven
3cc7009440
cflag: remove circular dependency
2020-04-18 16:29:43 +02:00
Kris Cherven
eb923b4995
testing: fix count of succeeded tests
2020-04-18 05:49:03 +03:00
yuyi
5374899f29
parser: fix interpolation error
2020-04-18 00:22:03 +02:00
Enzo Baldisserri
0f9322bf36
checker: print error and pos for lacking main or pub main
2020-04-18 00:20:38 +02:00
Enzo Baldisserri
f2be3d7ffb
checker: check that right `is` type exists
2020-04-18 00:19:33 +02:00
Tim Basel
73073cd954
parser: anonymous functions (part 1)
2020-04-17 21:59:19 +02:00
yuyi
3e324befd0
builder: clean up and simplify some methods
2020-04-17 21:17:19 +02:00
Alexander Medvednikov
515da900e4
fmt: remove \t before same line comments
2020-04-17 20:53:39 +02:00
Alexander Medvednikov
2c778c8849
fmt: single line matches
2020-04-17 20:51:19 +02:00
yuyi
67cd90de6e
parser: fix number parse error
2020-04-17 20:31:32 +02:00
Kris Cherven
84ac634c31
checker: disallow pub fn main()
2020-04-17 20:30:43 +02:00
Alexander Medvednikov
c4b7d7cab3
match: shadow variable instead of `it`
2020-04-17 19:24:10 +02:00
Alexander Medvednikov
59baef89a0
parser: assign.v, containers.v, for.v, if.v
2020-04-17 18:16:55 +02:00
Alexander Medvednikov
b53fb365a6
parser: move pratt logic to pratt.v
2020-04-17 18:11:04 +02:00
Alexander Medvednikov
16931fd23f
parser: move all struct logic to struct.v
2020-04-17 18:01:02 +02:00
Alexander Medvednikov
ed8855c4cd
tests: fix struct_unknown_field.v
2020-04-17 17:20:35 +02:00
Alexander Medvednikov
4a556f72bb
checker: allow calling private functions in tests
2020-04-17 17:18:40 +02:00
Alexander Medvednikov
06c1b9e95e
table/checker: verify private functions/methods
2020-04-17 17:16:14 +02:00
Daniel Däschle
af30bf939e
checker: fix return underlining
2020-04-17 16:16:56 +02:00
Daniel Däschle
c1d9e22ca6
cgen: gen str() from eprintln and eprint as well
2020-04-17 16:15:28 +02:00
yuyi
420ecaf31d
cgen: gen_str_for_array()
2020-04-17 16:10:41 +02:00
Daniel Däschle
402e55d115
ast: expr.Position; struct field refactoring
2020-04-17 02:38:39 +02:00
yuyi
8bb11d9035
cgen: fix string_interpolation_struct_test.v error
2020-04-17 01:45:42 +02:00
Major Taylor
7bfc3ef767
cli: fix issue with long cmd and flag names
2020-04-16 23:01:04 +02:00
Enzo Baldisserri
051cc732bb
cgen: generate typeof for functions
2020-04-16 21:04:27 +02:00
yuyi
dee64347e0
cgen: fix const_embed_test.v error
2020-04-16 19:43:39 +02:00
Alexey
4c8510dfaf
cgen: use `wWinMain` for Windows GUI applications
2020-04-16 19:42:04 +02:00
Delyan Angelov
aed8370d87
tetris: enable compilation with -prod; cleanup of font loading errors
2020-04-16 19:44:15 +03:00
Kris Cherven
182108faca
fmt fmt.v, vfmt.v
2020-04-16 15:54:17 +02:00
Alexey
54226e74cf
sokol: add missing `C` prefixes
2020-04-16 15:53:34 +02:00
Alexander Medvednikov
714ff50322
fmt: use the new receiver syntax
2020-04-16 15:42:40 +02:00
Alexander Medvednikov
4b5acfd960
parser: (var x X) receiver syntax
2020-04-16 15:40:21 +02:00
Alexander Medvednikov
8760313ce5
fmt builder.v
2020-04-16 15:35:19 +02:00
Alexander Medvednikov
af224b4933
parser/cgen: is keyword
2020-04-16 15:32:14 +02:00
Delyan Angelov
cc9828b481
checker: fix building of shared .so libs
2020-04-16 16:30:19 +03:00
Enzo Baldisserri
e05f103c41
cli: make compile
2020-04-16 14:50:04 +02:00
Delyan Angelov
1318c27699
tetris: it now works with v2 (on linux) :-)
2020-04-16 13:30:40 +03:00
Daniel Däschle
19723c927b
checker: move more checks from parser
2020-04-16 12:17:15 +02:00
Delyan Angelov
554d87f5b0
tetris: part 1 of fixing compilation with v2
2020-04-16 12:37:59 +03:00
Delyan Angelov
8a1248b2e7
builder: restore module import cycle detection/topological reorder
2020-04-16 12:29:36 +03:00
Daniel Däschle
04db2d02b8
checker: move struct name check from parser to checker
2020-04-16 11:01:18 +02:00
yuyi
54a02996f2
cgen: fix string interpolation float type
2020-04-16 07:30:25 +02:00
Kris Cherven
332d52f459
fmt: stop mangling reference names
2020-04-16 07:28:41 +02:00
joe-conigliaro
c3ddaf16ec
cgen: fix sum type casting for array push
2020-04-16 15:18:33 +10:00
Daniel Däschle
a680db44ed
parser: change `for` error message
2020-04-16 06:01:14 +02:00
yuyi
b15780ae51
parser: better const error
2020-04-16 06:00:05 +02:00
Delyan Angelov
4b3c44cfd7
Revert "tetris: part 1 of fixing building it with v2"
...
This reverts commit d42725aafe
.
2020-04-16 01:16:54 +03:00
Delyan Angelov
d42725aafe
tetris: part 1 of fixing building it with v2
2020-04-16 00:35:16 +03:00
Delyan Angelov
92129d760d
checker: fix false positives for sumtype kind of matches
2020-04-16 00:32:56 +03:00
Abdullah Atta
6a186e8f11
jsgen: implement js backend
2020-04-15 23:16:49 +02:00
Kris Cherven
a3ab5df2ed
cgen: prepend __ to new_array
2020-04-15 20:12:06 +02:00
Daniel Däschle
27b6f30305
checker: move capital var check from parser to checker
2020-04-15 19:09:51 +02:00
Daniel Däschle
93b942de46
parser: fix a match error
2020-04-15 16:23:03 +02:00
joe-conigliaro
fde83aff0b
checker/cgen: fix calling struct field with fn type
2020-04-15 04:28:18 +02:00
Alexander Medvednikov
da28bc7026
Revert "fmt: `(var f Foo)`"
...
This reverts commit 4b110756e0
.
2020-04-15 04:15:42 +02:00
Alexander Medvednikov
4b110756e0
fmt: `(var f Foo)`
2020-04-15 03:56:16 +02:00
Kris Cherven
4dd8796dba
cgen: fix assignment to nested maps
2020-04-15 02:42:00 +02:00
Alexander Medvednikov
f34352faf9
fmt: use var instead of mut
2020-04-15 01:55:51 +02:00
Alexander Medvednikov
efaec8be8e
token/parser: var keyword
2020-04-15 01:45:27 +02:00
Daniel Däschle
4068cbc6eb
parser: fix var name check pos
2020-04-14 21:27:17 +02:00
Alexey
e1739549b2
crypto: fix `rand` module
2020-04-14 21:03:02 +02:00
Alexander Medvednikov
14e1b963f2
parser: do not allow variable names with capital letters
2020-04-14 20:40:00 +02:00
Alexey
91de4e1ece
array: test assignment operators
2020-04-14 20:32:06 +02:00
Enzo Baldisserri
86402204a7
checker: fail if else isn't the last branch of match
2020-04-14 20:31:51 +02:00
Alexey
0c63f5c80d
builtin: test left/right shift precedence
2020-04-14 19:38:11 +02:00
Daniel Däschle
50871d1a92
checker: for in index type error position
2020-04-14 19:37:56 +02:00
Alexander Medvednikov
deab448d93
cgen: fix array[i] &=, |= etc
2020-04-14 19:36:52 +02:00
Alexander Medvednikov
233ae3f772
fmt: use `import module` syntax
2020-04-14 19:32:23 +02:00
Alexander Medvednikov
2251634743
parser: hide import deprecation warning for now
2020-04-14 18:36:29 +02:00
Alexander Medvednikov
f91d527154
deprecate `import module`
2020-04-14 18:27:30 +02:00
Alexander Medvednikov
211275ab49
fmt: always use import() syntax
2020-04-14 18:24:19 +02:00
Alexander Medvednikov
ec10831318
parser: `[]int{cap:cap, len:len}` syntax; minor fixes
2020-04-14 18:10:16 +02:00
joe-conigliaro
b33a9fc9e7
parser: fix left shift precedence
2020-04-15 01:41:14 +10:00
Delyan Angelov
2b3204603a
parser: add an $if tinyc{} wrapper for the tcc_stack_bug variable
2020-04-14 18:02:55 +03:00
Delyan Angelov
e947d5e8c8
checker: fully exhaustive matches for sumtypes and enums
...
Also change the vlib/v/checker/tests/inout/match_expr_else.out to reflex the
new error details.
2020-04-14 16:50:43 +03:00
Daniel Däschle
75603beeea
checker: match exhaustive as stmt and with enum
2020-04-14 15:12:26 +02:00
Delyan Angelov
c04c973f84
cgen: use a temp variable for the array part inside 'for x in array{}'
2020-04-14 13:22:58 +03:00
Delyan Angelov
2df4998acc
parser: fix v selfcompilation with tcc (tcc bug workaround)
2020-04-14 11:06:19 +03:00
yuyi
956651384c
cgen: fix math/complex_test.v
2020-04-14 07:44:19 +02:00
yuyi
682c619456
array: fix array_byte.str error
2020-04-14 05:55:53 +02:00
Alexander Medvednikov
5f1b88c2c4
checker: do not use !in for now
2020-04-14 04:14:02 +02:00
Alexander Medvednikov
bbc35b1179
checker: check bool and string ops
2020-04-14 04:12:28 +02:00
yuyi
885612afea
ftoa: fix strconv/ftoa/f32_f64_to_string_test.v
2020-04-14 03:53:34 +02:00
Alexander Medvednikov
df37597f00
tests: disable cookie test for now
2020-04-14 03:43:59 +02:00
Chris Watson
c6c2fccb23
net.http: add cookie support
2020-04-14 03:34:05 +02:00
Daniel Däschle
12e48c6fe2
checker: check match for exhaustion
2020-04-14 01:03:31 +02:00
Alexander Medvednikov
1185f04868
json: encode
2020-04-14 00:37:47 +02:00
Alexander Medvednikov
a9a8f8c804
rand: remove duplicate C fn
2020-04-13 20:11:44 +02:00
krischerven
8c0b25a2ab
cgen: fix printing alias types
2020-04-13 20:07:25 +02:00
Alexander Medvednikov
7aacf77262
checker: remove an extra fn check
2020-04-13 20:06:20 +02:00
Alexander Medvednikov
24958df565
parser: do not allow duplicate fns; cgen: move fn code to fn.v
2020-04-13 19:59:57 +02:00
yuyi
fb4cfa72cd
cgen: fix str() for arrays
2020-04-13 19:18:22 +02:00
Daniel Däschle
a6100be8df
parser: fix position of array init
...
* parser: fix position of array init
* fix checker_error_test.v tests
2020-04-13 19:08:02 +03:00
krischerven
ac67b1ea1b
tests: add new type alias syntax tests
2020-04-13 16:44:21 +02:00
Alexander Medvednikov
c36984cc94
fmt: handle indents
2020-04-13 16:36:32 +02:00
Alexander Medvednikov
2bd22aa4a4
parser: type Foo = Bar
2020-04-13 15:06:02 +02:00
Alexander Medvednikov
77fcd572dc
fmt: remove unused imports
2020-04-13 15:05:51 +02:00
Daniel Däschle
8cbdb75dd6
cgen: fix match expr multiline error
...
* cgen: fix match expr multiline error
* Support for multiple statements in the else part of the match.
* Add a test for the match expression with multiple statements.
2020-04-13 13:05:38 +03:00
Delyan Angelov
99db5f53f7
repl_test.v: fix compilation (non working ones are for now renamed to .skip)
2020-04-13 11:06:52 +03:00
krischerven
74ba8f5cc9
tests: add testing for !in
2020-04-13 02:29:07 +02:00
krischerven
78f9f25a00
cgen: fix !in not working with maps
2020-04-13 02:22:55 +02:00
krischerven
a0d6651e0e
tests: fix typeof_test
2020-04-13 02:22:14 +02:00
Daniel Däschle
1a4113d245
checker: store errors in []Error
2020-04-13 01:56:01 +02:00
Enzo Baldisserri
da5a1e458b
cgen: fix match expr in assert
2020-04-13 01:53:26 +02:00
Alexander Medvednikov
6ada43df61
fmt: test automatic import insertion
2020-04-12 17:57:05 +02:00
Alexander Medvednikov
810a0725ec
tests: fix fmt tests
2020-04-12 17:49:31 +02:00
Alexander Medvednikov
0db0c642c3
vfmt: add missing imports automatically
2020-04-12 17:45:04 +02:00
Daniel Däschle
d55f4ab097
cgen: fix error priting struct which has .str already
2020-04-12 16:25:02 +03:00
Daniel Däschle
5818956cdc
cgen: % escape in string interpolated literals
...
* cgen: % escape in c call to _STR
* tests: add test for string % escape
* Add a test for the % escaping when interpolating inside strings
2020-04-12 16:24:23 +03:00
Daniel Däschle
4449468ca4
parser: correct error position on field and method errors
2020-04-12 15:19:07 +03:00
ka-weihe
e247690fe1
map: fast_string_eq and improved comments
...
* improved comments and fast_string_eq
* make it pass CI
* enumerate traits
* Add parameter back
* remove space
* remove parameter
* Allow bootstrap compilation in one step with old vc (add new_map/2 shim).
2020-04-12 15:10:06 +03:00
Daniel Däschle
79dad0bca9
parser: fix enum default value in struct
...
* parser: fix enum default value in struct
* Add a test for the enum default values in structs.
* Fix compilation of vfmt.
* Run vfmt over enum_default_value_in_struct_test.v
* Cleanup spurious , in vfmt output for enum declarations
Co-authored-by: Delyan Angelov <delian66@gmail.com>
2020-04-12 13:35:54 +03:00
yuyi
0ced7116b6
string: add is_upper/is_lower and fix parser.match_expr error
...
* string: add is_upper/is_lower and fix parser.match_expr error
* to_capital => capitalize, to_title => title
* is_titled => is_title, is_capitalized => is_capital
2020-04-12 13:09:05 +03:00
Ned Palacios
db2c656da8
scanner: `!in` token
2020-04-12 07:30:26 +02:00
yuyi
c3e78b8c8f
vdoc: use the new suffix
2020-04-12 02:50:19 +02:00
krischerven
0a03797694
tests: run vfmt
2020-04-12 01:41:26 +02:00
krischerven
1abdf2d68f
cgen: fix missing defer in fn main()
2020-04-12 01:38:14 +02:00
Alexey
0f19f9dd51
tests: test call of variadic function with no arguments
2020-04-12 01:37:34 +02:00
Alexander Medvednikov
4b029567e5
tests: test string literal indexing and mutable array filter
2020-04-11 23:32:00 +02:00
Alexander Medvednikov
39245f088a
array: test !in and filter
2020-04-11 23:01:50 +02:00
Alexander Medvednikov
449d839684
checker: make sure functions return
2020-04-11 21:50:14 +02:00
Alexander Medvednikov
581d836de6
!in operator
2020-04-11 21:31:54 +02:00
Alexander Medvednikov
1b6ae00966
os: rename os_nix.v to os_nix.c.v
2020-04-11 20:43:17 +02:00
lutherwenxu
dc4db87be3
vlib: use new filename format
2020-04-11 19:51:32 +02:00
Alexander Medvednikov
f91e3a5d3c
cgen: arr[i] +=, /=, -=
2020-04-11 19:07:03 +02:00
Alexey
d078e6bb08
net: check if socket descriptor is valid
2020-04-11 19:06:01 +02:00
Alexey
1fde205f97
time: return optional value directly
2020-04-11 18:56:39 +02:00
Alexey
0050c1915b
cgen: call module `init` function if available
2020-04-11 18:38:51 +02:00
Alexander Medvednikov
d0ac69d12e
parser: fix sizeof(&Foo)
2020-04-11 18:38:25 +02:00
yuyi
ea960b2ce2
parser: fix inter literal format error
2020-04-11 17:25:39 +02:00
Alexey
df825506fd
cgen: fix check for array equality
2020-04-11 17:25:25 +02:00
Alexander Medvednikov
63d747042e
cgen: fix sizeof(&int)
2020-04-11 16:24:25 +02:00
Delyan Angelov
61c1535199
assert: generate tos3/1 calls instead of _STR (bugfix)
2020-04-11 16:18:09 +03:00
Delyan Angelov
30714d16d9
c linker: pass -Xlinker -z -Xlinker muldefs only on Linux with -cache
2020-04-11 15:24:23 +03:00
yuyi
c1aba95d7d
parser: refactor script & repl handling
2020-04-11 15:06:26 +03:00
Daniel Däschle
be16c5b21d
parser: better error on short init struct
2020-04-11 14:56:55 +03:00
Swastik Baranwal
6ecb6cfe8e
tests: add an operator overloading test
2020-04-11 14:39:51 +03:00
Delyan Angelov
15f4594e44
msvc: fix self compile, by avoiding explicit casting to the same type
2020-04-11 13:35:41 +03:00
Delyan Angelov
b10fcc79ba
comptime: fix #ifdef/#endif generation
2020-04-11 12:41:48 +03:00
Delyan Angelov
93d2ab200f
cheaders: fix selfcompilation with tcc
2020-04-11 12:18:26 +03:00
Delyan Angelov
6433c23a34
string: add s.strip_margin_custom/1, instead of passing varargs to s.strip_margin()
...
The reason for adding s.strip_margin_custom/1 is that
passing varargs interfere with the current implementation of the
builtin module caching.
2020-04-11 11:06:12 +03:00
Delyan Angelov
95709811e0
v: support VFLAGS, fix 'v run source.v arg after source'
2020-04-11 10:28:43 +03:00
Delyan Angelov
ba799b3f85
builder: support v.mod/@VROOT, fix -cflags and -cache
2020-04-11 09:57:31 +03:00
Alexander Medvednikov
053de0b8e3
checker: check variable mutability
2020-04-11 04:09:41 +02:00
Alexander Medvednikov
9422cd1009
parser: handle mut & receivers; fix checker_error_test
2020-04-11 02:24:00 +02:00
Alexander Medvednikov
8fbae86bb3
vfmt: skip skipped modules; add module test
2020-04-10 22:32:52 +02:00
Alexander Medvednikov
b95a47b5a7
checker: check fn main(); vfmt: fix for{}, module and module comments
2020-04-10 22:27:54 +02:00
Delyan Angelov
fdac3a1f2e
ftp.v: fix compilation
2020-04-10 23:23:42 +03:00
Delyan Angelov
4f74410125
test-fixed: always chdir to main v folder before running the tests
2020-04-10 22:40:56 +03:00
Delyan Angelov
217e6f3b8e
checker/parser: allow for fixed array with sizes defined with a const
2020-04-10 22:01:22 +03:00
lutherwenxu
514d989a27
builder: parse `.c.v` and `.js.v` correctly
2020-04-10 18:25:23 +02:00
Alexander Medvednikov
f76931c01e
cache builtin modules
2020-04-10 18:11:43 +02:00
Daniel Däschle
c815f84722
parser: fix void assign check
2020-04-10 15:53:06 +03:00
Daniel Däschle
42b3b19af4
checker: fix checker enum infix error
2020-04-10 15:44:01 +03:00
Daniel Däschle
adb379dd63
parser: fix string position
2020-04-10 15:40:52 +03:00
Delyan Angelov
83dfc6b9b9
checker: add more checks for multivar assignments
2020-04-10 15:38:43 +03:00
Delyan Angelov
3573030b9b
checker: fix error position for assignment expression
2020-04-10 15:14:05 +03:00
Delyan Angelov
3ea563291c
big.v: use again @VROOT/ for #flags
2020-04-10 13:09:04 +03:00
Delyan Angelov
60d6543733
comptime: support @VROOT again
2020-04-10 13:02:00 +03:00
yuyi
7f87ac996d
test: fix vlib/math/big/big_test.v
2020-04-10 12:26:15 +03:00
Daniel Däschle
0f11d883fa
checker: fix error messages and add checker tests
...
* checker: fix error messages
* tests: fix command and ignore defect output
2020-04-10 11:59:07 +03:00
Delyan Angelov
74ac9ef195
builder: write intermediate .c files in the vtmp folder again
2020-04-10 11:55:04 +03:00
Delyan Angelov
7d564e9791
cgen: skip inc generation for ForCStmt, when empty in the v source
2020-04-10 10:00:14 +03:00
Alexander Medvednikov
d5fb68e3d6
vfmt: fix struct init; run on struct_test.v
2020-04-10 00:36:50 +02:00
Alexander Medvednikov
9b2511133d
vfmt: lots of fixes; cmd/v: -keepc;
2020-04-10 00:30:43 +02:00
Daniel Däschle
32550c6d69
scanner: even better error messages
2020-04-10 00:09:34 +02:00
Daniel Däschle
320fad49c5
checker: check enum
2020-04-09 19:23:49 +02:00
Alexander Medvednikov
6ac64c8586
parser: register #flags
2020-04-09 16:39:53 +02:00
Alexander Medvednikov
2b685fc80a
table: bring back parse_cflag()
2020-04-09 15:59:22 +02:00
Daniel Däschle
c0d86eb651
cgen: printing pointer should print the address
2020-04-09 15:35:52 +02:00
Alexander Medvednikov
f508955b64
vfmt: fix mod.Type; run vfmt on ast.v
2020-04-09 15:33:46 +02:00
Alexander Medvednikov
f3c917e0aa
fmt: fix array receivers; cmd/v: -showcc
2020-04-09 15:05:06 +02:00
Alexander Medvednikov
d7ae9d7279
cgen: optional fixes; make http compile
2020-04-09 14:03:47 +02:00
yuyi
87df587f5a
parser: fix script and repl error
2020-04-09 12:46:16 +02:00
Alexey
384d401af0
math: fix `bits_test`
2020-04-09 12:43:37 +02:00
Daniel Däschle
3fbf91a044
cgen: printing pointers
2020-04-09 12:29:29 +02:00
Delyan Angelov
806f86e4e2
assert: pretty print function calls too
2020-04-09 13:24:26 +03:00
Alexey
56c3a8b9a2
base64: fix build
2020-04-09 12:17:01 +02:00
yuyi
89b83400f5
math: fix factorial_test.v error
2020-04-09 04:21:11 +02:00
yuyi
bf20b01586
map: fix map_test.v error
2020-04-09 03:57:08 +02:00
krischerven
8f8f8c418e
cgen: implement equality on arrays
2020-04-09 03:55:37 +02:00
ka-weihe
71190c27a9
fmt: align consts
2020-04-09 01:10:08 +02:00
ka-weihe
77d41d03f5
cgen: inline
2020-04-09 00:35:13 +02:00
Alexander Medvednikov
3f480a358e
fix type_alias test
2020-04-08 22:34:21 +02:00
Daniel Däschle
1c340174b7
cgen: print nested structs
2020-04-08 22:14:01 +02:00
Alexander Medvednikov
a08e64f37f
cgen: operator overloading
2020-04-08 22:12:42 +02:00
Alexander Medvednikov
3521b7ff89
websocket: fmt example + minor fixes
2020-04-08 21:21:58 +02:00
Abdullah Atta
6f8f8d7b1b
websocket: eventbus and other cleanup
2020-04-08 21:19:01 +02:00
Alexander Medvednikov
b40fdd9089
scope: find_const
2020-04-08 19:47:20 +02:00
Leah Lundqvist
b28ab2511c
websocket: move library files to root of module
2020-04-08 19:44:30 +02:00
Alexander Medvednikov
fa6aaad6df
checker: handle `x := x`
2020-04-08 19:15:19 +02:00
Daniel Däschle
03c307a8c0
parser: fix struct name error
2020-04-08 19:08:54 +02:00
hazohelet
78fc9bd12b
fmt: short_module for enum values
2020-04-08 18:55:50 +02:00
Daniel Däschle
d38acb5487
cgen: fix enum print case
2020-04-08 18:55:10 +02:00
Delyan Angelov
3fd547f2e5
flag: fix compilation of programs using flag module
2020-04-08 19:49:32 +03:00
Delyan Angelov
292b165abe
tests: use the yellow color for 'the ok, fail, skip, total' line too
2020-04-08 18:49:00 +03:00
Delyan Angelov
e10290eb8e
tests: make the SKIP and FAIL labels more distinctive
2020-04-08 18:42:05 +03:00
Alexander Medvednikov
7a218286b3
cgen: fix returning optional consts; fix csv test
2020-04-08 17:21:36 +02:00
Delyan Angelov
3abbdd4a39
tests: fix vlib/os/environment.v
2020-04-08 18:01:19 +03:00
hazohelet
10c4c44d03
parser: allow C struct declaration that lacks body
2020-04-08 16:54:49 +02:00
Daniel Däschle
a61654009f
tests: change skip color to yellow instead of red
2020-04-08 16:52:40 +02:00
krischerven
bcb9d90abb
cgen: remove redundant spaces in generated C
2020-04-08 16:52:07 +02:00
Delyan Angelov
5247d5924e
tests: stats_test.v, pcg32_test.v, splitmix64_test.v now also pass
2020-04-08 17:29:43 +03:00
Daniel Däschle
6bba7d4e3a
cgen: enum str()
2020-04-08 15:54:38 +02:00
Delyan Angelov
1388532bd4
tests: fix crc32_test.v
2020-04-08 16:48:13 +03:00
Delyan Angelov
a8fe3a59b0
tests: fix sha1 test by fixing << | expressions with explicit parenthesis for now.
2020-04-08 16:30:19 +03:00
Alexander Medvednikov
80888b9518
tests: fix fmt test
2020-04-08 14:25:08 +02:00
Alexander Medvednikov
8426db7fe5
copy thecodrr/vws to vlib/net/websocket
2020-04-08 14:22:31 +02:00
Alexander Medvednikov
5ef5712e91
vfmt: do not generate a space if the comment is empty
2020-04-08 14:19:13 +02:00
Alexander Medvednikov
2e78051933
tests: fix in_expression_test
2020-04-08 13:56:09 +02:00
Alexander Medvednikov
eb78396307
parser: fix prefix precedence
2020-04-08 13:53:11 +02:00
Delyan Angelov
c00ec77737
tests: fix compilation of parser_test.v
2020-04-08 05:57:36 +03:00
Delyan Angelov
ef19aa1de6
assert: fix line position, pretty print float literals and casts
2020-04-08 05:47:29 +03:00
Delyan Angelov
3bad02abdd
cgen: do comparison of f32/f64 values for == and != by calling f64_eq(a,b) and f64_ne(a,b)
2020-04-08 03:51:06 +03:00
Delyan Angelov
8e06f4e519
tests: rename vlib/rand/rand_test.v to random_numbers_test.v to fix sporadic CI fails
2020-04-08 03:04:04 +03:00
Delyan Angelov
b9ec1479e4
checker: allow again fallthrough in or{} blocks of option calls without assignment
2020-04-08 02:56:24 +03:00
Alexander Medvednikov
7ff0c3aaa9
cgen/parser: fix unions
2020-04-08 01:20:55 +02:00
Alexander Medvednikov
cdcb8b6c06
fmt: ` ` fix
2020-04-08 01:04:08 +02:00
yuyi
9984691eaf
parser: fix float_test.v
2020-04-08 01:00:58 +02:00
Alexander Medvednikov
d54150cd22
vfmt: fix struct init indent and wrapped lines
2020-04-08 00:59:28 +02:00
Alexander Medvednikov
2fbed2f880
cgen: fix _ = ...
2020-04-08 00:46:16 +02:00
ka-weihe
7406abe3b6
map: use strcmp and update wyhash
2020-04-08 00:02:15 +02:00
Daniel Däschle
59ac0bd46b
cgen: print bool correctly in interpolation
2020-04-07 23:26:20 +02:00
Delyan Angelov
582ee9e643
urllib: put braces in << | expressions in urllib.v to make test pass
2020-04-07 22:58:29 +03:00
Delyan Angelov
cb52dd85e7
tests: add an isolated test case for long struct names with capitalization
2020-04-07 22:03:20 +03:00
Delyan Angelov
589b932f19
compiler: more permissive structure names, that allow URL as a struct name
2020-04-07 22:00:25 +03:00
Alexander Medvednikov
6bbd1943dd
cgen: fix &string cast; vfmt fixes
2020-04-07 18:51:44 +02:00
Daniel Däschle
4aedef367c
cgen: print bool and string correctly in struct
2020-04-07 17:52:15 +02:00
Daniel Däschle
7cf9b32742
cmd: show cleaner messages, when v can not compile a tool, or update itself
2020-04-07 17:56:33 +03:00
Daniel Däschle
0024ff848d
parser: check if the last or {} block expression is valid
...
These checks allows for:
a) `x := call() or { 'abc' }`
b) `x := call() or { panic('abc') }`
c) `x := call() or { exit(123) }`
d) `x := call() or { continue }`
e) `x := call() or { break }`
f) `x := call() or { return }`
... but produce errors for:
g) `x := call() or { println('an error') }` , etc.
2020-04-07 17:36:00 +03:00
Alexander Medvednikov
275b20a184
vfmt: handle for ;; loops; run vfmt on parser.v
2020-04-07 15:48:13 +02:00
Alexander Medvednikov
8f9a8e1e7f
vfmt: small fixes + run on checker.v and fmt.v
2020-04-07 15:15:49 +02:00
Alexander Medvednikov
890940292b
Revert "cgen: print bool in struct correctly"
...
This reverts commit 78440be2b2
.
2020-04-07 12:56:05 +02:00
Daniel Däschle
78440be2b2
cgen: print bool in struct correctly
2020-04-07 12:39:10 +02:00
yuyi
08d90afb8c
builder: fix an error on windows
2020-04-07 12:32:49 +02:00
yuyi
426eb46166
test: fix windows test error
2020-04-07 12:32:09 +02:00
Daniel Däschle
fe0942043c
checker: check if BranchStmt is in a loop
2020-04-07 12:29:11 +02:00
Alexander Medvednikov
fd75cce0f3
vfmt: minor fixes + tests
2020-04-07 04:05:59 +02:00
Daniel Däschle
b0dacef32b
time: change unix timestamp to u64
2020-04-07 03:35:47 +02:00
lutherwenxu
a8c92e6dff
checker: remove hack and enforce type checking
2020-04-07 03:27:06 +02:00
Alexander Medvednikov
fa5fcee584
cmd/v: fix run args
2020-04-07 03:21:32 +02:00
Alexander Medvednikov
33644a4f91
cmd/v: fix `run`
2020-04-07 01:09:25 +02:00
Alexander Medvednikov
b7560fe4bf
parser: do not allow duplicate methods; builder: cleaning up
2020-04-07 01:02:48 +02:00
Alexander Medvednikov
8d150d427a
merge and simplify cmd/v and v.builder
2020-04-07 00:44:31 +02:00
Delyan Angelov
8da12eb8a7
errors: column index tweaks for emacs/vim
2020-04-06 23:15:53 +03:00
Delyan Angelov
333e725380
errors: remove 0 from caret line
2020-04-06 20:41:33 +03:00
Delyan Angelov
bc2ea2f3d4
errors: fix caret position on lines with tabs
2020-04-06 20:35:24 +03:00
Delyan Angelov
3b3d248637
scanner: use formatted errors for s.error too
2020-04-06 19:58:32 +03:00
ka-weihe
5be892c635
cheaders: update wyhash to version gamma
2020-04-06 18:47:29 +02:00
Alexander Medvednikov
7f516dbae2
cgen: minor optionals fixes
2020-04-06 18:46:50 +02:00
Delyan Angelov
d74eb99066
errors: do not bold the actual error message content
2020-04-06 19:46:23 +03:00
Delyan Angelov
7a99949f0e
errors: print more informative and pretty errors
2020-04-06 19:40:20 +03:00
Alexander Medvednikov
d865fc26eb
http: fix method_and_url_to_response definition
2020-04-06 17:42:47 +02:00
lutherwenxu
e8b26b1b8d
checker: make struct_init check more robust
2020-04-06 17:39:52 +02:00
yuyi
4d5fe14968
log: fix example error
2020-04-06 17:22:53 +02:00
Alexander Medvednikov
2006995020
cmd/v: remove clang-format (the generated code is pretty from the start)
2020-04-06 17:11:01 +02:00
Alexander Medvednikov
87c00a61da
strconv: fix compilation
2020-04-06 14:53:28 +02:00
Alexander Medvednikov
35fbac8d56
parser/cgen: default struct field values
2020-04-06 14:45:48 +02:00
Major Taylor
f099f90f50
string: fix trim_right, add tests
2020-04-06 14:30:25 +02:00
Alexander Medvednikov
f59c9133da
cgen: temporary headers fix
2020-04-06 14:22:59 +02:00
Alexander Medvednikov
be014fcdd6
checker: << check; initial #flag os support
2020-04-06 02:05:11 +02:00
ka-weihe
a30d292385
map: fix leaksfree fix ( #4254 )
2020-04-05 23:31:53 +02:00
Alexander Medvednikov
edb93914bb
vfmt: re-run on fmt.v
2020-04-05 23:30:16 +02:00
Alexander Medvednikov
852ec61b34
vfmt: fix single line if
2020-04-05 23:00:21 +02:00
ka-weihe
307daacf67
depgraph/map: fix memory bug
2020-04-05 22:09:52 +02:00
Alexander Medvednikov
ffe8452f02
vfmt: fix imports
2020-04-05 21:53:00 +02:00
Alexander Medvednikov
08bbc251ff
vfmt: fix multiline comments
2020-04-05 19:35:10 +02:00
Alexander Medvednikov
8260236331
vfmt: run on fmt.v
2020-04-05 18:15:50 +02:00
Alexander Medvednikov
e464c4acc5
vfmt: more fixes + run on cgen.v
2020-04-05 18:03:36 +02:00
Alexander Medvednikov
df45932c03
vfmt: fix same line stmt comments
2020-04-05 16:38:33 +02:00
Alexey
781c20a6ae
cgen: bring back Windows fixes
2020-04-05 16:08:16 +02:00
Delyan Angelov
206c1f4ca1
os: implement os.is_writable_folder/1
2020-04-05 16:56:54 +03:00
Delyan Angelov
f139e98745
launch_tool: use println for verbose messages instead of eprintln
2020-04-05 15:31:09 +03:00
Delyan Angelov
44a271d9e9
v version: show only vhash, when vhash and current_hash are the same
2020-04-05 14:47:01 +03:00
lydiandy
35fab2bb7b
ast: pub interface field
2020-04-05 12:31:39 +02:00
Alexey
9c1eaaeb49
cgen: declare empty structs correctly
2020-04-05 12:31:25 +02:00
Alexander Medvednikov
de701ccfac
fmt: struct field comments on the same line
2020-04-05 12:25:39 +02:00
Delyan Angelov
75518e5bb9
ci: extract separate working_with_an_empty_struct_test.v
2020-04-05 12:55:54 +03:00
Delyan Angelov
5e76d53fcd
compiler: support default values in optional blocks
2020-04-05 11:59:15 +03:00
Alexander Medvednikov
05fbe5ab7a
parser: move comments
2020-04-05 04:05:09 +02:00
Alexander Medvednikov
2a06263a5b
vfmt: more fixes; enable `v fmt` and `v fmt -w`
2020-04-05 03:37:38 +02:00
Alexander Medvednikov
97db4c0e9a
vfmt: comments and other fixes
2020-04-05 02:08:13 +02:00
Delyan Angelov
45fdbc4df7
support pretty printing of StringInterLiteral in asserts too
2020-04-05 00:51:49 +03:00
Daniel Däschle
e077cce103
vlib: add inode/mode information functionality ( #4242 )
...
* vlib: add inode/mode information functionality
* vlib: add docs to inode
2020-04-05 00:37:13 +03:00
Alexey
98086d7259
strconv: fix atof test
2020-04-04 23:28:47 +02:00
Delyan Angelov
774fb7e850
fix 'assert false' pretty printing
2020-04-05 00:12:16 +03:00
Delyan Angelov
45401954fa
fix vlib/os/os_test.v
2020-04-04 23:06:47 +03:00
Delyan Angelov
b0567543c9
add support for errcode in or{} optional blocks.
2020-04-04 21:47:57 +03:00
Alexey
abd0686043
cgen: fix struct initialization
2020-04-04 17:59:49 +02:00
Alexey
bb587c27a8
bitfield: update module
2020-04-04 17:59:26 +02:00
Delyan Angelov
8f06d60084
fix vlib/bitfield/bitfield_test.v
2020-04-04 18:03:06 +03:00
Alexander Medvednikov
33b03449d5
tools: remove vnames.v for now
2020-04-04 16:39:08 +02:00
Alexander Medvednikov
e600feda98
cgen: __argc is already used on windows
2020-04-04 15:59:46 +02:00
Alexey
b8f1152408
clipboard: fix build on Windows
2020-04-04 15:37:13 +02:00
Alexey
6455e57e82
fmt: process C function declarations correctly
2020-04-04 15:36:46 +02:00
krischerven
1960c6f4cb
checker: make an error message less ambiguous
2020-04-04 15:36:12 +02:00
Delyan Angelov
4c8703416e
fix vlib/math/math_test.v
2020-04-04 16:07:42 +03:00
Alexander Medvednikov
f748390172
parser: do no allow var names with __; cgen: use __argc
2020-04-04 14:55:40 +02:00
Alexander Medvednikov
95a1bd8470
cgen: handle C typedefs
2020-04-04 14:32:42 +02:00
Alexander Medvednikov
440f1cf4c6
map: remove old get methods
2020-04-04 14:22:39 +02:00
Alexander Medvednikov
46aed151ab
parser: snake_case check; array: mutable array test
2020-04-04 14:09:58 +02:00
krischerven
4c6db7a64e
cgen: fix mutable arrays
2020-04-04 14:08:38 +02:00
Delyan Angelov
133842bf95
Remove unused self import of v.util into v.util .
2020-04-04 14:49:08 +03:00
joe-conigliaro
b4e5e36d4a
checker: var opt & temp `[]` & non array init error & bug notes
2020-04-04 22:32:16 +11:00
Alexander Medvednikov
d1f653f9bd
parser: fix GG struct init
2020-04-04 13:11:50 +02:00
Alexander Medvednikov
c0d4503f25
gl/glfw: update C definitions
2020-04-04 12:56:35 +02:00
Alexey
d56276017c
cgen: fix variadics called with 0 vargs
2020-04-04 12:54:45 +02:00
yuyi
8ba6e45d83
time: fix unix_time
2020-04-04 12:10:56 +02:00
Alexey
c6fabea49d
cgen: generate code for `go` statement for Windows
2020-04-04 12:09:05 +02:00
yuyi
0796eb4149
os: optimize os_windows.v
2020-04-04 11:59:25 +02:00
Alexey
5313a1401f
checker: show actual field name in warn message
2020-04-04 11:57:45 +02:00
Alexey
72df30050d
term: fix `get_terminal_size` on Windows
2020-04-04 11:56:43 +02:00
joe-conigliaro
97d8633557
checker: constant cycle & test fix
2020-04-04 17:05:26 +11:00
joe-conigliaro
c9e290b36f
table: simplify/generalise type fns & remove calls
2020-04-04 16:37:11 +11:00
joe-conigliaro
bf59828897
ast: const impl & global scope & objects
2020-04-04 14:14:40 +11:00
yuyi
bb5ed66bb4
eval: fix new_checker call
2020-04-04 02:03:41 +02:00
Alexander Medvednikov
1d2de44e19
cgen: fix print(ptr); checker: uninitialized reference error/warning
2020-04-03 20:17:53 +02:00
Alexander Medvednikov
436ef12730
cgen: str(): handle empty structs
2020-04-03 18:49:15 +02:00
Delyan Angelov
b411d29577
v2: fix support for 'go fn()' in modules. sync.pool is again multithreaded.
2020-04-03 19:44:49 +03:00
Alexander Medvednikov
c32ed8af51
cgen: struct str() generation; go() fixes
2020-04-03 18:05:53 +02:00
Delyan Angelov
31c4b1cda6
v2: compile vfmt again; consistent colored error messages
2020-04-03 18:42:22 +03:00
Alexander Medvednikov
52f096f5d9
cgen: `go xxx()`
2020-04-03 15:18:20 +02:00
Alexey
6a5cc0fa19
tests: update assert output
2020-04-03 13:39:11 +02:00
Alexey
6c4de001b8
cgen: add `builtin.init` call inside of `_vinit`
2020-04-03 13:27:19 +02:00
Alexey
4cde6c0865
fmt: process TypeOf node
2020-04-03 11:59:53 +02:00
Alexander Medvednikov
87a185ea9c
checker: remove newlines after errors
2020-04-03 11:09:02 +02:00
Alexander Medvednikov
0dad1a89e6
checker: much less verbose error messages
2020-04-03 11:01:09 +02:00
Alexander Medvednikov
1d52847924
checker: error on an unknown ident
2020-04-03 10:52:48 +02:00
Alexander Medvednikov
a25f47124d
cgen: make array_set/map_set work with pointers
2020-04-03 10:41:01 +02:00
Alexey
ef339a4896
rand: update module
2020-04-03 08:53:57 +02:00
yuyi
5e6aa5371a
scanner: minor optimization ( #4211 )
2020-04-03 09:46:54 +03:00
Delyan Angelov
6b9bf8cbf7
v2: fixes for most of vlib/builtin/map_test.v .
2020-04-03 00:42:08 +03:00
Delyan Angelov
07c53b1b70
v2: report ill defined consts by name/line, not only how many they are
2020-04-02 22:33:36 +03:00
Alexey
5b6ec8996a
sync: fix build on Windows
2020-04-02 20:58:07 +02:00
hazohelet
0e6fe0a4f2
V: fix const bugs and pass const_test.v ( #4206 )
...
* fix const bug in v2
* v2: fix const decl
* small comment fix
2020-04-02 19:39:17 +02:00
Alexey
6309e699e5
builtin: add operator precedence test
2020-04-02 19:02:49 +02:00
Alexander Medvednikov
804d303487
cgen: add () for | and ^
2020-04-02 18:26:56 +02:00
Delyan Angelov
abf15e863c
v2: compile vrepl, 'fn main(){println(2+2)}' runs now
...
It works if you give it complete V programs like
fn main(){println(2+2)}
but not for single expressions like 2+2 or statements like a:='abc'
2020-04-02 19:21:12 +03:00
Alexander Medvednikov
fd12e4e826
fix compiler_test.v
2020-04-02 18:12:10 +02:00
Delyan Angelov
61f79270a8
v2: compiler_test.v should fail on errors.
2020-04-02 19:01:31 +03:00
penguindark
83289d74a7
builtin: fix int to hex
2020-04-02 17:16:17 +02:00
Alexey
8c050eff07
msvc: add a workaround to fix backtrace ( #4200 )
2020-04-02 17:11:12 +02:00
Alexander Medvednikov
40fd924b15
parser: match must be exhaustive; cmd/v: one verbosity level, simpler version
2020-04-02 16:51:16 +02:00
Alexander Medvednikov
f087e819d7
cli: minor fixes
2020-04-02 16:04:57 +02:00
SleepyRoy
d5b2eb3c23
test: remove old num_lit_call_method
2020-04-02 15:52:46 +02:00
Delyan Angelov
ad9848d983
fix cmd/tools/vtest.v build
...
This PR enables building them again with v2, by making vlib/sync/pool.v
single threaded for now, and by removing the use of generics till they
are fixed in v2.
2020-04-02 15:52:23 +02:00
Delyan Angelov
4ada412a05
v2: stage 2 for enhancing 'v version' with the current git commit hash
2020-04-02 15:51:48 +02:00
Alexey
01aa2b86f5
array, map: cast voidptr to byteptr
2020-04-02 15:31:44 +02:00
Alexander Medvednikov
d4df916581
array: cast data to byteptr
2020-04-02 14:58:45 +02:00
Alexander Medvednikov
be327962d3
strconv: remove an assert for now
2020-04-02 14:26:35 +02:00
Alexander Medvednikov
5b53b3d7e3
cgen/os: minor fixes
2020-04-02 14:00:28 +02:00
Alexander Medvednikov
6e380b8897
cgen: brin back hashes()
2020-04-02 13:49:59 +02:00
Alexander Medvednikov
5b835d294c
more windows fixes + bring back windows ci
2020-04-02 13:44:46 +02:00
Alexander Medvednikov
1178bfa578
windows: a temp SUCCESS fix
2020-04-02 13:31:37 +02:00
Delyan Angelov
084f853a2a
v2: enhance version with current git commit hash. Cleanup redundant code.
2020-04-02 13:31:02 +02:00
Alexander Medvednikov
d9c7253836
windows: "".to_wide() fixes
2020-04-02 13:24:23 +02:00
Alexander Medvednikov
1fe2933dd9
cgen: windows fixes
2020-04-02 13:09:39 +02:00
Alexander Medvednikov
4981c5a870
parser: fix public interfaces
2020-04-02 12:53:25 +02:00
yuyi
86ea886ad7
scanner: uniform bool type variable names
2020-04-02 12:23:18 +02:00
Delyan Angelov
12b8dc2613
v2: fix version
2020-04-02 10:48:29 +02:00
Alexander Medvednikov
d57b1ca962
fix valgrind test
2020-04-02 10:44:35 +02:00
Alexander Medvednikov
461a5b2c18
cgen: fix raw strings
2020-04-02 10:15:35 +02:00
Alexander Medvednikov
683aa75b8d
cgen: fix filter()
2020-04-02 09:32:10 +02:00
yuyi
24499aa6de
scanner: minor refactoring
2020-04-02 09:27:00 +02:00
krischerven
dac304195e
cgen: print: support all the same functionality as println
2020-04-02 09:19:57 +02:00
Major Taylor
3eff266eb9
cgen: vcleanup call fix ( #4186 )
2020-04-02 09:18:45 +02:00
krischerven
561b7a0ea5
enum: make .str() print the name instead of the value
2020-04-02 03:27:06 +02:00
Alexander Medvednikov
07ea1eff81
glfw: more fn definitions
2020-04-02 02:02:12 +02:00
Alexander Medvednikov
507f4ce87a
array: handle "0" strings
2020-04-02 01:47:32 +02:00
Alexander Medvednikov
88d15c6611
gl, glfw, freetype fixes
2020-04-02 01:45:22 +02:00
Alexander Medvednikov
1cfe44d9c6
fix windows build
2020-04-02 01:15:00 +02:00
SleepyRoy
74bdc57fad
tests: fix num_lit_call_method_test
2020-04-02 00:18:29 +02:00
Alexander Medvednikov
fb4b93dfc0
ci fixes
2020-04-02 00:10:11 +02:00
Alexander Medvednikov
91ffeeb73b
parser: fix `(x mut &X)`
2020-04-01 23:56:55 +02:00
Alexander Medvednikov
c6cf8ace22
glfw and tetris fixes; temporary ci fixes
2020-04-01 23:49:11 +02:00
Alexander Medvednikov
24fc4a4c04
use autofree only with -autofree for now
2020-04-01 23:28:56 +02:00
Alexander Medvednikov
39434155f8
short struct init syntax
2020-04-01 23:23:20 +02:00
Alexander Medvednikov
d9af06f2ad
remove remaining files in vlib/compiler
2020-04-01 22:19:09 +02:00
Alexander Medvednikov
8dfb14b1c4
remove 15k lines of code of the old backend; make V2 the default backend
2020-04-01 21:25:31 +02:00
Alexander Medvednikov
30f306dc1a
another vfmt2 fix
2020-04-01 18:25:05 +02:00
Alexander Medvednikov
f657c4b514
another vfmt2 fix
2020-04-01 18:16:56 +02:00
Alexander Medvednikov
3ef6436bef
fix fmt2 test
2020-04-01 17:52:50 +02:00
Alexander Medvednikov
e3713de41d
fix compilation
2020-04-01 17:17:35 +02:00
Alexander Medvednikov
0de853a2ab
v2: lots of minor test fixes
2020-04-01 17:14:21 +02:00
joe-conigliaro
6764c7dd5c
parser/cgen: typeof test fixes - match & fixed array order
2020-04-02 02:13:21 +11:00
yuyi
bd8d51fc95
token: small optimizations
2020-04-01 16:50:56 +02:00
Alexander Medvednikov
5a0bfa03b3
fix tests
2020-04-01 15:39:54 +02:00
Alexander Medvednikov
3dae1cc131
move sdl module to github.com/vlang/sdl
2020-04-01 15:27:28 +02:00
Alexander Medvednikov
7fd81d3abb
parser: fix ^=; disable generics and interface map tests for now
2020-04-01 15:15:21 +02:00
Alexander Medvednikov
b1b811b5ed
v2: static (for translated code only)
2020-04-01 13:38:05 +02:00
Alexander Medvednikov
48832200bb
parser: allow types that start with &&; cgen: allow ++/-- exprs for now
2020-04-01 13:18:58 +02:00
yuyi
56a9196be8
token: fix nr_tokens
2020-04-01 12:12:25 +02:00
yuyi
b28e372106
scanner: small optimization
2020-04-01 12:11:52 +02:00
Major Taylor
9bb1b5d1bb
v2: enum fields separated by commas
2020-04-01 12:11:00 +02:00
Delyan Angelov
5b990078f9
more precise support for internal module tests
2020-03-31 23:42:30 +02:00
Alexander Medvednikov
2ac074655f
fix interface test
2020-03-31 21:05:48 +02:00
Alexander Medvednikov
050ec5d9e3
parser: do not allow string{} outside of builtin
2020-03-31 21:03:21 +02:00
Alexander Medvednikov
a3bd19ce73
cgen: generate enums earlier
2020-03-31 20:26:15 +02:00
Alexander Medvednikov
2b563bc69f
v2: initial interface support; fix enum_hex_test.v
2020-03-31 19:59:41 +02:00
Delyan Angelov
50143ad9bf
v2: be silent by default
2020-03-31 19:58:44 +02:00
Alexander Medvednikov
2fe0e80569
cgen: enum default values
2020-03-31 19:43:11 +02:00
Alexander Medvednikov
43f72246aa
checker: fix index type check
2020-03-31 17:51:16 +02:00
Alexander Medvednikov
f98cc9c017
cgen: fix ARR_LEN
2020-03-31 17:16:12 +02:00
Alexander Medvednikov
9d630dff30
allow slicing of fixed size arrays
2020-03-31 16:48:00 +02:00
joe-conigliaro
d048bf66b0
cgen: optimize/generalize typ method
2020-04-01 00:18:25 +11:00
Alexander Medvednikov
956bf23390
memory fixes: 21% of V compiler leaks fixed
2020-03-31 14:33:16 +02:00
SleepyRoy
9b9c1cc834
scanner: fix number literal calling method
2020-03-31 12:47:32 +02:00
Delyan Angelov
b62035e3d0
solaris & termux: fix both, using the more portable termios.h
2020-03-31 12:46:46 +02:00
joe-conigliaro
21e4f2422d
cgen: clarify field name
2020-03-31 19:11:47 +11:00
joe-conigliaro
f8169fee48
table: add i8 to number_type_idxs
2020-03-31 16:17:26 +11:00
joe-conigliaro
f58875a202
table: i8 -128 was being cast to int closes #4164
2020-03-31 16:07:30 +11:00
joe-conigliaro
3b621c0ce6
checker: make var_scope mutable
2020-03-31 15:41:14 +11:00
joe-conigliaro
602bc06bee
ast: use multi return optional for find_scope_and_var
2020-03-31 15:39:14 +11:00
joe-conigliaro
71ca553190
cgen: multi return/assign optionals
2020-03-31 15:34:59 +11:00
Delyan Angelov
07de351546
v2: support -stats for _test.v files
2020-03-30 17:21:32 +02:00
joe-conigliaro
3440d7edd8
ast: first step merging CallExpr & MethodCallExpr
2020-03-30 21:39:20 +11:00
Delyan Angelov
7785583b34
android: fix termux build
2020-03-29 20:54:21 +02:00
hazohelet
ec025f2020
compiler: use type `unresolved` for unresolved consts
2020-03-29 19:26:55 +02:00
yuyi
c9eed0b89b
cgen: optimize a replace call
2020-03-29 10:09:27 +02:00
Alexey
a333ac1888
all: remove redundant parentheses in `if` statements
2020-03-29 10:08:42 +02:00
Delyan Angelov
e09447d011
v and v2: support @VEXE
2020-03-28 21:51:45 +01:00
vamsi-shankar
715d4f6601
math: copysign()
2020-03-28 18:32:38 +01:00
Delyan Angelov
a9724fd38d
v2: typeof()
2020-03-28 17:37:22 +01:00
joe-conigliaro
837bffd03a
parser: parse type - fix multiple &
2020-03-29 01:15:10 +11:00
Alexander Medvednikov
831be43740
checker: check ! operator
2020-03-28 14:38:16 +01:00
joe-conigliaro
718819eb7a
map/scope/checker: update just var type & ret zero in map.get3
2020-03-29 00:00:28 +11:00
yuyi
9fb218d379
glfw: temporary fix
2020-03-28 12:47:24 +01:00
Alexey
cedf185b41
v2: fix Windows errors
2020-03-28 10:19:38 +01:00
Alexander Medvednikov
f627710870
fix repl tests
2020-03-27 20:49:20 +01:00
Alexander Medvednikov
98a0beab03
cgen: generate str() methods; merge c tests
2020-03-27 20:33:30 +01:00
Alexander Medvednikov
eed7c91e87
move compiler tests from compiler/ to v/
2020-03-27 18:01:46 +01:00
Alexander Medvednikov
f6db36d7f0
fix parser_test and vfmt.v
2020-03-27 15:24:08 +01:00
Alexander Medvednikov
7369cb7b86
fmt: fix tests
2020-03-27 15:19:13 +01:00
Alexander Medvednikov
473d9fef55
checker: do not allow extra () in if conditions
2020-03-27 14:57:19 +01:00
Alexander Medvednikov
1a751208ca
cgen: skip $if os {} block
2020-03-27 14:44:30 +01:00
Alexander Medvednikov
7fdce50718
cgen: write defer statements at the end of the function
2020-03-27 11:21:00 +01:00
Joe Conigliaro
fd8bb2c95c
tests: small array/struct test notes & tmp fix
2020-03-27 20:47:24 +11:00
r00ster
bee8972632
readline: make some functions public
2020-03-27 09:55:15 +01:00
Alexander Medvednikov
db59c621e8
v2: minor fixes
2020-03-27 08:47:02 +01:00
Joe Conigliaro
883a105aca
cgen: fix tests
2020-03-27 17:28:04 +11:00
Joe Conigliaro
7ce7151ad2
cgen: v2 compiles itself - defer stmt / if * in opt parens.
2020-03-27 17:21:22 +11:00
penguindark
8de027c4b4
strconv: fix on ftoa string decimal aproximation, 'nan' string fix
2020-03-26 22:39:46 +01:00
Alexander Medvednikov
9185de3fb7
cgen: fix tests
2020-03-26 22:28:24 +01:00
Alexander Medvednikov
f0334b2e12
cgen: fix `arr[i] *= x` and `2d_arr << arr`
2020-03-26 22:09:25 +01:00
Delyan Angelov
f489c89987
v2: more informative assert output; string interpolation formatting
2020-03-26 19:17:14 +01:00
yuyi
6892a3e0a8
glfw: remove excess `glfw.` in module glfw
2020-03-26 17:32:08 +01:00
Alexander Medvednikov
eb57f192d4
cgen: fix test
2020-03-26 17:21:52 +01:00
Alexander Medvednikov
75c2ef7947
cgen: fix octal and hex int literals
2020-03-26 17:14:24 +01:00
Alexander Medvednikov
ed3e0c43bc
cgen: for c in string; short struct init syntax fixes;
2020-03-26 17:03:14 +01:00
Alexander Medvednikov
c71d36356b
v2: optionals fixes
2020-03-26 14:58:11 +01:00
Alexander Medvednikov
b288bf2e7c
cgen: or{} for methods
2020-03-26 14:42:14 +01:00
yuyi
9c5de77f12
os: ext => file_ext
2020-03-26 14:18:08 +01:00
yuyi
a6347118cd
pg: add windows include and lib flag
2020-03-26 14:17:13 +01:00
Joe Conigliaro
1d0f3abadf
cgen/checker: variadic method call fix
2020-03-26 22:40:14 +11:00
Joe Conigliaro
b1d15afe61
checker: array slice type
2020-03-26 22:04:24 +11:00
Alexander Medvednikov
fc86269bc9
checker: array str fixes
2020-03-26 11:32:32 +01:00
Joe Conigliaro
f452518a63
cgen: fix typo & use expected type
2020-03-26 21:11:56 +11:00
Joe Conigliaro
9c6ac7cb71
cgen: fix variadics called with 0 vargs
2020-03-26 21:09:59 +11:00
Alexander Medvednikov
f2c9592b86
cgen: fix () in & exprs
2020-03-26 10:44:59 +01:00
Alexander Medvednikov
1f3428f282
cgen: basic assert
2020-03-26 10:27:46 +01:00
Alexander Medvednikov
ec4be80bcc
Revert "db: increase db module level in vlib "
...
This reverts commit cd6d175180
.
2020-03-26 09:23:54 +01:00
yuyi
cd6d175180
db: increase db module level in vlib
2020-03-26 09:21:34 +01:00
Delyan Angelov
fb4f7b6827
v2: enable compilation of short programs with no 'import os'
2020-03-26 09:20:55 +01:00
hazohelet
d8bcd13e86
compiler: fix #3973 by dealing with name mangling problem
2020-03-26 08:54:33 +01:00
Delyan Angelov
d54843275f
os_test.v: simplify cleanup
2020-03-26 00:09:30 +01:00
Alexander Medvednikov
aa34d3a4c4
cgen: remove a space
2020-03-25 23:57:46 +01:00
Alexander Medvednikov
25ee30d8cb
cgen: fix optional functions with unused return values
2020-03-25 23:57:22 +01:00
Alexander Medvednikov
89a05a474f
valgrind tests: skip C warnings for now
2020-03-25 21:46:46 +01:00
Alexander Medvednikov
3b4e0147cd
cgen: fix tests
2020-03-25 17:26:03 +01:00
Alexander Medvednikov
7070b1cda9
cgen: GotoStmt, err variable
2020-03-25 17:24:55 +01:00
Alexander Medvednikov
26fab9b274
cgen: fix mutable array args
2020-03-25 17:04:16 +01:00
Alexander Medvednikov
41a089e513
cgen: or block
2020-03-25 16:00:22 +01:00
Alexander Medvednikov
456750ac19
v2: array_test fixes
2020-03-25 14:24:48 +01:00
yuyi
aa0643f785
glfw: fix mut scale bug
2020-03-25 13:44:21 +01:00
Alexander Medvednikov
60fbceea43
memory: free_scope_vars()
2020-03-25 12:26:59 +03:00