Commit Graph

3058 Commits (51da32446513a0253cc062f1cad2d98e080b2d5e)

Author SHA1 Message Date
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
Alexander Medvednikov 7f5e3b36bc x64: for loop 2020-04-23 05:29:07 +02:00
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