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