Simon Heuser
8a31ee4b53
generic functions
2019-10-20 10:19:37 +03:00
Alexander Medvednikov
f63e24e51d
clean up vtest.v a bit
2019-10-20 09:56:33 +03:00
eau
6d8548d7a5
compiler: add missing header file on OpenBSD
2019-10-20 07:00:01 +03:00
Ole-Martin Bratteng
b73387647c
v.js: make eprintln use console.error
2019-10-19 15:42:37 +03:00
Delyan Angelov
5977fc0644
compiler: print relative file paths for files in the current directory
2019-10-19 12:03:04 +03:00
joe-conigliaro
c24d94f87f
compiler: fix mistake in comptime.v ( #2425 )
...
* merge master
* fix mistake in comptime.v
2019-10-19 19:40:01 +11:00
joe-conigliaro
b51b8858d6
compiler: update & enable cflag error ( #2420 )
...
* merge master
* update & enable cflag error
2019-10-19 11:38:02 +11:00
joe-conigliaro
22c7438795
compiler: cflag error - closes #2406 ( #2417 )
...
* merge master
* fix blank ident & add cflag error
* undo cflag changes
* add missing brace
* undo change to comptime
* improve error message
* update
2019-10-19 08:18:08 +11:00
joe-conigliaro
28b24eeef6
compiler: blank ident error fixes + other small cflag / parser fixes ( #2418 )
...
* merge master
* fix blank ident & add cflag error
* undo cflag changes
* fix gen_js
* undo gen_js changes
* fix
* fix
2019-10-19 08:00:47 +11:00
Alexander Medvednikov
c18578af6f
compiler: linux tcc fixes
2019-10-18 20:49:43 +03:00
Danil-Lapirow
bb9d95e9aa
parser: allow '' in attributes
2019-10-18 20:17:23 +03:00
joe-conigliaro
689003454b
only register initial varg struct on first pass ( #2404 )
2019-10-18 19:28:14 +11:00
Alexander Medvednikov
368e8e85a8
compiler: info message when trying to use an old command
2019-10-18 09:56:57 +03:00
joe-conigliaro
6dea2359ab
strconv: optimize functions
...
also make it the responsibility if the caller to properly trim whitespace
2019-10-18 08:20:03 +03:00
Alexander Medvednikov
c355e967ad
move array filter codegen to comptime.v
2019-10-18 07:58:54 +03:00
Alexander Medvednikov
d501dc4c11
compiler: first step to validate cmd flags
2019-10-18 07:48:46 +03:00
Alexander Medvednikov
80e79a3966
array: optimized generic filter()
2019-10-18 07:30:39 +03:00
pfefferminz132
eda0c73bef
compiler: use eprintln for cache diagnostic messages
2019-10-18 06:16:33 +03:00
joe-conigliaro
8d16762f03
strconv module + use it in builtin/string instead of C functions
2019-10-17 19:37:55 +03:00
Simon Ernst
270934441c
os: make ls() return an optional
2019-10-17 14:30:05 +03:00
joe-conigliaro
4932a32d91
compiler: fix os import by default in v scripts
2019-10-17 11:52:46 +03:00
Unknown User
f46b58b09d
int: i64 hex() use PRIx64
2019-10-17 11:06:54 +03:00
joe-conigliaro
b32a462b2e
math: new consts + helpers funcs for string to int / float
2019-10-17 09:04:57 +03:00
Alexander Medvednikov
5cd38ec91b
V shell scripts
2019-10-17 08:27:27 +03:00
Vinicius Rangel
96152510e5
parser: interpolation calling twice fix
...
if string interpolation needs to call a function, it will cache the
return to .len & .str usage in the generated code
2019-10-17 07:02:02 +03:00
Vinicius Rangel
5481f226dd
parser: Infinite multi-dimensional array
2019-10-17 06:52:58 +03:00
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