Alexander Medvednikov
3c4bb16ce9
disable dereferencing error for now
2019-11-10 20:32:11 +03:00
Alexander Medvednikov
aea5b2e3b6
make unsafe dereferncing warning an error
2019-11-10 20:14:57 +03:00
Alexander Medvednikov
ffa9646749
Revert "print_backtrace_skipping_top_frames: Implementation for MSVC "
...
This reverts commit d1e7a54f3a
.
2019-11-10 20:01:19 +03:00
Alexander Medvednikov
fdf6682254
require `unsafe` for dereferencing
2019-11-10 19:57:17 +03:00
Alexander Medvednikov
c7f3413d70
more vfmt fixes
2019-11-10 19:49:19 +03:00
Don Alfons Nisnoni
b9728c7af0
string: update split() method
2019-11-10 19:37:36 +03:00
Steven Gay
d1e7a54f3a
print_backtrace_skipping_top_frames: Implementation for MSVC
2019-11-10 19:34:53 +03:00
Henrixounez
f8ab629986
readline: fix cursor position with prompt including ansi escape sequences
2019-11-10 19:33:21 +03:00
Alexander Medvednikov
3d4f85069f
more vfmt fixes
2019-11-10 02:44:26 +03:00
kdmult
30481a36dc
fix broken doc on windows
...
* replace hardcoded slash with os.path_separator
* compile only, no link, if building a module
2019-11-09 23:49:15 +03:00
Daren Liang
e6c9c7d571
parser: check type for all integer only assignment operators
2019-11-09 21:57:36 +03:00
Alexander Medvednikov
b1d2c6c730
lots of vfmt fixes
2019-11-09 20:42:29 +03:00
ylluminate
aef02f61e1
V UI readme: Add web (JS/WASM) to platform list
2019-11-09 20:37:31 +03:00
Daren Liang
c607246218
parser: add xor type check
2019-11-09 20:36:56 +03:00
Toby Webb
ab37081f02
add production mode tests
...
Due to the inability to detect warnings in REPL tests, I implemented running something very similar, but with the -prod flag enabled.
(See https://github.com/vlang/v/pull/2536 )
There is also a minor change in os.walk_ext to not add duplicated path separators:
/path//file.ext -> /path/file.ext
2019-11-09 19:35:26 +03:00
Alexander Medvednikov
f33d8bd596
do not generate interface tables for unused interfaces
2019-11-09 18:13:51 +03:00
Alexander Medvednikov
32fec2c26c
fix interfaces on msvc
2019-11-08 23:28:32 +03:00
Alexander Medvednikov
cac719c078
[]interface
2019-11-08 22:08:02 +03:00
Alexander Medvednikov
6f95be60a1
cc.v: use msvc on Windows by default if gcc is not installed
2019-11-08 21:15:26 +03:00
Daren Liang
c4ff0d565b
parser: check mul and div operations on str variables
2019-11-08 20:26:08 +03:00
Delyan Angelov
bc826173cc
fix $if msvc conditional define
2019-11-08 16:00:55 +03:00
Alexander Medvednikov
7a8e7b4db8
fix interface methods that return a value
2019-11-08 07:43:44 +03:00
Alexander Medvednikov
985fb91ee8
rewrite interfaces
2019-11-08 07:16:53 +03:00
Daren Liang
f5438477df
parser: check mul and div operations on strings
2019-11-08 04:32:25 +03:00
Nicolas Sauzede
db4a7edf3a
fix threads to actually return a voidptr
2019-11-08 03:09:02 +03:00
Nicolas Sauzede
5a8c3daba3
os: fix stat mode signedness warning
2019-11-08 03:02:02 +03:00
Alexander Medvednikov
27f6b2dd73
table: fix float/integer cast bug
2019-11-08 02:04:00 +03:00
Alexander Medvednikov
f579376638
table: improve check_types()
2019-11-08 01:48:36 +03:00
Nicolas Sauzede
2f5de11c22
fix byteptr warning
2019-11-08 01:30:07 +03:00
Nicolas Sauzede
3a99217592
fix pthread 3rd arg voidptr warning
2019-11-08 00:58:49 +03:00
Delyan Angelov
a44ba0b8a2
bignum module wrapper for kokke/tiny-bignum-c
2019-11-07 22:04:18 +03:00
pfefferminz132
b9e7d02462
math: make ceil return an f64
2019-11-07 19:54:51 +03:00
lorenzo pirro
6bcd0fd9cc
optimize reserved type check
2019-11-07 18:45:38 +03:00
Alexander Medvednikov
6d98203572
fix "undefined" error
2019-11-07 17:57:54 +03:00
Daren Liang
df6bdf59e6
parser: fix mod assign type check
2019-11-07 17:49:40 +03:00
Alexander Medvednikov
fbd71e1539
expression.v
2019-11-07 17:48:48 +03:00
vitalyster
2d3944250f
tools: show C output when tool can not be compiled
2019-11-07 16:17:32 +03:00
vitalyster
86447c1301
windows: use CreateProcess for os.exec
2019-11-07 16:01:17 +03:00
lorenzo pirro
d57c0cfde0
parser: fix builtin as name not allowed
2019-11-07 06:00:48 +03:00
Nicolas Sauzede
c8de2c0bd4
fix i64 overflow warning
2019-11-07 06:00:00 +03:00
Alexander Medvednikov
c9d0bd7404
print true and false instead of 1 and 0
2019-11-07 00:07:50 +03:00
Alexander Medvednikov
fdd4afa392
for.v and match.v; do not allow arrays in `match`
2019-11-06 23:30:08 +03:00
lorenzo pirro
bd18f50c8a
os: cp_r fn to copy files recursively
2019-11-06 23:05:35 +03:00
vitalyster
8dbeab9a7b
make V work on Windows 7
2019-11-06 23:04:40 +03:00
Alexander Medvednikov
e266c8a750
urllib: test str()
2019-11-06 22:35:59 +03:00
Abdullah Atta
c4e9f09f0f
urllib: crash when converting URL to str
2019-11-06 22:34:33 +03:00
Alexander Medvednikov
7c70f3df93
parser: & and | type check
2019-11-06 21:20:37 +03:00
Alexander Medvednikov
0f0bef2d33
parser: more typing checks
2019-11-06 20:47:03 +03:00
Alexander Medvednikov
75510e2ea1
remove `last` test
2019-11-06 18:19:03 +03:00
Alexander Medvednikov
73134035a9
parser: remove `last`
2019-11-06 18:17:14 +03:00
Alexander Medvednikov
6a812f7293
mod operator tests
2019-11-06 18:04:48 +03:00
Alexander Medvednikov
6afd7d50a6
parser: fix mod type check
2019-11-06 17:52:35 +03:00
Alexander Medvednikov
ca259331e4
parser: fix % type check
2019-11-06 17:35:32 +03:00
Alexander Medvednikov
f6d06fcda2
update tests and examples after the mutability fix
2019-11-06 06:57:04 +03:00
Alexander Medvednikov
b720bb2e77
parser: mark var as changed only if the receiver is mutable
2019-11-06 06:48:57 +03:00
Alexander Medvednikov
8dd335295e
new enum step 2
2019-11-06 06:26:04 +03:00
Alexander Medvednikov
4d876d1980
new enum step 1
2019-11-06 06:16:12 +03:00
Alexander Medvednikov
855a736a2c
parser: C enums + another enum simplification
2019-11-06 05:14:34 +03:00
Daren Liang
91bb969ed1
stats: use c style for loop
2019-11-06 04:45:05 +03:00
Alvydas Vitkauskas
af81b02ef0
parser: fix shift-assign to work with all integer types
2019-11-06 03:37:31 +03:00
Alvydas Vitkauskas
3080959084
parser: make let shift operators work with all types
2019-11-06 01:02:50 +03:00
Alexander Medvednikov
1b5f724df0
#include warning
2019-11-06 00:32:15 +03:00
Alexander Medvednikov
7fc7c05e9d
parser: do not all string casts
2019-11-05 20:41:02 +03:00
Alexander Medvednikov
b91a537c35
it's better to do this locally and update v.c manually
2019-11-05 20:27:53 +03:00
Alexander Medvednikov
1687afba9f
remove locale.h and unistd.h
2019-11-05 20:05:25 +03:00
Alexander Medvednikov
b929543782
remove string.h
2019-11-05 20:00:00 +03:00
Alexander Medvednikov
62f54d9d65
remove signal.h
2019-11-05 19:57:53 +03:00
Alexander Medvednikov
dc1ca31071
enable temporary fns.h with C defs
2019-11-05 19:34:56 +03:00
vitalyster
eb069833a8
compiler: detect Cygwin and show error message
2019-11-05 19:33:24 +03:00
Alexander Medvednikov
c5d868c928
start the C header removal process
2019-11-05 19:24:00 +03:00
Alexander Medvednikov
5306c14d78
parser: nothing can be cast to bool
2019-11-05 18:58:42 +03:00
Alexander Medvednikov
07e3699700
parser: do not allow number => bool casts
2019-11-05 18:56:19 +03:00
Alexander Medvednikov
883041fbcc
os: replace FILE with voidptr to remove stdlib.h dep
2019-11-05 18:42:10 +03:00
vitalyster
67f68df8a8
compiler: display error when MinGW configuration is outdated
2019-11-05 18:39:44 +03:00
Alexander Medvednikov
b2f8944b1f
fix V.js
2019-11-05 18:18:10 +03:00
Alexander Medvednikov
425c9ce401
a special `last` variable in for loops (experimental)
2019-11-05 17:17:55 +03:00
aliczin
53981c8747
compiler: supress windows (MSVC) warnings
2019-11-05 14:09:33 +03:00
Alexander Medvednikov
f60d44eda9
--enable-globals
2019-11-05 02:43:52 +03:00
Alexander Medvednikov
f8d14a216b
parser: print backtrace only in debug mode
2019-11-05 02:30:51 +03:00
Alexander Medvednikov
0a6840b6a6
improve a minor info message
2019-11-05 01:32:21 +03:00
Alexander Medvednikov
ee4db9f96d
parser: $if clang, $if msvc, $if mingw
2019-11-04 20:14:34 +03:00
joe-conigliaro
b8b72580a7
compiler: typo detection - fix error & slightly optimize function
2019-11-04 14:35:28 +03:00
joe-conigliaro
5d16f30a3d
parser: add error when trying to assign from a function that does not return a value
2019-11-04 14:35:10 +03:00
Henrixounez
b5d457b5ce
readline: catch siguser signal to reset tty
2019-11-04 05:05:12 +03:00
joe-conigliaro
5f1e634d82
compiler: improve typo detection, support all types and fn definitions
2019-11-04 04:59:28 +03:00
joe-conigliaro
a6a233df6b
compiler: remove unneeded blank ident assignment ( #2634 )
2019-11-04 10:59:18 +11:00
Daren Liang
e3d8ab5849
os: do not allow || and \n in system/exec
2019-11-04 02:41:15 +03:00
joe-conigliaro
df5faf35e5
compiler: optionals default value
2019-11-04 02:38:49 +03:00
Alexander Medvednikov
4e64a58ac1
scanner: fix string interpolation in raw strings
2019-11-03 23:57:26 +03:00
Alexander Medvednikov
3449a8bc4d
os: do not allow ; and && in system/exec
2019-11-03 23:13:56 +03:00
Trivaxy
8de2f00294
os: add windows cp
2019-11-02 22:37:29 +03:00
Alexander Medvednikov
56e1dac03a
Revert "vtools: add an info message". This broke repl tests.
...
This reverts commit 3b3f0eb507
.
2019-11-02 14:52:12 +03:00
Alexander Medvednikov
3b3f0eb507
vtools: add an info message
2019-11-02 13:27:09 +03:00
Alexander Medvednikov
3097ba93d7
vtools: do not use -prod, it slows things down too much
2019-11-02 13:26:03 +03:00
joe-conigliaro
4120982da1
compiler: add varg str method & varg / parser optimizations
2019-11-02 13:17:56 +03:00
joe-conigliaro
7b1993b1e4
vlib: filepath module
2019-11-01 19:29:51 +03:00
joe-conigliaro
fe9d884d90
parser: fix forwarding vargs & multiple call varg len fix
2019-11-01 19:14:16 +03:00
Alexander Medvednikov
de8297c983
examples/users.v: fix imports
2019-11-01 19:02:38 +03:00
Alexander Medvednikov
80ba8f07b8
more ui vh fixes
2019-11-01 18:03:24 +03:00
Delyan Angelov
59efd42483
tools/vget => tools/v , search, install, etc
...
* compiler: rename vget to tools/vpm, implement draft support for v vpm search, v vpm update, v vpm install, v vpm remove, v vpm help .
* compiler: use "v pm" instead of "v vpm" to reduce the redundancy of typing, as suggested by slapden
* Use 'v install modulename', 'v search keywords', 'v update modulename', 'v remove modulename' instead of the longer 'v pm install modulename' etc.
2019-11-01 15:19:04 +03:00
Alexander Medvednikov
a83e233dea
building modules can now be done from any directory
2019-11-01 14:16:58 +03:00
Delyan Angelov
15d4f68af6
compiler: pass -no-pie in debug builds so that backtraces work
2019-11-01 13:20:26 +03:00
Delyan Angelov
e15abb3de0
compiler: move `v up` implementation to tools/vup.v
2019-11-01 13:14:59 +03:00
Danil-Lapirow
15f971ece7
parser: fix broken methods with vargs
2019-11-01 13:03:14 +03:00
Delyan Angelov
bfe039fcba
compiler: extract testing to tools/vtest.v
2019-11-01 02:15:03 +03:00
Enrico Lefass
a691cc857e
time: add new public functions for formatting
2019-11-01 02:13:03 +03:00
Alexander Medvednikov
f8f7881f89
thirdparty/ui for macOS (temporary)
2019-11-01 01:14:08 +03:00
Nicolas Sauzede
71450828bd
fix missing protos for popen and backtrace_symbols
2019-11-01 00:52:08 +03:00
Alexander Medvednikov
e07d3c7827
ui vh hack
2019-11-01 00:47:11 +03:00
Alexander Medvednikov
91df08f56d
cc: experimental -fast option for tcc/codegen in the future
2019-11-01 00:37:24 +03:00
Alexander Medvednikov
987f5fd2a1
string: bring back strconv
2019-11-01 00:28:52 +03:00
Alexander Medvednikov
ae696e7ccb
Revert "Revert "array: fix and document array functions""
...
This reverts commit b1eb9d6b15
.
2019-10-31 21:50:20 +03:00
Alexander Medvednikov
4c96ca4e62
string: remove strconv dep
2019-10-31 21:50:11 +03:00
Alexander Medvednikov
128d37c671
vh fixes for the UI module
2019-10-31 21:26:12 +03:00
Alexander Medvednikov
5be8b47e1c
cc.v: disable tcc on android
2019-10-31 20:32:34 +03:00
Alexander Medvednikov
b1eb9d6b15
Revert "array: fix and document array functions"
...
This reverts commit 7fa33fc250
.
2019-10-31 20:29:58 +03:00
Henrixounez
55f6e810cf
repl: moved as a tool and using readline
2019-10-31 19:01:04 +03:00
ytakahashi
114953f28d
match: fix typo and remove arrows
2019-10-31 18:58:19 +03:00
Alvydas Vitkauskas
7fa33fc250
array: fix and document array functions
2019-10-31 15:46:50 +03:00
Don Alfons Nisnoni
0c229aacdd
readline: use new enum syntax
2019-10-31 14:06:48 +03:00
joe-conigliaro
5acdf425ab
parser: move duplicate code into single function
2019-10-31 13:49:57 +03:00
Alexander Medvednikov
b1730b768d
remove a println()
2019-10-31 12:15:45 +03:00
Alexander Medvednikov
d5cf4d6fd5
compiler: -o dir/file: create a new directory if it doesn't exist
2019-10-30 20:53:34 +03:00
Amal Shaji
e8d34002e1
map: fixed deletion of non-existent keys
2019-10-30 20:19:59 +03:00
Alexander Medvednikov
5da3c49497
json: rename jsgen.v to json_gen.v
2019-10-30 19:45:33 +03:00
Alexander Medvednikov
6b4dcb916b
ci: bring back Vid build
2019-10-30 19:36:54 +03:00
Alexander Medvednikov
316cf025ae
arrays: fix range
2019-10-30 17:30:49 +03:00
Alexander Medvednikov
a9ca9f45af
fix enum/match combo in sync_windows.v
2019-10-30 17:29:05 +03:00
Alexander Medvednikov
9044f1437c
v doc
2019-10-30 17:07:41 +03:00
Alexander Medvednikov
08c1f408d3
fix sync_windows.v
2019-10-30 16:43:40 +03:00
Alexander Medvednikov
2bd2501dc0
fix new enums in tests
2019-10-30 16:38:47 +03:00
Alexander Medvednikov
aa39451c8b
arrays.range(min, max)
2019-10-30 16:21:57 +03:00
Alexander Medvednikov
96f7620628
instead of `Enum.foo` require `.foo` if it's enough + some UI fixes
2019-10-30 15:48:33 +03:00
Delyan Angelov
ba6cc5df2a
compiler: print asserted source line on failure
2019-10-30 12:15:33 +03:00
Don Alfons Nisnoni
ee6ec3faf3
crypto: fix a typo
2019-10-29 19:59:55 +03:00
sunnylcw
79279e01f5
sqlite: add flags for FreeBSD to pass sqlite test
2019-10-29 17:13:56 +03:00
lorenzo pirro
d42c53346d
array: eq() for builtins (byte, string, int, i64, f32)
2019-10-29 14:26:00 +03:00
Danil-Lapirow
f161ff9db5
parser: fix tmp is already started issue
2019-10-28 23:50:58 +03:00
ytakahashi
6a609cb046
log: make const/struct public
2019-10-28 18:53:02 +03:00
Delyan Angelov
3950b10d2a
compiler: make Fn struct public
2019-10-28 16:37:18 +03:00
Alexander Medvednikov
9e9935acbc
math: make consts and structs public
2019-10-28 16:33:36 +03:00
Alexander Medvednikov
33b5afa893
V 0.1.22
2019-10-28 13:12:44 +03:00
Delyan Angelov
15deaa7eb6
compiler: improve errors when building thirdparty .o files
2019-10-28 12:43:57 +03:00
Alexander Medvednikov
44b99bc299
ci: don't run sqlite test on windows for now
2019-10-28 12:32:03 +03:00
Alexander Medvednikov
a7568ea54b
ci: install libsqlite package
2019-10-28 11:45:27 +03:00
Alexander Medvednikov
373873d71f
fix sqlite test
2019-10-28 10:40:48 +03:00
Danil-Lapirow
a2bafaa254
parser: add error on array comparison
2019-10-28 10:26:42 +03:00
Alexander Medvednikov
c5fa99c66c
darwin not supported yet
2019-10-28 10:25:56 +03:00
Alexander Medvednikov
d54bbc8737
fix sqlite test
2019-10-28 10:21:32 +03:00
Alexander Medvednikov
1ac1626357
sqlite example
2019-10-28 00:10:58 +03:00
Alexander Medvednikov
16c4415d4c
a very simple sqlite driver
2019-10-28 00:02:52 +03:00
Alexander Medvednikov
1390a39053
clean up switch tokens
2019-10-27 22:42:52 +03:00
Don Alfons Nisnoni
8358528888
string: add some docs
2019-10-27 22:29:55 +03:00
Alexander Medvednikov
9cddf22fff
glfw: make two structs public
2019-10-27 21:23:33 +03:00
Alexander Medvednikov
9c5abd575f
parser: remove switch_statement()
2019-10-27 13:03:40 +03:00
Alexander Medvednikov
e890f682e2
[if] fn: remove unused expression
2019-10-27 12:42:31 +03:00
Alexander Medvednikov
5946f67328
final switch => match
2019-10-27 12:38:50 +03:00
Don Alfons Nisnoni
acaf66ac80
readline: switch => match
2019-10-27 12:38:36 +03:00
Alexander Medvednikov
293cf18266
enable [if vfmt]
2019-10-27 12:16:33 +03:00
Alexander Medvednikov
d00fdca38f
[if vfmt] for fgen() functions
2019-10-27 12:13:08 +03:00
joe-conigliaro
d81b0675f0
array: bring back left & right method tests
2019-10-27 12:05:19 +03:00
Alexander Medvednikov
efdadc3758
tetris/glfw: fix warnings
2019-10-27 10:13:40 +03:00
joe-conigliaro
59378dce46
compiler/vlib: replace substr/left/right with `[start..end]` everywhere
2019-10-27 10:03:15 +03:00
Don Alfons Nisnoni
ed55826686
log/net: switch => match
2019-10-27 09:45:03 +03:00
Nicolas Sauzede
7ba5248e56
os_win.v: switch => match
2019-10-27 09:36:40 +03:00
joe-conigliaro
a075ce160e
compiler: add `[..2]` & `[2..]` support for slices
2019-10-27 09:36:04 +03:00
Alexander Medvednikov
e80cf185b9
allow public unions and interfaces
2019-10-27 02:23:52 +03:00
Alexander Medvednikov
ef022c2326
[if vfmt] function attribute for skipping functions for performance
2019-10-27 02:11:31 +03:00
Alexander Medvednikov
ee51313e2c
test array and string slices
2019-10-27 01:37:29 +03:00
Alexander Medvednikov
dd12a85429
array: fix a regression
2019-10-26 22:26:30 +03:00
Alexander Medvednikov
570a7aaaf3
a[start..end] slicing
2019-10-26 22:20:13 +03:00
Don Alfons Nisnoni
678ce54e70
os: document functions
2019-10-26 20:21:07 +03:00
Delyan Angelov
2d05c906d5
base64: some optimizations
...
* Add a test for the base64 encoding/decoding of long strings (i.e. mainly memory allocation).
* Make vlib/encoding/base64/base64_memory_test.v resemble more test.v from https://github.com/kostya/benchmarks .
* base64: some optimizations, also add base64.encode_in_buffer and base64.decode_in_buffer .
* Fix tests passing static strings.
* Reduce time needed for base64_memory_test.v .
* Optimize encoding.base64.Index access too (it is static), which speeds up decoding.
2019-10-26 18:20:36 +03:00
vitalyster
272b0aec82
os: fix os.get_error_msg on Windows
2019-10-26 14:58:05 +03:00
Alexander Medvednikov
6944161b15
array: clean up filter()
2019-10-26 14:53:55 +03:00
Alexander Medvednikov
70c9565607
array: fix map() return type and handle []bool
2019-10-26 14:49:36 +03:00
Alexander Medvednikov
f40d672a12
array: map() test
2019-10-26 14:32:56 +03:00
Alexander Medvednikov
4ef10c92f4
array: map() method
2019-10-26 14:28:11 +03:00
Alexander Medvednikov
f6f5b8cfb1
bring back string.h for now
2019-10-26 11:51:22 +03:00
Alexander Medvednikov
fbd41eacba
remove string.h include 1
2019-10-26 11:43:25 +03:00
Alexander Medvednikov
ef45a87882
remove string.h include
2019-10-26 11:29:56 +03:00
Alexander Medvednikov
58f0503f6d
cc.v: bring back implicit fn declaration
2019-10-26 11:09:20 +03:00
Alexander Medvednikov
cba12d0106
macos libproc fix 2
2019-10-26 02:19:14 +03:00
Alexander Medvednikov
203f967677
macos libproc fix 1
2019-10-26 02:16:37 +03:00
Alexander Medvednikov
7de95a642e
remove more C headers
2019-10-26 02:08:46 +03:00
Alexander Medvednikov
dc2c62807a
string: faster int()
2019-10-25 23:41:18 +03:00
Alexander Medvednikov
5510327d70
array_test.v: str() test
2019-10-25 22:40:52 +03:00
Alexander Medvednikov
8d2111169a
fix V.js methods and duplicate .str() in arrays
2019-10-25 22:38:39 +03:00
Mihael Dimoski
b6fa252fc9
time: make Time struct public
2019-10-25 22:04:25 +03:00
Delyan Angelov
8364130a1f
compiler: implement error_with_code(s string, code int)
...
Make available the integer code as errcode to callers/unwrappers
2019-10-25 22:03:42 +03:00
Alexander Medvednikov
9c5a359de3
fix V.js methods after the recent generics fix
2019-10-25 21:57:32 +03:00
Simon Heuser
280c7d396c
generics: generic methods, cast to T
2019-10-25 21:32:27 +03:00
Alexander Medvednikov
7d02eccbce
cc.v: fix tcc check
2019-10-25 20:11:53 +03:00
Alexander Medvednikov
c30f16a038
parser: add ; after a goto label
2019-10-25 18:53:45 +03:00
Alexander Medvednikov
090e1a87b7
linux: use gcc if tcc fails
2019-10-25 18:49:49 +03:00
Alexander Medvednikov
be0830b24f
builtin: do not use backtrace with musl
2019-10-25 18:38:47 +03:00
Alexander Medvednikov
c7e6d379da
$if glibc {
2019-10-25 18:33:02 +03:00
Alexander Medvednikov
ef9cae6dc0
bring back backtrace
2019-10-25 17:59:41 +03:00
Alexander Medvednikov
a83aa28a67
urllib: switch => match
2019-10-25 17:54:34 +03:00
Alexander Medvednikov
d0cbb4041b
disable backtrace for now
2019-10-25 17:38:07 +03:00
Delyan Angelov
32b3611026
sync: new_mutex() and new_waitgroup()
2019-10-25 17:24:40 +03:00
Alexander Medvednikov
e04c4ad852
remove execinfo.h include
2019-10-25 17:20:49 +03:00
joe-conigliaro
7d418e9105
parser: cleanup & reuse
2019-10-25 16:34:12 +03:00
Alexander Medvednikov
784847cf18
make V compile
2019-10-25 16:06:21 +03:00
Alexander Medvednikov
ea3f9b5b9a
remove execinfo.h header
2019-10-25 12:13:38 +03:00
Alexander Medvednikov
4e21e9ed44
minor V.js fixes
2019-10-25 12:13:38 +03:00
Toby Webb
c456ba6bde
parser: fix incorrect unused var message
2019-10-25 10:27:43 +03:00
joe-conigliaro
4443fef6c3
compiler: add const to typo suggestions + small typo format update
2019-10-25 10:26:14 +03:00
Alexander Medvednikov
d4c1bba856
fix V.js
2019-10-24 22:58:01 +03:00
Alexander Medvednikov
892d1c6aab
vweb: first step to revive it
2019-10-24 22:46:58 +03:00
Simon Ernst
2032da7fe2
os: make Result public
2019-10-24 21:58:28 +03:00
Alexander Medvednikov
36eb1b77d0
compiler: remove remaining switch statements and show a warning
2019-10-24 19:26:51 +03:00
Alexander Medvednikov
753fe32793
parser: remove more switch statements
2019-10-24 16:02:24 +03:00
Alexander Medvednikov
695245d307
struct.v
2019-10-24 15:56:10 +03:00
Alexander Medvednikov
bac690bbc8
parser: replace the switch statement in `parse()`
2019-10-24 15:50:46 +03:00
Alexander Medvednikov
3a929faf26
enums: make `in` work without specifying the full type
2019-10-24 15:41:34 +03:00
Alexander Medvednikov
560ae9352c
nice enum works
2019-10-24 15:41:34 +03:00
Alexander Medvednikov
dca49e43d9
c defs
2019-10-24 15:41:34 +03:00
Larpon
98c016b41d
os: walk() function
2019-10-24 15:17:09 +03:00
joe-conigliaro
580abe0de4
lower/snake case consts & enums
2019-10-24 14:48:20 +03:00
joe-conigliaro
fe17dd9a7e
vlib: make more structs, consts, & enums public
2019-10-24 22:35:11 +11:00
Alexander Medvednikov
75a6c759c7
enum snake_case check
2019-10-24 14:25:03 +03:00
Alexander Medvednikov
3d6bdc2dc3
public enums + more public structs (libs/examples/tests)
2019-10-24 13:24:50 +03:00
joe-conigliaro
1a2db54bc1
compiler: cgen - fix typo. dependency was spelled wrong
2019-10-24 21:23:11 +11:00
Alexander Medvednikov
4a88a28a3b
make all necessary structs public
2019-10-24 12:51:00 +03:00
Alexander Medvednikov
dce3275df4
make necessary consts public
2019-10-24 12:36:57 +03:00
Alexander Medvednikov
1c564bc118
compiler: public consts and structs
2019-10-24 12:26:43 +03:00
joe-conigliaro
71d965b6a2
compiler: add hint to use references for dependant struct fields
2019-10-24 11:18:50 +03:00
joe-conigliaro
baf49b2523
show struct dependency cycles in error & update module cycle error ( #2517 )
2019-10-24 15:53:39 +11:00
Alexander Medvednikov
f14425ec18
do not allow one letter struct names
2019-10-23 23:46:07 +03:00
Tony Kostanjsek
c58c03167d
vlib/darwin: remove assert
2019-10-23 23:40:07 +03:00
joe-conigliaro
2f5a742f3e
compiler: generic variadic fix
2019-10-23 19:44:05 +03:00
joe-conigliaro
0cf3e2e677
compiler: add variadic support for generic functions
2019-10-23 17:48:06 +03:00
Alexander Medvednikov
054dd237a4
V.js: remove u8
2019-10-23 15:56:57 +03:00
Alexander Medvednikov
1db1e0f4b7
1
2019-10-23 15:55:14 +03:00
Alexander Medvednikov
6174dfb424
fix V.js
2019-10-23 15:51:52 +03:00
Alexander Medvednikov
e69117a8f3
vh types + fn receiver name check
2019-10-23 15:42:50 +03:00
Alexander Medvednikov
27e254c738
now bring _windows.v back
2019-10-23 12:54:45 +03:00
Alexander Medvednikov
95321f5b33
fix module_test.v
2019-10-23 12:50:18 +03:00
Alexander Medvednikov
1752f6879c
os: remove duplicate consts
2019-10-23 12:45:52 +03:00
Alexander Medvednikov
8021a01365
rename windows files for now
2019-10-23 12:37:42 +03:00
Alexander Medvednikov
b298b397dc
vh gen: consts before fns
2019-10-23 12:35:51 +03:00
Alexander Medvednikov
92185a1a6f
os: move windows consts to a separate file
2019-10-23 12:28:48 +03:00
Alexander Medvednikov
2e28691254
_windows.v fix
2019-10-23 12:25:00 +03:00
Alexander Medvednikov
5ef4b2064f
windows: _win.v => windows.v
2019-10-23 12:21:33 +03:00
Alexander Medvednikov
a6aad880f7
gg: resizable window option
2019-10-23 12:17:08 +03:00
Alexander Medvednikov
8b74c711c6
vh generation: consts + cleanup
2019-10-23 11:09:54 +03:00
Enrico Lefass
fcead2f79e
time: squash three occasions of const(...) into one
2019-10-23 08:41:16 +03:00
Alexander Medvednikov
0806aa353c
match: second step
2019-10-23 01:06:06 +03:00
Alexander Medvednikov
d8edc27805
match: this needs a 2 step PR
2019-10-23 01:00:52 +03:00
Alexander Medvednikov
9743b04fe6
update match statement
2019-10-23 00:56:25 +03:00
Alexander Medvednikov
4574039e4d
new vh generation + simpler match statement
2019-10-23 00:45:17 +03:00
Sergio Abreu García
14c273f273
gg: fix clear function
2019-10-22 23:06:56 +03:00
Alexander Medvednikov
7696a600f6
compiler: fix V build on Windows
2019-10-22 21:29:32 +03:00
Delyan Angelov
eeea257467
clean up empty lines in errors; simplify source line tracking
2019-10-22 18:38:17 +03:00
Arthur Kennedy Otieno
fb89c12d90
V.js: remove a text block resulting in syntax errors
2019-10-22 08:02:31 +03:00
Toby Webb
fdfa564865
parser: minor syntax fix
2019-10-21 22:04:57 +03:00
Alexander Medvednikov
a29c80ca3d
make the unsafe error a warning for now
2019-10-21 18:53:55 +03:00
joe-conigliaro
7680d9a23c
compiler: variadic fn - fix unexpected token `,` error from #2433 ( #2468 )
...
* merge master
* fix unexpected token
2019-10-21 23:30:34 +11:00
Delyan Angelov
eef73eea22
tools: new tool to extracts function names declared in V files
2019-10-21 14:14:28 +03:00
Delyan Angelov
cd8b0d04bb
parser: support for 'enum Color {red = 31 yellow green blue}'
2019-10-21 14:00:41 +03:00
Emily Hudson
a52cb315cb
fix memory bug with generic code generation
2019-10-21 13:54:37 +03:00
Toby Webb
dfc654f84e
const declarations should be order independent
2019-10-21 08:57:29 +03:00
Emily Hudson
2829298de7
live: Fix MSVC hot code reloading ( #2460 )
2019-10-21 12:15:43 +11:00
Alexander Medvednikov
333f0ab89f
fix v.js test
2019-10-20 20:52:31 +03:00
Alexander Medvednikov
3d6b936f38
parser: undefined error
2019-10-20 20:47:27 +03:00
Enrico Lefass
c23155790a
os: add pub fn read_bytes and pub fn read_bytes_at
2019-10-20 20:45:16 +03:00
Alexander Medvednikov
81b1b882fd
bultin: mark unsafe functions
2019-10-20 20:29:24 +03:00
Alexander Medvednikov
c13b58e6db
[deprecated] attribute
2019-10-20 20:15:48 +03:00
Alexander Medvednikov
1b518c158b
unsafe keyword + make array.free() an unsafe method
2019-10-20 20:10:44 +03:00
joe-conigliaro
f7c00b8180
compiler: blank ident - consolidate duplicated code into single function
2019-10-20 12:24:12 +03:00
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
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
joe-conigliaro
79d4d56fe5
string: implement is_space in V & make trim_space use trim
2019-09-06 13:22:37 +03:00