Commit Graph

2718 Commits (a9a8f8c8040288aec8ba15559a35b218e7971fe2)

Author SHA1 Message Date
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