Delyan Angelov
e72fe25224
compiler: more precise 'declared and not used' error positioning
...
* compiler: extract and cleanup error handling functionality into its own file compiler/compile_errors.v
* compiler: implement p.error_with_token_index and p.warn_with_token_index and use them. Fix tests.
* tools/performance_compare: add a 'Source lines in compiler/' line
* MSVC does not have STDOUT_FILENO nor STDERR_FILENO ...
2019-09-29 20:37:39 +03:00
hazohelet
6d483c0a56
parser: float1 == float2 uses machine epsilon by default
2019-09-29 18:27:53 +03:00
joe-conigliaro
918edad525
crypto: make sum methods safe
2019-09-29 16:44:52 +03:00
Alexander Medvednikov
ee8ff39454
rename ModPath to v_modules_path; do not allow long variable names without _
2019-09-29 05:34:17 +03:00
Delyan Angelov
8b8cd13929
parser: add some infrastructure for more specific errors
...
* compiler: change s.line_nr in just one place, so that s.last_nl_pos will be updated in tandem too.
* Cleanup spurious spaces.
* Store ScannerPos info inside the cached tokens.
Use the stored information when errors are encountered.
* Fix #2079 ( cannot use type...in assignment ).
* do not store scannerpos per each token, instead rescan the source once on error to get the position.
* compiler: implement highlighting for errors. Use only line/col info stored in the cached tokens.
* fixing building on windows
* Split can_show_color to _nix and _win files.
2019-09-29 04:33:23 +03:00
Alexander Medvednikov
d68e31a863
fix os_win.v
2019-09-29 04:16:15 +03:00
Alexander Medvednikov
a52662fca0
do not allow duplicate methods; fix os_win.v; minor fixes and docs
2019-09-29 04:13:32 +03:00
Alexander Medvednikov
ed93185cb7
fix base64 test
2019-09-28 22:23:22 +03:00
sunnylcw
4b03abdaff
compiler: enable FreeBSD's cflags for freetype & glfw
2019-09-28 14:18:04 +03:00
Delyan Angelov
366c50674c
tooling: add tools/compare_v_performance_between_commits
...
easily compare v performance/size across commits.
* fix eprintln on linux (it now uses stderr, and flushes it).
* flag: cleaner usage information.
2019-09-28 14:17:16 +03:00
hazohelet
fd2d9c214c
f64: fix .eq()
2019-09-28 14:04:03 +03:00
joe-conigliaro
fbd414fd2f
crypto.md5: fix u64 modulus operation
2019-09-28 14:02:57 +03:00
Delyan Angelov
6bba4b1be0
string: document the tradeoffs for V strings
2019-09-28 13:54:30 +03:00
Alexander Medvednikov
60eb73adb4
array: single element array test
2019-09-28 13:52:38 +03:00
lutherwenxu
a4d2633a33
string: Properly null-terminate repeated string
2019-09-28 13:31:12 +03:00
Alexander Medvednikov
a5391c8882
string.repeat: re-write without a libc function call
2019-09-28 02:51:42 +03:00
Alvydas Vitkauskas
931b71c428
string: improve repeat()
2019-09-27 15:49:09 +03:00
vitalyster
a1e45e3247
darwin: use system ssl headers
2019-09-27 01:35:25 +03:00
Alexander Medvednikov
74bbf592d1
solaris: another fix
2019-09-27 00:30:41 +03:00
Alexander Medvednikov
fcf8f7fc93
solaris: small fix
2019-09-27 00:24:15 +03:00
Alexander Medvednikov
107e9107c8
solaris support
2019-09-27 00:23:27 +03:00
Don Alfons Nisnoni
fb4f14ba76
string: add repeat() method
2019-09-26 22:54:53 +03:00
vitalyster
9834ccfcd9
windows: Unicode and IPv6 http/sockets
...
cleanup schannel implementation (drop NT4.0 compatibility, use unicode strings, etc)
restore http tests
fix socket test: it did not throw before
2019-09-26 22:54:15 +03:00
joe-conigliaro
47da52b85b
crypto.[sha256/sha512]: remove extraneous casts & use rotations from math.bits
2019-09-26 16:38:12 +03:00
joe-conigliaro
c069525e8c
crypto.[md5/rc4/sha1]: remove extraneous casts
2019-09-26 14:57:31 +03:00
joe-conigliaro
f1f720cc78
pg: update optional return syntax
2019-09-26 14:23:29 +03:00
joe-conigliaro
896f978b94
crypto.aes: remove extraneous casts
2019-09-26 14:22:47 +03:00
joe-conigliaro
a5ea7e4304
math.bits: remove extraneous casts
2019-09-26 14:14:04 +03:00
Alexander Medvednikov
04e4018228
compiler: small fixes + some logic for freeing strings
2019-09-26 03:24:58 +03:00
Don Alfons Nisnoni
b1f0df0fd1
mysql: make compile
2019-09-26 03:18:26 +03:00
Delyan Angelov
33df5edc08
http: remove const started, use _ instead
2019-09-25 23:58:32 +03:00
Delyan Angelov
ab291902d8
compiler: remove special case for http__init_module call
...
tmp fix until `fn init()` is supported
2019-09-25 23:28:51 +03:00
Alexander Medvednikov
4c898ab6b3
strings: simplify repeat()
2019-09-25 22:08:51 +03:00
joe-conigliaro
d4bae356ba
compiler/vlib: add error for no new vars in loop ("_,_") & remove "." from errors
2019-09-25 17:59:50 +03:00
joe-conigliaro
8974aa4513
compiler/vlib: change `_ :=` to `_ =` and disable `_ :=`
2019-09-25 15:10:45 +03:00
Alexander Medvednikov
ab52b453cb
map: make .keys() pure
2019-09-25 05:56:10 +03:00
Alexander Medvednikov
f7d8fb0cf4
string: bring back old index() without an allocation
2019-09-23 23:34:42 +03:00
Alexander Medvednikov
d2d75f3824
parser: do not allow "int?", only "?int"
2019-09-23 23:17:06 +03:00
Alexander Medvednikov
8d52d877fb
compiler: free local_vars
2019-09-23 22:16:52 +03:00
Delyan Angelov
0e39df24d4
net: make socket.recv return the allocated buffer and the message length
2019-09-23 19:48:18 +03:00
Alexander Medvednikov
bf1ee28194
ui: Objective-C @interface support for Cocoa; minor clean-ups
2019-09-23 15:54:17 +03:00
Henrixounez
db44004d51
readline: utf8 compatibility
2019-09-23 13:43:24 +03:00
joe-conigliaro
23c84516e2
compiler: error on unused imports
2019-09-23 13:42:20 +03:00
Alexander Medvednikov
b4207e1be7
compiler: allow "u64_var == 0" without casting the const literal
2019-09-23 02:14:10 +03:00
joe-conigliaro
7aaf4012e4
math.bits: add missing pub to fn's
2019-09-23 00:51:03 +03:00
Delyan Angelov
1b91b31698
rand: add pcg32 and splitmix64 implementations
2019-09-23 00:50:22 +03:00
Delyan Angelov
7421781150
CI: split jobs into more steps; compiler: fix "v test v" with tcc
2019-09-22 17:24:15 +03:00
luoheng
f1d5f8e2bf
parser: allow `!` only with bools
2019-09-21 18:21:45 +03:00
Alexander Medvednikov
a232b215a7
double quotes for denoting strings
2019-09-21 17:18:02 +03:00
Michiel Vlootman
9b7ca248f0
similarity.v: update a comment
2019-09-21 14:59:06 +03:00
vitalyster
111007470e
array: malloc => calloc
2019-09-21 02:29:09 +03:00
Henrixounez
ffcff9ebd4
builtins: ustring comparisons, concatenation and other functions
2019-09-20 19:07:38 +03:00
joe-conigliaro
d80a3365c4
math.bits: add some more helpers, to be used in upcoming biginteger
2019-09-20 17:39:36 +03:00
vitalyster
a42b4e219c
net.socket: windows fixes and test
...
* added missing ai_canonname in addrinfo structure
* ai_canonname, ai_addr and ai_addrlen must be zeroed before getaddrinfo call
* write() must not be used on windows sockets
* added (Socket).get_port() function which is useful when socket was initialized with 0 (random) port
* tests is fixed, test server started listening on random port to avoid conflicts
2019-09-20 17:04:39 +03:00
vitalyster
f1bb25bfaf
windows: Unicode input in REPL
2019-09-20 17:03:13 +03:00
joe-conigliaro
486b3d2f92
crypto.rand: fix rand test from failing sometimes
2019-09-19 13:12:40 +03:00
Alexander Medvednikov
a94c1556ce
array: remove temporary repeat2()
2019-09-19 05:22:24 +03:00
Alexander Medvednikov
cb31eeec55
compiler: first step to require explicit definition of imported C fns
2019-09-19 05:16:25 +03:00
joe-conigliaro
b9cc6535f6
crypto.rand: rename read_u64 to int_u64 + clean up
2019-09-18 16:12:16 +03:00
joe-conigliaro
f187c35fb2
vlib: inline certain functions
2019-09-18 15:45:32 +03:00
Alexander Medvednikov
d1500511e6
"none" keyword for optionals + more memory fixes
2019-09-18 14:15:10 +03:00
joe-conigliaro
32ad33558d
crypto.rand: add PRNG function read_u64
2019-09-17 22:03:54 +03:00
Alexander Medvednikov
0a2f7a6ba7
fix tests
2019-09-17 13:37:25 +03:00
Alexander Medvednikov
1397d532c6
compiler: check if mutable receivers are modified
2019-09-17 13:10:43 +03:00
joe-conigliaro
9c9e6290a6
remove unnecessary mut argument ( #2016 )
2019-09-17 01:09:19 +03:00
Alexander Medvednikov
19b04d5427
math: fix const warnings
2019-09-16 22:49:18 +03:00
Nicolas Sauzede
ff009f1c4e
rand: rand_r(seed)
2019-09-16 22:21:21 +03:00
vitalyster
f7a0fefe27
glfw: printf -> println
2019-09-16 21:07:34 +03:00
Alexander Medvednikov
c76d09f9a5
make V.js compile
2019-09-16 18:31:13 +03:00
Delyan Angelov
7cf7215557
testing: always show benchmarks
2019-09-16 18:27:55 +03:00
hazohelet
9158ba4640
vlib: add Android checks to build V on Android
2019-09-16 18:23:11 +03:00
Delyan Angelov
a45895a3af
new benchmark module + make the tests use it
2019-09-16 17:29:06 +03:00
joe-conigliaro
075a8e5ccb
compiler: improve typo detection
2019-09-15 20:07:12 +03:00
Alexander Medvednikov
3db4d66824
operator | not defined on bool
2019-09-15 19:35:48 +03:00
Alexander Medvednikov
48c05b5a45
cgen: use *char in all functions with *char args to avoid warnings
2019-09-15 18:56:33 +03:00
Alexander Medvednikov
849bef987c
more C warnings fixed
2019-09-15 15:53:57 +03:00
Alexander Medvednikov
3e923871cf
compiler: use *char() cast in C functions to afix warnings
2019-09-15 15:19:18 +03:00
joe-conigliaro
f077fbd32d
vlib: change `[0;n]` to `[0].repeat(n)`
2019-09-15 12:26:05 +03:00
Henrixounez
602e472b8a
builtin: getchar for unicode characters
2019-09-15 04:41:24 +03:00
Henrixounez
04ff9ede9f
readline: allow writing without tty + small fixes
2019-09-15 04:33:31 +03:00
Alexander Medvednikov
5cc81b91cb
JavaSript backend (early stage)
2019-09-15 03:49:57 +03:00
Vitor Oliveira
1a099c9284
vlib: fix several typos
2019-09-14 23:54:14 +03:00
joe-conigliaro
81bf67ba4f
hash.crc32: change *Crc32 to &Crc32
2019-09-13 22:45:04 +03:00
joe-conigliaro
5aaa794519
compiler: clean up the typo check
2019-09-13 16:15:30 +03:00
Alexander Medvednikov
9dd86f6fb8
compiler: more memory logic + replace "cur_fn &Fn" with "cur_fn Fn"
2019-09-13 15:47:31 +03:00
joe-conigliaro
41734affb3
compiler: detect typos in function/variable/module names
2019-09-13 14:10:24 +03:00
iRedMail
92b634de7c
Fixes old syntax and make Row.vals mutable
...
- Replace `*` by `&` for C code
- Make `Row.vals` mutable. Otherwise line 56 will raise error.
2019-09-13 00:46:51 +03:00
Henrixounez
af60f9ead4
compiler: escapes quote on literals
2019-09-11 15:48:08 +03:00
Alexander Medvednikov
9853323157
array: make ".contains()" private, use "in" everywhere
2019-09-11 15:12:13 +03:00
Delyan Angelov
a53c69de38
os: use path separator more consistently
2019-09-11 01:08:23 +03:00
Alexander Medvednikov
7fc678c961
fix urllib_test.v
2019-09-09 14:21:18 +03:00
Alexander Medvednikov
00687de43b
memory: clean up all arrays in the V compiler
2019-09-09 13:55:47 +03:00
Alexander Medvednikov
735c78fc6d
fix bitfield.v
2019-09-09 02:38:15 +03:00
Alexander Medvednikov
a6ec6e23bc
bf: minor clean up
2019-09-09 02:31:43 +03:00
Alexander Medvednikov
31c9a2a744
fix bitfield_test.v
2019-09-08 17:55:27 +03:00
Alexander Medvednikov
ae866260c8
bf: rename to bitfield
2019-09-08 17:45:51 +03:00
Alexander Medvednikov
6dcdb224a1
bf: fix resize()
2019-09-08 16:10:59 +03:00
Alexander Medvednikov
dcc42c858b
glfw: GPU driver info
2019-09-08 15:54:16 +03:00
Alexander Medvednikov
76a89c832e
parser: small optimizations
2019-08-26 01:19:39 +03:00
Flavien CADET
c1f76aec3a
vweb: fix a typo
2019-09-06 20:30:20 +03:00