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

1256 Commits

Author SHA1 Message Date
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