1
0
mirror of https://github.com/vlang/v.git synced 2023-08-10 21:13:21 +03:00
Commit Graph

782 Commits

Author SHA1 Message Date
Alexander Medvednikov
5faa7e7861 Revert "repl: add readline for user input "
This reverts commit 83732642ac.
2019-10-17 03:37:30 +03:00
Henrixounez
83732642ac repl: add readline for user input 2019-10-16 18:38:07 +03:00
Henrixounez
99e07718da readline: fix reading on linux, crash on mac 2019-10-16 12:46:24 +03:00
joe-conigliaro
280ccfa177 math: fns for gettng bit repr of float & vice versa 2019-10-16 11:19:03 +03:00
Alexander Medvednikov
66f36be7d0 Revert "repl: readline line editing "
This reverts commit 1956c6f906.
2019-10-16 03:31:48 +03:00
Alexander Medvednikov
00fd1abf82 readline: fix macos 2019-10-16 03:20:40 +03:00
Alexander Medvednikov
526f1a3172 Revert "Revert "parser: fix programs without fn main""
This reverts commit 61af044316.
2019-10-16 03:20:16 +03:00
vitalyster
9b38f59184 msvc: detect x86 host and use x86 build tools 2019-10-16 02:54:35 +03:00
Henrixounez
1956c6f906 repl: readline line editing 2019-10-16 02:50:48 +03:00
vitalyster
0e0f0ae5ea escape os.exec('"$vexec"') to support directories with spaces 2019-10-16 02:49:51 +03:00
Simon Heuser
a5d61f6da0 math.complex: make fields public 2019-10-15 12:43:28 +03:00
Alexander Medvednikov
49d6c26da4 parser: do not allow str[i++]; update contributing.md 2019-10-15 11:06:22 +03:00
Henrixounez
bb1eca3564 readline: basic mac and windows version using os.getline 2019-10-15 09:04:22 +03:00
Alexander Medvednikov
75e2a29cb5 string: bring back strtoul for now 2019-10-15 08:53:35 +03:00
Alexander Medvednikov
f9593bd857 builtin: float.v + remove #include <math.h> 2019-10-15 08:41:45 +03:00
Alexander Medvednikov
4b176ba855 string: test i64() and u64() 2019-10-15 04:26:19 +03:00
Alexander Medvednikov
10ed65bc12 fix float.eq() 2019-10-15 03:45:11 +03:00
Alexander Medvednikov
91690a1b54 fix f64 tcc eq crash 2019-10-13 04:27:57 +03:00
joe-conigliaro
ae3ec380f8
add notice about msvc compilation (#2340) 2019-10-14 18:36:29 +11:00
Nicolas Sauzede
eb031b6800 compiler: enhance non-pub struct fields error message 2019-10-14 10:15:21 +03:00
Alexander Medvednikov
2d127cb694 tcc windows fixes 2019-10-14 09:03:11 +03:00
Alexander Medvednikov
a68222b55b comptime: fix tcc check 2019-10-14 08:53:03 +03:00
joe-conigliaro
9a2b8a0814
compiler: move msvc compiler to -cc flag instead of -os (#2338)
* move msvc to -cc flag instead of -os

* undo unrelated change

* do first build without msvc

* remvove flags temp

* fix comment
2019-10-14 16:41:46 +11:00
Alexander Medvednikov
093d8a2b00 compiler: remove math dependency 2019-10-14 08:34:48 +03:00
joe-conigliaro
7dc740d084
CI: fis vjs build failure (#2337)
* fix ci building v

* fix v.js

* more js fix

* test

* fix

* remove testing
2019-10-14 15:42:27 +11:00
joe-conigliaro
de10a529b0 CI: fix building v 2019-10-14 07:08:02 +03:00
Alexander Medvednikov
e2bca190a9 compiler: v.v fixes 2019-10-14 05:18:48 +03:00
joe-conigliaro
e5b0478e19
compiler: optimize, don't rescan module directory for files (#2334)
* optimize, don't rescan module directory for files
* move from table to v
2019-10-14 12:07:59 +11:00
Alexander Medvednikov
6a951751f7 compiler: fix building_v 2019-10-14 03:56:53 +03:00
Alexander Medvednikov
b237ffcf09 Revert "move compiler/main.v to v.v"
This reverts commit 3748de8736.
2019-10-14 03:48:36 +03:00
Alexander Medvednikov
3748de8736 move compiler/main.v to v.v 2019-10-14 03:38:06 +03:00
Alexander Medvednikov
61af044316 Revert "parser: fix programs without fn main"
This reverts commit bf21108fdb.
2019-10-13 17:55:12 +03:00
Alexander Medvednikov
b1806b57d8 tests: no main fn 2019-10-13 17:50:55 +03:00
joe-conigliaro
a90427a663 parser: fix variadic function unused var C error 2019-10-13 16:58:54 +03:00
Delyan Angelov
53c64abdeb compiler: make compiler an ordinary vlib/compiler module
* Move compiler/ under vlib/compiler/ .

* Add a minimal compiler/main.v driver program.

* Cleanup compiler/main.v .

* Make most compiler tests pass again.

* Apply the fix by @joe-conigliaro , so that the rest of the compiler tests are fixed too.

* Thanks to @avitkauskas, now the vlib/vcompiler/tests/str_gen_test.v test does not need to be special cased anymore.

* Reapply @joe-conigliaro fix for vgen.
2019-10-13 16:37:43 +03:00
Alexander Medvednikov
ae2af4c36d parser: a small immutable field fix 2019-10-13 01:50:19 +03:00
Nicolas Sauzede
1292163637 runtime: add windows support for nr_cpus() 2019-10-13 01:01:15 +03:00
Alexander Medvednikov
432e074b4e fix complex_test.v 2019-10-12 22:39:18 +03:00
Alexander Medvednikov
a76165828b snake_case consts 2019-10-12 22:36:14 +03:00
Alexander Medvednikov
81f8b26127 os.path_separator 2019-10-12 22:18:19 +03:00
Vitalie Ciubotaru
ae6a426689 bitfield: remove workaround in assignment operations 2019-10-12 22:03:18 +03:00
joe-conigliaro
a06e2298f0 compiler: detect and error on public init function & remove empty init functions 2019-10-12 13:54:58 +03:00
Don Alfons Nisnoni
5ef2c947f7 szip: use &zip instead of *zip (#2301) 2019-10-12 12:46:33 +03:00
joe-conigliaro
40156392f8
compiler: cached modules - windows fixes & organise cached module path (#2302)
compiler: cached modules - windows fixes & organise cached module path (#2302)
2019-10-12 16:41:41 +11:00
joe-conigliaro
dd053d79b0 vlib/examples: fix gl/glfw/gg examples. rename init functions 2019-10-12 06:03:15 +03:00
Alexander Medvednikov
b107b4f1e5 modules: create the modules directory if it's missing, use cache/ 2019-10-12 05:04:59 +03:00
Alexander Medvednikov
4c91a5c94b module caching: generate type aliases 2019-10-12 04:09:37 +03:00
Alexander Medvednikov
4cd9099f74 disable $if for headers for now 2019-10-12 03:49:36 +03:00
Alexander Medvednikov
6db7518189 make $if work with includes: skip the body if the target is different 2019-10-12 03:48:32 +03:00
joe-conigliaro
51388fea75 compiler: module init function & init consts for cached modules 2019-10-12 01:17:37 +03:00
Don Alfons Nisnoni
c7e47e6884 array: minor clean up 2019-10-12 00:06:30 +03:00
Delyan Angelov
2b087dbf95 backtraces: add source line numbers too on linux
* Add source line numbers to backtraces on linux.

* Fix -g (broken after token caching).

* reset the #line directives after all the v code is compiled

* cleanup p.cgen.line setting inside p.next() .

* Support windows filepaths like "C:\Users\travis\build\vlang\v\v.exe.tmp.c" inside generated #line directives.

* Try to diagnose better windows-gcc failing.

* Revert "Try to diagnose better windows-gcc failing."

* implement and use cescaped_path/1 .

* Use cescaped_path/1 consistently throughout compiler/ .
2019-10-12 00:04:42 +03:00
Alexander Medvednikov
9193242a76 fix runtime module test 2019-10-11 14:16:02 +03:00
Alexander Medvednikov
af46bf515f glfw: bring back 64 bit glfw3.dll 2019-10-11 13:47:56 +03:00
Alexander Medvednikov
52c2fa44b8 runtime: nr_cpus() 2019-10-11 13:47:56 +03:00
Alexander Medvednikov
a280e98d7f fix the build 2019-10-11 06:57:08 +03:00
Alexander Medvednikov
726aaecc46 compiler: make V compilable wit the tcc backend 2019-10-11 06:49:53 +03:00
Don Alfons Nisnoni
942c56ca95 array: add reduce() method 2019-10-11 04:12:40 +03:00
Alexander Medvednikov
e1dd4c19b5 compiler: cache modules if they are not built yet 2019-10-10 22:53:59 +03:00
vitalyster
a5ccc4673b http: handle and print socket errors 2019-10-10 20:24:36 +03:00
vitalyster
f86a52aae6 socket: reuse socket parameters in addrinfo hints 2019-10-10 20:09:43 +03:00
Delyan Angelov
e61dce6441 freetype: fix compiler warning about ctx._draw_text 2019-10-10 20:09:19 +03:00
vitalyster
e64609387d term: colors on Windows console
* isConsole moved to builtin is_atty function
* Windows console initialization moved to builtin.init
2019-10-10 20:08:36 +03:00
joe-conigliaro
f8fefd5a60 urllib: rem underscore methods from; add strings index_bytes 2019-10-10 20:04:11 +03:00
Delyan Angelov
f3abb9e682 fix 'v -debug examples/hello_world.v' 2019-10-10 20:02:32 +03:00
Alexander Medvednikov
9385ed27ae fix v.js 2019-10-10 01:27:16 +03:00
Alexander Medvednikov
1f6535afb0 array/map: remove _get(), _push() etc 2019-10-10 01:15:19 +03:00
Alexander Medvednikov
2411b8d1e7 module cache fixes; do not allow function names starting with _ 2019-10-10 00:44:26 +03:00
vitalyster
0796e1dd69 socket: no need to initialize WinSock on each request 2019-10-09 21:01:31 +03:00
Alexander Medvednikov
b1da59845e array: fix initialization of empty fixed size arrays 2019-10-09 15:26:30 +03:00
Alexander Medvednikov
29f578d172 cc: bring back os.rm() 2019-10-09 07:02:45 +03:00
Alexander Medvednikov
7690b58691 remove experimental os2 test 2019-10-09 06:41:55 +03:00
Alexander Medvednikov
a9a73d9315 caching modules: almost there 2019-10-09 06:35:58 +03:00
Unknown User
c1eb714a7f bitfield: change [0;n] to [0].repeat(n) 2019-10-08 13:24:02 +03:00
Unknown User
6edc25f512 pg: remove unused imports 2019-10-08 13:23:39 +03:00
Don Alfons Nisnoni
fecf3f19c3 array: add filter() method 2019-10-08 13:23:17 +03:00
vitalyster
e10848e0d5 windows: read console with ReadConsole when it is not redirected 2019-10-08 12:29:09 +03:00
Delyan Angelov
60d4f47f7a improve crash diagnosis/detection when a test segfaults 2019-10-08 02:34:55 +03:00
Delyan Angelov
ac5241b5bd compiler: implement -stats option for running a _test.v file
* Draft implementation of `v -stats file_test.v` .

* compiler: call stuff in vlib/benchmark/tests/always_imported.v, when doing `v -stats file_test.v`

* Nicer looking output from 'v -stats file_test.v' .

* Tweak colors and layout of -stats file_test.v .

* Fix a hardcoded path in compiler/main.v .

* Show colorized OK/FAIL for the examples in 'v test v' too.

* Add some comments about the purpose of the methods inside vlib/benchmark/tests/always_imported.v .

* when fails are 0, do not colorize their number at all.
2019-10-07 08:51:26 +03:00
Alexander Medvednikov
f1923d454c parser: make verbose mode less verbose 2019-10-07 01:25:53 +03:00
Henrixounez
5acadbab32 readline: optional return, automatic raw mode and standalone functions 2019-10-06 16:28:41 +03:00
Enrico Lefass
b0573bd4e4 time: add new public format function ddmmy() 2019-10-06 16:24:37 +03:00
Alexander Medvednikov
b242e8d7ff optimize a in [1,2,3] to a == 1 || a == 2 || a == 3 2019-10-06 06:07:38 +03:00
Alexander Medvednikov
65aafb3cf1 3d arrays are not supported yet 2019-10-06 04:18:55 +03:00
Alexander Medvednikov
6a0599b5f4 raw strings with r'raw' 2019-10-06 04:11:08 +03:00
Alexander Medvednikov
735336e569 array: 2d and 3d test 2019-10-05 16:03:19 +03:00
joe-conigliaro
72ae12877e
remvoe dupe in main & fix js string.builder (#2233) 2019-10-05 18:07:10 +10:00
Alexander Medvednikov
e14861694c another v.js fix 2019-10-05 08:03:26 +03:00
Alexander Medvednikov
ed99fc2d42 v.js: fix strings.Builder 2019-10-05 07:40:32 +03:00
Don Alfons Nisnoni
68bcf6830c array: add index() method 2019-10-04 23:07:19 +03:00
Alexander Medvednikov
52f4f4026b
compiler: cache modules 2019-10-04 15:48:09 +03:00
Alexander Medvednikov
f45d3f07ed fix 3 last C warnings and make sure no new warnings are introduced 2019-10-04 05:49:41 +03:00
unknown-v
b3805140ec Remove json_test.exp & json_test.lib 2019-10-03 02:00:11 +03:00
Swastik Baranwal
7d763e0776 fix js build 2019-10-02 15:46:08 +03:00
Alexander Medvednikov
5ba354fa2c if a := foo() { syntax for handling optionals 2019-10-01 22:57:38 +03:00
hazohelet
56e4ed1e6b compiler: float comparison uses machine epsilon by default 2019-10-01 22:38:36 +03:00
joe-conigliaro
7fd2ef975b parser: add v error if assigning var to blank identifier _
also fix C warn & double semicolon
2019-10-01 15:40:11 +03:00
Delyan Angelov
2ac80485c0 C backend: fix a couple of C warnings on Linux 2019-10-01 14:35:59 +03:00
Alexander Medvednikov
243626c7c1 readline: capitalize structs 2019-10-01 06:28:06 +03:00
Alexander Medvednikov
841d824216 builtin: a very early version of the hashmap 2019-10-01 06:20:50 +03:00
Alexander Medvednikov
2aa6ab71db darwin: no need to free the buffer 2019-09-30 23:29:53 +03:00
Tony Kostanjsek
39cfb1d6a6 darwin: resource_path() 2019-09-30 23:29:14 +03:00
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