Commit Graph

7167 Commits (cfcecf898b7301a694a37f7c1b7c714f553c298d)

Author SHA1 Message Date
Alexander Medvednikov 2096018b00 map: another fix + test 2019-12-19 21:17:12 +03:00
Alexander Medvednikov 26f5d34e64 map: fix a bug with an incorrect size after delete() 2019-12-19 21:11:42 +03:00
Alexander Medvednikov 519f2990f2 vfmt: minor fixes 2019-12-19 10:02:47 +03:00
penguindark 929e7c1193 strconv: atof_quick for tasks that need speed but not big accuracy 2019-12-19 03:37:53 +03:00
Alexander Medvednikov df2f98e276 run vfmt on more files 2019-12-19 02:38:54 +03:00
Alexander Medvednikov 1cef83aea4 run vfmt on array.v 2019-12-18 21:20:41 +03:00
Charles WANG 0ebe86fbd5 sqlite: readme 2019-12-18 13:22:22 +03:00
BigBlack 2f218b878b fix fn type call 2019-12-18 13:21:49 +03:00
Delyan Angelov 4b7aa4ec09 freebsd: fix compilation 2019-12-18 13:21:20 +03:00
Alexander Medvednikov 67bdc2c7a9 vfmt: fn args fixes 2019-12-18 11:11:47 +03:00
Alexander Medvednikov 569b32bd1e run vfmt on fn.v 2019-12-18 10:07:30 +03:00
Alexander Medvednikov 81045023c4 run vfmt on scanner.v 2019-12-18 08:26:51 +03:00
Abdullah Atta 20e73ff69a os: fix nreadelements naming 2019-12-18 08:22:52 +03:00
Abdullah Atta 489ec05b23 eventbus: remove hacks, add sender 2019-12-18 08:16:33 +03:00
Alexander Medvednikov 02939d776b vfmt: fix in, |, or {} 2019-12-18 08:01:29 +03:00
Alexander Medvednikov 3d1db3519d test enum printing 2019-12-18 05:45:48 +03:00
Alexander Medvednikov 7456d556e1 fix 2 repl tests 2019-12-18 05:02:23 +03:00
Alexander Medvednikov a46a2e4715 run vfmt on parser.v 2019-12-18 04:43:41 +03:00
Alexander Medvednikov ad211a86a6 vfmt: re-write V files + fix {} 2019-12-18 04:33:02 +03:00
Alexander Medvednikov 53b334145b lots of vfmt fixes 2019-12-18 04:15:41 +03:00
BigBlack 67cf7f18e6 array of pointers support 2019-12-18 03:26:04 +03:00
prime31 f00f9fbf5a os: fix bug where read_bytes would return only the first byte 2019-12-18 00:16:56 +03:00
BigBlack e68200538a parser: call struct field fns 2019-12-17 22:00:08 +03:00
Delyan Angelov d405cfbcf7 gg: remove spurious printing of gl.TEXT_VERT 2019-12-17 19:17:48 +03:00
Delyan Angelov ba519f105a compiler: option/command parsing bugfix 2019-12-17 16:00:10 +03:00
Alexander Medvednikov 37add98043 fix programs without fn main 2019-12-17 05:05:10 +03:00
Alexander Medvednikov 84f535d242 atof: remove extra() causing warnings 2019-12-17 01:47:30 +03:00
Alexander Medvednikov ea781a557f array: slice_clone() 2019-12-17 01:29:40 +03:00
Alexander Medvednikov 562f24336d add ./v2 to gitignore 2019-12-17 01:21:18 +03:00
Johan Hillerström 6008fa44c6 parser: fix generic function call in `for in` expression 2019-12-17 01:08:30 +03:00
penguindark 3dbf7a4039 atof implementation in V 2019-12-17 01:07:13 +03:00
Alexander Medvednikov 5a56ca0892 parser: handle operator overloading type errors 2019-12-17 00:50:41 +03:00
Alexander Medvednikov 560d1383d1 fix optional struct field assignment 2019-12-17 00:36:28 +03:00
Alexander Medvednikov 54707ff81d do not allow calloc(0) 2019-12-16 22:48:55 +03:00
Alexander Medvednikov e7856a1afc do not allow malloc(0) 2019-12-16 21:29:32 +03:00
Alexander Medvednikov 10718557a2 increase the name limit to 15 2019-12-16 19:36:29 +03:00
Alexander Medvednikov bcde155da7 test the recent type alias string; print vweb templates in verbose mode 2019-12-16 19:34:04 +03:00
BigBlack 8c0e0f8ab7 parser: fix type alias type check 2019-12-16 19:06:40 +03:00
Delyan Angelov b7c477cc18 freestanding: ptr_str, string concat, struct declaration
* compiler: extract c_common_macros from c_headers, and use it in bare_c_headers too. Support for ptr_str and string concatenation in -freestanding mode.

* Add tests for structs and string concatenation in -freestanding mode .

* Move check_string_add_works to string/string.v .
2019-12-16 19:05:33 +03:00
lutherwenxu dadf147382 flag: implement *_opt() and *_multi()
It's very often that someone will need to process values that were not
provided separately (eg. generating a complex default value like in V).

This commit allows the user to call the *_opt() functions instead of
forcing them to provide some magical default values.

* flag: Implement int_multi(), float_multi() and string_multi()

These 3 functions are useful when the application expects a flag to be
repeated more than once.

A sample would be:
v -cflags someflag -cflags secondflag

This feature exposes the raw array that the flag parser internally keeps
and allow the application to parse it however they want instead of
dropping everything except the first element.

* flag: Add documentation

Add comments describing what *_opt() and *_multi() do.
2019-12-16 19:03:38 +03:00
vitalyster d1714c4a2a cc.v: build thirdparty objfiles with msvc when no cc installed 2019-12-16 18:56:37 +03:00
Delyan Angelov 7e0a9fb83a compiler: fix regression for -d option flag 2019-12-16 18:55:10 +03:00
João Victor Oliveira Couto b30f989f44 builder_js: fix mutable error 2019-12-16 18:54:44 +03:00
Kaito Sugimoto 9dd86a2de6 math: fix abs (-0.0) 2019-12-15 19:37:17 +03:00
Delyan Angelov faa04c586f compiler: restore ability to pass -prod option to run and runrepl. (#3095) 2019-12-15 21:21:37 +11:00
joe-conigliaro f2c40bf49d
compiler: fix for -Wl -Wa -Wp dont like spaces (#3091) 2019-12-15 16:24:12 +11:00
joe-conigliaro 717740cfcf simplify cflag parsing 2019-12-15 06:18:14 +03:00
joe-conigliaro be60193588 workaround for -g with default optional value 2019-12-15 06:11:02 +03:00
Alexander Medvednikov 54b0097cee fix repl_test.v 2019-12-15 05:51:00 +03:00
Alexander Medvednikov 68357876ca fix v_command() 2019-12-15 05:44:34 +03:00
Alexander Medvednikov 12ebed0589 error on an incorrect V command 2019-12-15 05:35:17 +03:00
Alexander Medvednikov 48ea136a9a tutorials: vweb: add an article 2019-12-15 00:56:08 +03:00
BigBlack fc33f9d49c type alias check 2019-12-14 22:01:20 +03:00
Alexander Medvednikov 2e23592264 for: check for redefinitions 2019-12-14 20:00:03 +03:00
Alexander Medvednikov 45695543ba tutorial: minor fixes 2019-12-14 18:59:02 +03:00
Delyan Angelov 1cd5fab21d testing: support for internal module testing 2019-12-14 15:57:28 +03:00
joe-conigliaro cb9e9286ef
compiler: fixes issue #3074 - can't call a generic function twice with the same data type 2019-12-14 17:54:34 +11:00
prime31 75c01dec30 cleanup SDL event system 2019-12-14 03:31:07 +03:00
Alexander Medvednikov 8581c11900 update malloc 2019-12-14 02:46:55 +03:00
Alexander Medvednikov 962109e855 parser: verify async functions 2019-12-14 02:33:19 +03:00
Alexander Medvednikov ef562413cd -prealloc 2019-12-14 02:28:15 +03:00
Alexander Medvednikov 88cde6e4e6 orm: skip fields 2019-12-14 02:07:06 +03:00
Alexander Medvednikov 797d4364e7 vweb: fix reading request's body/headers 2019-12-13 23:46:11 +03:00
Alexander Medvednikov fb3da327d6 vweb: fix a cookie bug 2019-12-13 21:11:40 +03:00
Alexander Medvednikov 83b8d642b4 fix csv/writer.v 2019-12-13 20:45:48 +03:00
Alexander Medvednikov c72bf0e1b1 global access modifier 2019-12-13 20:28:28 +03:00
Alexander Medvednikov dc83e30a44 access modifiers: update tests/examples 2019-12-13 20:09:11 +03:00
Alexander Medvednikov 78131e78bc fix sruct access modifiers (pub, pub mut, mut) 2019-12-13 20:00:38 +03:00
Delyan Angelov fc64238a39 testing: allow tests to import the same module with no custom options 2019-12-13 19:28:39 +03:00
Robert Cristof ec36755407 mysql: add mysql.escape_string() 2019-12-13 19:12:42 +03:00
Alexander Medvednikov 569a64068a ui/examples: users: fix button click 2019-12-12 23:42:51 +03:00
Alexander Medvednikov cddfbf7395 parser: allow public types `pub type Foo Bar` 2019-12-12 22:57:47 +03:00
Alexander Medvednikov b8f728590b string: last_index ?int 2019-12-12 21:54:48 +03:00
penguindark 8e1c27d129 utf8: punctuation 2019-12-12 21:08:44 +03:00
Alexander Medvednikov 0eeb607ffd fix fopen definition 2019-12-12 21:03:08 +03:00
Alexander Medvednikov bd833deef3 assoc: verify the field exists and verify the type 2019-12-12 20:38:49 +03:00
Alexander Medvednikov 6982f4a5a2 parser: force {} blocks on new lines 2019-12-12 20:27:05 +03:00
Alexander Medvednikov 02c29624d8 freetype: minor fixes 2019-12-12 14:44:29 +03:00
Alexander Medvednikov 8ba29f968a cc.v: hide "mingw" not found message 2019-12-12 14:27:47 +03:00
Alexander Medvednikov 88ec9c235d sort structs: handle fixed size arrays 2019-12-12 14:21:22 +03:00
Alexander Medvednikov 576618d8cc string cloning; fix `foo.str += 's'` 2019-12-12 05:20:52 +03:00
Alexander Medvednikov e182274fe7 free memory block 2019-12-11 23:58:51 +03:00
Alexander Medvednikov ad250523cd fix parser.fileis() 2019-12-11 21:42:22 +03:00
Alexander Medvednikov 6ffed854cc cgen.prepend_to_statement() 2019-12-11 20:51:58 +03:00
Alexander Medvednikov 47f9c02331 Revert "cgen.prepend_to_statement()"
This reverts commit 507c71ad80.
2019-12-11 20:37:39 +03:00
Alexander Medvednikov 507c71ad80 cgen.prepend_to_statement() 2019-12-11 19:33:54 +03:00
taojy123 28f76f10db vweb: fix empty post request blocking 2019-12-11 19:20:46 +03:00
Alexander Medvednikov 7dcd47369b option to pre-allocate a memory block 2019-12-11 18:41:25 +03:00
Delyan Angelov 13769f440f vweb: continue after bad http client connection; performance fixes
* Enable compiling vweb with -prod (by supressing 'declared and not used' warning about 'reset') .

* Fix http responses (now wrk is happy and shows no errors) by adding a Content-Length header.

* Fix -g compilation for urllib.v .

* vweb: println action= only in debug mode.

* vweb: max request headers counting fix.

* Make vweb.html get a 'ctx mut Context' param, just like the other methods.

* vweb: simplify add_header.

* Use a string builder for the most common html case so that the response http text can be send in one go.

* vweb: reduce _STR/string interpolation usage in the most common html response case.

* vweb: refactor common http response formatting into Context.send_response_to_client/2 method.
2019-12-11 17:32:54 +03:00
Alexander Medvednikov cfeec92826 use -Wunused-function for now 2019-12-11 15:51:12 +03:00
joe-conigliaro 3486118ab7 compiler: force custom struct .str() methods to be defined public 2019-12-11 03:24:26 +03:00
Alexander Medvednikov f286387647 vweb: secure HttpOnly cookies 2019-12-11 03:20:30 +03:00
Alexander Medvednikov cdfbb2978d strings: replace_each([]); orm: update 2019-12-10 23:57:49 +03:00
joe-conigliaro 4e69c40e12 parser: fix use blank ident as value 2019-12-10 21:35:59 +03:00
Alexander Medvednikov 9726e18c0a string: optimize replace() 2019-12-10 18:50:21 +03:00
joe-conigliaro 6d5e9f88f8 parser: allow enums to be used as bitfield flags 2019-12-10 06:16:47 +03:00
Alexander Medvednikov 0650d58818 vweb: readme: list some features of vweb 2019-12-10 00:16:39 +03:00
Alexander Medvednikov 51051cdf92 vweb: enable @ logic in the header + fix the example 2019-12-09 23:34:38 +03:00
Alexander Medvednikov 6f49d4c1d2 orm: bool support; vweb fixes 2019-12-09 23:20:29 +03:00
Delyan Angelov 32b0225079 remove os/time references from live programs, fix warnings 2019-12-09 18:53:17 +03:00
Alexander Medvednikov 8082a5e7f4 fix benchmarking stats 2019-12-09 17:25:56 +03:00
Alexander Medvednikov 75280bb54c fix int.str() memory bug 2019-12-09 16:41:13 +03:00
Delyan Angelov f68d9d1a16 live: always add os and time when compiling -live programs
Fixes fail when -live user programs do not use os and time.
2019-12-09 13:48:41 +03:00
sha0coder 7ffa315566 vlib/http: ssl handshake fix 2019-12-09 13:31:24 +03:00
Delyan Angelov ed5c9a20e5 update brew instructions for sdl dependencies 2019-12-09 03:18:08 +03:00
Alexander Medvednikov b2207c3d28 do not prepend module to external fn name 2019-12-09 00:24:50 +03:00
Alexander Medvednikov 4ebf53c6e9 allow non snake_case fn names in imported fns 2019-12-08 23:56:31 +03:00
prime31 faedebbb4e sdl: separate sdl module into multiple, dependent submodules 2019-12-08 23:30:38 +03:00
penguindark 9730164613 atoi: fix leading zeros in string to int conversion 2019-12-08 23:22:33 +03:00
Alexander Medvednikov 8f9b6ac248 '$foo()' string interpolation 2019-12-08 23:18:11 +03:00
Alexander Medvednikov 874ff42687 temporary fix of "v -g v.v" 2019-12-08 20:58:16 +03:00
Delyan Angelov 1bb38a38bb tooling: add tools/oldv , for use with 'git bisect', or for testing with older V 2019-12-08 20:21:17 +03:00
Alexander Medvednikov 4d1f721558 fix "" string interpolation bug 2019-12-08 20:06:00 +03:00
Alexander Medvednikov d58982a6f6 vweb: fix tests 2019-12-08 18:07:04 +03:00
Alexander Medvednikov 1c6f7180b2 vweb: fix form parsing 2019-12-08 17:37:23 +03:00
Alexander Medvednikov 02eee49d25 fix defer_test 2019-12-08 15:30:14 +03:00
Alexander Medvednikov c9886e6f42 use ++ everywhere 2019-12-08 14:34:51 +03:00
Alexander Medvednikov cc682eafe1 require ++ instead of += 1 2019-12-08 14:11:25 +03:00
Nicolas Sauzede 8bc94947e5 tvintris: fix else cases 2019-12-08 13:45:29 +03:00
bogen85 8178e1f7da freestanding: malloc/free with mm_alloc an mm_free
Added more array support that depends on malloc. Added string clone (that uses malloc). Added test for it. Eliminated stack allocated buffers from most of the unit checks.
2019-12-08 13:44:52 +03:00
Alexander Medvednikov 6ec626c5e9 improve invalid character errorrs 2019-12-08 12:57:40 +03:00
Alexander Medvednikov 8b0de95c0a improve the C struct check 2019-12-08 04:23:22 +03:00
Alexander Medvednikov 6ae51b2cbf handle unknown C types 2019-12-08 04:10:56 +03:00
Alexander Medvednikov 7adda3b71a vweb: fix get_cookie() 2019-12-08 01:48:49 +03:00
Alexander Medvednikov b1174428a5 vweb: fix redirect() 2019-12-08 01:05:57 +03:00
Alexander Medvednikov 30fc29fa6d fix csv test 2019-12-08 01:03:35 +03:00
Alexander Medvednikov 7069cd6ab5 a separate scope for x := opt, part 2 2019-12-08 00:45:42 +03:00
Alexander Medvednikov b26a0bde38 a separate scope for x := opt, part 1 2019-12-08 00:34:04 +03:00
Alexander Medvednikov 06a0f39f7b a separate scope for 2019-12-08 00:30:06 +03:00
Alexander Medvednikov dc2da1de98 fix V build 2019-12-08 00:27:24 +03:00
Alexander Medvednikov 8ebc2fe601 do not allow redefinition in `x := opt() {` 2019-12-07 23:09:48 +03:00
Alexander Medvednikov b79588dc69 handle bad value in `if x := opt() {` 2019-12-07 23:05:54 +03:00
Alexander Medvednikov 49f960aea5 fix some windows cast warnings 2019-12-07 22:42:20 +03:00
Alexander Medvednikov c019dd6f98 test assert in functions that return values 2019-12-07 22:42:20 +03:00
bogen85 751ba48bf5 freestanding improvements (exit, function checks)
Fixed exit for freestanding (as assert now uses it).
Running each function check now in a forked process so they can be killed or return other exit codes (and so each function runs, even if others crash)
2019-12-07 22:25:19 +03:00
Alexander Medvednikov d73586743b fix assert in functions that return values 2019-12-07 19:33:59 +03:00
Alexander Medvednikov b9a24e3b51 Revert "use stdint.h with msvc"
This reverts commit 93529031de.
2019-12-07 19:25:17 +03:00
Alexander Medvednikov 93529031de use stdint.h with msvc 2019-12-07 19:20:53 +03:00
Alexander Medvednikov 63ec3c0486 fix a wrong "0 character in a string literal" error 2019-12-07 18:19:48 +03:00
Alexander Medvednikov 7b0e378947 fix clipboard_linux.v 2019-12-07 18:16:19 +03:00
Alexander Medvednikov e1ad1794e3 fix readline_linux.v 2019-12-07 17:46:01 +03:00
Alexander Medvednikov 9cba3bdf78 windows: WideCharToMultiByte() returns an int 2019-12-07 17:31:07 +03:00
Alexander Medvednikov ad6adf327e vlib: fix missing `else{}` in match statements 2019-12-07 17:23:37 +03:00
Alexander Medvednikov 2fb7fba856 require `else` in `match` statements 2019-12-07 17:01:44 +03:00
Alexander Medvednikov a594e009f2 test high order function 2019-12-07 16:13:25 +03:00
Alexander Medvednikov f51784ee01 remove unnecessary casts everywhere 2019-12-07 15:51:00 +03:00
Alexander Medvednikov d7ccbba2c9 do not allow casting a type to itself 2019-12-07 15:31:56 +03:00
Alexander Medvednikov a854d396ff clipboard: fix mutability on macOS and Windows 2019-12-07 15:22:28 +03:00
Alexander Medvednikov c2814c1ada vlib: fix remaining mutability errors 2019-12-07 15:13:23 +03:00
Alexander Medvednikov 329485d4b6 vweb: fix headers and cookies 2019-12-07 15:04:05 +03:00
Alexander Medvednikov cc834dd7a7 parser: `x in []` is always false 2019-12-07 03:05:19 +03:00
João Victor Oliveira Couto 5a8c07dcf5 strings: builder: write_b() 2019-12-06 23:02:09 +03:00
Alexander Medvednikov 55f32fc413 more mutability fixes 2019-12-06 19:23:24 +03:00
Alexander Medvednikov e3b5d7fd7c rename if_st to if_statement 2019-12-06 19:21:26 +03:00
Alexander Medvednikov bf1b751f47 cli: update mutability 2019-12-06 19:12:01 +03:00
Alexander Medvednikov c8d111924d check unused and unmodified vars in all modules, not just main 2019-12-06 18:43:56 +03:00
Delyan Angelov 353805e170 os: test is_link() 2019-12-06 12:09:35 +03:00
Alexander Medvednikov aed22a57e3 fixed size array with const length (`[N]int`) 2019-12-06 02:41:03 +03:00
Alexander Medvednikov be323e2fb6 ci: set up pg database to test ORM 2019-12-06 02:11:39 +03:00
Alexander Medvednikov 71c0c4803f ORM fixes 2019-12-06 02:00:37 +03:00
Alexander Medvednikov 79b26b1654 use get_type2 in struct.v 2019-12-05 19:02:33 +03:00
Alexander Medvednikov cca650c655 better `foo must return (int, int)` error 2019-12-05 18:55:27 +03:00
Alexander Medvednikov cb46bf314e get_type.v 2019-12-05 18:48:39 +03:00
BilligsterUser 0a38b307cd os_test: use rmdir() to del dirs 2019-12-05 17:08:55 +03:00
Delyan Angelov 98374ea6fe CI: fix msvc (temporary work around dialogs poping up) 2019-12-05 17:08:18 +03:00
Alexander Medvednikov 4888d27b71 fix v -live on macOS 2019-12-05 14:40:14 +03:00
Alexander Medvednikov 2a1b0a8cae rename table.register_type2() 2019-12-05 14:24:25 +03:00
Nicolas Sauzede 2e30e1453d sdl: fix old vsdl2 references 2019-12-05 12:58:48 +03:00
Alexander Medvednikov 90e3ab8c1e debugging v -live message.v 2019-12-05 12:48:23 +03:00
Nicolas Sauzede 9d854c5df0 vlib: sdl module + tVintris example 2019-12-05 11:25:55 +03:00
Alexander Medvednikov 6dd1270539 builtin: remove an unnecessary malloc() call 2019-12-05 11:08:41 +03:00
Alexander Medvednikov 867f952d6b for: ranging through fixed size arrays 2019-12-05 02:17:17 +03:00
Alexander Medvednikov fb546f376e set max module depth to 5 2019-12-05 01:27:04 +03:00
Alexander Medvednikov e707ac4f28 test v -live message.v 2019-12-05 00:17:38 +03:00
Alexander Medvednikov 2144c162c4 os: is_link() 2019-12-04 23:53:11 +03:00
Alexander Medvednikov a57e29dfc5 os: replace dir_exists with is_dir; file_exists() => exists() 2019-12-04 23:17:45 +03:00
Alexander Medvednikov fb237b9e53 parser: check types in `a in b` expressions 2019-12-04 22:17:24 +03:00
Alexander Medvednikov d9248e8d52 parser: fix a wrong index in an error 2019-12-04 13:36:35 +03:00
Delyan Angelov 9a6711fa1b compiler: c'str' now has type charptr 2019-12-04 13:34:06 +03:00
Alexander Medvednikov 40df0644ca fix all Foo{!} 2019-12-04 13:08:28 +03:00
Alexander Medvednikov e32cbfcca7 error on C.Foo{!} 2019-12-04 12:56:59 +03:00
Alexander Medvednikov b2b34e18e4 use the new &C.Foo(0) cast 2019-12-04 12:19:32 +03:00
Alexander Medvednikov 2bafd41183 `&C.Foo(0)` cast to replace `&C.Foo{!}` hack 2019-12-04 12:13:17 +03:00
bogen85 a9aaa13a09 freestanding: sys_getuid, sys_waitid; minimal fork check; remove bare.S 2019-12-04 11:46:09 +03:00
Alexander Medvednikov 47f5e1178f -output-cross-platform-c for creating a single x-platform C file 2019-12-04 02:02:52 +03:00
Delyan Angelov eb20dd39b1 freestanding: init consts 2019-12-04 01:40:26 +03:00
Alexander Medvednikov c4a43633da i8, i18, u16 str() 2019-12-03 21:14:17 +03:00
Alexander Medvednikov 66f271f100 fix a string interpolation bug 2019-12-03 20:41:49 +03:00
Alexander Medvednikov f192429c8a $if mac => $if macos 2019-12-03 16:29:37 +03:00
Alexander Medvednikov ff80e3a5fa i8 print test + $if mac => $if macos 2019-12-03 16:09:43 +03:00
Delyan Angelov b907cf2179 sync/waitgroup: force sleeping for 1ms
fixes issues #2874 and #2961
2019-12-03 15:05:08 +03:00
Delyan Angelov 0a8d2d5dc7 compiler: guess cc kind for -prod builds, to know when to add -flto 2019-12-03 13:58:24 +03:00
Ulises Jeremias Cornejo Fandos b31ec4ca9a math: add factorial function (via factorial table) 2019-12-03 11:34:26 +03:00
Enrico Lefass 6d28a80bf8 haiku support (part 2) 2019-12-03 11:26:47 +03:00
Don Alfons Nisnoni f806e0f9e5 mysql: add error handling 2019-12-03 11:18:20 +03:00
Don Alfons Nisnoni 33793a869f mysql: make the struct public & update some code 2019-12-02 17:26:58 +03:00
Alexander Medvednikov c0bb88dfb0 allow # in webview module 2019-12-02 12:31:49 +03:00
Alexander Medvednikov 753e926356 debug v symlink error 2019-12-02 12:16:55 +03:00
Don Alfons Nisnoni 254afcb2d0 *C.char => charptr 2019-12-02 11:37:35 +03:00
penguindark 322733d59a encoding.utf8 fixes 2019-12-01 20:41:29 +03:00
radare 5ff387bbe4 strings: split_nth and add tests 2019-12-01 16:10:13 +03:00
Delyan Angelov ec15bfb7d1 v test v => v test-compiler 2019-12-01 12:50:13 +03:00
bogen85 854309a7d8 freestanding: add array support (stack only for now) 2019-12-01 11:27:36 +03:00
Alexander Medvednikov 3fea8f3de5 *char => charptr everywhere 2019-12-01 10:33:26 +03:00
Alexander Medvednikov 698c3823ee charptr fix 2019-12-01 10:11:29 +03:00
Alexander Medvednikov 0999273d32 CReserved => c_reserved; charptr 2019-12-01 09:56:53 +03:00
Alexander Medvednikov a23a4ed98a update all index() uses 2019-11-30 15:27:16 +03:00
Alexander Medvednikov 2651b8957a parser: fix unreachable code error in if a := opt() 2019-11-30 15:17:27 +03:00
Alexander Medvednikov 81d4f66fbb string: make `index()` return `?int` instead of `int`/-1 2019-11-30 13:21:21 +03:00
Alexander Medvednikov cc2bd0bb68 string: make substr private 2019-11-30 12:50:57 +03:00
Alexander Medvednikov 1a0b78ae2f fix the cli module 2019-11-30 12:44:50 +03:00
Alexander Medvednikov 7e4799334f array: make left/right/slice private 2019-11-30 12:37:34 +03:00
Alexander Medvednikov b38283dcf1 string: make left/right private 2019-11-30 12:06:17 +03:00
prime31 ff216e7d50 append module name for module search path 2019-11-30 11:17:37 +03:00
Alexander Medvednikov 68b4dab582 parser: another infinite loop fix 2019-11-30 10:37:28 +03:00
Alexander Medvednikov c00a7f3a5e parser: fix infnite loop with `fn foo(&) {}` 2019-11-30 10:21:58 +03:00
Alexander Medvednikov d71532b64e optimize `for c in str {` 2019-11-30 09:41:35 +03:00
Delyan Angelov c7f8f2175b move vlib/builtin/utf8_util.v to vlib/encoding/utf8/utf8_util.v 2019-11-30 08:52:37 +03:00
Emily Hudson 661ddf3d1e compiler: realpath before trying to basefilename 2019-11-30 08:01:31 +03:00
Alexander Medvednikov 850788c4bb parser: fix a bug with & and == 2019-11-29 23:18:10 +03:00
Alexander Medvednikov 4c11eb5ddc -bare => -freestanding 2019-11-29 22:49:05 +03:00
Alexander Medvednikov f724a956b3 parser: fix `a & b == c` precedence 2019-11-29 22:42:32 +03:00
Alexander Medvednikov 881584d04c V 0.1.23 2019-11-29 20:00:33 +03:00
Alexander Medvednikov 1bfcdaa2cc ci: test the new prebuilt packages 2019-11-29 19:14:26 +03:00
Alexander Medvednikov 71378b8041 parser: better syntax error for unexpected tokens 2019-11-29 17:06:49 +03:00
joe-conigliaro 11aaee685a generics: fix errors & simplify 2019-11-29 16:46:43 +03:00
penguindark 82d4a731f3 utf8 functions (to_lower etc) 2019-11-29 16:25:25 +03:00
Alexander Medvednikov 431568faad x64: fix off by one error in for loops 2019-11-29 12:33:36 +03:00
Alexander Medvednikov 9e19472c33 show an info message if a C compiler is not installed 2019-11-29 12:12:06 +03:00
bogen85 e31d892598 make _V_mret_ unique by putting p.token_idx in it 2019-11-29 11:11:53 +03:00
bogen85 729f9c3391 bare: add mm_alloc, mm_free
also split errno from return value in existing Linux syscall wrappers
update applicable syscall wrapper checks
2019-11-29 10:14:17 +03:00
Alexander Medvednikov 52d25336db x64: function calls; http: download_file() 2019-11-28 13:24:02 +03:00
prime31 208f67132d added -user_mod_path command line option to add a module search path 2019-11-28 13:04:57 +03:00
Delyan Angelov 7545ea709a enable alpine/musl CI tests 2019-11-28 11:46:52 +03:00
bogen85 3b7466a13d ci: rename multiret_with_ptrtype.v 2019-11-28 09:46:52 +03:00
bogen85 f6ec1b29f9 strconv: make string.int() stop parsing on invalid digit 2019-11-28 09:46:10 +03:00
bogen85 9374168b26 compiler: allow function expecting a void* to receive a byteptr 2019-11-28 09:44:43 +03:00
bogen85 e63300e286 temporary fix for issue #2897 2019-11-27 19:55:32 +03:00
sh0f dbaa37ea46 urllib: fix string length in escape() 2019-11-27 12:15:05 +03:00
れもん 584786d87c parser: fix `in` expression 2019-11-27 08:48:04 +03:00
Alexander Medvednikov a3b14e00a2 vweb fixes 2019-11-26 16:08:16 +03:00
Alexander Medvednikov cb8a19efaf vweb: bring back html() test 2019-11-26 09:34:09 +03:00
joe-conigliaro 3107618732 vweb: remove no longer needed special case & fix tmpl 2019-11-26 09:23:11 +03:00
ʇʞʌp 6349bd33d3 compiler: Allow `or` usage when assigning to struct fields. (#2893) 2019-11-26 09:07:35 +03:00
ʇʞʌp 79a02a4c09 parser: make `p.opt()?` work for methods 2019-11-26 09:04:59 +03:00
joe-conigliaro 385c045e5a don't add generic parsers to v.files 2019-11-26 09:04:11 +03:00
Alexander Medvednikov 8d241cc164 vweb fixes; ORM fixes; freeing strings 2019-11-26 07:47:16 +03:00
Ned Palacios bac3c0a63e compiler: add "modules/ " folder for searching local modules 2019-11-26 06:45:26 +03:00
ʇʞʌp 81d552038c parser: allow constant usage in assoc 2019-11-26 06:41:56 +03:00
bogen85 5c217b9e61 fix hexadecimal constants + freestanding fixes 2019-11-26 06:12:37 +03:00
joe-conigliaro 92f920b2b8 make errors from code parsed with statements_from_text show correctly 2019-11-25 22:22:40 +03:00
joe-conigliaro edd4706480 compiler: parser fixes for vweb 2019-11-25 15:29:55 +03:00
M 837af9b230 freebsd: backtrace 2019-11-25 13:54:56 +03:00
Delyan Angelov 30042ab54b cfns: fix some declarations 2019-11-25 13:54:07 +03:00
joe-conigliaro 7158a012c3 compiler: update to get vweb working 2019-11-25 13:48:25 +03:00
joe-conigliaro 475807566d
fix get_last_nl_from_pos when error is last token (#2882) 2019-11-25 20:58:22 +11:00
Delyan Angelov f7c103d5d2 compiler: remove legacy current workdir from module search 2019-11-25 11:32:11 +03:00
_leif ee52b4166f log: enum for logger level 2019-11-25 07:50:59 +03:00
Alexander Medvednikov 9bfea5e60b pg: define all C functions 2019-11-25 06:55:29 +03:00
Alexander Medvednikov feacc2441f socket: fix sizeof 2019-11-25 06:23:09 +03:00
Alexander Medvednikov a4ab7b14c1 wrap up struct default vals + tests 2019-11-25 05:59:58 +03:00
Unknown User 268a6dc6d9 add missing cfns 2019-11-25 04:35:41 +03:00
Delyan Angelov 5794594e19 compiler: fix vpath module search order regression 2019-11-24 19:39:30 +03:00
Enrico Lefass f496c1b27b haiku: adding support to v #1 2019-11-24 19:39:04 +03:00
Alexander Medvednikov 19b4cf66ac Windows should work now 2019-11-24 15:31:51 +03:00
Alexander Medvednikov 748e8b7ce4 more Windows definitions 2019-11-24 15:29:11 +03:00
Alexander Medvednikov b44cbc9b13 define RegQueryValueEx on Windows 2019-11-24 15:21:49 +03:00
Alexander Medvednikov 558024696c lots of C Windows function definitions 2019-11-24 15:16:19 +03:00
Abdullah Atta d4ae39348f eventbus: make it usable and add README 2019-11-24 14:27:50 +03:00
Alexander Medvednikov a74f4a661d fix C.GetStdHandle() on Windows 2019-11-24 14:07:14 +03:00
Alexander Medvednikov 24b40be548 default struct vals 2019-11-24 13:53:59 +03:00
Alexander Medvednikov 7cc21be7de clipboard: make compile on Linux 2019-11-24 13:22:57 +03:00
Alexander Medvednikov 81c17e55a6 more C fn definitions 2019-11-24 13:16:11 +03:00
Alexander Medvednikov f4fe90ea6d C fn definitions on Linux 2019-11-22 19:00:56 +03:00
Alexander Medvednikov e9e931fe4a force C function definitions 2019-11-24 12:14:22 +03:00
Alexander Medvednikov 1f93bb5a9a os: windows fixes 2019-11-23 21:40:32 +03:00
Alexander Medvednikov cfd4f0c69c os: fix fullpath call on windows 2019-11-23 21:05:49 +03:00
Alexander Medvednikov ccb261f00d os: fix unreachable code 2019-11-23 21:00:20 +03:00
Alexander Medvednikov 0aa2196eec os: fix realpath on windows 2019-11-23 20:56:22 +03:00
Alexander Medvednikov 1bd8c465d3 do not allow casting bool to int 2019-11-23 20:40:59 +03:00
Don Alfons Nisnoni 3a6ccf7f31 os: mkdir() error handling 2019-11-23 19:55:18 +03:00
Alexander Medvednikov 0fb0c43c0a pg: minor fixes 2019-11-23 19:48:00 +03:00
Dwight Schauer e724792a67 freestanding: add core linux syscalls and associated tests 2019-11-23 19:35:57 +03:00
joe-conigliaro 666509623e compiler: use token.pos instead of token.col, calculate col when needed 2019-11-23 19:31:28 +03:00
Delyan Angelov f42be0622e examples/game_of_life: add a GUI frontend; compiler: local modules relative to a main module 2019-11-23 16:33:25 +03:00
れもん 3d235169c8 parser: fix if expression 2019-11-23 14:25:57 +03:00
Abdullah Atta 0382331499 vlib: add eventbus module 2019-11-23 14:24:25 +03:00
Delyan Angelov 9b4bc0189b backtraces: cleaner looking backtrace output on linux 2019-11-23 14:22:55 +03:00
joe-conigliaro 9c1107f723 compiler: generics fix byteptr support 2019-11-23 10:06:14 +03:00
Alexander Medvednikov 57fbf0b8a9 map: fix `in` for deleted keys 2019-11-22 20:05:43 +03:00
Alexander Medvednikov 94318b1287 x64: use correct exe name and set +x 2019-11-22 19:09:14 +03:00
joe-conigliaro c11025f01f
compiler: clean up & optimize generics. add comments & support all param types (#2845) 2019-11-23 00:09:53 +11:00
Alexander Medvednikov 9712213f50 x64 machine code generation (ELF) 2019-11-22 14:33:22 +03:00
joe-conigliaro ab91733a28 small optimization with generics and use os.is_dir in vweb again 2019-11-22 10:55:20 +03:00
Dwight Schauer 4edade5067 compiler: fix a deferencing cast was causing a segfault 2019-11-22 09:11:06 +03:00
joe-conigliaro 8fbfceed30 compiler: generics - support across modules/files 2019-11-22 08:22:11 +03:00
Unknown User 7c802f31d3 parser: fix unused variable warning 2019-11-22 05:23:01 +03:00
Delyan Angelov d569f23e1c compiler: fix undeclared errors with [][]u16,u32,u64 2019-11-22 05:22:18 +03:00
gabixdev 76cd70c232 compiler: add -vpath and -vlib_path options 2019-11-21 15:06:19 +03:00
Tim Basel 597a6fead2 vlib: cli module 2019-11-21 15:03:12 +03:00
pfefferminz132 dcea76ff41 fix "v symlink" with relative paths 2019-11-21 04:34:08 +03:00
Alexander Medvednikov 8e32ef382a fix `v symlink` 2019-11-20 18:27:46 +03:00
Alexander Medvednikov 3e564a2506 parser: fix register() bug in interfaces 2019-11-20 18:19:13 +03:00
Alexander Medvednikov 759644ab36 examples: empty gg/freetype project 2019-11-20 07:26:52 +03:00
ʇʞʌp 26fb7e0821 compiler: emit Option_ typedef for fn args and struct fields 2019-11-20 00:58:31 +03:00
kevin70g 5536eb581c time: C.timeval struct member definitions fix 2019-11-19 18:28:29 +03:00
cloudsong 787f49b7a0 interface: enable calling interface with multi-args 2019-11-19 18:27:32 +03:00
joe-conigliaro 4bbed4f910 parser: fix default optional value 2019-11-19 17:47:49 +03:00
Alexander Medvednikov ddcff7e9c5 rand/pcg32: make the struct public 2019-11-19 14:26:18 +03:00
Delyan Angelov a620e66af5 compiler: add os.mv_by_cp and use it for the temporary files 2019-11-19 12:55:02 +03:00
Alexander Medvednikov 0cf232d692 parser: a better [] error message 2019-11-19 11:13:19 +03:00
PoLLeN fe81ccab20 asm.v: fix a small typo 2019-11-19 09:43:02 +03:00
Silvan Büdenbender 94b36250a1 bitfield: fix bit order 2019-11-19 03:32:44 +03:00
Alexander Medvednikov 20d6492775 os: make read_lines() return ?[]string 2019-11-19 02:25:55 +03:00
Alexander Medvednikov 52e3586be3 os: use mkdir() on Linux for now 2019-11-19 00:33:43 +03:00
Alexander Medvednikov c98db8c437 array: fix sort() for ints 2019-11-19 00:27:35 +03:00
Delyan Angelov c73f34cc5f net: make net.socket.write, net.socket.read_line more robust 2019-11-19 00:13:14 +03:00
Alexander Medvednikov 1ccd1979a4 vfmt: line comments fixes 2019-11-18 15:12:35 +03:00
Alexander Medvednikov 439bb0c5de foo()? test 2019-11-18 12:11:25 +03:00
Alexander Medvednikov 4c0269597d fix repl tests; change asm syntax a bit 2019-11-18 11:59:13 +03:00
Alexander Medvednikov f7c7ffecb3 makefile: pre-build builtin modules 2019-11-18 03:51:14 +03:00
Alexander Medvednikov e081791eaf fix repl tests 2019-11-18 02:34:49 +03:00
Jiten Palaparthi 32fbc2bdf3 remove pub for a private function in array.v 2019-11-18 00:43:23 +03:00
Don Alfons Nisnoni 78c2f8cab3 http: add some docs 2019-11-18 00:42:25 +03:00
Alexander Medvednikov 4fb0b49806 parser: fix the no fn main error in script mode 2019-11-18 00:40:59 +03:00
Alexander Medvednikov ffb72e855a vhelp: compress option 2019-11-17 15:35:05 +03:00
joe-conigliaro 6d7fe1f83c fix vtool used with paths w/spaces (win/nix) 2019-11-17 14:36:05 +03:00
Alexander Medvednikov 6ae8457f35 fix strings.Builder.str() 2019-11-17 07:05:13 +03:00
Delyan Angelov be7cf3e812 compiler: support storing temporary files under TMPDIR/v/
Fix for filepath.join not \0 terminating its result
2019-11-17 06:45:20 +03:00
Abdullah Atta 200fcd41ce vlib: add a clipboard module (Windows, macOS, X) 2019-11-17 05:40:03 +03:00
Alexander Medvednikov 2391c72e4b tcc: 64 bit by default 2019-11-17 01:14:05 +03:00
Alexander Medvednikov 6c51d0bb78 another inline asm test + disable on msvc 2019-11-17 01:07:21 +03:00
Alexander Medvednikov 2964bf9e23 inline assembly 2019-11-17 00:59:49 +03:00
Alexander Medvednikov 5a1de13e10 bare: fix str[idx] 2019-11-16 23:22:40 +03:00
Alexander Medvednikov 0c5854e371 add a c/raw string interpolation test 2019-11-16 22:17:01 +03:00
Swastik Baranwal 5d5268a53d expression: add a check for raw strings 2019-11-16 22:15:22 +03:00
Alexander Medvednikov 8d1eb759f7 fix v -o foo.c build module foo 2019-11-16 21:49:58 +03:00
Michiel Vlootman 328ccebf06 readme: fix link to vweb example 2019-11-16 19:58:55 +03:00
Alexander Medvednikov dc50ed69cf bare: fix str[idx] 2019-11-16 11:33:04 +03:00
Alexander Medvednikov a545ccb740 bare: stdint.h 2019-11-16 11:24:25 +03:00
Alexander Medvednikov 56fee6835a http: remove confusing comments and dead code 2019-11-16 10:32:17 +03:00
Alexander Medvednikov d1b8d34dd5 os_linux.v 2019-11-16 09:16:51 +03:00
Nicolas Sauzede 1dadf9d966 fix Windows warnings 2019-11-16 02:30:50 +03:00
Delyan Angelov e577b40743 compiler: add support for $if x32, x64, big_endian, little_endian 2019-11-15 16:14:28 +03:00
Alexander Medvednikov 96cde10696 C string literals (c'str'); bare builtin module; bare println() 2019-11-15 02:29:20 +03:00
Alexander Medvednikov bd97dc0134 os: realpath potential fix 2019-11-15 01:07:38 +03:00
Alexander Medvednikov a04c3bac83 CI: ubuntu-musl target 2019-11-15 00:46:40 +03:00
Alexander Medvednikov 9499275180 os: mkdir syscall on linux 2019-11-15 00:15:23 +03:00
Alexander Medvednikov 2dcb8b3bb0 bare: ArchLinux fix? 2019-11-14 22:18:22 +03:00
Alexander Medvednikov a8b5c00939 parser: allow << >> with enums 2019-11-14 22:14:14 +03:00
Delyan Angelov a329104dcb compiler: remove dead code (a tcc bug fix) 2019-11-14 11:57:28 +03:00
Alexander Medvednikov 34c4565f7c wrap up -bare 2019-11-14 11:11:52 +03:00
Alexander Medvednikov 6eaa2db533 fix V.js 2019-11-14 10:05:41 +03:00
Alexander Medvednikov 7d924679a6 []: update all examples and tests 2019-11-14 10:00:22 +03:00
Alexander Medvednikov 96b530cf85 update [] 2019-11-14 09:53:05 +03:00
Alexander Medvednikov 4a833d8151 parser: clean up all [] 2019-11-14 09:21:20 +03:00
Alexander Medvednikov 5df5f97daf parser: allow `arr = []` instead of `arr = []string` 2019-11-14 07:15:17 +03:00
Alexander Medvednikov 8d4ef822b6 1 2019-11-14 07:08:11 +03:00
Alexander Medvednikov 1d460c4d49 -bare option 2019-11-14 06:50:21 +03:00
Alexander Medvednikov b1fa0d25f0 foo()? syntax 2019-11-14 06:15:45 +03:00
BigBlack 72249ce889 fix duplicate #define generation 2019-11-13 23:35:14 +03:00
Alexander Medvednikov 861f2d4bc0 parser: skip $if windows etc blocks on a different os 2019-11-13 21:14:37 +03:00
Alexander Medvednikov 3b929cdd03 update repls tests 2019-11-13 20:40:01 +03:00
Silvan Büdenbender f30b0f1017 bitfield: add from_bytes() function 2019-11-13 19:48:00 +03:00
Alexander Medvednikov ffa6bcfff5 vfmt: handle comments 2019-11-13 11:54:22 +03:00
Steven Gay 51663520c8 MSVC backtrace 2019-11-13 11:05:06 +03:00
Alexander Medvednikov 10b0432eca parser: fix mutable map args 2019-11-12 22:35:53 +03:00
Don Alfons Nisnoni d732be64f6 array: update docs 2019-11-12 19:26:04 +03:00
Delyan Angelov 3643dcbf4b sqlite: use in-memory database in examples and tests 2019-11-12 19:25:30 +03:00
Delyan Angelov 32473eeafe net and http: more consistent error messages 2019-11-12 19:23:53 +03:00
BigBlack 99169ae4ff parser: ptr++,*(ptr+1) 2019-11-11 23:39:16 +03:00
Daren Liang bd34524a1c fractions: panic when reciprocal produces invalid fraction 2019-11-11 23:37:32 +03:00
Delyan Angelov cc81e9adfa v test v: cleanup more temporary files 2019-11-11 18:45:11 +03:00
BigBlack 0ab09a57f7 parser: multi-level pointers 2019-11-11 18:43:22 +03:00
Delyan Angelov de5b4f0497 fix tests for tcc, extract failing stuff to separate simpler files to ease debugging
* Fix compiling vlib/compiler/tests/fn_test.v with tcc.

* Extract failing tests from fn_test.v so that they are more readable and easier to debug.
2019-11-11 17:59:59 +03:00
Alexander Medvednikov e6775913aa simplify vfmt 2019-11-11 17:04:47 +03:00
Alexander Medvednikov d9b29bfb4e fix a bug in strings.Builder and wrap up vfmt 2019-11-11 08:24:28 +03:00
Alexander Medvednikov f2b1a8cb16 fix option_test.v 2019-11-11 07:09:07 +03:00
Alexander Medvednikov 8947717e3e fix the build 2019-11-11 06:19:18 +03:00
Alexander Medvednikov 0ad0a61db2 remove unnecessary empty lines in cgen 2019-11-11 06:02:01 +03:00
Alexander Medvednikov 730ef96398 another tcc fix 2019-11-11 05:33:19 +03:00
Alexander Medvednikov bf98eb55ee remove a test until a tcc bug is fixed 2019-11-11 05:27:30 +03:00
Alexander Medvednikov b3143bb559 parser: remove start_tmp() entirely 2019-11-11 05:22:38 +03:00
Daren Liang 91896af877 math: digits panic for invalid base 2019-11-11 05:21:47 +03:00
Alexander Medvednikov 887c94d9ba parser: second batch of start_tmp() 2019-11-11 05:14:54 +03:00
Alexander Medvednikov 00b3557ce1 parser: start removing start_tmp() 2019-11-11 05:06:24 +03:00
Alexander Medvednikov f30d0ce667 parser: fix a bug with complex ref fn args 2019-11-11 04:56:13 +03:00
Henrixounez 76c27c0b03 cli: create project helper 2019-11-11 00:48:56 +03:00
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
Carlos Esquerdo Bernat 8a77d4482c vweb: fix headers 2019-09-05 15:46:24 +03:00
Henrixounez f83bc9528d readline: added suspend handling and dont print special characters 2019-09-05 15:06:41 +03:00
Henrixounez cc5470d068 readline: overwrite mode and eof fix 2019-09-05 02:02:04 +03:00
vitalyster 38d26c8080 Travis: run msvc tests 2019-09-03 20:15:08 +03:00
joe-conigliaro b4d033ff54 compiler: generalize mod dag & use for sorting structs also 2019-09-03 19:11:21 +03:00
Delyan Angelov db110759ab vweb: fix warnings 2019-09-03 19:10:56 +03:00
joe-conigliaro 5dcfda0600 crypto.rand: improve test to actually check for difference in data 2019-09-03 16:10:26 +03:00
Delyan Angelov c9a39dfdb5 compiler: build tetris executable on windows with both msvc and mingw gcc 2019-09-03 16:09:43 +03:00
Henrixounez 216f343f09 readline: history feature 2019-09-03 16:07:20 +03:00
Joe Conigliaro 1f67d9edd8 fix bugs breaking tests 2019-09-03 15:21:52 +03:00
Delyan Angelov ecb661f719 tetris: fix &Foo instead of *Foo warnings. 2019-09-03 11:39:06 +03:00
Vitaly Takmazov 83d724fb70 print_backtrace: do not use printf directly 2019-09-03 11:09:55 +03:00
Henrixounez 510fb2a981 readline: add custom prompt feature 2019-09-02 20:22:33 +03:00
Delyan Angelov 93716ee944 crypto: add utility hexhash functions 2019-09-02 20:22:19 +03:00
Alexander Medvednikov bb9eec8696 json: use & 2019-09-02 19:17:05 +03:00
Henrixounez 9b8de9b59c readline: clear the screen on ctrl+l 2019-09-02 15:33:46 +03:00
Alexander Medvednikov 1c6d51f271 remove u8 and i32 from tests and examples 2019-09-02 15:02:25 +03:00
Alexander Medvednikov 718041194f os: clean up 2019-09-02 13:57:00 +03:00
Henrixounez 33ae7520e7 readline: added suppr key to delete characters right of cursor 2019-09-02 13:36:04 +03:00
Alexander Medvednikov 0e2c41e0f9 replace *Foo with &Foo everywhere 2019-09-01 22:51:16 +03:00
Alexander Medvednikov 3bd7bcfac3 remove u8 and i32 aliases 2019-09-01 22:37:22 +03:00
Alexander Medvednikov 4edccce9a3 array: sort ints 2019-09-01 22:30:49 +03:00
Henrixounez fe3639d547 readline: multiline wrapping for editing and cursor 2019-09-01 20:43:47 +03:00
Alexander Medvednikov bfa6505636 compiler: replace &Type with Type 2019-09-01 14:05:03 +03:00
Alexander Medvednikov 961e778ed1 map_test.v: format + ref test 2019-09-01 14:05:03 +03:00
Alexander Medvednikov af5b2e1b3c glfw: make Pos fields public 2019-09-01 07:09:18 +03:00
Henrixounez 4abfb686ec readline: moving cursor feature 2019-09-01 01:02:33 +03:00
Henrixounez 95b107cbc6 readline: reworked dispatch architecture for easier features add 2019-08-31 21:18:32 +03:00
Alexander Medvednikov 72363ada84 array: make .set() private + format 2019-08-31 02:35:05 +03:00
Henrixounez a9a4032a11 readline: basic reading on linux 2019-08-31 00:54:53 +03:00
kawa-yoiko 4f0f99e663 parser: fix mutability with chained fields 2019-08-30 20:19:06 +03:00
Delyan Angelov e3389e8ec1 log: add seconds to terminal output too. 2019-08-30 13:06:02 +03:00
Alexander Medvednikov d5d1b74f90 time: do not include <unistd.h> on windows 2019-08-30 01:10:29 +03:00
Alexander Medvednikov 3c5087902d fix msvc build 2019-08-30 01:06:10 +03:00
Alexander Medvednikov 2fe20cd092 compiler: fix struct order bug 2019-08-29 23:46:12 +03:00
Henrixounez 29e0396eca compiler: adds handling of two variables for loop on string 2019-08-29 21:41:16 +03:00
joe-conigliaro cd625b04eb http: windows - make https requests work in threads 2019-08-29 12:33:20 +03:00
joe-conigliaro 32683ad6fd sync: fix mutex on win & waitgroup (all os) update. fixes news_fetcher example on win (#1776) 2019-08-29 11:48:03 +03:00
Delyan Angelov c92654a044 fix building v on alpine with musl libc 2019-08-28 19:26:18 +03:00
Vitaly Takmazov 5124eae47d msvc: check exit code 2019-08-28 13:26:27 +03:00
Delyan Angelov 73c6bae480 print backtraces on panic on mac and linux 2019-08-27 23:29:13 +03:00
joe-conigliaro 02fc7e14cd make trim use cutset like trim_right/trim_left 2019-08-27 22:53:32 +03:00
joe-conigliaro 3db50f724b net.urllib: Update with latest changes from go lib 2019-08-27 22:44:41 +03:00
Alexander Medvednikov ab0a78a498 fix sync_win.v 2019-08-27 00:46:27 +03:00
Alexander Medvednikov d4b6b6c833 freetype: render all Unicode characters 2019-08-27 00:20:54 +03:00
Robin Martijn 5df31c16f7 json: fix #1751; support unsigned integers 2019-08-26 20:02:19 +03:00
joe-conigliaro 857cf00caf builtin.string: make trim_left/right() behave correctly 2019-08-26 14:18:58 +03:00
Delyan Angelov aa438c7c3f os: fix exec() and get_raw_line(); fix Windows tests and examples 2019-08-26 13:51:48 +03:00
Swastik Baranwal db525524ee string: title() and small fixes 2019-08-26 13:32:53 +03:00
Robin Martijn 754b8082fb time/vlib: fix day_of_week() with sakamoto's algorithm 2019-08-25 23:35:01 +03:00
joe-conigliaro 836cc32d78 http: allocate memory dynamically on Windows 2019-08-25 21:27:12 +03:00
Henrixounez f22d5c5624 vlib: remove negative checks on unsigned (#1728) 2019-08-25 01:48:38 +03:00
Delyan Angelov a62e6b127a http: send headers and request data 2019-08-25 01:48:06 +03:00
Alexander Medvednikov cd10890258 minor tcc fixes 2019-07-08 03:44:47 +02:00
Alexander Medvednikov 4c07df6a21 small webassembly fix 2019-08-24 03:09:23 +03:00
Alexander Medvednikov 031e7fe113 os: libproc.h on macos only 2019-08-24 02:53:11 +03:00
Alexander Medvednikov 7fd9827318 all: add missing includes 2019-08-24 02:48:47 +03:00
Alexander Medvednikov d98c20466e cc.v: build with "implicit-function-declaration" and fix declarations
required for the webassembly backend

2
2019-08-24 00:20:53 +03:00
Michiel Vlootman 817f5bf0a6 add test for [json:fieldname]
Added test also tests the output from json.encode to make sure the json:fieldname attribute is used.
2019-08-23 11:43:11 +03:00
Alexander Medvednikov e39cb41d6b json: custom json field names with "[json:field_name]" 2019-08-23 02:54:39 +03:00
Alexander Medvednikov f61b14584a remove "import const" everywhere 2019-08-23 00:09:03 +03:00
Alexander Medvednikov dcfc9eb1a1 remove from the language 2019-08-22 23:19:31 +03:00
Alexander Medvednikov 2eb9440095 http: disable the tests for now 2019-08-22 22:48:31 +03:00
Alexander Medvednikov eb5fcafa77 table: TypeCategory; freetype: remove C code; [typedef] C structs;
Objective-C interfaces
2019-08-22 22:18:55 +03:00
SewerynKaminski c8da79d785 Fix terminal goto control sequence building 2019-08-22 20:10:54 +03:00
Henrixounez 780ddaf22b compiler: handles printing of structures and arrays of structures 2019-08-22 14:34:33 +03:00
Danil-Lapirow fe8145c697 json: add raw json test 2019-08-22 14:22:16 +03:00
Delyan Angelov 77b31de117 compiler: produce errors in C "filepath:line:column:" format 2019-08-22 14:15:11 +03:00
Henrixounez 9b3b22d6b3 compiler: allows compound assignment operators on array 2019-08-22 04:57:43 +03:00
Delyan Angelov ffb6c6f5b4 net: add udp socket support and a simple udp server example. 2019-08-22 04:01:04 +03:00
Delyan Angelov 51818346df http: support plain http protocol 2019-08-21 20:04:06 +03:00
Delyan Angelov 49899c649c orm: fix select .. limit 1 . This case now returns an ?Row. 2019-08-20 16:33:14 +03:00
Carlos Esquerdo Bernat cf23c289ec tests: cleanup 2019-08-20 11:18:12 +03:00
Istvan dee411149e pg: config struct for connecting 2019-08-20 11:08:06 +03:00
Alexander Medvednikov 33e730b3fa ui: users_gui example 2019-08-20 00:19:55 +03:00
Alexander Medvednikov 01586d6d67 ui: ui_lin.v and ui_win.v 2019-08-19 00:28:33 +03:00
Alexander Medvednikov ac6c6e36c3
V UI readme: better wording 2019-08-19 00:14:39 +03:00
Alexander Medvednikov 7465ff97b3
V UI info 2019-08-19 00:12:35 +03:00
Alexander Medvednikov f654c4af7a
ui README.md 2019-08-18 18:28:29 +03:00
Alexander Medvednikov ac8a6d180c
ui license 2019-08-18 18:20:17 +03:00
Alexander Medvednikov 18d0a08ace freetype: fix utf crash 2019-08-18 18:13:12 +03:00
Emily Hudson d373b331fa ompiler: MSVC related fixes and `v test v` for windows testing
* MSVC related fixes and v test v for windows testing

* If second stage crashes on windows goto error

* use os.exec instead of system so that the error can be printed

* use -debug for osx vid

* Fix some whitespace to trigger a rebuild
2019-08-18 17:25:33 +03:00
S-YOU 0066afe7fc mysql module 2019-08-18 17:24:43 +03:00
Alexander Medvednikov 89b5a0fc25 ui: fix focus_app() 2019-08-18 17:01:31 +03:00
Alexander Medvednikov 56fbafe03a cc(): fix -x objective-c; ui.focus_app() 2019-08-18 16:59:36 +03:00
Alexander Medvednikov f9fb6f0be4 orm_test: remove pg import for now 2019-08-18 15:02:36 +03:00
joe-conigliaro 22348f2245 http: add vschannel_cleanup() back 2019-08-18 13:04:17 +03:00
Alexander Medvednikov fe2d2bd2a3 fmt: remove trailing spaces 2019-08-17 22:21:43 +03:00
Alexander Medvednikov 8a1324c141 os: make exec() return ?Result with exit code and output 2019-08-17 21:11:40 +03:00
Alexander Medvednikov 60bf668281 string: fix trim_right 2019-08-17 20:07:40 +03:00
Joe Conigliaro e5ebb83bd9 add test for writer 2019-08-17 17:43:43 +03:00
joe-conigliaro 547241c13c http: make do() return errors instead of panic 2019-08-17 17:02:01 +03:00
Joe Conigliaro 1274cdf0af path must start with / 2019-08-17 16:37:31 +03:00
Alexander Medvednikov 100bb7c54c os: clean up windows functions 2019-08-17 16:17:43 +03:00
Alexander Medvednikov 7ed0438b04 os: remove PathSeparator hack now that we have v_win.c 2019-08-17 16:02:59 +03:00
joe-conigliaro 1ba701e036 encoding.csv: add write support 2019-08-17 15:51:20 +03:00
joe-conigliaro 56566ba3d0 http: follow redirects (openssl & schannel) + fix url params 2019-08-17 15:50:47 +03:00
Nicolas Sauzede 4760fea489 examples/tetris: use better unique colors, implement game over/pause 2019-08-17 02:56:09 +03:00
unknown-v 49205dcce3 examples: fix maps warnings 2019-08-17 02:55:11 +03:00
Alexander Medvednikov be141d9c5f os: Windows fixes 2019-08-17 02:09:36 +03:00
Alexander Medvednikov 94b900bd0a map: allow array values 2019-08-16 23:28:47 +03:00
Alexander Medvednikov b188ecf680 Makefile: re-write `make test` in V 2019-08-16 16:51:46 +03:00
Alexander Medvednikov c156cef972 vweb: fix the test 2019-08-16 09:58:27 +03:00
Alexander Medvednikov dc9cebe26c orm fixes; glfw: remove C code 2019-08-16 09:10:03 +03:00
kambrium a5af903362 Fixed typo 2019-08-16 09:02:09 +03:00
joe-conigliaro 7b48f7ac9e encoding.csv module 2019-08-14 09:45:56 +03:00
Delyan Angelov a0c8fa5bbc http openssl: on linux, prefer newer openssl installations when available 2019-08-13 10:49:07 +03:00
Alexander Medvednikov a11961b0d3 vweb: make mime_types a const 2019-08-13 01:04:26 +03:00
Alexander Medvednikov bc563930f7 string: remove abs() 2019-08-12 21:16:01 +03:00
Alexander Medvednikov ef2ab31e88 sql: only accept strings and ints for now 2019-08-12 21:07:03 +03:00
Alexander Medvednikov 15a42f1f35 array.clone() 2019-08-12 14:41:40 +03:00
joe-conigliaro 8a2714b35a fix typo 2019-08-12 11:03:49 +03:00
Henrixounez 872aa536d8 compiler: unsigned number properly printed and converted to string
fix: array accessing now works with unsigned numbers
2019-08-12 09:15:53 +03:00
Alexander Medvednikov 8c3475b902 generate `.str()` for all arrays 2019-08-11 22:39:45 +03:00
Nick Treleaven ea30ba4555 map: remove temporary fields _keys, key_i 2019-08-11 19:43:21 +02:00
Carlos Esquerdo Bernat d526cfc205 vweb: fix V panic: array index out of range: 1/0 2019-08-11 14:07:22 +02:00
Delyan Angelov 2197c210e7 http: remove superfluous new line in stdout, when making a http request. 2019-08-11 13:15:29 +02:00
Alexander Medvednikov 8f8e0dfad7 V ORM 2019-08-10 13:35:29 +02:00
iRedMail 5a76255297 Allow extra http methods with form: PUT, PATCH
- Allow extra http methods with form: PUT, PATCH
- Rename `post_form` to `form`
2019-08-10 11:44:54 +02:00
Julian Schurhammer 1864e92ff4 parser: disallow statements after a return, branch check $if, $else, switch, and loops correctly 2019-08-10 10:26:42 +02:00
joe-conigliaro a0b59783a2 vlib.http: fix http schannel & follow redirects & cleanup 2019-08-10 10:05:59 +02:00
Alexander Medvednikov 5a80d587d5 makefile: use latest v.c 2019-08-10 08:21:32 +02:00
Alexander Medvednikov d4441e4353 freetype: clean up new_context() 2019-08-10 07:13:25 +02:00
Delyan Angelov 7d8b296943 freetype,gg: option to pass a custom font_path to freetype.new_context . 2019-08-10 00:10:26 +02:00
Vitaly Takmazov 6f03ed0b13 darwin: fix freetype include path for Homebrew and Macports 2019-08-10 00:09:15 +02:00
Nicolas Sauzede efa540e883 examples: tetris: draw score 2019-08-09 13:03:29 +02:00
joe-conigliaro d9a83481a5 http: initial windows schannel http support 2019-08-09 12:52:14 +02:00
Alexander Medvednikov 181a39d752 fix int_test.v 2019-08-09 10:21:21 +02:00
Alexander Medvednikov ae0e3efb8e scanner: experimental ≠ etc support 2019-08-09 09:32:51 +02:00
Alexander Medvednikov fbc480fbed ft: rename to freetype 2019-08-08 16:43:11 +02:00
Alexander Medvednikov 865eee2f6b gg: remove draw_text() 2019-08-08 16:09:04 +02:00
Alexander Medvednikov 27fad0f19b ft: clean up 2019-08-08 10:08:44 +02:00
Julian Schurhammer 61983a6799 parser: check that functions return in all if/else branches 2019-08-08 09:49:56 +02:00
Julian Schurhammer 28147c0930 os.exec: return ?string instead of string 2019-08-08 07:30:05 +02:00
dm1try 1c38661ff7 openssl: add Brew openssl path
closes #1509
2019-08-08 06:26:28 +02:00
Emily Hudson 802ff1d012 compiler: scoped defer + build tests with msvc 2019-08-07 17:51:21 +02:00
Marco Böttcher c924a6cf00 flag: allow to define flags with abbreviation
* flag: allow to check the count of the free args to produce an error

* flag: allow to define flags with abbreviation

flags could be defined to use a single char as abbreviation like
'--output' or '-o'
'--help' or '-h'
2019-08-07 16:52:10 +02:00
Alexander Medvednikov 4b69d43f9f fix examples 2019-08-07 14:16:10 +02:00
Alexander Medvednikov b5d67f226f openssl: use system headers on non-Windows systems 2019-08-07 14:09:15 +02:00
Joe Conigliaro 25d84f72a9 last mut fixes 2019-08-07 14:07:37 +02:00
Alexander Medvednikov cebb6cd537 ft: minor fixes 2019-08-07 13:39:54 +02:00
Alexander Medvednikov ff6e0df0a5 array: minor fixes 2019-08-07 13:39:54 +02:00
joe-conigliaro 511a3d3901 vlib.crypto+other: fix mut args 2019-08-07 13:37:07 +02:00
Alexander Medvednikov 818c4a14e5 compiler: fix a bug with mutable array args 2019-08-07 12:36:45 +02:00
joe-conigliaro 0bcc53c366 vlib: fix mutable args 2019-08-07 09:53:33 +02:00
Alexander Medvednikov 34e0b164eb make function arguments immutable by default 2019-08-07 08:59:00 +02:00
Cody Ley-Han 06b8bd9382 Add a logger interface to the std modules 2019-08-07 08:06:53 +02:00
Alexander Medvednikov 52f473d1c7 all: fix immutable fn args 2019-08-07 05:28:00 +02:00
Vitaly Takmazov 8d35649d90 openssl_backend: add MacPorts libssl path 2019-08-07 04:28:15 +02:00
Delyan Angelov 7607b00952 http: chunked decoding support 2019-08-07 03:57:47 +02:00
Alexander Medvednikov 6bde860043 http test: not today 2019-08-06 17:31:48 +02:00
Alexander Medvednikov ac335269b3 bring back the http test 2019-08-06 17:06:44 +02:00
Alexander Medvednikov b7a6c761b3 openssl: make compile on Linux 2019-08-06 16:35:49 +02:00
joe-conigliaro 60d206c29d http: use urllib.parse 2019-08-06 14:43:09 +02:00
Alexander Medvednikov 1b2e49be1c http: disable the test until windows is fixed 2019-08-06 14:28:27 +02:00
Alexander Medvednikov 3316968266 http: only run the get test on linux/macos for now 2019-08-06 14:15:42 +02:00
Alexander Medvednikov 8b75f2125a http: init_module() to init openssl once 2019-08-06 14:03:01 +02:00
Alexander Medvednikov eece058f18 h1 2019-08-06 14:03:01 +02:00
Alexander Medvednikov bea8f6d7e5 http: remove libcurl dependency; replace it with a simple OpenSSL backend 2019-08-06 13:32:09 +02:00
joe-conigliaro 69932758db net.urllib: update enum / const style 2019-08-06 13:01:05 +02:00
Alexander Medvednikov 7a7b5040e2 http: fix response headers and status code; clean up ft and gg 2019-08-06 03:06:27 +02:00
Marco Böttcher ff730b4eb0 flag: allow to check the count of the free args to produce an error 2019-08-06 01:56:42 +02:00
Vitaly Takmazov 43b81688f6 socket: WSACleanup should not be called on socket close 2019-08-06 01:50:45 +02:00
unknown-v 22eaceb17c http_win: set status_code ,remove unused var 2019-08-05 09:59:07 +02:00
Joe Conigliaro 2fab73983b add builtin import pass + use builder in map 2019-08-05 06:01:53 +02:00
Alexander Medvednikov 5ed338dc2e bring back map.str() 2019-08-05 04:34:12 +02:00
Alexander Medvednikov 8d3617b3de fix fn_test.v and urllib.v 2019-08-05 03:31:22 +02:00
Alexander Medvednikov 350e13679c force `()` in complex bool expressions: `(a && b) || c` instead of `a && b || c` 2019-08-05 03:22:28 +02:00
Alexander Medvednikov 4bc1f73fd0 fix gg.v 2019-08-04 09:46:49 +02:00
Alexander Medvednikov ee437de8d3 type name check fixes 2019-08-04 09:38:46 +02:00
Alexander Medvednikov 8bce5cb810 force snake_case in struct fields 2019-08-04 09:18:16 +02:00
Alexander Medvednikov 576192949d fixed size array with const size: `numbers := [N]int` 2019-08-04 04:11:16 +02:00
Nicolas Sauzede f306fbb2f0 net connect: fix error/return type 2019-08-04 01:46:55 +02:00
Alexander Medvednikov 43fb954234 os: fix executable on FreeBSD and older C compilers 2019-08-04 00:16:37 +02:00
Alexander Medvednikov 9eb385d9ee Revert "remove pg from vlib"
This reverts commit 15c5f671f0.
2019-08-04 00:11:56 +02:00
Alvydas Vitkauskas 331d6f98ee string: fix bug and add tests for string.count 2019-08-03 22:24:03 +02:00
Delyan Angelov 93d27b0b9f vweb assets: the assets cache files are now immutable after creation. (#1454) 2019-08-03 22:16:26 +10:00
joe-conigliaro 45e76609b0
vweb.assets: adds AssetManager for combining/minifying/caching css & js assets (#1452)
* start

* more work

* more

* more work

* update comments

* add back mut

* make minify faster

* add mut

* revert option size

* ret bool from public methods not ?bool for now

* update comments etc

* update comment

* dont return option for now

* clean up
2019-08-03 20:09:09 +10:00
Alexander Medvednikov e446f988f7 clean up map initialization 2019-08-03 10:26:36 +02:00
Alexander Medvednikov a5f5b52204 `map := { 'foo': 'bar' }` syntax 2019-08-03 10:20:04 +02:00
Joe Conigliaro bfddb9a80f make array.hex() use lowercase 2019-08-03 08:23:13 +02:00
Alexander Medvednikov 15c5f671f0 remove pg from vlib 2019-08-03 03:49:17 +02:00
Alvydas Vitkauskas bfdce806c4 fix string.count 2019-08-03 03:41:15 +02:00
joe-conigliaro d4c07d9b66 hash.crc32: modify sum methods to take []byte instead of string 2019-08-03 03:40:54 +02:00
Alexander Medvednikov 34a98e3df0 vweb fixes 2019-08-03 02:27:56 +02:00
Alexander Medvednikov 9e380e2886 vweb: clean up 2019-08-02 23:45:36 +02:00
Alexander Medvednikov b2874f1200 vweb: fix get_cookie() and redirect() 2019-08-02 23:41:02 +02:00
joe-conigliaro faf2f9920e string.v: string.count(substr) 2019-08-02 23:30:22 +02:00
joe-conigliaro 9e76d8a638 net.urllib: fix values (used for query string/form data) 2019-08-02 23:28:55 +02:00
Vitaly Takmazov 910f350a26 string_test: fix randomly failed test
* memory should be initialized with zeros before creating string
* there is no string([]array) constructor, string(byteptr) does not count length correctly, using string(byteptr, len) to fix
2019-08-02 19:20:36 +02:00
Alexander Medvednikov ed3f1d315b vweb: remove favicon hack 2019-08-02 10:15:20 +00:00
Alexander Medvednikov 8990eb06ec Revert "remove vlib/glfw (it's a vpm module now)"
This reverts commit cdfc4c8372.
2019-08-02 11:33:49 +02:00
joe-conigliaro 7bf1c7f005 net.urllib: change confusing name of internal method 2019-08-02 08:52:37 +02:00
joe-conigliaro 2bdbc327d9 vlib.crypto: add last commit to help track changes. (#1426) 2019-08-02 06:37:19 +02:00
unknown-v a27165f07e add []u64.str() 2019-08-02 06:07:16 +02:00
joe-conigliaro be0796ce14 urllib: fix error message 2019-08-02 06:00:34 +02:00
Alexander Medvednikov 81da1f1ab2 vweb: run app.init() once 2019-08-02 05:54:40 +02:00
Alexander Medvednikov f81562ee7e vweb: 404 2019-08-02 04:11:42 +02:00
joe-conigliaro 8369525d8a net.urllib: fix unescape 2019-08-02 00:31:47 +02:00
Sylvio Tavares 0e798b4c51 time: fix rand() 2019-08-02 00:31:02 +02:00
Alexander Medvednikov b57752e67e vweb: parse request headers 2019-08-01 18:51:21 +02:00
Alexander Medvednikov 3580179602 vweb: fix actions with ? 2019-08-01 17:57:06 +02:00
Alexander Medvednikov cdfc4c8372 remove vlib/glfw (it's a vpm module now) 2019-08-01 17:31:04 +02:00
Alexander Medvednikov a7e464fee9 user modules + `v install` from vpm 2019-08-01 17:28:25 +02:00
joe-conigliaro d3c89273e8 net.urllib module 2019-08-01 15:01:03 +02:00
vitalyster 0197f20d47 make_tests.bat: exit with error on failed test 2019-08-01 13:23:36 +02:00
Alexander Medvednikov eb313ebb5b
option: increase the temporary limit 2019-08-01 01:19:45 +02:00
Alvydas Vitkauskas cd49c2103b os: fix read_lines for win/dos files on unix 2019-08-01 00:48:10 +02:00
unknown-v b124539507 Update download_win.v 2019-07-31 23:22:05 +02:00
Alexander Medvednikov 0243f9b0e9 term: remove enable_term_color_win() 2019-07-31 23:19:27 +02:00
Alexander Medvednikov 2c7e0c0257 http: fix download_win.v 2019-07-31 23:03:38 +02:00
Alexander Medvednikov 8058bf3750 http_nix.v: remove remaining C code 2019-07-31 23:01:06 +02:00
Alexander Medvednikov 448aaa36f2 http: clean up http_win.v and remove all remaining C code 2019-07-31 22:54:55 +02:00
unknown-v 46154c25b5 Update http_win.v 2019-07-31 22:45:29 +02:00
Alexander Medvednikov 54d2f9921f http: Windows fixes + clean up 2019-07-31 22:27:39 +02:00
Alexander Medvednikov aac8503d83 http: use optionals (finally) 2019-07-31 22:15:24 +02:00
Alexander Medvednikov d3d4ee6b39 http: replace escape() with escape_url() 2019-07-31 20:57:34 +02:00
Vitaly Takmazov 550e8cd0cb http.escape and http.unescape for windows 2019-07-31 19:23:17 +02:00
Felix Scholz 12ecd0f3dc term: allow more colors to be used (bright styled ansi, rgb and hex)
* introduce bright versions of standard ansi colors

* allow developer to colorize messages with rgb

* allow developer to colorize messages using hex

* fix broken formatting
2019-07-31 19:22:38 +02:00
vitalyster 37a0e6ebef Travis: run tests for Windows (#1403) 2019-07-31 19:01:52 +02:00
Alvydas Vitkauskas 2e1da4b4bc Merge pull request #1050 from avitkauskas/fix-read-lines
os: fix read_lines
2019-07-31 10:56:36 +02:00
Alexander Medvednikov ddb4f45b02 another map bug fix + fix some warnings 2019-07-31 10:47:58 +02:00
jilio fa24a0cec5 os: fix is_dir 2019-07-31 10:38:29 +02:00
Alexander Medvednikov e592485395 map: test the new fix 2019-07-31 09:57:19 +02:00
Alexander Medvednikov a80f32254e map: fix delete() 2019-07-31 09:56:14 +02:00
vitalyster 375bc1352c f64.eq()
fixes float comparison tests
2019-07-31 09:20:40 +02:00
Alexander Medvednikov e0b45e33ea string: fix a bug with split() 2019-07-31 07:26:22 +02:00
jilio 6294c7878e vweb: recursive handle_static with mime types 2019-07-31 06:10:53 +02:00
Alexander Medvednikov 27d09ed514 http: make escape public on Windows 2019-07-31 04:00:43 +02:00
Alexander Medvednikov 8a7ddd102e vweb: tmpl fixes 2019-07-31 04:00:43 +02:00
Alexander Medvednikov 95d76993c9 .div hack 2019-07-31 04:00:43 +02:00
Alexander Medvednikov 8bb41d2de5 vweb: print address of the app 2019-07-31 04:00:43 +02:00
joe-conigliaro 1202631fa6 crypto.rand module 2019-07-31 03:24:12 +02:00
Alexander Medvednikov 17e8c1d628 map.delete(key) 2019-07-30 21:27:31 +02:00
Alexander Medvednikov ad8b105b2c vweb example 2019-07-30 21:15:17 +02:00
Alexander Medvednikov 79be98d2fb Revert "Support for the printf optimisation for windows and wide strings"
This reverts commit acd28fa495.
2019-07-30 18:28:00 +02:00
Alexander Medvednikov 3e458a8801 vweb: small fixes 2019-07-30 18:27:52 +02:00
F1ssi0N acd28fa495 Support for the printf optimisation for windows and wide strings 2019-07-30 18:04:19 +02:00
Alexander Medvednikov 548611bedc vweb: serve static files and vweb.text() 2019-07-30 15:53:35 +02:00
joe-conigliaro 5e57d099d7 v panic debug information 2019-07-30 15:08:14 +02:00
Richard Warburton 07ed320110 sync: WaitGroup 2019-07-30 15:06:16 +02:00
Alexander Medvednikov a6df3e51d2 vweb.json() 2019-07-30 05:13:44 +02:00
Vitaly Takmazov 468aac9750 glfw: add MacPorts library path 2019-07-30 03:49:12 +02:00
Vitaly Takmazov a2d4d38e8a pg: add Darwin flag for MacPorts installation path 2019-07-30 03:48:49 +02:00
Joe Conigliaro cfe581e2ab fix term 2019-07-30 03:15:46 +02:00
Alexander Medvednikov 69b6e682cb pg: fix GCC compilation error 2019-07-30 00:28:35 +02:00
Alexander Medvednikov 5bb8416baf
update vweb readme 2019-07-29 19:46:26 +02:00
Delyan Angelov 4a1970a322 http: return ?string 2019-07-29 19:18:26 +02:00
Alexander Medvednikov 460b4ee39f
vweb documentation 2019-07-29 18:50:25 +02:00
Alexander Medvednikov 207bab5f79 generics, vweb, comptime codegen, etc 2019-07-29 18:24:48 +02:00
Mike 'Fuzzy' Partin ff72d9104d log: added timestamps 2019-07-29 16:34:22 +02:00
joe-conigliaro d87030972e crypto: use new copy & clone 2019-07-29 16:33:35 +02:00
Richard Warburton 6701c3b263 Fixes #1362 2019-07-29 16:32:39 +02:00
Vitalie Ciubotaru 4100cca613 bf: fix a bug in bf.resize() (var name coincides with function name) 2019-07-29 16:31:48 +02:00
Alvydas Vitkauskas 8484de86c7 fix #1353 os.get_line 2019-07-29 04:44:54 +02:00
joe-conigliaro 45029f8c86 term: move enable_term_color_win() to colors_win.v 2019-07-29 04:44:21 +02:00
joe-conigliaro df06eee5e8 fn copy(dst, src) []byte 2019-07-28 17:19:59 +02:00
joe-conigliaro c7edeb00a8 term: add better error detection on Windows 2019-07-28 17:19:03 +02:00
Delyan Angelov 9cd2d68505 Fix #1334. Module glfw now imports gl. 2019-07-27 18:36:33 +02:00
joe-conigliaro 920ac3f92e crypto.rc4 module 2019-07-26 16:48:49 +02:00
joe-conigliaro ebf858b9ae crypto: remove unnecessary casts and comments 2019-07-25 18:41:38 +02:00
Joe Conigliaro 655cad58b2 add note & fix typo 2019-07-25 18:13:29 +02:00
Alexander Medvednikov 20a885ff1d []byte.clone() 2019-07-25 18:07:25 +02:00
Alexander Medvednikov d8b83bdd00 crypto: add Go's license 2019-07-25 18:07:25 +02:00
joe-conigliaro 61f3982ee8 crypto.aes module 2019-07-25 17:49:57 +02:00
Alexander Medvednikov 2ac579ca0a wrap up the new mut check 2019-07-25 14:13:35 +02:00
Alexander Medvednikov ceb0139329 fix tests 2019-07-25 14:06:26 +02:00
unknown-v 082098ab67 sync_win.v : Add a Missing Closing Bracket 2019-07-25 12:25:38 +02:00
Alexander Medvednikov 3a8cdadcf5 free strings 2019-07-25 01:22:45 +02:00
Alexander Medvednikov 299d41e3b9 os: fix a memory leak in File.write(string) 2019-07-24 22:47:06 +02:00
0x9ef a3e9a36553 Fix returned hash sum type 2019-07-24 20:29:11 +02:00
F1ssi0N ca70d1f8a3 os: Make windows allocations more consistent & LocalFree args_list
if max is 512 then allocate `max * sizeof(wchar_t)`
2019-07-24 19:10:06 +02:00
F1ssi0N f8bc893972 Re-add the case for msvc now that it is a valid comp-time option 2019-07-24 18:14:44 +02:00
AtjonTV 99355ae8b2 os: Implement a read-all for STDIN 2019-07-24 18:14:13 +02:00
yep84 94a599d630 log: allow file logging 2019-07-24 17:50:29 +02:00
0x9ef aea6a8075b Windows mutex 2019-07-24 17:36:20 +02:00
Alexander Medvednikov 2306901e6e os.flush_stdout() 2019-07-24 16:15:28 +02:00
Maciej Sopyło 58577f57c6 fix: segfault when using string.ustring_tmp() 2019-07-24 16:06:12 +02:00
Emily Hudson 32aae80a64 Windows: fix some heap corruptions, fix msvc not building with unicode flags, fix os.getwd, fix mscrazy using a less recent installation 2019-07-24 15:00:26 +02:00
Vitaly Takmazov 0bbefca875 Windows: unicode command line 2019-07-24 14:32:36 +02:00
Alexander Medvednikov 7f29928aec examples: fix news_fetcher on Windows 2019-07-24 12:34:25 +02:00
vitalyster fcb1f211e3 Windows Unicode I/O 2019-07-24 12:16:45 +02:00
Nick Treleaven 6eb8766e59 http.new_request: Don't ignore mutated variables url, data 2019-07-24 00:32:41 +02:00
Justice Suh d72c859bf9 net: socket error handling 2019-07-24 00:31:39 +02:00
Alexander Medvednikov 2291e9fcfe Revert "Windows Unicode support"
This reverts commit 8462e99bc5.
2019-07-24 00:24:34 +02:00
d2verb 88758082d2 scanner.v: refactoring 2019-07-24 00:06:48 +02:00
vitalyster 8462e99bc5 Windows Unicode support 2019-07-23 23:40:24 +02:00
Emily Hudson e25ea7f9dd add MSVC C backend support; fix live code reloading on Windows; other Windows fixes 2019-07-23 23:23:13 +02:00
Alexander Medvednikov 527b9e13fa `key in map` syntax 2019-07-23 23:00:09 +02:00
Vitalie Ciubotaru bd95f5bf8f bf: add basic documentation 2019-07-23 18:29:04 +02:00
TillCoyote 732099fa08 math: hypot() 2019-07-23 18:28:30 +02:00
Jonathan Vice d69bac5565 glfw: fix typo 2019-07-23 18:27:53 +02:00
Archan Patkar 7b4c3ec618 math/complex: restructuring cmath as a submodule of math 2019-07-23 13:35:44 +02:00
unknown-v 981185e42f Windows displays a NaN as -1.#IND
https://stackoverflow.com/a/347940
2019-07-23 00:29:47 +02:00
Alexander Medvednikov a2a0b149b2 examples/graph: update the graph instantly; add a couple of graphs 2019-07-23 00:24:42 +02:00
Rendims 5375038d88 string: avoid double allocation in trim_space() 2019-07-23 00:13:00 +02:00
Alexander Medvednikov 390394b56b string: make substr() copy the data, like in Java and C#; remove .cstr()
this makes managing memory used by strings much easier
V strings are now fully compatible with C strings
2019-07-22 17:03:45 +02:00
Alexander Medvednikov 23c5f88f3e Revert "Windows Unicode I/O "
This reverts commit 3e005074a3.
2019-07-21 17:29:40 +02:00
Alexander Medvednikov 9c9fe7029e fix os.is_dir on Windows 2019-07-21 17:14:25 +02:00
Alexander Medvednikov 4d5336897e array.slice(): bounds out of range check 2019-07-21 16:55:04 +02:00
Alexander Medvednikov 5d188130e5 fix memory free 2019-07-21 16:30:10 +02:00
Alexander Medvednikov 40c31f701f free arrays when they are out of scope
main.v: update help
2019-07-21 14:42:31 +02:00
Alexander Medvednikov a6e4720a4d
os: fix popen on Windows 2019-07-21 13:37:27 +02:00
vitalyster 3e005074a3 Windows Unicode I/O 2019-07-21 13:29:32 +02:00
Alexander Medvednikov 6e6f6bc387 free/malloc fixes 2019-07-21 12:36:21 +02:00
Alexander Medvednikov 975286302c fix Tetris onkeydown 2019-07-21 11:56:43 +02:00
Alexander Medvednikov c3c6648c57 string(bytes_array) cast 2019-07-20 22:03:38 +02:00
Alexander Medvednikov 7f512eaf72 examples/hot_code_reloading: graph builder improvements 2019-07-20 17:59:40 +02:00
Alexander Medvednikov 5c12d13b19 builtin: make string.add() private 2019-07-20 16:43:33 +02:00
Alexander Medvednikov 72159d4169 vlib/glm: fix glm_test.v 2019-07-20 16:39:09 +02:00
Alexander Medvednikov 769cda1d1f simplify gg; remove forced OpenGL dependency; graph builder /w hot code reloading 2019-07-20 16:06:15 +02:00
Archan Patkar 760034b6b1 math/stats: added basic stats operations 2019-07-19 11:50:32 +02:00
0x9ef d6ddfa124d Fixed get_error_msg for *nix
* Fixed undefined: get_error_msg
2019-07-18 20:21:48 +02:00
joe-conigliaro ea2412297d crypto.sha512: change hardcoded u64's back to consts 2019-07-18 11:34:04 +02:00
joe-conigliaro 43070412f7 implement crypto.sha256 + some crypto cleanup 2019-07-18 10:50:05 +02:00
Vitalie Ciubotaru c0911ea74b bf: add reverse(), resize(), pos() and rotate() 2019-07-18 10:49:32 +02:00
Alexander Medvednikov f5c8ee4742 string(buffer, len) cast 2019-07-18 04:50:44 +02:00
d2verb 92fbe56276 table: fix #1219 2019-07-18 04:32:49 +02:00
Alexander Medvednikov c35adbea91 vfmt fixes 2019-07-17 21:00:39 +02:00
joe-conigliaro 8cd1f962d3 implement missing string to int type methods (#1210)
* implement missing string to int methods

* make number base auto detected
2019-07-17 20:11:14 +02:00
unknown-v 9d4b4df54f net : fix error msg
from 
os.hostname() cannot get the host name
to
net.hostname() cannot get the host name
2019-07-17 18:42:10 +02:00
joe-conigliaro 0ca58aba5e Fix array.reverse() test 2019-07-17 18:35:40 +02:00
Joe Conigliaro 09fb000e67 fix 2019-07-17 18:21:39 +02:00
Alexander Medvednikov 251e32948e fix Windows build: move hostname to net/ 2019-07-17 13:50:58 +02:00
Alexander Medvednikov b9f3f2d622 v script 2019-07-17 13:49:42 +02:00
joe-conigliaro 55b8a9acb9 crypto.sha512 2019-07-17 11:00:15 +02:00
Ned Palacios 9782d85709 enable render term color on windows by default 2019-07-17 02:52:17 +02:00
Yash Tripathi 982496ffce math: faster factorial function 2019-07-17 00:03:51 +02:00
unknown-v a743ecaff9 Windows : fix build
curl -Os https://raw.githubusercontent.com/vlang/vc/master/v.c
cc -std=gnu11 -w -o v v.c -lm
ccK5ic4o.o:v.c:(.text+0x6f62): undefined reference to `__imp_gethostname'
collect2.exe: error: ld returned 1 exit status
2019-07-17 00:02:31 +02:00
0x9ef 8ef3313d63 Fixed buf on hostname and added optional type.
Before submitting this PR, submit https://github.com/vlang/v/pull/1188
2019-07-17 00:02:07 +02:00
0x9ef 91a712fdf0 Check for max error code overflow
If do not check the overflow of the maximum error code (15841), this can lead to a program crash.
2019-07-17 00:01:42 +02:00
Rustem B 47b0221b82 os: hostname function 2019-07-16 19:23:47 +02:00
Joe Conigliaro 36442976c3 fix dir_exists on win 2019-07-16 18:31:49 +02:00
Ned Palacios e638e47af5 `setenv` and `unsetenv` for windows fix 2019-07-16 17:18:08 +02:00
Alexander Medvednikov f5fa43d2fa os: fix executable() for all other BSDs 2019-07-16 16:37:59 +02:00
Alexander Medvednikov 674969665e freebsd fix 2019-07-16 16:22:25 +02:00
Alexander Medvednikov 6fabd36732 freebsd: fix os.executable() 2019-07-16 16:19:55 +02:00
Ned Palacios c3ad75191d os: fix 'rm' and 'rmdir' implementation on windows 2019-07-16 15:55:51 +02:00
Alexander Medvednikov 8aa7da1be1 http_win: fix BUF_MAX 2019-07-16 15:29:27 +02:00
joe-conigliaro 9c586e7e92 crypto md5 2019-07-16 14:20:51 +02:00
Alexander Medvednikov 961ffb1868 Windows: temporary fix of dir_exists 2019-07-16 03:17:49 +02:00
Alexander Medvednikov 9c63cac54d another Windows fix 2019-07-16 02:06:39 +02:00
Alexander Medvednikov 090cdcf3b9 os: fix PathSeparator on Windows 2019-07-16 01:59:28 +02:00
Alexander Medvednikov cc06fe7ae6 os.dir(); fix vroot on Windows 2019-07-16 01:57:06 +02:00
Alexander Medvednikov 24a1e0e24a better os.executable on macos 2019-07-15 23:25:11 +02:00
Justice Suh b20d7ad086 builtin: Move free from array.v to builtin.v 2019-07-15 22:56:10 +02:00
Alexander Medvednikov 840e496a51 force snake_case in variable names 2019-07-15 22:53:33 +02:00
Archan Patkar d58174e77f math: moved fraction to math/fraction 2019-07-15 21:16:41 +02:00
0x9ef 9b5383341d Add get_error_msg 2019-07-15 20:39:09 +02:00
Alexander Medvednikov ecda895003 move zip C dependency to thirdparty/ 2019-07-15 19:30:53 +02:00
Alexander Medvednikov 449fd372f9 *_nix.v support 2019-07-15 19:23:09 +02:00
Alexander Medvednikov b36a9f7e55 glfw always on top 2019-07-15 19:23:09 +02:00
Paparoni Alvardo f27777af56 Add wrapper of https://github.com/kuba--/zip 2019-07-15 18:55:00 +02:00
joe-conigliaro a7529b7b05 sha1 implementation + helper funcs 2019-07-15 17:49:01 +02:00
Alexander Medvednikov 7c6f59afa6 FreeBSD support 2019-07-15 17:24:44 +02:00
Alexander Medvednikov 5a9116b697 http: make do() public 2019-07-15 16:06:23 +02:00
Nick Treleaven d8df8474bc http_win.do: Reject URL without '://'
Before it would accept 'domain/path' but set host = 'ath'.
2019-07-15 15:43:54 +02:00
Paparoni Alvardo 7058333f17 Add get_module_filename 2019-07-15 14:27:33 +02:00
Archan Patkar 4af58e0925 cmath: added arg, log and complex pow operations 2019-07-15 14:27:03 +02:00
d2verb 916b13b286 fix maps 2019-07-15 12:33:18 +02:00
Alexander Medvednikov 3b1964e9df migrate remaining code to the new maps 2019-07-14 22:26:21 +02:00
Alexander Medvednikov f7dbbf5810 re-write map.v and update the compiler 2019-07-14 22:08:17 +02:00
Vitalie Ciubotaru 9a3baf5609 bf: add setall(), clearall(), string() and str2bf() 2019-07-14 18:24:37 +02:00
Alexander Medvednikov 7fa1f423e2 fix time_test.v 2019-07-14 17:08:14 +02:00
joe-conigliaro 6c2e313155 add missing implementation of os.getexepath for mac 2019-07-14 16:50:24 +02:00
Alexander Medvednikov 6995cc0234 time: fix test_days_in_month() 2019-07-14 16:47:02 +02:00
nxshock 1ce295b683 time: days_in_month() 2019-07-14 16:43:57 +02:00
0x9ef 82ed0156c5 Fixed clang build for windows.
Fixed:
C:\Users\C182~1\AppData\Local\Temp\ccb5oFDP.o: In function `os__fork':
C:/Users/─рэ //.vlang//v2.exe.c:4831: undefined reference to `fork'
C:\Users\C182~1\AppData\Local\Temp\ccb5oFDP.o: In function `os__wait':
C:/Users/─рэ //.vlang//v2.exe.c:4840: undefined reference to `wait'
collect2.exe: error: ld returned 1 exit status
2019-07-14 12:38:03 +02:00
Justice Suh 436d7592c7 os: fork() and wait() 2019-07-14 10:22:41 +02:00
Justice Suh 5dfd5fa3e7 net: add windows socket support 2019-07-14 00:04:45 +02:00
d2verb 2cb12b4f4e rand: change rand.seed() to receive seed value 2019-07-13 18:17:45 +02:00
Alexander Medvednikov af7d49103b json: Windows fix 2019-07-13 16:47:23 +02:00
joe-conigliaro b4afa964fc hash/crc32 2019-07-13 15:11:32 +02:00
Justice Suh 5d7bac2016 os: add flush method 2019-07-13 12:30:52 +02:00
unknown-v 3281e44e84 http_win : fix buf length
Line 157 : buf[nr_read] = 0 
set the null character '\0'
2019-07-13 12:30:21 +02:00
Vitalie Ciubotaru ef899b7c09 bf: add cmp(), join(), slice(), popcount() and hamming() 2019-07-12 20:46:37 +02:00
Koustav Chowdhury 2538a7e752 math : fix typos 2019-07-12 20:45:56 +02:00
Nick Treleaven 4c4e0c690c Fix missing rename of pos -> hpos; move `s` next to use site 2019-07-12 20:43:42 +02:00
aguspiza d0e7d0070d fix travis windows user home 2019-07-12 20:35:01 +02:00
Alexander Medvednikov 5baff9beda http: Windows fixes 2019-07-12 16:26:02 +02:00
Marco Böttcher cb9fb66ccf flag: added a simple command line parser 2019-07-12 15:47:27 +02:00
Archan Patkar 846d4e2210 cmath: Added Cot,Sec,Cosec support for complex 2019-07-12 12:56:21 +02:00
eulerkochy 7f4c3cda4d reduce redundant code, add tests for reduce and gcd 2019-07-12 08:50:11 +02:00
Koustav Chowdhury 08866f1331 math : add error and gamma functions; sort all functions 2019-07-12 07:46:40 +02:00
joe-conigliaro 9a957ccc18 module aliasing & file import scope 2019-07-12 07:37:54 +02:00
Alexander Medvednikov e246833daa math.v note 2019-07-12 07:01:14 +02:00
Alexander Medvednikov 5b3295db94 remove # from gg and glm 2019-07-12 06:50:25 +02:00
Alexander Medvednikov 28d379dc7b make glfw work on Windows 2019-07-12 05:04:27 +02:00
Alexander Medvednikov f834644db4 make gg work on Windows; prebuild glad and cJSON; new ft module 2019-07-12 04:50:14 +02:00
eulerkochy 06e7354d18 change log2 implementation to use C.log2() 2019-07-11 20:42:51 +02:00
Archan Patkar 7701be2242 cmath: added inverse trig operations 2019-07-11 16:53:34 +02:00
Alexander Medvednikov 4a8ba9756f disable u32 check for now 2019-07-10 22:05:50 +02:00
Alexander Medvednikov e1a6453302 move Complex logic to cmath
It was causing problems with cross compiling for Linux, and it should be
a separate module anyway, just like in Go and Python.
2019-07-10 21:47:13 +02:00
Alexander Medvednikov 3d4cd0bbc0 check integer const overflow at compilation 2019-07-10 21:22:03 +02:00
Archan Patkar 69d2db0f1e math: added complex trig operations 2019-07-10 20:50:43 +02:00
hazohelet 00ea112b66 complex, fraction: simplify and format source code 2019-07-10 13:51:48 +02:00
Alexander Medvednikov 28843a12c7 cache string.hash() 2019-07-10 10:00:12 +02:00
Alexander Medvednikov e1ddac1590 utf8: remove unused UTF8_CHAR_LEN macro and add a simple utf8 test 2019-07-10 09:07:04 +02:00
Koustav Chowdhury 385f47c0cd add abs for complex, add tests (#1043) 2019-07-09 21:12:51 +02:00
Vitalie Ciubotaru c4fcfcec88 bf: add a module implementing operations with bit arrays (#1049) 2019-07-09 21:11:09 +02:00
Archan Patkar 3f916efb64 math: additional complex operations with tests 2019-07-09 20:51:46 +02:00
archanpatkar f767218107 term: optimized move function 2019-07-07 22:48:20 +02:00
hazohelet ccf733ac95 add angle func 2019-07-07 22:42:03 +02:00
eulerkochy b40ad7c83f save a byteptr memory, add tests 2019-07-07 22:37:17 +02:00
Alexander Medvednikov de8dc4cddb hot code reloading examples 2019-07-07 22:02:27 +02:00
joe-conigliaro 8a2d25247f submodules 2019-07-07 01:22:47 +02:00
archanpatkar 818f8252f6 math: basic complex number support with tests 2019-07-07 01:16:49 +02:00
Alexander Medvednikov d47e2f113f Revert "make function arguments immutable"
This reverts commit 0f0ed8d716.
2019-07-05 02:44:22 +02:00
Alexander Medvednikov 0f0ed8d716 make function arguments immutable 2019-07-05 00:24:13 +02:00
Alexander Medvednikov 74dbb1bce3 interface: fix function is private bug 2019-07-04 23:30:11 +02:00
Alexander Medvednikov ebbea9f560 Revert "Added const INVALID_HANDLE_VALUE"
This reverts commit adef37f0f4.
2019-07-04 22:39:20 +02:00
Alexander Medvednikov 92528205c1 minor fixes 2019-07-04 22:39:15 +02:00
0x9ef adef37f0f4 Added const INVALID_HANDLE_VALUE 2019-07-04 22:26:07 +02:00
Justice Suh 9e4ae929a4 os: remove test file 2019-07-04 20:37:35 +02:00
joe-conigliaro 4e1afc148a os: add term colors for Windows +minor fixes 2019-07-04 17:39:35 +02:00
archanpatkar b745234a52 math:added basic tests for fraction and fixed typo 2019-07-04 17:38:36 +02:00
Alexander Medvednikov 300ed59598 do not allow `import builtin` 2019-07-04 17:36:53 +02:00
Alexander Medvednikov 8f10e37370 make << work with appending arrays; PostgreSQL driver 2019-07-04 17:31:14 +02:00
Cytown fcf8909c75 add test for array_repeat with f32/f64
Signed-off-by: Cytown <cytown@gmail.com>
2019-07-04 13:01:51 +02:00
Joe Conigliaro 6b0e4a1d7b fix ls() win not ret []string when cant open dir 2019-07-04 12:59:41 +02:00
Kriyszig 801e06318f Factorial doesn't accept negative numbers
Previously factorial could accept negative number which isn't defined
2019-07-04 12:59:06 +02:00
Alexander Medvednikov 68ed555e91 V 0.1.12 2019-07-04 02:21:27 +02:00
joe-conigliaro 4d9c6197fd initial Implementation of ls() for windows 2019-07-04 02:16:39 +02:00
Alexander Medvednikov 5d4d3b838b StringsBuilder => strings.Builder; strings.repeat() 2019-07-03 22:18:46 +02:00
Archan Patkar e35ff0533b math: adopted i64 in Fraction and typo fixed 2019-07-03 21:50:54 +02:00
Alexander Medvednikov 8c36b9499d make json work with new optionals 2019-07-03 21:50:06 +02:00
Alexander Medvednikov dec0d961f5 os: clean up file functions, use optionals 2019-07-03 21:37:12 +02:00
archanpatkar ffb4da791d math: converted gcd and lcm to support i64 2019-07-03 19:40:44 +02:00
nxshock b3e5c89ba9 time: add is_leap_year(year int) 2019-07-03 18:55:07 +02:00
pverghese 05ef1e0681 Removed unnecessary printf statement which corrupts output of http.get 2019-07-03 16:13:52 +02:00
archanpatkar 5e0ae9a429 net: added listen_backlog to enable custom backlog 2019-07-03 16:13:02 +02:00
archanpatkar 4037019bb7 Added support for Fractions 2019-07-03 16:07:59 +02:00
Alexander Medvednikov 7a3b5c20dd time: fix empty unix 2019-07-03 01:27:38 +02:00
Justice Suh 5c42a31b9b os: capture signals 2019-07-02 23:08:57 +02:00
Nick Treleaven 75da1e4240 Speed up and simplify string.replace 2019-07-02 21:51:40 +02:00
S-YOU 53e439bc99 setsockopt arg optvalue supposed to be ptr 2019-07-02 21:49:05 +02:00
Alexander Medvednikov 1bbf3a3a0c make compiler 2019-07-02 21:45:51 +02:00
Alexander Medvednikov a9b8bc067f enums (`mode == .default_mode` syntax); fix `foo.bar[0].baz = val` 2019-07-02 21:39:26 +02:00
Justice Suh 859c8ffdb8 net: socket send and recv 2019-07-02 19:45:38 +02:00
RustemB cd4fe63355 math: digits function; SqrtTau; extra spaces; re writed doc's to correct form; test for factorial 2019-07-02 19:19:02 +02:00
joe-conigliaro 4ed67fbe7e implement get_line & get_raw_line for windows + REPL 2019-07-02 16:39:40 +02:00
lemoncmd b9586a4017 builtin : fix buffer overflow and i64 issue with hex() 2019-07-02 15:18:56 +02:00
aguspiza 1cd95091f2 remove additional line from write_file 2019-07-01 23:46:06 +02:00
0x9ef 01d5f4d744 Change permission from 'r' to 'rb'
it is preferable to open the file in binary mode.
2019-07-01 23:41:32 +02:00
0x9ef 1ca20196d0 Created os_win.v and added `get_file_handle` 2019-07-01 17:57:55 +02:00
Alexander Medvednikov 95841a31d4 Revert "Added permission bits."
This reverts commit ae1313a35c.
2019-07-01 17:46:28 +02:00
0x9ef ae1313a35c Added permission bits. 2019-07-01 17:37:01 +02:00
musou1500 668646f8f9 add `str` function for `rune` 2019-07-01 17:36:23 +02:00
Justice Suh 571410dd48 net: low level socket api 2019-07-01 17:31:38 +02:00
archanpatkar 235a7ecd7f Restructured termcolor to term module 2019-07-01 17:26:23 +02:00
Antoine Folie 32e32cee5c builtin : fix issue with int.hex 2019-07-01 17:20:14 +02:00
Alexander Medvednikov 61c7fa073b fix compilation on Linux 2019-07-01 17:04:09 +02:00
Alexander Medvednikov 99a9a6572a lots of Windows fixes and cross compilation for Windows 2019-07-01 16:51:17 +02:00
Alexander Medvednikov 52f93ae45f fix http 2019-07-01 02:58:49 +02:00
Alexander Medvednikov 36d343e931 fix examples 2019-07-01 02:52:50 +02:00
0x9ef 87fb898864 Create types_win.v for Win API basic types. 2019-07-01 02:45:40 +02:00
Alexander Medvednikov 5936ab16c8 fix maps; use maps for storing functions; verify struct initialization 2019-07-01 02:24:39 +02:00
0x9ef 42a622c10f Create const.v for Unix/Win32 API constants. 2019-06-30 21:59:56 +02:00
Alexander Medvednikov ef5a91a87a os: make write_bytes() public 2019-06-30 21:07:24 +02:00
Alexander Medvednikov fde0e39abf net: clean up 2019-06-30 21:00:22 +02:00
Alexander Medvednikov 6a1b16c72c net: listen and accept 2019-06-30 20:57:25 +02:00
Alexander Medvednikov 9062338cb4 fix compilation 2019-06-30 20:48:26 +02:00
Alexander Medvednikov 61b51f6149 os.File clean up + socket.v (dial()) 2019-06-30 20:28:50 +02:00
Alexander Medvednikov 386367c3d5 os: remove unused functions 2019-06-30 20:28:50 +02:00
paolopaoletto e2a535c3ce math.v: log_n, log2, exp2, cbrt and docs 2019-06-30 15:33:37 +02:00
Alexander Medvednikov 820aa3d3b3 os: remove os_mac.v and os_win.v, fix os.ls() on Windows 2019-06-30 14:57:27 +02:00
Alexander Medvednikov b0c844415d time.ticks() on Linux/macOS 2019-06-30 14:48:13 +02:00
Nick Treleaven b79defd7a9 Pre-allocate KMP prefix for string.index 2019-06-30 13:58:46 +02:00
Alexander Medvednikov 388eb36ecb map_test.v 2019-06-30 13:44:08 +02:00
chai2010 c5a0b3734a base: refine test 2019-06-30 13:17:28 +02:00
Zaoqi 437b32fe78 fmt: `id []typ` 2019-06-30 13:06:45 +02:00
Zaoqi 8d13880cab Update os.v 2019-06-30 13:05:41 +02:00
Alexander Medvednikov d0c47f3f2a array.v: make _push private 2019-06-29 23:56:55 +02:00
Alexander Medvednikov a2b80d5b3d REPL: `exit` to exit 2019-06-29 22:56:23 +02:00
Dinar Garipov f4f1622528 vlib: update and cleanup tests + fix PR template 2019-06-29 22:49:57 +02:00
Alexander Medvednikov 18525922fd Windows fixes 2019-06-29 21:26:39 +02:00
Rustem B 7eab373922 math: gcd and lcm functions 2019-06-29 17:24:55 +02:00
Alexander Medvednikov 3ddbe015b4 bring back examples 2019-06-29 12:34:32 +02:00
Alexander Medvednikov 4594d78bd6 move all vlib modules to vlib/ 2019-06-29 12:00:31 +02:00