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
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
Delyan Angelov
7036ca55e6
os: implement os.environ() (part 2/2) ( #3971 )
2020-03-10 14:25:16 +01:00
Joe Conigliaro
c9d30f78b7
v: no optional for scope.innermost & more blank_ident
2020-03-10 23:35:25 +11:00
Joe Conigliaro
ee72474971
v: add multi assign cgen test
2020-03-10 22:26:13 +11:00
Joe Conigliaro
f7a93a69f6
v: fix/gen multi return/assign + merge VarDecl & AssignStmt
2020-03-10 22:01:37 +11:00
yuyi
876b73f92c
os: join => join_path
2020-03-09 02:23:34 +01:00
Alexander Medvednikov
e3687dc257
checker: check C args
2020-03-08 22:11:56 +01:00
Alexander Medvednikov
754a6cc93e
cgen: fix ->
2020-03-08 19:38:27 +01:00
Delyan Angelov
f6480be3aa
add C.environ to cheaders.v
2020-03-08 17:38:53 +01:00
yuyi
a569959fb8
os api: cachedir => cache_dir
2020-03-08 15:57:47 +01:00
Alexey
83b6292105
fmt: split tests
2020-03-08 15:57:16 +01:00
Delyan Angelov
5f08253f36
vfmt: add support for _keep.vv files, that v fmt should keep without changes
2020-03-08 15:46:04 +01:00
yuyi
23b11c84b1
os api: basedir => base_dir
2020-03-08 15:43:56 +01:00
Delyan Angelov
2bed0d1bb5
fmt: extract array_slices_input.vv from simple_input.vv
2020-03-08 15:42:38 +01:00
Ian M. Jones
c731615dbb
vweb: cater for trailing slashes being used in handle_static call
2020-03-08 15:41:59 +01:00
Delyan Angelov
8df265a581
sync: protect against sporadic failing tests in macos
2020-03-08 15:40:50 +01:00
hazohelet
ee6f2f84bb
compiler: fix redefinition error message for consts
2020-03-08 15:40:07 +01:00
Alexander Medvednikov
d9854f2abd
cgen: fix mutable receivers
2020-03-07 22:37:03 +01:00
yuyi
783dee1f48
os: merge with filepath
2020-03-07 22:26:26 +01:00
Delyan Angelov
5e541e1f11
vfmt: alias type and sum type + sum type fix
2020-03-07 17:37:55 +01:00
Alexander Medvednikov
fbf80dc315
cgen: array_set()
2020-03-07 16:39:15 +01:00
Alexander Medvednikov
63032c4bb7
cgen: minor fixes
2020-03-07 16:23:10 +01:00
Alexander Medvednikov
24bcc7a93b
cgen: array and fixed array fixes
2020-03-07 14:31:40 +01:00
Ian M. Jones
750f37fde7
vweb: fix serving static files
2020-03-07 14:16:03 +01:00
Delyan Angelov
d2ab9d3e77
compiler: fix generation of default .str() methods in interpolation
2020-03-07 14:13:53 +01:00
Joe Conigliaro
09d9dd2607
v: add map init
2020-03-07 18:13:00 +11:00
Alexey
e26907f079
fmt: fix errors in test files
2020-03-07 06:04:33 +01:00
Alexander Medvednikov
150994a933
cgen: fix tests
2020-03-07 06:02:32 +01:00
Alexander Medvednikov
260f708bb2
cgen: array << val
2020-03-07 05:19:15 +01:00
Alexander Medvednikov
c14c81ace6
cgen: fix ->
2020-03-07 04:45:35 +01:00
Nguyen Viet Hung
f5a8d883d2
gx: add hex to rgb color
2020-03-07 04:30:35 +01:00
Alexander Medvednikov
58fb055763
cgen: fix string args in C calls; lower case consts in atof; fix struct types
2020-03-07 01:05:19 +01:00
Alexander Medvednikov
968e310793
cgen: fix match
2020-03-07 00:47:49 +01:00
Alexander Medvednikov
9846fecd84
eval: fix test
2020-03-07 00:42:52 +01:00
Alexander Medvednikov
f699dcac94
checker: check println arg
2020-03-07 00:38:35 +01:00
Alexander Medvednikov
180b9b971a
cgen: string_add()
2020-03-07 00:34:14 +01:00
Alexander Medvednikov
3c7b0d6d05
cgen: fix []
2020-03-07 00:19:27 +01:00
Alexander Medvednikov
124f754443
cgen: typ()
2020-03-06 22:36:51 +01:00
Alexander Medvednikov
1a8b7d0447
cgen: fix slices
2020-03-06 22:24:42 +01:00
Alexey
81ce524705
ast: add Expr to AsCast
2020-03-06 22:12:15 +01:00
Alexey
06df6d25a2
sdl: update readme
2020-03-06 20:43:33 +01:00
Alexander Medvednikov
8a711a8376
cgen: fix tests
2020-03-06 20:25:38 +01:00
Alexander Medvednikov
a277f7d6ab
cgen: string[i]; pointers
2020-03-06 20:23:01 +01:00
lutherwenxu
aab31f4b35
cmd/v: rewrite flags
2020-03-06 18:53:29 +01:00
Ian M. Jones
522de0871a
pg: fix zero being used for port when not specified in pg.Config
2020-03-06 18:40:24 +01:00
Alexey
5142747ceb
examples: move SDL examples from vlib to examples dir
2020-03-06 18:39:40 +01:00
Alexander Medvednikov
5c8617ec68
ast: set IndexType.container_type; array_get()
2020-03-06 17:06:03 +01:00
Joe Conigliaro
ea2a79ec20
v: cgen fix struct ordering
2020-03-07 02:57:27 +11:00
Alexander Medvednikov
be2480c320
cgen: fix several errors
2020-03-06 16:31:44 +01:00
yuyi
ed9075b937
v doc: don't show 'pub' at the beginning
2020-03-06 16:28:20 +01:00
Joe Conigliaro
db22bc579a
v: update resovled call expr name
2020-03-07 01:02:40 +11:00
Joe Conigliaro
89cbe76193
v: run cast expr through checker
2020-03-07 00:36:32 +11:00
Alexander Medvednikov
6b6031a3d9
cgen: fix struct init; match SumType1, SumType2
2020-03-06 14:14:33 +01:00
Joe Conigliaro
3de3b38dc1
v: udpate elem_type in ArrayInit node & tests
2020-03-07 00:06:52 +11:00
Alexander Medvednikov
fb785b8adf
cgen: optimize const definitions
2020-03-06 14:03:35 +01:00
Alexander Medvednikov
91269961d0
cgen: array types
2020-03-06 13:44:13 +01:00
Joe Conigliaro
7f6b98669e
v2: fix tests - gen output
2020-03-06 22:06:41 +11:00
Joe Conigliaro
24dbfbcccf
v2: fix struct sorting & cgen tests
2020-03-06 22:01:56 +11:00
Joe Conigliaro
49f3ce0571
v2: add method call receiver to cgen & check method args
2020-03-06 20:52:03 +11:00
Alexander Medvednikov
7a92a47eb3
flag: fix array boundary check
2020-03-06 02:02:32 +01:00
Alexander Medvednikov
efb45579aa
pg: add port to config
2020-03-06 02:01:53 +01:00
Joe Conigliaro
7008b1a92c
v2: update ident name for resolved const/fn objects
2020-03-06 10:10:01 +11:00
Alexander Medvednikov
04d5dd8997
cgen: sort structs
2020-03-05 23:27:24 +01:00
Alexander Medvednikov
a8e45251c4
sync.pool: simplify usages of pool.work_on_items
2020-03-05 18:37:57 +01:00
Alexander Medvednikov
9c1e50b1aa
vdoc: don't show deprecated functions
2020-03-05 16:13:14 +01:00
Alexander Medvednikov
6659f1751e
ast: make IdentInfo public
2020-03-05 14:16:08 +01:00
Joe Conigliaro
8ad8d03bc8
v2: remove test code from last commit in parser
2020-03-06 00:00:34 +11:00
Joe Conigliaro
272eaaa704
v2: remove type fields from parser & some cleanup
2020-03-05 23:57:05 +11:00
Alexander Medvednikov
38a54b08e3
doc: don't modify path to vlib
2020-03-05 13:48:06 +01:00
Joe Conigliaro
9921897aa6
v2: add some comments in parser & checker
2020-03-05 22:44:33 +11:00
Joe Conigliaro
6de44db4eb
v2: update checker. missing from previous commits
2020-03-05 22:30:16 +11:00
Joe Conigliaro
ee6a8a41f5
v2: remove expr type from fn.v
2020-03-05 22:13:45 +11:00
Joe Conigliaro
4d55a4c097
v2: remove expr types & some dead code from parser
2020-03-05 22:08:43 +11:00
Alexander Medvednikov
bcaf72eccb
cgen: update the test
2020-03-05 01:36:44 +01:00
Alexander Medvednikov
484320ed08
cgen: receiver arg
2020-03-05 01:20:36 +01:00
Alexander Medvednikov
b32a94627c
cc: -ferror-limit
2020-03-05 00:45:43 +01:00
Alexander Medvednikov
4161cfcdb8
cgen: lots of fixes
2020-03-05 00:43:09 +01:00
Alexander Medvednikov
b7e2af8151
os: better deprecated message
2020-03-04 20:29:17 +01:00
Alexander Medvednikov
b0ece3a9d8
sync: implement pool.work_on_items to process a list of items in parallel
2020-03-04 20:28:42 +01:00
Alexander Medvednikov
136aa763a3
cgen: multi return structs + other fixes
2020-03-04 20:17:29 +01:00
Alexander Medvednikov
cd8a5d1f2e
fix parser_test.v and string_test.v
2020-03-04 17:39:27 +01:00
Alexander Medvednikov
237ce6ff84
cgen_test: skip definitions
2020-03-04 17:35:13 +01:00
Alexander Medvednikov
c203a744fe
glm: fix calloc
2020-03-04 17:22:20 +01:00
Alexander Medvednikov
f27f832ede
cgen: definitions + other fixes; calloc fix
2020-03-04 17:08:28 +01:00
Alexander Medvednikov
37453945d0
cgen: remaining nodes; match type fix; v2.c is now generated
2020-03-04 15:48:43 +01:00
Joe Conigliaro
8458ea40f0
v2: add UnsafeStmt to checker & byte/byteptr to check
2020-03-05 00:20:37 +11:00
Joe Conigliaro
7daf8f8fd0
v2: simplify MatchExpr in vfmt
2020-03-04 22:39:18 +11:00
Joe Conigliaro
5872961124
v2: update MatchExpr in vfmt
2020-03-04 22:14:37 +11:00
Joe Conigliaro
e71948461e
v2: update MatchExpr
2020-03-04 21:59:45 +11:00
Joe Conigliaro
ed763df42e
v2: tidy checker remove old comments & code
2020-03-04 21:08:46 +11:00
Joe Conigliaro
d501ea0afb
v2: fix array init
2020-03-04 12:50:32 +11:00
Joe Conigliaro
bac6fc6ee2
v2: remove test println from checker
2020-03-04 09:49:14 +11:00
Joe Conigliaro
ea26b5f30c
v2: fix fn call name lookup
2020-03-04 09:46:59 +11:00
Alexander Medvednikov
823b8ad244
table: Type str()
2020-03-03 18:38:41 +01:00
Alexander Medvednikov
2a99422386
cgen: more nodes; exit if there are checker errors
2020-03-03 18:37:38 +01:00
Alexander Medvednikov
0c67b3cff4
checker: fix match return type
2020-03-03 17:29:16 +01:00
Joe Conigliaro
c633dd09c6
v2: dont use type type in `<<` infix in parser
2020-03-04 02:08:40 +11:00
Joe Conigliaro
063ca3b644
v2: make array append `<<` right associative
2020-03-04 02:05:16 +11:00
Joe Conigliaro
147ecc5e17
v2: time - prefix C struct & ast.TypeName to ast.Type
2020-03-04 01:06:21 +11:00
yuyi
448ed41562
os api: rmdir_recursive => rmdir_all
2020-03-03 15:02:50 +01:00
yuyi
3f67ba08b1
glfw, freetype: remove the display of general information
2020-03-03 14:41:26 +01:00
Hugo Locurcio
69f256b900
use LF line endings in examples/quick_sort.v
2020-03-03 14:41:05 +01:00
Joe Conigliaro
af3159791f
v2: reset expr_mod after struct_init type is parsed
2020-03-04 00:24:15 +11:00
Delyan Angelov
90996269fd
compiler: more precise default error context for C errors
2020-03-03 12:01:23 +01:00
yuyi
ea10f44fe6
os api: flush_stdout => flush
2020-03-03 00:00:30 +01:00
Joe Conigliaro
895a1711cb
v2: fix type aliases & add check
2020-03-03 09:19:04 +11:00
yuyi
8ac0739858
os api: cp_r => cp_all
2020-03-02 19:30:04 +01:00
Alexander Medvednikov
22ffe336cb
checker: AsCast, CharLiteral, fix integer index check
2020-03-02 19:00:33 +01:00
Alexander Medvednikov
156e36c082
cgen: handle unhandled nodes
2020-03-02 18:43:41 +01:00
Alexander Medvednikov
07a2233220
fix prod build
2020-03-02 18:28:11 +01:00
Alexander Medvednikov
baaa55f196
cgen: fix methods; println
2020-03-02 18:27:00 +01:00
Alexey
78c885d657
fmt: add support for goto
2020-03-02 17:41:32 +01:00
Delyan Angelov
c6107276df
compiler: stabilize the interface code generation a little
2020-03-02 17:10:26 +01:00
Alexey
8fafaf38a3
fmt: add function with variadic arg to test file
2020-03-02 17:10:06 +01:00
Alexey
cca5c5537f
fmt: extract common code to methods
2020-03-02 17:09:45 +01:00
Joe Conigliaro
8497d637d9
v2: allow pointers to be initialized with 0
2020-03-02 23:52:41 +11:00
Joe Conigliaro
5b08f307c8
v2: fix map initialization
2020-03-02 22:34:02 +11:00
Joe Conigliaro
16528b12fa
v2: allow enum value to be used as int
2020-03-02 21:32:28 +11:00
Joe Conigliaro
f57a651e3b
v2: match expr fixes & tmp typeof skip
2020-03-02 20:53:38 +11:00
joe-conigliaro
a8f07157dd
v2: implement sym types & handle in table.check
2020-03-02 16:40:18 +11:00
joe-conigliaro
b65fad9ca8
v2: fix if guard var type & handle blank ident in assign
2020-03-02 16:05:40 +11:00
joe-conigliaro
a118c72423
v2: checker - save type in MapInit node
2020-03-02 14:24:45 +11:00
joe-conigliaro
b333d02e3b
v2: allow none & error for functions that return optional - checker
2020-03-02 13:58:36 +11:00
Alexander Medvednikov
d05bdad638
pratt: handle &=
2020-03-01 23:26:23 +01:00
Alexander Medvednikov
f921ea2fb7
cgen: test module fns and consts
2020-03-01 22:06:36 +01:00
Alexander Medvednikov
38de6c98fc
cgen: test local modules
2020-03-01 21:56:07 +01:00
Joe Conigliaro
a707ffc04a
v2: name_expr mod & type & var fixes
2020-03-02 02:14:52 +11:00
Delyan Angelov
1066ec5cd9
compiler: import modules relative to v.mod
2020-03-01 15:49:39 +01:00
Delyan Angelov
615a4b3452
builtin: add V64_PRINTFORMAT (part 2)
2020-03-01 15:48:54 +01:00
Delyan Angelov
2700fd712b
builtin: add V64_PRINTFORMAT (part 1)
2020-03-01 15:30:33 +01:00
Joe Conigliaro
1ab830da4b
v2: fix var mistaken for enum in parser
2020-03-02 01:19:10 +11:00
Alexander Medvednikov
82b0024758
fix v2 parser int.v error
2020-03-01 14:57:54 +01:00
Alexander Medvednikov
d7a8b1b4f2
checker: set fn arg expected_type
2020-03-01 14:10:10 +01:00
Nicolas Sauzede
becd87141c
fix linux warnings in generated C code
2020-03-01 13:26:09 +01:00
Alexander Medvednikov
7a499b3cd3
checker: fix first() and last(); call_args; method cgen
2020-03-01 13:07:51 +01:00
Joe Conigliaro
9978fb3e2c
v2: fix map_init return type in checker
2020-03-01 21:45:44 +11:00
Joe Conigliaro
00dcaf0e04
v2: ArrayInit + all errs & unhandled + arrange nodes + type fix
2020-03-01 15:14:36 +11:00
Alexey
cbffbf3438
array: reverse empty arrays correctly
2020-02-29 20:44:02 +01:00
Alexey
c1e095e587
fmt: process `MatchExpr`
2020-02-29 20:43:15 +01:00
Alexander Medvednikov
4e88c2286e
checker: IfGuard, map fixes
2020-02-29 20:11:04 +01:00
Alexander Medvednikov
ee05b51f47
checker: fix match expected_type
2020-02-29 18:34:25 +01:00
Alexander Medvednikov
a15dcbfb2d
checker: set expected_type in several places
2020-02-29 18:25:38 +01:00
Alexander Medvednikov
27ce38937c
checker: fix Assoc
2020-02-29 18:07:29 +01:00
Alexander Medvednikov
85f67a3f73
fix prod build
2020-02-29 17:53:04 +01:00
Alexander Medvednikov
d5faf36aa9
fmt: comments
2020-02-29 17:51:38 +01:00
Alexey
5a5f4ce99a
fmt: simplify `IndexExpr` processing
2020-02-29 17:45:08 +01:00
yuyi
a678be7195
fix interface on all platforms
2020-02-29 15:27:28 +01:00
Alexey
99cbc58db8
array: update `array.repeat`
2020-02-29 15:25:49 +01:00
Alexey
632a538eb3
string: update `string.repeat` behavior
...
Panic if a repeat count is negative.
Return an empty string if a repeat count is zero.
2020-02-29 15:25:31 +01:00
lydiandy
a485533dc9
make sure scanner and parser both check BOM
2020-02-29 15:05:25 +01:00
yuyi
6c85e285e7
vdoc: show variadic args correctly
2020-02-29 15:04:07 +01:00
Alexey
ee0a0afb25
v2: process `or` block for `CallExpr`
2020-02-29 15:03:32 +01:00
Alexey
efff66ada7
fmt: add `pub` modifier for public enums
2020-02-29 14:38:23 +01:00
Major Taylor
d4b0de2dce
log: extended logging level names when printed
2020-02-29 14:31:59 +01:00
Delyan Angelov
f9d5c0110f
compiler: @VMODULE
2020-02-29 14:23:45 +01:00
Joe Conigliaro
f67fca826e
v2: fix C function & type prefixing
2020-02-29 21:47:47 +11:00
Joe Conigliaro
48f912c2e9
v2: handle variadic in selector_expr
2020-02-29 19:04:47 +11:00
Joe Conigliaro
71b5b0d955
v2: fix C fn calls, save C fns with prefix besides odd cases
2020-02-29 17:24:28 +11:00
Joe Conigliaro
236b7b15bb
v2: handle optional in return stmt in checker
2020-02-29 16:32:00 +11:00
Joe Conigliaro
8e013d2174
v2: skip minus in string expr for now
2020-02-29 15:56:16 +11:00
Joe Conigliaro
eb80accfee
v2: add ParExpr to checker
2020-02-29 15:36:39 +11:00
Alexander Medvednikov
6855c746bb
vfmt: EnumDecl
2020-02-28 17:21:24 +01:00
Major Taylor
ee9cfe22ec
scanner: fix a typo in right_shift
2020-02-28 17:16:24 +01:00
Alexander Medvednikov
ccf4f61521
ast: ParExpr, OrExpr, IfGuardExpr; ForInStmt fix; remove all cap vars
2020-02-28 15:36:41 +01:00
Alexander Medvednikov
6a198df3af
v2: ParExpr; mut var decl
2020-02-28 14:41:19 +01:00
Alexander Medvednikov
7f5a15372f
os: fix get_raw_line() + minor v2 fixes
2020-02-28 14:05:20 +01:00
Joe Conigliaro
c4b9ef388f
v2: handle var decl & assign stmt together 1st step combining
2020-02-28 23:29:04 +11:00
Nicolas Sauzede
f5fdbfd004
os: fix getline warning for linux
2020-02-28 02:43:42 +01:00
penguindark
b8f6284daf
ftoa: tables with hex constants
2020-02-28 02:43:15 +01:00
Alexander Medvednikov
87205367d1
v2: minor fixes
2020-02-27 21:51:40 +01:00
Alexander Medvednikov
3204f036da
ast: move all str() methods to ast/str.v
2020-02-27 21:29:38 +01:00
Alexander Medvednikov
d619944cf5
vfmt: []xxx; mut args
2020-02-27 21:00:33 +01:00
Alexander Medvednikov
4f0d505c65
v2: `if x := `; fix `for key, val in`; CastExpr
2020-02-27 18:02:40 +01:00
Alexander Medvednikov
3bde876097
v2: checker: fix --/++
2020-02-27 17:31:10 +01:00
Alexander Medvednikov
09b7a7c872
v2: checker: handle clone()
2020-02-27 17:21:13 +01:00
Alexander Medvednikov
b1357d9641
v2: checker: fix filter()
2020-02-27 16:51:47 +01:00
yuyi
b580a497fe
compiler: fix an interface bug
2020-02-27 16:31:05 +01:00
Joe Conigliaro
aba0bb5e01
v2: fix condition in AssignStmt
2020-02-27 21:15:30 +11:00
Joe Conigliaro
237d83b2ee
v2: more work on AssignStmt & multi ret & initial blank ident
2020-02-27 21:12:30 +11:00
joe-conigliaro
cfbd8ab7e7
v2: parser - use defer to make sure scope is closed for filter
2020-02-27 17:00:24 +11:00
Alexander Medvednikov
06fc8a830b
v2: fix a bug with `mod.const`
2020-02-27 03:30:17 +01:00
Alexander Medvednikov
a5db9c3519
os: bring back write_bytes_at()
2020-02-27 00:41:05 +01:00
Alexander Medvednikov
bb6098e2d3
v2: fix `type f fn...`
2020-02-27 00:18:14 +01:00
Alexander Medvednikov
c51f464446
v2: fix `mod.Enum.val` and `x = .val`
2020-02-27 00:12:40 +01:00
Alexey
59d6a675dd
vdoc: trim result value
2020-02-26 23:18:31 +01:00
Major Taylor
c72e505fe4
pg: use unsafe
2020-02-26 23:17:56 +01:00
Alexey
394d64bfd0
vdoc: remove duplicated code
2020-02-26 22:44:28 +01:00
Alexey
ca9fa6407f
v2: distinguish public and private constants
2020-02-26 22:43:37 +01:00
yuyi
46ec400cb3
vdoc: sort function names
2020-02-26 20:46:09 +01:00
Alexey
70f085be18
v2: process unsafe statements
2020-02-26 20:45:03 +01:00
Alexey
b1ea908b3b
fmt: process `defer` statement
2020-02-26 20:44:42 +01:00
Delyan Angelov
9d61f4fad1
benchmark: make measuring small snippets of code less verbose/easier to use
2020-02-26 16:29:46 +01:00
Alexander Medvednikov
857cbfb0d2
v2: short struct init syntax; .xxx enum checks; unions; assert
2020-02-26 15:51:05 +01:00
Nicolas Sauzede
30f905999a
math: add powf and other float32 functions
2020-02-26 13:31:54 +01:00
Delyan Angelov
7a72167eb7
strings: optimization of repeat + repeat_string()
2020-02-26 13:22:12 +01:00
penguindark
39429f7ac9
atof: lots of fixes
...
* removed sprintf for f64 and f32 use
* removed all pointers from the code, used unions instead
* solved module name problem
* fixed tests on vlib/math
* fix for alpine-linux math test
* small fix on byte allocation for ftoa
2020-02-26 12:14:06 +01:00
joe-conigliaro
c4e83faa57
compiler: allow a type to be used as a variant of multiple sum types
2020-02-26 15:15:38 +11:00
SleepyRoy
bc3d1eaf6e
scanner: simplify and unify style
2020-02-25 22:58:51 +01:00
Alexander Medvednikov
0f8b2399ee
fmt: fix new EnumVal
2020-02-25 19:59:47 +01:00
Alexander Medvednikov
28ee0f4ebe
checker: check enums
2020-02-25 15:02:34 +01:00
SleepyRoy
05ed6c57b6
scanner: add check for wrong decimal numbers
2020-02-25 14:33:29 +01:00
Alexander Medvednikov
f6c2b3a54b
v2: enum fixes
2020-02-25 13:30:43 +01:00
Alexander Medvednikov
7e930c2a75
cgen: enum
2020-02-25 11:52:41 +01:00
lydiandy
d4ffed89c0
add typeof test for fn ( #3832 )
2020-02-25 11:14:59 +01:00
penguindark
200f25a38f
ftoa in V ( #3831 )
2020-02-25 11:12:37 +01:00
SleepyRoy
b17e49ad25
scanner: add check for bin/oct/hex with wrong digits
2020-02-25 11:11:12 +01:00
SleepyRoy
f859c7f93e
scanner: fix special case - `e` or `E` at the end
2020-02-25 11:10:05 +01:00
Delyan Angelov
b17ade1257
compiler: implement typeof(x)
2020-02-24 21:45:47 +01:00
SleepyRoy
794ee6fc9d
scanner: fix bin/oct/hex without number parts
2020-02-24 18:02:36 +01:00
lydiandy
3c0b73c2d6
sokol: fixes
2020-02-24 18:02:22 +01:00
SleepyRoy
96da5b33c0
scanner: fix special case - 0 at the end
2020-02-24 18:01:51 +01:00
spaceface777
ef8c1203b4
cleanup: replace C for loops with range
2020-02-24 17:55:16 +01:00
Alexey
5918946feb
fmt: process attributes
2020-02-24 17:18:14 +01:00
vitalyster
a3a7e0531a
darwin: fix MacPorts build
2020-02-24 16:54:04 +01:00
Alexey
87ad5a96b9
v2: stringify multi-return types
2020-02-24 16:38:31 +01:00
Alexey
2bbb8526a3
fmt: process RangeExpr properly
2020-02-24 16:37:20 +01:00
SleepyRoy
7d2eb4f604
scanner: make `0o` prefix the only way to define octals
2020-02-23 23:43:04 +01:00
yuyi
9d2a60bb11
os: optimize os_windows.v
2020-02-23 20:46:13 +01:00
yuyi
adb1d3f8c9
scanner: enable 0oxx to handle octals
2020-02-23 12:33:07 +01:00
Alexey
26fa833984
fmt: process assignment statement correctly
2020-02-23 11:22:07 +01:00
Alexander Medvednikov
2eb4f663d6
fix fmt test
2020-02-22 17:14:38 +01:00
Alexander Medvednikov
dd29bfe4d2
fix fmt test
2020-02-22 17:07:03 +01:00
Alexander Medvednikov
d510cd1e0d
fmt: else, for in
2020-02-22 16:59:50 +01:00
Alexander Medvednikov
5fef8390a1
fmt: assoc
2020-02-22 14:39:25 +01:00
Alexander Medvednikov
cd41967aa1
fmt: struct pub/mut fields, map init
2020-02-22 14:13:22 +01:00
joe-conigliaro
b250ded3fa
v2: fix typo & remove unneeded field
2020-02-22 23:08:14 +11:00
joe-conigliaro
30c8a5a010
v2: temp const fix
2020-02-22 23:04:56 +11:00
Alexander Medvednikov
6f577321f1
checker: fix build
2020-02-22 12:58:16 +01:00
Alexander Medvednikov
e459e6d24a
checker: remove unnecessary exits
2020-02-22 12:57:18 +01:00
yuyi
1a1aa267b7
vlib: remove malloc unsafe warning
2020-02-22 12:41:24 +01:00
Alexander Medvednikov
3c3ca1e61f
fmt: fix test
2020-02-21 22:56:50 +01:00
joe-conigliaro
15c288b444
v2: small type cleanup
2020-02-22 08:50:21 +11:00
yuyi
b325320f29
os: minor fixes
2020-02-21 20:14:01 +01:00
Alexander Medvednikov
7acf8efde3
fmt: fix import alias
2020-02-21 20:12:55 +01:00
Alexander Medvednikov
9be87d03f5
type_to_str: fix imported types
2020-02-21 19:56:37 +01:00
Alexander Medvednikov
e0c6766a79
make "unreachable code" a warning in non-prod builds
2020-02-21 18:55:18 +01:00
Alexander Medvednikov
1d90c1cbbf
nice
2020-02-21 18:15:41 +01:00
Alexander Medvednikov
4c95e59d5c
fmt, doc: &; update 0.2 roadmap
2020-02-21 18:13:34 +01:00
Alexander Medvednikov
9e6773cba8
fmt: optionals; none
2020-02-21 17:52:20 +01:00
Alexander Medvednikov
d075be73e8
fmt: single line if
2020-02-21 16:48:45 +01:00
yuyi
15a2927f09
optimize table.all_test_function_names
2020-02-21 16:29:41 +01:00
Alexander Medvednikov
e9931e6f84
fmt: wrap_long_line()
2020-02-21 16:14:15 +01:00
Alexander Medvednikov
728aeb8092
fmt: wrap long lines
2020-02-21 15:32:48 +01:00
Alexander Medvednikov
b309e7d0e5
type_to_str()
2020-02-21 14:47:42 +01:00
Alexander Medvednikov
6dac2edeef
checker: is_number()
2020-02-21 13:44:03 +01:00
yuyi
527377dc86
fix os_test.v
2020-02-21 12:24:13 +01:00
Delyan Angelov
d90a291c5e
ui: cleanup warnings from glm module
2020-02-21 12:20:59 +01:00
ka-weihe
6b706a0c99
Add FastestHash to cheaders.v
2020-02-21 12:20:03 +01:00
joe-conigliaro
8bb8b7d76e
v2: add ability to store extra information with Type such as optional
2020-02-21 21:44:06 +11:00
Alexey
8677a5981c
os: use unified way to deprecate functions
2020-02-20 23:00:02 +01:00
Delyan Angelov
88b402fcf8
bugfix: v should not panic when encountering a file that consists only of comments
2020-02-20 22:59:47 +01:00
Alexander Medvednikov
e56bf42270
v2: xor, for x = ...
2020-02-20 21:28:08 +01:00
Alexey
c85ccad0a6
string: update check if a char is a space
2020-02-20 20:14:54 +01:00
Alexey
e4de1e1e89
string: add more test cases
2020-02-20 20:14:21 +01:00
Alexander Medvednikov
7705281459
map: use hashmap instead of b-tree
2020-02-20 20:05:06 +01:00
Alexander Medvednikov
ab8d883fee
fix wyhash.h
2020-02-20 18:45:44 +01:00
Alexander Medvednikov
5d5373764e
embed wyhash.h
2020-02-20 18:38:05 +01:00
Alexander Medvednikov
f413b2fa49
Revert "map: use hashmap instead of b-tree"
...
This reverts commit 34d926350b
.
2020-02-20 17:58:17 +01:00
ka-weihe
34d926350b
map: use hashmap instead of b-tree
2020-02-20 17:28:20 +01:00
Alexander Medvednikov
e35f8e9e23
checker: return errors
2020-02-20 17:05:16 +01:00
Alexander Medvednikov
296e736f5b
checker: minor fixes
2020-02-20 16:16:44 +01:00
joe-conigliaro
72bbec89a9
v2: fix error in checker, continue instead of break
2020-02-21 00:20:08 +11:00
joe-conigliaro
6f7c103e50
v2: checker use kind instead of idx
2020-02-20 23:27:23 +11:00
joe-conigliaro
e7e2c68d09
v2: allow type with str method to be used as fn string argument
2020-02-20 23:18:55 +11:00
Alexander Medvednikov
c099cd8bf6
pratt: fix precedence
2020-02-20 12:59:05 +01:00
Alexander Medvednikov
0074976636
checker: exit if there are errors
2020-02-20 12:05:53 +01:00
yuyi
8be07194c7
string: fix capitalize
2020-02-20 11:33:38 +01:00
yuyi
d51019dd77
unify vexe_path
2020-02-20 11:33:01 +01:00
joe-conigliaro
fcd97f513a
v2: module/type/fn name fixes, compile fixes
2020-02-20 21:13:18 +11:00
joe-conigliaro
aab1045045
v2: reorder types idxs, > string defined with v struct. rm unresovled
2020-02-20 11:39:59 +11:00
penguindark
d2cb5ad725
math.bits: make certain functions public + small fixes
2020-02-20 01:31:42 +01:00
Alexander Medvednikov
92e3e48bce
v2: checker: [] and in
2020-02-19 21:13:42 +01:00
Alexander Medvednikov
e30bd04579
fix fmt test
2020-02-19 19:57:21 +01:00
Alexander Medvednikov
ec3d67c19f
checker: print multiple errors; none
2020-02-19 19:54:42 +01:00
SleepyRoy
d91945cc99
parser: some pure logic code simplifications
2020-02-19 19:43:57 +01:00
Alexander Medvednikov
31b74f02b6
doc: handle submodules
2020-02-19 16:21:46 +01:00
Alexander Medvednikov
092c09d81f
vdoc using the new parser
2020-02-19 16:13:34 +01:00
yuyi
391da0ba07
string: optimize starts_with and ends_with
2020-02-19 15:18:09 +01:00
joe-conigliaro
e4179c0008
v2: more array init & index expr fixes
2020-02-20 00:34:44 +11:00
joe-conigliaro
478c48cd6f
Merge branch 'master' of https://github.com/vlang/v
2020-02-19 21:45:45 +11:00
joe-conigliaro
69634c60b3
v2: start to fix index expr for map/array/fixed array
2020-02-19 21:45:06 +11:00
joe-conigliaro
42399d24d9
v2: fix index expr for fixed array & map
2020-02-19 21:39:30 +11:00
Alexander Medvednikov
082acfad49
v2: fix more ast positions
2020-02-19 11:31:33 +01:00
Alexander Medvednikov
bc11419ff9
v2: fix for position and check
2020-02-19 11:06:36 +01:00
joe-conigliaro
042bce4b6c
v2: dont preifx C fns with module & add todo
2020-02-19 18:08:08 +11:00
joe-conigliaro
83bfd0805e
v2: prefix functions with module, except in main & builtin
2020-02-19 17:16:38 +11:00
joe-conigliaro
9b271d1728
v2: remove left over testing printlns
2020-02-19 16:06:16 +11:00
joe-conigliaro
f91bded9b3
v2: add missing table/modules.v
2020-02-19 13:11:55 +11:00
joe-conigliaro
b62a90a212
v2: module/import fixes, use parent_idx instead of parent ptr to remove need to preallocate types array
2020-02-19 13:09:35 +11:00
Alexey
200d3e6446
vfmt: process imports and module name
2020-02-18 22:35:14 +01:00
SleepyRoy
aaf3ced750
parser: add type check for +=, -=, *=, /=
2020-02-18 22:14:52 +01:00
Alexander Medvednikov
19520ccf4e
v2: for in checker
2020-02-18 21:59:42 +01:00
Alexey
39c4842bf9
vfmt2: skip arg type if possible
2020-02-18 21:02:43 +01:00
Alexander Medvednikov
c314ab7b60
fix cmdline_test.v
2020-02-18 20:31:15 +01:00
Alexander Medvednikov
31c1483b9d
vfmt2: fn args, comments
2020-02-18 20:20:15 +01:00
Alexander Medvednikov
480af3f381
v2: checker fixes
2020-02-18 20:06:01 +01:00
Delyan Angelov
290feaac51
vfmt2: allow running the new vfmt with 'v fmt -2'
2020-02-18 20:00:06 +01:00
Delyan Angelov
b991ca4ebc
vfmt2: more convenient way to test multiple files for correct formatting
2020-02-18 17:54:14 +01:00
Alexander Medvednikov
4e9bfa95ec
v2: the new parser can now parse the entire V compiler
2020-02-18 17:45:59 +01:00
Alexander Medvednikov
4de8d3ae8c
parser: short struct syntax for all structs
2020-02-18 16:25:09 +01:00
joe-conigliaro
67756c53dc
v2: more cleanup ( #3765 )
2020-02-18 18:58:20 +11:00
yuyi
392eb1fb55
fix vlib/compiler/aparser.v ( #3764 )
2020-02-18 18:45:04 +11:00
Alexander Medvednikov
ed01ab763c
v2/vfmt2: more fixes
2020-02-18 03:28:41 +01:00
joe-conigliaro
ecb0af36b3
v2: cleanup old & unused code, add new simple tmp vars in cgen
2020-02-18 03:17:21 +01:00
vitalyster
2e1dbd9f5a
windows: use %USERPROFILE% for os.home_dir()
2020-02-18 02:12:10 +01:00
Alexander Medvednikov
2ea2fed8a5
vfmt: minor clean up
2020-02-17 22:52:48 +01:00
Alexander Medvednikov
59beec8fae
new vfmt using the new parser
2020-02-17 22:50:11 +01:00
prime31
a2838ae6f3
array: add `array.trim()`
2020-02-17 20:31:40 +01:00
yuyi
6849a4e770
filepath: path separator ( #3756 )
2020-02-17 20:31:23 +01:00
Daniel Däschle
6079025985
gg: add option to decorate window
2020-02-17 20:29:09 +01:00
Alexander Medvednikov
53f8ae6517
fix prod build
2020-02-17 14:30:01 +01:00
Alexander Medvednikov
1dd6491a2f
v2: more parser fixes
2020-02-17 14:15:49 +01:00
joe-conigliaro
d7f74ecf52
v2: move more type handling to checker + some clean up
2020-02-17 12:25:18 +01:00
penguindark
80861f2219
scanner: exponent without sign
2020-02-17 02:35:01 +01:00
joe-conigliaro
1007dd8f23
v2: update parse type not to prefix builtin types with module
2020-02-16 16:16:19 +01:00
Delyan Angelov
195f3f465b
option to disable bounds checking; examples/path_tracing.v: optimizations
2020-02-16 16:13:45 +01:00
yuyi
e272a10bda
vfmt fixes
2020-02-16 12:42:28 +01:00
Alexander Medvednikov
9eeb3dfe7e
v2: temporary string cast fix
2020-02-16 12:38:15 +01:00
Alexander Medvednikov
6d8ad58515
v2: mod.Type
2020-02-16 12:31:44 +01:00
joe-conigliaro
dc90f4f4a6
v2: remove unresolved types; handle types in checker; add ast.scope
2020-02-15 13:37:48 +01:00
Alexander Medvednikov
8dd905a14d
v2: more parser fixes
2020-02-13 14:08:19 +01:00
Alexey
8d76f7d195
v2: remove redundant EOL normalization in cgen test
2020-02-12 23:19:17 +01:00
Alexander Medvednikov
9d46fb9f90
v2: [] expr for known arrays; p.expected_type
2020-02-12 17:39:51 +01:00
Delyan Angelov
0ad5d53423
net.http: more robust handling of relative /path URL redirects
2020-02-12 14:52:39 +01:00
penguindark
67e7ad13de
math.bits: added missing functions and test
2020-02-12 11:32:03 +01:00
Alexander Medvednikov
d9cf98f772
v2: imports
2020-02-12 01:16:38 +01:00
Alexander Medvednikov
0ec5680156
array: bring back reduce test
2020-02-11 13:22:22 +01:00
Alexander Medvednikov
17212f816c
v2: high order functions
2020-02-11 13:21:41 +01:00
Alexander Medvednikov
2838d12227
v2: fn_args()
2020-02-11 13:03:14 +01:00
joe-conigliaro
d25a0e30dc
v2: make index_expr return array array element type
2020-02-11 12:59:40 +01:00
Alexander Medvednikov
9610821884
v2: defer; match a,b; if x :=
2020-02-11 10:26:46 +01:00
joe-conigliaro
f7b80c3c62
v2: fix fixed array parsing
2020-02-11 14:45:33 +11:00
Alexander Medvednikov
2d7c80bbc3
v2: match sum type; { x | }
2020-02-11 00:07:01 +01:00
Alexander Medvednikov
a21e3d77e9
fix prod build
2020-02-10 23:47:42 +01:00
Alexander Medvednikov
747f6829ab
v2: enum decl; type decl; [start..end] fix; %=
2020-02-10 23:19:50 +01:00
Alexander Medvednikov
26cfaa150e
v2: match expr; enum val; string formatting
2020-02-10 20:33:46 +01:00
Nicolas Sauzede
d51c159160
math: add sqrtf
2020-02-10 18:48:44 +01:00
yuyi
c1c2b648ab
os: typo in wait
2020-02-10 18:48:01 +01:00
Alexander Medvednikov
d5f90ef64b
v2: handle unresolved consts
2020-02-10 18:43:25 +01:00
joe-conigliaro
bf5ed5e451
v2: fix array index, for loop, add cast expr & other minor fixes
2020-02-10 14:43:17 +01:00
Alexander Medvednikov
c9f619dc72
v2: parse `filter()`
2020-02-10 14:42:57 +01:00
Alexander Medvednikov
3f6ccd3120
v2: minor fixes
2020-02-10 13:58:24 +01:00
radare
7dc040b01c
fix -prod on OpenBSD
2020-02-10 08:57:35 +01:00
joe-conigliaro
e274c5c485
v2: type sys - store type idx/ptr in int & add helpers
2020-02-10 08:32:08 +01:00
penguindark
9845fd1cf5
math.bits: tests
2020-02-09 21:16:03 +01:00
Delyan Angelov
f76651604d
compiler: bugfix for raw'"'
2020-02-09 16:29:05 +01:00
joe-conigliaro
94537c5901
compiler: scope type alias to module
2020-02-09 15:40:31 +01:00
lutherwenxu
9332a83ce6
move v.v to cmd/v
2020-02-09 10:08:04 +01:00
joe-conigliaro
7583c350b8
compiler/math.bits: use max u64 consts
2020-02-09 09:25:27 +01:00
Alexey
1eeee40278
string: split into lines correctly
2020-02-09 09:23:57 +01:00
Delyan Angelov
4bb5d7de8b
tooling: use term.header for tests
2020-02-08 17:01:10 +01:00
Delyan Angelov
a02e1e0af2
compiler: more actionable error message, when fn main is missing
2020-02-08 17:00:13 +01:00
joe-conigliaro
a2d2586331
v2: map / string / builtin type fixes
2020-02-08 16:59:57 +01:00
joe-conigliaro
e01c76c895
v2: fix type resolving
2020-02-08 12:14:53 +01:00
joe-conigliaro
9e9bdc32ea
v2: lots of small fixes parent method/field resolution
2020-02-08 09:50:12 +01:00
Alexander Medvednikov
ea9961a8fb
fix term_windows.v
2020-02-07 23:16:34 +01:00
Major Taylor
e9827f5a34
vweb: fix typo in 'assets.v'
2020-02-07 23:12:30 +01:00
Alexander Medvednikov
8f9979eb8d
fix time_windows.v
2020-02-07 23:11:15 +01:00
Alexander Medvednikov
18c440c990
fix int_test.v
2020-02-07 22:16:14 +01:00
Alexander Medvednikov
d66bc24e7f
remove `as` casts for basic types
2020-02-07 22:10:48 +01:00
Alexander Medvednikov
f782388148
v2: minor fixes
2020-02-07 21:29:28 +01:00
joe-conigliaro
35bef514b0
v2: checker & unresolved fixes & small updates
2020-02-07 18:46:42 +01:00
Don Alfons Nisnoni
36e636743b
term: header()
2020-02-07 18:46:20 +01:00
Alexander Medvednikov
0510bc7744
fix int.v
2020-02-07 14:57:48 +01:00
Alexander Medvednikov
c8dcbcb649
parser: allow `as` in consts
2020-02-07 14:53:07 +01:00
Alexander Medvednikov
9034b1fd08
v2: match cgen; use `as` for casting
2020-02-07 14:50:52 +01:00
Alexander Medvednikov
18a3961992
array.v: use `as` cast
2020-02-07 09:38:28 +01:00
Alexander Medvednikov
b23854b2ab
array.v: fix the build
2020-02-07 09:22:52 +01:00
Alexander Medvednikov
f241945d70
v2: `as` cast
2020-02-07 09:19:45 +01:00
Alexander Medvednikov
bb60b3081f
v2: parse builtin successfully
2020-02-07 07:34:18 +01:00
Delyan Angelov
2ce6b190dd
@VMODULE relative paths in #flag lines
2020-02-06 17:38:35 +01:00
joe-conigliaro
67a13fc916
v2: start impl multi assign
2020-02-06 17:38:02 +01:00
Alexey
65744207fc
time: reorganize module
2020-02-06 14:19:44 +01:00
joe-conigliaro
d9e92a08cb
v2: use pointer to table.type, fix unresolved array/map sub-types
2020-02-06 13:57:35 +01:00
Alexander Medvednikov
6c3613407d
vweb: fix header.html
2020-02-06 10:41:10 +01:00
Alexey
91e181b14a
time: return optional value in `parse` and `parse_iso` functions
2020-02-06 10:22:00 +01:00
Delyan Angelov
1618596218
os: fix compiler warnings when just importing os
2020-02-05 11:23:49 +01:00
Alexander Medvednikov
06b5f43e48
builtin: remove unneeded casts
2020-02-05 11:22:24 +01:00
Alexander Medvednikov
2b433cdf64
v2: match, <<=, >>=, |=, ~, unsafe, map init
2020-02-05 10:00:14 +01:00
Alexey
a61c9c617d
time: use `_mkgmtime` and `timegm` to calculate unix time
2020-02-05 06:13:11 +01:00
Nicolas Sauzede
9d4c943d64
compiler: add very simple nameof token to get type name as string
2020-02-05 06:12:33 +01:00
Alexander Medvednikov
c595c9eee1
builtin: bring back old hex()
2020-02-04 20:23:03 +01:00
Alexander Medvednikov
f1a0c2f1af
v2: parse optionals
2020-02-04 20:22:00 +01:00
Alexander Medvednikov
ac5c4e3203
fix prod build
2020-02-04 17:48:15 +01:00
Alexander Medvednikov
80daaff874
v2: scopes, or, in, hex
2020-02-04 17:44:39 +01:00
Alexander Medvednikov
9b60a50d07
v2: maps, <<, >>, method calls
2020-02-04 12:50:58 +01:00
vitalyster
21b54723e4
time: fix timezone
2020-02-04 12:17:04 +01:00
joe-conigliaro
85e4e4cb40
v2: resolve unresolved call expression types & add test
2020-02-04 12:03:12 +01:00
Alexander Medvednikov
83f0c228e9
v2: parse builtin.v, cfns.v float.v
2020-02-04 09:54:15 +01:00
Alexander Medvednikov
432ee93916
v2: break, continue, for in fixes, fixed size array, |
2020-02-04 08:29:50 +01:00
Alexander Medvednikov
c7f07cd0b6
v2: postfix_expr() checker
2020-02-04 07:37:41 +01:00
origel
4d6958381d
glfw: window add set resize callback method
2020-02-04 05:40:16 +01:00
joe-conigliaro
75eebb516f
fix bug in levenshtein distance & add tests
2020-02-04 04:21:40 +01:00
joe-conigliaro
21b6dace8f
v2: remove duplication & slight cleanup. share prefs with v1
2020-02-03 12:09:17 +01:00
Alexander Medvednikov
f1f8a2e4dd
fix prod build
2020-02-03 12:06:25 +01:00
Alexander Medvednikov
64bfae0a0e
2
2020-02-03 11:54:41 +01:00
Alexander Medvednikov
54605823f9
rem1
2020-02-03 11:45:25 +01:00
Alexander Medvednikov
01f45f063e
cgen: remove the checker
2020-02-03 11:36:03 +01:00
Alexander Medvednikov
40fd918b58
v2: cgen: remove type resolving for VarDecl
2020-02-03 11:32:00 +01:00
Alexander Medvednikov
6489b48c9c
v2: clean up IndexExpr type check
2020-02-03 11:29:50 +01:00
Alexander Medvednikov
e5f5117a7e
fix prod build
2020-02-03 11:17:12 +01:00
Alexander Medvednikov
60a4f668b7
v2: fix FnDecl ref bug
2020-02-03 11:13:36 +01:00
Alexander Medvednikov
2af3c0ede4
hmm
2020-02-03 10:58:15 +01:00
Alexander Medvednikov
1ac7a95f9b
fix array_test.v
2020-02-03 10:27:06 +01:00
Alexander Medvednikov
50b704c5dd
sum type: mut
2020-02-03 09:25:26 +01:00
Alexander Medvednikov
34e9eb32bb
sum types: allow modification in `match`
2020-02-03 09:11:10 +01:00
Alexander Medvednikov
d918903252
v2: move index expr type check
2020-02-03 07:45:09 +01:00
joe-conigliaro
2d5c70832c
v2: initial module support
2020-02-03 07:31:54 +01:00
Alexander Medvednikov
d87cb3f672
v2: consts, $if, attributes, globals, if/for type check, prefs
2020-02-03 07:03:32 +01:00
joe-conigliaro
7808f4c272
hash.wyhash: implement rand function from wyhash original impl
2020-02-03 06:02:28 +01:00
joe-conigliaro
7f709c3285
update copyright years
2020-02-03 05:00:36 +01:00
Delyan Angelov
da21b50750
gg,os: minimize memory allocation
2020-02-03 04:01:39 +01:00
Alexander Medvednikov
71653273f6
v2: range, *, function object
2020-02-02 14:32:12 +01:00
Don Alfons Nisnoni
4fc52948b3
mysql: wrap more APIs & organize module
2020-02-02 12:39:57 +01:00
Alexander Medvednikov
377d8dc42c
v2: parser_test: run all tests
2020-02-02 08:06:21 +01:00
Alexander Medvednikov
9f4661391d
v2: simplify the type system; an initial version of the V interpreter
2020-02-02 07:56:18 +01:00
toman222
932392a7fd
sqlite: modify exec functions + other fixes
2020-02-02 02:56:09 +01:00
Leah Lundqvist
0ef1ba9ad2
gg: added draw_empty_rounded_rect
2020-02-02 02:55:29 +01:00
Leah Lundqvist
4ca283380a
gg: scissor
2020-02-02 02:54:41 +01:00
joe-conigliaro
554d1dd7c6
compiler: make optionals work with multi return
2020-02-02 02:53:23 +01:00
prime31
f0efb42a30
cc: add file style selector to clang-format
2020-02-02 02:51:27 +01:00
joe-conigliaro
8bd17c8016
crypto.rand: update slice method to slice syntax & fix typo in error
2020-02-02 02:50:46 +01:00
joe-conigliaro
05374e162e
compiler: attribute test - fix typo in function name
2020-02-01 18:59:34 +11:00
Delyan Angelov
696926a557
compiler: add support for -pretty_c option
2020-02-01 06:37:22 +01:00
radare
bf9eefa694
parser: resolve optional enum type
2020-01-31 16:00:31 +01:00
radare
2fbfbf45c7
os: simplify read_lines(
2020-01-31 15:59:23 +01:00
Alexander Medvednikov
5f76bd04f9
V 0.1.25
2020-01-31 15:31:15 +01:00
Leah Lundqvist
aa625bc22c
gg: roundrects
2020-01-31 03:43:46 +01:00
penguindark
de832375b7
regix: fixes and optimizations
2020-01-31 02:29:54 +01:00
ka-weihe
23dd6e2294
hashmap: optimization of rehashing
2020-01-31 02:29:35 +01:00
joe-conigliaro
80d936adc1
fix attributes on public structs & enums
2020-01-30 01:27:13 +01:00
Leah Lundqvist
6c5879add9
gg: filled arcs and circles
2020-01-30 01:26:45 +01:00
Leah Lundqvist
ed55778d2a
math: fast aprox cos and sin
2020-01-29 05:12:43 +01:00
Alexey
5c598a3085
term: reorganize the module
2020-01-29 05:12:12 +01:00
ka-weihe
a14a5fbf95
hashmap: change hash-function to wyhash and add benchmarks
2020-01-29 04:06:05 +01:00
div72
5c29e7b257
http: fixed a bug with ignored user-agent
2020-01-29 04:05:37 +01:00
joe-conigliaro
0f1b0f7ed4
wyhash: update benchmark file location in comment
2020-01-29 10:12:44 +11:00
Alexey
5c00851b44
term: implement `get_terminal_size` for Windows
2020-01-28 23:44:57 +01:00
joe-conigliaro
007baa2305
hash: add wyhash + benchmark, add fnv1a, add u64.hex() ( #3584 )
2020-01-28 23:43:09 +01:00
penguindark
5a2534122e
regex: named capturing groups, small fixes
2020-01-28 20:34:11 +01:00
Delyan Angelov
9ac0c54eb0
term: fix too long h_divider lines in CI
2020-01-28 20:25:17 +01:00
Mateo Pidal
78c96fe989
term: get_terminal_size()
2020-01-28 05:18:19 +01:00
prime31
08d3401092
array: clear()
2020-01-27 22:31:48 +01:00
Leah Lundqvist
8986633624
gg: draw_arc()
2020-01-27 20:42:32 +01:00
Delyan Angelov
cce0b2425e
compiler: prevent vars named 'char' to cause a C error
2020-01-27 20:26:07 +01:00
ka-weihe
31899eac2a
hashmap: new load_factor and optimizations
2020-01-27 16:56:18 +01:00
Mike Redko
11aa5343b2
update copyright year in asm.v
2020-01-26 23:33:47 +01:00
Delyan Angelov
e9d3134814
glfw: implement glfw.window.set_should_close
2020-01-26 23:33:12 +01:00
Delyan Angelov
869c8e331e
stbi: make compilation faster by generating a stbi.o file
2020-01-26 12:41:43 +01:00
Khairul Azhar Kasmiran
edc44993d1
string: add another test for split_nth()
2020-01-25 19:12:36 +01:00
penguindark
15a63b5bcb
regex fixes
2020-01-25 19:12:23 +01:00
Alexander Medvednikov
222fc4b04f
parser: no struct fields warnings in C struct initializations
2020-01-25 07:15:49 +01:00
joe-conigliaro
71b50ae7fd
fix empty config struct with msvc
2020-01-25 02:11:07 +01:00
ka-weihe
7d797090ff
map: bring back b-tree
2020-01-24 20:13:59 +01:00
ka-weihe
6fd175d9be
hashmap: new and fast hashmap with dynamic size
2020-01-24 20:13:17 +01:00
Delyan Angelov
219239eadc
string.split_nth - return the rest of the string as the last value in the result array
2020-01-24 20:12:36 +01:00
Alexander Medvednikov
f55646746c
handle empty config structs
2020-01-24 18:57:32 +01:00
joe-conigliaro
2897bac549
crypto: remove extraneous casts & rename rand_lin to rand_linux
2020-01-23 22:49:13 +01:00
nsauk
dd61a22367
compiler: remove --lzma option from upx call
2020-01-23 22:06:49 +01:00
Delyan Angelov
7b18e5d198
compiler: add 'use -- instead of -= 1'
2020-01-23 21:09:47 +01:00
joe-conigliaro
6d6b2fdda8
compiler: fix depgraph. will also make it work with new b-tree map
2020-01-23 21:08:17 +01:00
joe-conigliaro
20f6cdc53a
compiler: fix module alias resolution
2020-01-23 21:07:53 +01:00
toman222
0a93d3b714
sha512: remove unnecessary cast warnings
2020-01-23 21:07:16 +01:00
Henrixounez
f3f50349b2
compiler: fix check restricted names in for..in statement
2020-01-23 21:06:57 +01:00
Shun Sakai
c8c43a2475
update copyright year
2020-01-23 21:04:46 +01:00
joe-conigliaro
82da001faf
sokol: fix issue causing win test to fail introduced in 0502a54
2020-01-23 21:56:12 +11:00
joe-conigliaro
543e8dc78a
v2: fix bug in scanner, introduced in da9b639
(_ in num literals)
2020-01-23 21:47:13 +11:00
penguindark
da9b6394e8
0bxxxx binary literal support; _ in literals (1_000_000)
2020-01-23 03:28:25 +01:00
S-YOU
7b345e207d
pico.v and dependencies
2020-01-23 03:26:30 +01:00
toman222
5c6032d272
math.bits: fix warnings regarding unnecessary casts
2020-01-22 22:06:40 +01:00
Alexander Medvednikov
a6e1a74f1d
gg: windows fix
2020-01-22 21:36:52 +01:00
Alexander Medvednikov
59b3fc75d0
tmp fix generic test
2020-01-22 21:30:35 +01:00
Alexander Medvednikov
0502a54a36
new gg/freetype modules with sokol/fontstash backends
2020-01-22 20:54:36 +01:00
Abdullah Atta
43ba6766ba
improve eventbus
2020-01-22 17:41:08 +01:00
Charles WANG
136c469ef7
array: more eq functions
2020-01-21 18:49:30 +01:00
Jeremy Andrews
dd5751df0c
v test v has been deprecated
2020-01-21 18:48:32 +01:00
Delyan Angelov
f4834bd85d
compiler: fix stuck parsing of 'enum{}' + handle such bugs
2020-01-21 18:47:52 +01:00
KJ Lawrence
ae3d84df6b
os: add open_file function
2020-01-21 16:58:47 +01:00
d2verb
5deb29a7c9
compiler: update cheaders.v for NetBSD support
2020-01-21 16:55:07 +01:00
Delyan Angelov
d92291dd76
repl: execute REPL tests ~1.5x to 2x faster
2020-01-20 23:04:26 +01:00
Delyan Angelov
64a9f43405
Make REPL tests parallel too
2020-01-20 17:06:36 +01:00
nsauk
84438c0139
time: add str()
2020-01-20 15:06:15 +01:00
Alexander Medvednikov
d1664dc511
freetype: max_width
2020-01-20 05:14:49 +01:00
Alexander Medvednikov
ab368bdc53
array: test `arr << arr`
2020-01-19 22:15:37 +01:00
Delyan Angelov
0d52cc97e4
sync: make new_mutex() and new_waitgroup() return &Mutex and &Waitgroup
2020-01-19 20:32:22 +01:00
Delyan Angelov
bc64263dd8
freetype: fix placement of highdpi and lowdpi texts
2020-01-19 20:30:53 +01:00
Delyan Angelov
bfaf2a4a62
freetype: cleanup calculation of text y position while drawing the text
2020-01-19 16:01:08 +01:00
sha0coder
990e44cd14
ftp: protocol compatibility
2020-01-19 13:53:13 +01:00
joe-conigliaro
3a8b437b8d
v2: move array_init to checker
2020-01-19 13:52:34 +01:00
Alexander Medvednikov
cf1fd6e950
array: fix arr << arr bug
2020-01-19 12:11:58 +00:00
Alexander Medvednikov
b1602c72ad
v2: a simple fix
2020-01-19 02:44:18 +01:00
joe-conigliaro
09d1eb7c55
v2: type checker + lots of other changes
2020-01-18 23:26:14 +01:00
Delyan Angelov
8c1b03c731
freetype: text_size() so that users can retrieve the vertical size of a text too
2020-01-18 20:08:11 +01:00
S-YOU
09e390eac5
remove string clone because cJSON already did internally
2020-01-18 17:40:58 +01:00
penguindark
36660ce749
regex: bug fixes, docs
2020-01-18 07:38:00 +01:00
Alexander Medvednikov
b2be36d92e
fix sokol on windows
2020-01-18 06:27:39 +01:00
Delyan Angelov
24d34a4f2c
sokol: fix building of examples and ci tests
2020-01-17 20:05:45 +01:00
Alexander Medvednikov
3d57d3bb7b
cc.v: fix C error message part 2
2020-01-17 19:44:03 +01:00
Alexander Medvednikov
2cd24ea722
cc.v: fix C error message
2020-01-17 19:30:45 +01:00
vitalyster
436603aa44
compiler: show last 200 lines in partial output
2020-01-17 14:09:37 +01:00
Delyan Angelov
ddc04979a4
deprecate `v runrepl` in favour of `v repl`
2020-01-17 14:09:26 +01:00
Alexander Medvednikov
62481e88f3
sokol and fontstash modules
2020-01-16 20:45:52 +01:00
Delyan Angelov
cc606623bb
enable `$if !network {` checks in net tests
2020-01-16 19:44:16 +01:00
Alexander Medvednikov
e1132156f5
make sqlite.DB public; make string.left/right private
2020-01-16 18:41:38 +01:00
Chris Watson
84a6c019e8
http: refactor and reduce duplication
2020-01-16 18:16:11 +01:00
Alexander Medvednikov
756c6d2858
freetype: fix align.right rendering
2020-01-16 17:03:34 +01:00
Delyan Angelov
57f72f6cd8
compiler: support optional custom comptime defines: $if custom ? {
2020-01-16 15:28:23 +01:00
penguindark
d6448ee5d6
regex: update README.md
2020-01-16 02:07:36 +01:00
penguindark
25fabac059
regex 0.9c
2020-01-16 00:39:33 +01:00
Alexander Medvednikov
de3ad2b04f
fix vweb tutorial project; clean up gg functions a bit
2020-01-15 22:17:45 +01:00
Mateo Pidal
502ee8a56c
android symlink fix
2020-01-15 19:40:03 +01:00
Kai
9f31390ff1
http: PATCH, DELETE, and PUT methods
2020-01-14 23:19:50 +01:00
Delyan Angelov
4838dda59a
compiler: make [live] fn unlock its mutex on early return
2020-01-14 18:58:46 +01:00
Swastik Baranwal
26374971ab
time: fix logic
2020-01-14 18:12:28 +01:00
Swastik Baranwal
2741c0b211
string: new type conversion functions
2020-01-14 18:05:38 +01:00
Alexander Medvednikov
6b3f54692a
allow short struct initialization with Config structs
2020-01-14 15:34:47 +01:00
Alexander Medvednikov
0b235cc893
temporary nil fn check
2020-01-14 13:15:09 +01:00
penguindark
25e7ceeef0
regex 0.9b 'replace' and 'find_all' added
2020-01-14 02:45:08 +01:00
Mateo Pidal
e87e5e33a7
fix symlink for Termux on Android
2020-01-14 01:34:30 +01:00
Delyan Angelov
fcc10d6358
gg: fixes same image twice lead to invisible rectangles sometimes
2020-01-13 19:59:31 +01:00
invisiblesoldiers
74713ffb62
encoding.binary: removed unneeded castings, rename function
2020-01-13 19:58:14 +01:00
Delyan Angelov
4a82770f16
fix warnings about clipboard when building ui on linux
2020-01-13 17:53:56 +01:00
Alexander Medvednikov
4c55d3677d
ui: skip initialization warning for now
2020-01-13 13:40:50 +01:00
penguindark
8ea0c08a38
vlib.regex module in pure V
2020-01-13 13:30:41 +01:00
Alexander Medvednikov
6733b12ec3
android: use __ANDROID__
2020-01-13 00:20:16 +01:00
Alexander Medvednikov
e72dfc3212
freetype: remove unused import
2020-01-12 20:08:24 +01:00
Alexander Medvednikov
4c7df98ac9
make private struct warning an error
2020-01-12 19:59:57 +01:00
Alexander Medvednikov
e159347c10
gg: remove 2 prints
2020-01-12 19:54:47 +01:00
Frederico Silva
2678f9289e
pg: connect, use password
2020-01-12 19:35:20 +01:00
Delyan Angelov
f317b65808
ui: fixes so that the ui demo works on linux too
...
* Implement os.resource_abs_path/1 .
* Implement glfw.get_window_size and glfw.get_framebuffer_size .
2020-01-12 19:35:06 +01:00
Alexander Medvednikov
b6c0b22742
interfaces fixes; freetype.text_width(); gl and stbi fixes
2020-01-12 16:11:28 +01:00
Alexander Medvednikov
938f27e391
remove ui example now that ui has been moved to a separate repo
2020-01-12 03:05:04 +01:00
Delyan Angelov
ba699d8b4f
compiler: fix error in case of void function used as a value
2020-01-12 01:46:25 +01:00
Don Alfons Nisnoni
f7f5f43c48
mysql: add select_db method
2020-01-11 13:25:59 +01:00
Swastik Baranwal
e3db628d0c
parser: add checks for if statement
2020-01-11 13:21:35 +01:00
Delyan Angelov
06f581e146
vfmt: support for vid like projects having many module main .v files
2020-01-10 23:33:35 +01:00
Swastik Baranwal
5537b09492
parser: add check for string casting
2020-01-10 19:59:15 +01:00
vitalyster
66a6fa163e
windows: read console using ReadFile/ReadConsole ( #3387 )
2020-01-10 14:06:40 +01:00
vitalyster
8412c6f03f
windows: println using WriteFile/WriteConsole
2020-01-09 22:47:13 +01:00
Delyan Angelov
7bf49aba54
vv: make warns/errors usable in emacs/vim
2020-01-09 14:08:33 +01:00
Delyan Angelov
7882312697
rename $if mac => $if macos , _mac.v => _darwin.v
2020-01-09 11:12:35 +01:00
Alexander Medvednikov
29564ed63d
interface fix
2020-01-09 01:40:10 +01:00
Delyan Angelov
c1cc203c17
tools: bugfixes and new features for oldv and performance_compare
2020-01-08 21:45:47 +01:00
Delyan Angelov
0d93eeb3fe
compiler: move prelude files to tools/preludes/
2020-01-08 17:57:41 +01:00
Contextualist
2a98cacecd
tools: distinguish complier args and tool args
2020-01-08 17:15:05 +01:00
joe-conigliaro
38e5f0d1cf
v: initial type work for methods / struct fields
2020-01-08 17:14:42 +01:00
Alexander Medvednikov
e70ef5334a
fix array copy; ci: test prebuilt Windows package
2020-01-08 11:33:09 +01:00
Alexander Medvednikov
e3275f6083
fix array_test.v
2020-01-08 10:27:20 +01:00
Alexander Medvednikov
3c0fca9258
register methods (wip)
2020-01-08 10:19:18 +01:00
Krzysztof Starzyk
3425934c39
flag: remove println from parse_raw
2020-01-07 18:37:01 +01:00
Alexander Medvednikov
9861b24bc3
struct field check + enable v2 again
2020-01-07 16:09:20 +01:00
joe-conigliaro
2ab7b40f2f
v: clean up enum vals; make array_init return array
2020-01-07 15:46:57 +01:00
Delyan Angelov
fb0817277f
compiler: force .exe extension, when compiling on windows
2020-01-07 15:42:14 +01:00
Alexander Medvednikov
d823d82207
array type fix; method registration
2020-01-07 13:10:09 +01:00
Delyan Angelov
6d30697d9b
time: move time.random() to time.misc module
...
avoids importing rand to programs that do not need pseudo random generation).
2020-01-07 12:58:24 +01:00