Commit Graph

249 Commits (f6f77e52647f30eade80696d99f63425072f1589)

Author SHA1 Message Date
Nick Treleaven 2dd90de993
parser: error on `[unsafe_fn]` (#6090) 2020-08-09 12:22:11 +03:00
Nick Treleaven a74cbf55c7
checker: warn if C.m* or C.s* functions are called outside unsafe blocks (#5869) 2020-07-20 20:06:41 +03:00
Nick Treleaven 105a0e015e
checker: warn if unsafe method called outside unsafe block (#5863) 2020-07-17 19:14:12 +02:00
Nick Treleaven f5e6a83a05
builtin: unsafe vlib pointer indexing (#5836) 2020-07-15 21:56:50 +02:00
Delyan Angelov cf7d03bda6 builtin: implement array.pop() 2020-07-14 20:01:39 +03:00
Alexander Medvednikov ab3c1f2a08 prealloc: skip frees for now 2020-07-11 13:22:18 +02:00
yuyi fae601fe39
array: add `reverse_in_place` for performance (#5798) 2020-07-11 13:17:11 +02:00
Alexander Medvednikov 649821be4c all: use v_realloc 2020-07-11 12:37:54 +02:00
Nick Treleaven 0b49e4db1c
v/checker.v: disallow pointer arithmetic for InfixExpr outside unsafe {} (#5640) 2020-07-03 18:10:10 +02:00
yuyi dc8b82e9a4
array: fix multiple array clone 2020-06-19 13:32:55 +02:00
yuyi 930c3d73c1
cgen: fix `arr.insert(0, [1,2,3])` and `arr.prepend([1,2,3])` 2020-06-18 12:08:11 +02:00
yuyi b4ad174b7f
array: fix multiple array.repeat index error 2020-06-12 11:42:26 +02:00
yuyi ff1437fc5a
cgen: fix multi_array index issue 2020-06-12 01:24:25 +02:00
Ned Palacios 8f9f426479
vdoc: plaintext fixes 2020-06-10 11:14:03 +02:00
Uwe Krüger 013fdb8a4b
checker: restrict numeric promotions to cases where no data is lost 2020-05-27 05:42:48 +02:00
Delyan Angelov 2adfbfc830 builtin: fix a bug in array_delete 2020-05-24 11:10:41 +03:00
Uwe Krüger 2635be511f
all: re-apply C++ support 2020-05-18 21:38:06 +02:00
Alexander Medvednikov 07a78b2843 Revert "all: C++ compiler support"
This reverts commit 9a237c3e82.
2020-05-18 17:05:48 +02:00
Uwe Krüger 9a237c3e82
all: C++ compiler support 2020-05-18 15:51:36 +02:00
yuyi 7f4cf08516
parser: check `(mut f Foo)` syntax 2020-05-17 13:51:18 +02:00
yuyi 9b6ee8e77d
cgen: array_init_with_default 2020-05-16 15:21:37 +02:00
Uwe Krüger 722a2c71c3
builtin: new_array: cap should not be less than len 2020-05-07 22:41:41 +02:00
Delyan Angelov f638caef39 compiler: v -autofree can now compile itself 2020-05-06 19:03:51 +03:00
Enzo Baldisserri 682838a0cf
checker: check array and fields mutability 2020-04-27 22:53:26 +02:00
yuyi e9f764db4f
cgen: uniform string output format 2020-04-27 14:48:28 +02:00
Alexander Medvednikov 3256d060f7 array: inline ensure_cap 2020-04-27 07:39:33 +02:00
Alexander Medvednikov 83552a0d58 array: replace make() with the new init syntax 2020-04-26 17:52:27 +02:00
Alexander Medvednikov 3ab8dc0092 parser: array init: `[]string` => `[]string{}` 2020-04-26 09:17:17 +02:00
Delyan Angelov 620fc962d7 builtin: use single line imports, to make analysis easier 2020-04-26 08:06:39 +03:00
Alexander Medvednikov d54b48b300 table: interface cast fix 2020-04-25 09:18:10 +02:00
Alexander Medvednikov 9229a963ed array: use __new_array everywhere 2020-04-25 09:10:54 +02:00
Alexander Medvednikov 48857090fc runtime `as` type check: part 2 2020-04-25 08:42:23 +02:00
yuyi 27e04748ed
cgen:gen_str_for_array 2020-04-19 10:42:34 +02:00
Kris Cherven a3ab5df2ed
cgen: prepend __ to new_array 2020-04-15 20:12:06 +02:00
Alexander Medvednikov f91d527154 deprecate `import module` 2020-04-14 18:27:30 +02:00
yuyi 682c619456
array: fix array_byte.str error 2020-04-14 05:55:53 +02:00
Alexander Medvednikov f748390172 parser: do no allow var names with __; cgen: use __argc 2020-04-04 14:55:40 +02:00
Alexey 01aa2b86f5
array, map: cast voidptr to byteptr 2020-04-02 15:31:44 +02:00
Alexander Medvednikov d4df916581 array: cast data to byteptr 2020-04-02 14:58:45 +02:00
Alexander Medvednikov 507f4ce87a array: handle "0" strings 2020-04-02 01:47:32 +02:00
Alexander Medvednikov 1cfe44d9c6 fix windows build 2020-04-02 01:15:00 +02:00
Alexander Medvednikov db59c621e8 v2: minor fixes 2020-03-27 08:47:02 +01:00
Alexander Medvednikov e5f6a0949f cgen: autofree: first step 2020-03-21 19:52:19 +01:00
Alexander Medvednikov 4fac09bcb4 array: simplify reverse() memcpy call 2020-03-20 16:51:36 +01:00
Alexander Medvednikov ca0bae0fcd array: fix reverse() 2020-03-18 18:54:11 +01:00
Alexander Medvednikov fe6707b26d cgen: minor fixes 2020-03-18 16:47:37 +01:00
Delyan Angelov de7fed45dc
builtin: implement []int.str() 2020-03-11 18:48:59 +01:00
penguindark 630913d872
builtin: new str(), hex() functions without C.printf 2020-03-11 00:38:11 +01:00
Alexander Medvednikov de55a26cfe cgen: lots of fixes 2020-03-10 23:21:29 +01:00
Alexander Medvednikov e3687dc257 checker: check C args 2020-03-08 22:11:56 +01:00
Alexander Medvednikov b0ece3a9d8
sync: implement pool.work_on_items to process a list of items in parallel 2020-03-04 20:28:42 +01:00
Alexander Medvednikov f27f832ede cgen: definitions + other fixes; calloc fix 2020-03-04 17:08:28 +01:00
Alexey cbffbf3438
array: reverse empty arrays correctly 2020-02-29 20:44:02 +01:00
Alexey 99cbc58db8
array: update `array.repeat` 2020-02-29 15:25:49 +01:00
spaceface777 ef8c1203b4
cleanup: replace C for loops with range 2020-02-24 17:55:16 +01:00
Alexander Medvednikov c314ab7b60 fix cmdline_test.v 2020-02-18 20:31:15 +01:00
Alexander Medvednikov 480af3f381 v2: checker fixes 2020-02-18 20:06:01 +01:00
prime31 a2838ae6f3
array: add `array.trim()` 2020-02-17 20:31:40 +01:00
Delyan Angelov 195f3f465b
option to disable bounds checking; examples/path_tracing.v: optimizations 2020-02-16 16:13:45 +01:00
Alexander Medvednikov d9cf98f772 v2: imports 2020-02-12 01:16:38 +01:00
Alexander Medvednikov 17212f816c v2: high order functions 2020-02-11 13:21:41 +01:00
Alexander Medvednikov f782388148 v2: minor fixes 2020-02-07 21:29:28 +01:00
Alexander Medvednikov 18a3961992 array.v: use `as` cast 2020-02-07 09:38:28 +01:00
Alexander Medvednikov b23854b2ab array.v: fix the build 2020-02-07 09:22:52 +01:00
Alexander Medvednikov f241945d70 v2: `as` cast 2020-02-07 09:19:45 +01:00
Alexander Medvednikov bb60b3081f v2: parse builtin successfully 2020-02-07 07:34:18 +01:00
Alexander Medvednikov 432ee93916 v2: break, continue, for in fixes, fixed size array, | 2020-02-04 08:29:50 +01:00
Alexander Medvednikov 1ac7a95f9b fix array_test.v 2020-02-03 10:27:06 +01:00
Alexander Medvednikov 34e9eb32bb sum types: allow modification in `match` 2020-02-03 09:11:10 +01:00
Alexander Medvednikov 71653273f6 v2: range, *, function object 2020-02-02 14:32:12 +01:00
prime31 08d3401092 array: clear() 2020-01-27 22:31:48 +01:00
Shun Sakai c8c43a2475 update copyright year 2020-01-23 21:04:46 +01:00
Charles WANG 136c469ef7 array: more eq functions 2020-01-21 18:49:30 +01:00
Alexander Medvednikov cf1fd6e950 array: fix arr << arr bug 2020-01-19 12:11:58 +00:00
Alexander Medvednikov 4c7df98ac9 make private struct warning an error 2020-01-12 19:59:57 +01:00
Alexander Medvednikov e70ef5334a fix array copy; ci: test prebuilt Windows package 2020-01-08 11:33:09 +01:00
Alexander Medvednikov 3c0fca9258 register methods (wip) 2020-01-08 10:19:18 +01:00
Alexander Medvednikov d823d82207 array type fix; method registration 2020-01-07 13:10:09 +01:00
Alexander Medvednikov 706c6066d5 index expression 2020-01-07 12:18:13 +01:00
Alexander Medvednikov 48ea1153a5 for ;; syntax 2020-01-07 00:14:19 +01:00
Alexander Medvednikov 3344111a03 minor fixes and cleaning up 2020-01-04 00:06:06 +01:00
Alexander Medvednikov 492dfebd15 SelectorExpr; receivers; struct field check; if expression 2020-01-02 20:09:23 +01:00
Alexander Medvednikov 4d31d5882d x64, v2 backends 2019-12-31 19:42:16 +01:00
Alexander Medvednikov da5fb5dcbd Revert "x64, v2 backends"
This reverts commit 81ae54d9bd.
2019-12-31 13:23:12 +01:00
Alexander Medvednikov 81ae54d9bd x64, v2 backends 2019-12-31 13:21:22 +01:00
Steve Phillips 6e9493887d builtin/array.v: Fixed typo in new_array (cap -> cap_) 2019-12-20 23:09:59 +03:00
Alexander Medvednikov d082b3f4b9 run vfmt on vlib/builtin 2019-12-20 00:12:29 +03:00
Alexander Medvednikov 76c800ffb6 bring back array.eq 2019-12-19 23:49:40 +03:00
Alexander Medvednikov d38687f893 run vfmt on cc, cgen, comptime, if_match 2019-12-19 23:43:23 +03:00
Alexander Medvednikov 1cef83aea4 run vfmt on array.v 2019-12-18 21:20:41 +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
Alexander Medvednikov 54707ff81d do not allow calloc(0) 2019-12-16 22:48:55 +03:00
Alexander Medvednikov 3fea8f3de5 *char => charptr everywhere 2019-12-01 10:33:26 +03:00
Alexander Medvednikov 7e4799334f array: make left/right/slice private 2019-11-30 12:37:34 +03:00
Alexander Medvednikov c98db8c437 array: fix sort() for ints 2019-11-19 00:27:35 +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 d732be64f6 array: update docs 2019-11-12 19:26:04 +03:00
Alexander Medvednikov 80ba8f07b8 more ui vh fixes 2019-11-01 18:03:24 +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 ae696e7ccb Revert "Revert "array: fix and document array functions""
This reverts commit b1eb9d6b15.
2019-10-31 21:50:20 +03:00
Alexander Medvednikov 128d37c671 vh fixes for the UI module 2019-10-31 21:26:12 +03:00
Alexander Medvednikov b1eb9d6b15 Revert "array: fix and document array functions"
This reverts commit 7fa33fc250.
2019-10-31 20:29:58 +03:00
Alvydas Vitkauskas 7fa33fc250 array: fix and document array functions 2019-10-31 15:46:50 +03:00
lorenzo pirro d42c53346d array: eq() for builtins (byte, string, int, i64, f32) 2019-10-29 14:26:00 +03:00
joe-conigliaro a075ce160e compiler: add `[..2]` & `[2..]` support for slices 2019-10-27 09:36:04 +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
Delyan Angelov eef73eea22 tools: new tool to extracts function names declared in V files 2019-10-21 14:14:28 +03:00
Alexander Medvednikov 1b518c158b unsafe keyword + make array.free() an unsafe method 2019-10-20 20:10:44 +03:00
Alexander Medvednikov 80e79a3966 array: optimized generic filter() 2019-10-18 07:30:39 +03:00
Don Alfons Nisnoni c7e47e6884 array: minor clean up 2019-10-12 00:06:30 +03:00
Don Alfons Nisnoni 942c56ca95 array: add reduce() method 2019-10-11 04:12:40 +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
Don Alfons Nisnoni fecf3f19c3 array: add filter() method 2019-10-08 13:23:17 +03:00
Don Alfons Nisnoni 68bcf6830c array: add index() method 2019-10-04 23:07:19 +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
joe-conigliaro 8974aa4513 compiler/vlib: change `_ :=` to `_ =` and disable `_ :=` 2019-09-25 15:10:45 +03:00
Alexander Medvednikov 8d52d877fb compiler: free local_vars 2019-09-23 22:16:52 +03:00
vitalyster 111007470e array: malloc => calloc 2019-09-21 02:29:09 +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
Alexander Medvednikov 3e923871cf compiler: use *char() cast in C functions to afix warnings 2019-09-15 15:19:18 +03:00
Alexander Medvednikov 5cc81b91cb JavaSript backend (early stage) 2019-09-15 03:49:57 +03:00
vitalyster 38d26c8080 Travis: run msvc tests 2019-09-03 20:15:08 +03:00
Alexander Medvednikov 0e2c41e0f9 replace *Foo with &Foo everywhere 2019-09-01 22:51:16 +03:00
Alexander Medvednikov 4edccce9a3 array: sort ints 2019-09-01 22:30:49 +03:00
Alexander Medvednikov 72363ada84 array: make .set() private + format 2019-08-31 02:35:05 +03:00
Alexander Medvednikov 94b900bd0a map: allow array values 2019-08-16 23:28:47 +03:00
Alexander Medvednikov 15a42f1f35 array.clone() 2019-08-12 14:41:40 +03:00
Alexander Medvednikov 8c3475b902 generate `.str()` for all arrays 2019-08-11 22:39:45 +03: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 bfddb9a80f make array.hex() use lowercase 2019-08-03 08:23:13 +02:00
unknown-v a27165f07e add []u64.str() 2019-08-02 06:07:16 +02:00
joe-conigliaro df06eee5e8 fn copy(dst, src) []byte 2019-07-28 17:19:59 +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
Joe Conigliaro 09fb000e67 fix 2019-07-17 18:21:39 +02:00
Justice Suh b20d7ad086 builtin: Move free from array.v to builtin.v 2019-07-15 22:56:10 +02:00
joe-conigliaro a7529b7b05 sha1 implementation + helper funcs 2019-07-15 17:49:01 +02:00
Alexander Medvednikov 74dbb1bce3 interface: fix function is private bug 2019-07-04 23:30:11 +02:00
Alexander Medvednikov 8f10e37370 make << work with appending arrays; PostgreSQL driver 2019-07-04 17:31:14 +02:00
Alexander Medvednikov 5d4d3b838b StringsBuilder => strings.Builder; strings.repeat() 2019-07-03 22:18:46 +02:00
Zaoqi 437b32fe78 fmt: `id []typ` 2019-06-30 13:06:45 +02:00
Alexander Medvednikov d0c47f3f2a array.v: make _push private 2019-06-29 23:56:55 +02:00
Alexander Medvednikov 4594d78bd6 move all vlib modules to vlib/ 2019-06-29 12:00:31 +02:00