Commit Graph

3243 Commits (1bf13f8a093c9fd2f8a377f78640f148e0163a60)

Author SHA1 Message Date
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
Joe Conigliaro bb76e5da91 parser: array map fixe 2020-03-25 20:09:50 +11:00
Joe Conigliaro 8ba46965b6 checker: array map fixes 2020-03-25 20:07:53 +11:00
Alexander Medvednikov b495e78f0e v2: add _vinit to tests' fn main 2020-03-25 00:17:39 +01:00
Alexander Medvednikov a3046b68da cgen: fix tests 2020-03-24 23:41:34 +01:00
Alexander Medvednikov 7f345e310b cgen: fix const name 2020-03-24 22:41:01 +01:00
Alexander Medvednikov cc9537dd8a cgen: fix tests 2020-03-24 22:35:05 +01:00
Alexander Medvednikov 437bba5566 cgen: generate fn main for tests; fix consts bug 2020-03-24 22:24:03 +01:00
Delyan Angelov 2a7bc63919
vmft2: support for multiline comments, CompIf, AssertStmt, octal literals 2020-03-24 22:18:58 +01:00
Alexander Medvednikov 0e240458d3 os: fix os_test 2020-03-24 17:16:00 +01:00
Alexander Medvednikov 5d976d841b v2: raw strings 2020-03-24 17:07:27 +01:00
Joe Conigliaro 4d3362358f parser: array init &element fix 2020-03-25 02:24:23 +11:00
Alexander Medvednikov 32c8eb6490 os: vfmt os_test.v 2020-03-24 16:18:37 +01:00
Alexander Medvednikov e012966291 parser/ast: Block 2020-03-24 15:44:17 +01:00
Joe Conigliaro 7aff0cb84f cgen: remove special case for malloc 2020-03-25 00:46:00 +11:00
Joe Conigliaro d98bb44490 cgen: remove 0 typ checks & unused var 2020-03-24 22:55:41 +11:00
Joe Conigliaro 9a8bd3f7fa checker: variadic method fix 2020-03-24 22:39:11 +11:00
Alexander Medvednikov f101e9b9e2 v2: string fixes, is_dir fix 2020-03-24 11:14:11 +01:00
Joe Conigliaro 3d2fafa580 cgen: variadic for in loop 2020-03-24 19:42:16 +11:00
joe-conigliaro 309a905409 cgen: remove unused var 2020-03-24 17:27:20 +11:00
joe-conigliaro e5a111396c cgen: add for map 2020-03-24 17:25:10 +11:00
Joe Conigliaro 0433e24b7f cgen: array init fix 2020-03-24 13:31:16 +11:00
Delyan Angelov efe21fed66
v2: fix hello world compilation with tcc 2020-03-23 21:26:48 +01:00
Alexander Medvednikov 9c536f2233 compiler: hide the u64 warning for now 2020-03-23 21:00:20 +01:00
Alexander Medvednikov 1cb45e9916 compiler_test: do not run on windows for now 2020-03-23 20:36:34 +01:00
Alexander Medvednikov ae2d001261 tests: fix the new v2 output tests 2020-03-23 20:30:20 +01:00
SleepyRoy 67ba56c65c
expression: set integer literals as int by default 2020-03-23 20:05:37 +01:00
Major Taylor 5c9cbae10d
term: fix divide by 0 error on empty delimiter 2020-03-23 20:05:08 +01:00
Alexander Medvednikov 2e29e09b1b cgen: fix map_get: use zero value if the key was not found 2020-03-23 20:02:09 +01:00
Joe Conigliaro 80676cf44f cgen: fix struct init 0 fields & tests 2020-03-23 21:57:54 +11:00
Joe Conigliaro e13bbd8c40 cgen: map init struct fields & fn type arg fix 2020-03-23 21:17:14 +11:00
Alexander Medvednikov c808430643 cgen: optimize type_default() 2020-03-23 09:17:32 +01:00
Alexander Medvednikov 4867803f6b cgen: zero struct fields during initialization 2020-03-23 08:59:34 +01:00
joe-conigliaro a5bd98610f cgen: call arg ref fix 2020-03-23 17:23:10 +11:00
Joe Conigliaro 89af7e7a5b cgen: replace reserved C keywords in identifiers 2020-03-23 13:36:50 +11:00
yuyi 2efc37947d
time: calc_unix => unix_time 2020-03-22 19:43:59 +01:00
Chris e78b97652b
glfw: fix "scale is declared as mutable" 2020-03-22 18:39:17 +01:00
Alexander Medvednikov b69ebd73b2 cgen: minor fixes. v2 can now compile itself! 2020-03-22 16:55:42 +01:00
Joe Conigliaro 99de98ffc7 cgen: fix test 2020-03-23 02:30:45 +11:00
Joe Conigliaro 076bc2b773 cgen/checker: fixes & fixes & tmp fixes :D 2020-03-23 02:22:49 +11:00
Alexander Medvednikov c0df54b7d3 checker: check $if else 2020-03-22 14:56:13 +01:00
Alexander Medvednikov ce73ced932 cgen: #else 2020-03-22 14:54:31 +01:00
Alexander Medvednikov 2738a0c776 cgen: backtrace and sigaction fixes 2020-03-22 14:47:45 +01:00
Joe Conigliaro 0609756d36 cgen: fix sum type casts & else if formatting 2020-03-23 00:28:11 +11:00
Alexander Medvednikov c2ce06eba7 cgen: generate #ifdefs 2020-03-22 13:55:39 +01:00
Alexander Medvednikov 8d8907b61e memory: handle string assignments 2020-03-22 13:40:53 +01:00
Joe Conigliaro 043ea80fa9 checker: comptime if expr/stmts & type check fixes 2020-03-22 23:36:27 +11:00
Alexander Medvednikov cf8776ac71 valgrind: update the test 2020-03-22 13:33:40 +01:00
Delyan Angelov 3f328a0242
test: fix 'v test vlib/v/tests' 2020-03-22 13:26:16 +01:00
Alexander Medvednikov 4cbba8c45d memory: handle arrays 2020-03-22 13:19:45 +01:00
Alexander Medvednikov 3a938972df memory: autofree fix 2020-03-22 12:06:33 +01:00
Alexander Medvednikov 7b689d8c52 ast: CompIf position 2020-03-22 11:53:08 +01:00
Alexander Medvednikov ab3f6d9202 cgen: generate indents for more readable C code 2020-03-22 10:12:45 +01:00
Delyan Angelov 53a9329ab6
valgrind: nicer output 2020-03-22 09:44:15 +01:00
Alexander Medvednikov 1ad417734e memory: remove if false 2020-03-22 08:59:44 +01:00
Naheel c50c6812ce
os: fix cp() spaces in files names 2020-03-22 08:43:24 +01:00
Alexander Medvednikov a02395fe2d valgrind: run the tests 2020-03-21 20:31:30 +01:00
Alexander Medvednikov 85e411bd7c fix valgrind test 2020-03-21 20:10:30 +01:00
Alexander Medvednikov 3e80e22f5d fix prod build 2020-03-21 20:02:37 +01:00
Alexander Medvednikov e5f6a0949f cgen: autofree: first step 2020-03-21 19:52:19 +01:00
Joe Conigliaro efbf114a2f checker: ref & deref in prefix expr 2020-03-22 02:41:01 +11:00
penguindark 421f5b6fdf
builtin: int to str without offset buffer 2020-03-21 16:00:58 +01:00
Joe Conigliaro fc43294efc checker: deref fix 2020-03-22 01:27:10 +11:00
Joe Conigliaro 9d80d261b9 gen: rename _init() to _vinit() in cheaders.v 2020-03-22 00:22:43 +11:00
Joe Conigliaro f7042e9038 cgen: sum type cast & map str() receiver 2020-03-21 23:57:11 +11:00
Alexander Medvednikov 0f1371e1c9 cgen: fix tests 2020-03-21 13:56:21 +01:00
ka-weihe bf97afb9ed
map: small cleanup 2020-03-21 13:55:07 +01:00
Alexander Medvednikov f962d92623 cgen: use _vinit instead of _init to avoid conflicts on Linux 2020-03-21 13:28:41 +01:00
Joe Conigliaro eb8d64999f checker: temp map str() method fix 2020-03-21 22:31:25 +11:00
radare cc75fe4fe5
builtin: Fix undefined behaviour when allocating empty structs (#4088) 2020-03-21 12:24:34 +01:00
Alexander Medvednikov 7b1b647832 parser: disable parser_test.v for now 2020-03-21 11:55:49 +01:00
Alexander Medvednikov 7ad1441c81 cgen: fix the tests 2020-03-21 11:47:23 +01:00
Alexander Medvednikov b2d1f55702 cgen_test fixes 2020-03-21 11:17:17 +01:00
Alexander Medvednikov c12985d1d7 cgen: for in; init fixes 2020-03-21 10:22:19 +01:00
Delyan Angelov ba088056ed
solaris: make 'v test-compiler' pass (stage 2) 2020-03-21 09:48:02 +01:00
Alexander Medvednikov e57804e6c2 cgen: generate init() 2020-03-21 09:29:16 +01:00
Alexander Medvednikov c93f515a54 cgen: add _STR definition 2020-03-21 07:10:53 +01:00
Alexander Medvednikov 5f61fbcbe3 fix prod build 2020-03-21 07:04:53 +01:00
Alexander Medvednikov 5072320803 cgen/ast/checker: string interpolation 2020-03-21 07:01:11 +01:00
radare c21e976cad
builtin: do not use unsafe sprintf/vsprintf functions 2020-03-21 06:37:58 +01:00
Alexander Medvednikov b4561fa814 Revert "term: make compilable with v2 on windows" 2020-03-20 21:15:45 +01:00
Alexander Medvednikov 0f1f724a91 term: make compilable with v2 on windows 2020-03-20 21:12:37 +01:00
Alexander Medvednikov ec003ff897 cgen: temporary lld fix 2020-03-20 20:46:42 +01:00
Alexander Medvednikov 4b36098e07 cgen: 1 error left 2020-03-20 20:35:00 +01:00
Alexander Medvednikov 8077a7534e cgen: 7 errors left 2020-03-20 20:22:37 +01:00
yuyi e6a679b019
flag: octal format 2020-03-20 20:21:16 +01:00
Delyan Angelov f89f83deb6
solaris: _solaris.v and #flag solaris (stage 1) 2020-03-20 20:20:01 +01:00
Alexey 9c668072b9
fmt: fix ForInStmt 2020-03-20 20:19:43 +01:00
Alexander Medvednikov 5a7f683f61 cgen: minor fixes 2020-03-20 17:20:53 +01:00
Alexander Medvednikov 6b571155f4 cgen: fix print(struct); use automatic referencing 2020-03-20 17:11:58 +01:00
Alexander Medvednikov 078f498b17 cgen: fix `vals[i].field = x` 2020-03-20 17:03:41 +01:00
Alexander Medvednikov 4fac09bcb4 array: simplify reverse() memcpy call 2020-03-20 16:51:36 +01:00
yuyi 2f27758a4b
os: realpath => real_path 2020-03-20 16:41:18 +01:00
Joe Conigliaro 15d4b5fcdb checker/fmt/cgen: fun vfmt on changes from previous commit 2020-03-21 00:46:00 +11:00
Joe Conigliaro a331abf675 ast/cgen/parser: combine IfExpr branches into single node 2020-03-21 00:39:56 +11:00
Alexander Medvednikov c993489fe9 cgen: optional expr fix 2020-03-20 13:03:42 +01:00
joe-conigliaro ed50fef1c0 cgen: dont add overidden fields in assoc 2020-03-20 15:05:50 +11:00
joe-conigliaro 1fb2c3f5b4 cgen: multi return optional fix 2020-03-20 14:59:06 +11:00
joe-conigliaro 525639b42f cgen: fix tests after array.first fix 2020-03-20 14:24:18 +11:00
Alexander Medvednikov f37b9d99fe cgen: last/first fix 2020-03-19 19:36:15 +01:00
Alexander Medvednikov b7a036945d cgen: in [] optimization 2020-03-19 16:12:49 +01:00
yuyi 010f3efcf0
os: filename => file_name 2020-03-19 15:49:07 +01:00
Alexander Medvednikov 216c7a16d8 cgen: filter + expected_type fix 2020-03-19 15:18:29 +01:00
Delyan Angelov 0fbb056ac7
hotreload: fix compilation of .so file on macos 2020-03-19 14:50:37 +01:00
Alexander Medvednikov dd96421a9f compiler: remove old vh generator 2020-03-19 13:24:57 +01:00
Joe Conigliaro 0f08a92302 cgen: fix return formatting 2020-03-19 22:27:47 +11:00
Alexander Medvednikov b290efa394 ast: TypeOf 2020-03-19 12:15:42 +01:00
Joe Conigliaro 79077b0025 gen: fix multi return optional 2020-03-19 22:13:17 +11:00
Joe Conigliaro 97fbbac973 checker: enum value, use base type no extra info 2020-03-19 21:52:47 +11:00
Alexander Medvednikov 74616d2900 cgen: fix optional functions that return other optional functions 2020-03-19 11:44:27 +01:00
Alexander Medvednikov b2f05e56b8 cgen: fix tests 2020-03-19 11:23:05 +01:00
Joe Conigliaro e457bedaa7 gen: remove enum value typedefs :D 2020-03-19 21:21:08 +11:00
Joe Conigliaro 408553e967 gen: add typedefs for optional enums & array clone receiver type fix 2020-03-19 21:04:51 +11:00
Alexander Medvednikov be01a32f0b math: use automatic dereferencing 2020-03-19 10:24:51 +01:00
Alexander Medvednikov b5cb1b1fe2 cgen: map_get/map_set 2020-03-19 10:07:31 +01:00
Joe Conigliaro 6c56528cd7 checker: update assoc type 2020-03-19 19:52:33 +11:00
Joe Conigliaro a456c21249 gen: cgen sum cast in struct init 2020-03-19 19:40:21 +11:00
Joe Conigliaro 6e5b58413a checker: check assoc field exprs 2020-03-19 18:57:33 +11:00
Alexander Medvednikov 013fd5abfe cgen: fix array.last() 2020-03-19 08:49:47 +01:00
Joe Conigliaro 3e70e5f2f1 gen: add `in` for map and string to cgen 2020-03-19 18:32:42 +11:00
Alexander Medvednikov 28309da1f1 cgen: assoc 2020-03-19 08:14:09 +01:00
Alexander Medvednikov 3dc3b11435 parser: $if blocks for headers 2020-03-19 07:59:01 +01:00
SleepyRoy f798a0937a
expression: set floats as f64 by default 2020-03-19 07:24:49 +01:00
fantassin 5824d28a03
term: Solaris headers 2020-03-19 07:07:43 +01:00
Delyan Angelov cc847f83a8
compiler: when compiling a single .v file, check that it is not a folder 2020-03-19 07:07:02 +01:00
yuyi 9ef8499183
flag: unify apis 2020-03-19 07:06:37 +01:00
Alexander Medvednikov 66639924a4 map: make compilable with V2 2020-03-19 07:05:20 +01:00
ka-weihe bd0548548a
map: new memory layout and map.get2() 2020-03-19 06:52:34 +01:00
Alexander Medvednikov c3d7c57096 cgen: more minor fixes 2020-03-18 19:56:59 +01:00
Alexander Medvednikov ca0bae0fcd array: fix reverse() 2020-03-18 18:54:11 +01:00
Alexander Medvednikov fe6707b26d cgen: minor fixes 2020-03-18 16:47:37 +01:00
Alexander Medvednikov c514f0b672 cgen: automatic dereference and match fix 2020-03-18 16:07:54 +01:00
fantassin d81d804cb6
cgen: add c headers for Solaris / Illumos 2020-03-18 15:48:42 +01:00
lydiandy 04184f1715
ast: make ReturnStmt field public 2020-03-18 15:39:26 +01:00
Joe Conigliaro c4f6125a31 gen/checker: add errors for as cast & for in var 2020-03-19 00:50:21 +11:00
Joe Conigliaro 96af21ff68 gen: impl as cast 2020-03-18 23:55:46 +11:00
Joe Conigliaro 5fb90e12b1 checker: ForInStmt only call table.value_type once 2020-03-18 23:29:28 +11:00
Joe Conigliaro 4262ff76c3 checker/parser: check & gen stmts for ForIn & fix key, val vars 2020-03-18 23:18:18 +11:00
Alexander Medvednikov 91378583cc cgen: another expected_type fix 2020-03-18 12:34:27 +01:00
Alexander Medvednikov af289da844 ast: MatchExpr: expr_type => cond_type 2020-03-18 12:23:32 +01:00
Alexander Medvednikov 256a93e6e6 checker: expected_type fixes 2020-03-18 12:18:48 +01:00
Joe Conigliaro 5fc057d8ac cgen: fix error in expr_with_cast 2020-03-18 20:42:56 +11:00
Joe Conigliaro 54c38e3e3a parser: remove option from err var type 2020-03-18 20:00:33 +11:00
Joe Conigliaro 126ef0f5c2 checker/gen: add unchecked exprs & small fixes 2020-03-18 19:56:19 +11:00
Alexander Medvednikov a011b8951a cgen: if/match expressions and other fixes 2020-03-18 08:41:49 +01:00
Joe Conigliaro 3fecf154aa gen: move helper fns to ast 2020-03-18 11:19:23 +11:00
Joe Conigliaro 6ca47aeb4b gen: blank identifier fixes 2020-03-18 10:41:04 +11:00
Joe Conigliaro 330745da30 gen: restructure if guard to support else 2020-03-18 04:01:36 +11:00
Joe Conigliaro 91e47caf38 gen: add if guard to cgen 2020-03-18 02:40:41 +11:00
Joe Conigliaro f965a7d0e6 gen: fix sum type casting & map init 2020-03-18 01:13:55 +11:00
radare f5e44fbef2
compiler: better NetBSD and OpenBSD support in vfmt and $if 2020-03-17 12:43:59 +01:00
Major Taylor e2eb0f17d7
string: separate strip_margin tests into different functions 2020-03-17 02:49:51 +01:00
Delyan Angelov f73b38a0d8
vfmt2: fix literal integer number formatting 2020-03-17 02:49:15 +01:00
yuyi 456c0250b0
string: fix strip_margin 2020-03-16 15:46:09 +01:00
Alexander Medvednikov d39dd53998 string: bring back test_strip_margins 2020-03-16 15:45:54 +01:00
yuyi 5ae04dca84
glfw: remove global scale variable 2020-03-16 15:44:26 +01:00
Ian M. Jones 93920a4bb0
vweb: set request data with body text to allow use in actions 2020-03-16 14:30:55 +01:00
Joe Conigliaro d456cc479c builtin: revert map to version before 35dd785 until bug is fixed 2020-03-16 23:01:31 +11:00
radare 5581b2bd3c
builtin: fix backtrace for OpenBSD and NetBSD 2020-03-16 12:10:58 +01:00
Alexander Medvednikov 900ada1112 cgen: match: do not use a temp var; minor fixes 2020-03-16 10:53:36 +01:00
Joe Conigliaro cf094c6265 cgen: gen fn type declerations 2020-03-16 20:12:03 +11:00
Alexander Medvednikov 0f160707a4 cgen: GoStmt; experimental parallel parser 2020-03-16 08:33:42 +01:00
joe-conigliaro c947e6ebe6 cgen: cast to sum type 2020-03-16 17:42:45 +11:00
Alexander Medvednikov 66adf7a6b9 cgen: minor sum type fix 2020-03-16 05:02:41 +01:00
Alexander Medvednikov ac0b235d3a cgen: sum type: `it` variable 2020-03-16 03:56:38 +01:00
Alexander Medvednikov 37504c487a cgen: sum types: match 2020-03-16 03:19:26 +01:00
Alexander Medvednikov 98fc9ab65b string: disable strip_margins test for now 2020-03-15 23:21:32 +01:00
Alexander Medvednikov 8a8f50a6a0 cgen: unwrapped optionals 2020-03-15 08:18:45 +01:00
Major Taylor 8d19ba9195
string: strip_margin: fix the error message for multiple args 2020-03-15 07:49:37 +01:00
Alexander Medvednikov 8e2537a366 cgen: array init fix; 2020-03-15 07:42:49 +01:00
Major Taylor 2d5c7c8e93
string: add `strip_margin` 2020-03-15 05:46:12 +01:00
Joe Conigliaro 3e05939b65 cgen: enum fixes 2020-03-15 12:51:31 +11:00
Joe Conigliaro cfeafb9ab4 cgen: fix null termination bug gen tests to fail 2020-03-15 11:39:29 +11:00
Alexander Medvednikov 28fc9d332c cgen: fix enum vals, includes, in strings 2020-03-15 01:36:20 +01:00
yuyi a121dfd23a
glfw: high dpi on windows 2020-03-15 01:16:55 +01:00
Alexander Medvednikov 843bb6dac1 cgen: lots of fixes 2020-03-15 00:46:08 +01:00
Joe Conigliaro 50ed4004f4 ast/table: use common struct fn decl arguments 2020-03-15 09:21:36 +11:00
yuyi 8bfa7f0d82
compiler: fix interface bug 2020-03-14 14:19:56 +01:00
Joe Conigliaro 217bbdfd66 cgen: small varg fixes 2020-03-14 23:42:27 +11:00
Joe Conigliaro 9dc79bae5f cgen: fix varg call and struct gen 2020-03-14 23:15:07 +11:00
Joe Conigliaro cc338df77f parser/checker/gen: update call args to use ast.CallArg 2020-03-14 21:11:43 +11:00
Joe Conigliaro 6752fed9f2 parser: fix generated name for unnamed fn args 2020-03-14 20:24:45 +11:00
Alexander Medvednikov e8c9f609a4 cgen: enum fixes; sum type definition; const bug fix 2020-03-14 05:20:15 +01:00
yuyi 424bd1c465
scanner: minor optimization 2020-03-13 22:22:59 +01:00
Delyan Angelov 19f9c18305
os: make executable() more robust 2020-03-13 22:19:02 +01:00
Joe Conigliaro 920ab79665 checker: check range exprs 2020-03-13 23:08:03 +11:00
Alexander Medvednikov 973b5c226a cgen: optionals fixes 2020-03-13 12:22:36 +01:00
Alexander Medvednikov b173cea177 cgen: optionals 2020-03-13 05:57:55 +01:00
Delyan Angelov 9bcb7d115f
panic: restore printing of detailed stack backtraces on linux 2020-03-13 04:32:44 +01:00
Ian M. Jones 0e68ca120e
vweb.assets: fix am is declared as mutable, but it was never changed message 2020-03-13 04:32:24 +01:00
Alexander Medvednikov 4b4c47461b cgen: error fixes; table: simplify; compiler tests 2020-03-13 01:43:30 +01:00
Alexander Medvednikov b43ac2783d map: make compilable with the new compiler 2020-03-12 20:26:29 +01:00
ka-weihe 35dd7855a0
map: new memory layout and optimizations 2020-03-12 19:36:05 +01:00
Marko Zitkovic 26b9987880
compiler: fix panic when dealing with variadic functions 2020-03-12 18:21:02 +01:00
vitalyster 0df6eaa927
"#flag mingw ..." support 2020-03-12 18:20:19 +01:00
Joe Conigliaro 07921194f2 parser: revert changes to format_str 2020-03-13 00:32:26 +11:00
Joe Conigliaro 597811093c parser/cgen: fix order of escape replacements 2020-03-13 00:21:43 +11:00
Joe Conigliaro b750f1d1bb compiler: prerequisite changes for upcoming map update 2020-03-12 22:19:13 +11:00
Joe Conigliaro 99398ba652 cgen: escape quotes & nl in string literals 2020-03-12 21:13:46 +11:00
Joe Conigliaro bb5034f3fe cgen: fix fixed array init assignment 2020-03-12 20:07:42 +11:00
Alexander Medvednikov d2cf6894fe cgen: fixed array fix 2020-03-12 09:29:52 +01:00
Alexander Medvednikov 92d6eec09a cgen: fix remaining errors. hello world now compiles 2020-03-12 09:11:41 +01:00
joe-conigliaro 853bb4c41e cgen: alias & map types & add map_string/map_int aliases 2020-03-12 17:56:44 +11:00
joe-conigliaro dfaba54376 cgen: gen fn types in fn arguments 2020-03-12 14:34:00 +11:00
Alexander Medvednikov bcdb897f07 cgen: fix tests 2020-03-11 23:43:01 +01:00
Alexander Medvednikov a182b5c531 cgen: more errors fixed 2020-03-11 23:22:40 +01:00
Alexander Medvednikov e0c85f87ae cgen: args fixes 2020-03-11 21:11:27 +01:00
Alexander Medvednikov aada19f574 cgen: fix [] => string casts and for in 2020-03-11 19:00:55 +01:00
Alexander Medvednikov 4470252913 parser: fix import's position 2020-03-11 18:52:55 +01:00
Delyan Angelov de7fed45dc
builtin: implement []int.str() 2020-03-11 18:48:59 +01:00
Delyan Angelov dff17ee0d7
compiler: pass -shared to build a .so file from a module 2020-03-11 17:31:20 +01:00
Joe Conigliaro 01004bc5d8 checker: remove test println from previous commit 2020-03-12 02:29:02 +11:00
Joe Conigliaro a1314bd199 checker/gen/table: impl fn types & sum/other fixes & tidy 2020-03-12 02:10:46 +11:00
Joe Conigliaro 1cea85df0c compiler: save mutability of unnamed fn args 2020-03-12 01:44:41 +11:00
Joe Conigliaro 7309be55a0 table: fix error in field/method lookup from previous commit 2020-03-11 20:53:14 +11:00
Joe Conigliaro 7513dab185 table/checker: proper parent field/method lookup & cleanup 2020-03-11 20:48:45 +11:00
Alexander Medvednikov 0ad9eb5e16 scanner: remove the "too long name" error; checker: check string() cast arg 2020-03-11 06:46:14 +01:00
Alexander Medvednikov cd0b81fc5f cgen: fix a bug with [].repeat 2020-03-11 06:30:20 +01:00
Alexander Medvednikov a2ff24c912 cgen: reference receiver test 2020-03-11 05:56:15 +01:00
Alexander Medvednikov 75db3e4416 cgen: fix ptr indexing 2020-03-11 05:25:15 +01:00
yuyi 9e14850bbf
vdoc: show map type correctly 2020-03-11 05:18:20 +01:00
Alexander Medvednikov b9955aee84 cgen: fix tests 2020-03-11 04:10:42 +01:00
Alexander Medvednikov 7342dfdc6e cgen: fix array_get() 2020-03-11 03:52:01 +01:00
Alexander Medvednikov 22e558aecb cgen: fix C style loops without an init; fix integer consts 2020-03-11 02:44:30 +01:00
Alexander Medvednikov 0d45d21069 cgen: fix string <> methods and multiple returns 2020-03-11 02:28:19 +01:00
Joe Conigliaro 083964522b cgen/fmt: fix assign_stmt fix & cgen test & hash tests & fmt 2020-03-11 11:31:24 +11:00
penguindark 630913d872
builtin: new str(), hex() functions without C.printf 2020-03-11 00:38:11 +01:00
Alexander Medvednikov de55a26cfe cgen: lots of fixes 2020-03-10 23:21:29 +01:00
Alexander Medvednikov 1143320b8b vdoc: print structs and enums 2020-03-10 19:49:04 +01:00
Alexander Medvednikov 568d859fc0 bignum: move to math.big 2020-03-10 19:31:01 +01:00
Wing-Kam f1274e34c2
cli: add pre_execute & post_execute 2020-03-10 16:11:17 +01:00
yuyi 8ff86dbee6
os: is_abs => is_abs_path 2020-03-10 16:09:37 +01:00
Alexander Medvednikov 324a48bc64 sha512: make it work with the new parser 2020-03-10 15:47:21 +01:00
Joe Conigliaro bc184a9f02 checker: properly update var info in AssignStmt 2020-03-11 01:16:30 +11:00
yuyi 57b1b12ab6
os: tmpdir => temp_dir 2020-03-10 15:02:09 +01:00
Charles WANG 7e1870be3e
pg: create readme.md 2020-03-10 15:00:22 +01:00
Joe Conigliaro ddd5a9443d v: fix AssignStmt 2020-03-11 00:45:21 +11:00
Alexander Medvednikov 2f0bb11a96 parser: handle operator methods and fix them in vdoc 2020-03-10 14:40:35 +01:00