Commit Graph

113 Commits (8278af4ee891ad79a2fae47a7d991039ef9562aa)

Author SHA1 Message Date
Nick Treleaven 042449cd3d
cgen: use voidptr key methods: map_get_1, map_set_1, map_get_and_set_1 (#7390) 2020-12-19 01:05:16 +02:00
Nick Treleaven 3976228ae0
map: add voidptr key methods (#7377) 2020-12-18 07:37:59 +01:00
Ned Palacios c164586fd5
cgen: fix map clone (#7366) 2020-12-17 08:44:50 +01:00
Nick Treleaven 7c8fa62cc2
map: encapsulate key clone operation on voidptr (#7327) 2020-12-16 02:23:59 +01:00
Nick Treleaven 89ef316db3
map: use voidptr-based key equality and meta index methods (#7320) 2020-12-14 14:57:53 +02:00
Nick Treleaven 999fe846e5
vtest-cleancode: add builtin/map.v to fmt list (#7285) 2020-12-14 12:31:24 +02:00
Nick Treleaven ae460a2208
map: make DenseArray.has_index not assume string keys (#7284) 2020-12-13 02:05:56 +01:00
ka-weihe 5a7fdb0610
map: optimize free() and keys() (#7152) 2020-12-06 00:24:24 +01:00
Nick Treleaven 0d28f12c54
map: use untyped keys for DenseArray and interleave keys and values (#7142) 2020-12-05 22:53:50 +01:00
Nick Treleaven d590ce7675
map: add 3 DenseArray methods for bootstrapping (#7113) 2020-12-03 21:12:53 +02:00
heronwr f8af866f76
builtin: make v_realloc use int parameter instead of u32 (#7080) 2020-12-02 15:35:11 +02:00
Delyan Angelov 8c241cb745 checker: check that fns with return values, and matches, do return 2020-11-11 17:23:57 +02:00
spaceface777 a9e9554b11
all: fix most C warnings (#6758) 2020-11-06 16:26:59 +02:00
Alexander Medvednikov 7da1afa140 all: switch to the new fn arg syntax everywhere; add lots of vfmt -verify tests 2020-10-15 12:32:28 +02:00
Delyan Angelov a9bd6acd52 builtin: fix new_dense_array (avoid the &string(int(...)) bug generating (int*) ) 2020-09-14 16:26:25 +03:00
Nick Treleaven 75212f9fab
cgen: error if ForInStmt is not handled (#6131) 2020-08-14 21:01:43 +02:00
Nick Treleaven 2dd90de993
parser: error on `[unsafe_fn]` (#6090) 2020-08-09 12:22:11 +03:00
Delyan Angelov 3d2fd471b6 ci: prepare for enabling compilation with g++ again 2020-07-25 20:20:49 +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
Alexander Medvednikov 74d70b8719 all: more cached moduels fixes 2020-07-18 13:49:03 +02:00
Alexander Medvednikov 7ab6899538 builtin: fix compilation (part 1) 2020-07-18 11:17:29 +02:00
Alexander Medvednikov 38e5569503 all: cached modules fixes 2020-07-18 11:15:44 +02: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
ka-weihe df45488e09
cgen: fix warnings (#5820) 2020-07-14 00:16:31 +02:00
Alexander Medvednikov 59df2db4e0 ci: disable C++ test for now 2020-07-11 15:36:08 +02:00
Alexander Medvednikov ab3c1f2a08 prealloc: skip frees for now 2020-07-11 13:22:18 +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
Emily Hudson 1848eb0973
cgen,map: fix leaks in `keys()` and `for x in y` 2020-06-27 17:00:27 +02:00
yuyi 58763ff299
map: remove unused `get2()` and `get3()` 2020-06-27 13:58:07 +02:00
ka-weihe 3bb6b6c8b2
map: comments and renaming 2020-06-24 23:31:19 +02:00
yuyi 67d9d94fb3
map: fix m[a]++ etc 2020-06-24 20:41:26 +02:00
ka-weihe 7f225f2eaa
map: rename size to len 2020-06-21 16:51:02 +02:00
Uwe Krüger 076089d3c5
checker: apply stricter type checks to function args and return types 2020-06-01 21:15:59 +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
ka-weihe 64173c792f
builtin: map: fix memory leak 2020-05-26 17:59:52 +02:00
ka-weihe 8ea0c812a2
builtin: map.clone() 2020-05-26 01:52:06 +02:00
yuyi 7f4cf08516
parser: check `(mut f Foo)` syntax 2020-05-17 13:51:18 +02:00
ka-weihe 85763d0539
map: faster get and exists 2020-05-09 12:42:01 +02:00
Delyan Angelov f638caef39 compiler: v -autofree can now compile itself 2020-05-06 19:03:51 +03:00
ka-weihe f27fd63f8c
builtin: map: one voidptr for all values 2020-05-04 14:56:19 +02:00
Henrixounez f6d74c8a37
checker: error on ternary if type mismatch 2020-04-30 09:32:29 +02:00
ka-weihe 18faaefe82
map: get: remove malloc and memcpy 2020-04-27 13:27:33 +02:00
Delyan Angelov 620fc962d7 builtin: use single line imports, to make analysis easier 2020-04-26 08:06:39 +03:00
Kris Cherven b288ecb795
cgen: add map string generation 2020-04-22 04:00:38 +02:00
ka-weihe e247690fe1
map: fast_string_eq and improved comments
* improved comments and fast_string_eq
* make it pass CI
* enumerate traits
* Add parameter back
* remove space
* remove parameter
* Allow bootstrap compilation in one step with old vc (add new_map/2 shim).
2020-04-12 15:10:06 +03:00
yuyi bf20b01586
map: fix map_test.v error 2020-04-09 03:57:08 +02:00
ka-weihe 7406abe3b6
map: use strcmp and update wyhash 2020-04-08 00:02:15 +02:00
ka-weihe a30d292385
map: fix leaksfree fix (#4254) 2020-04-05 23:31:53 +02:00