Commit Graph

860 Commits (f3aac0bc6caab63e30edc90e23b62765d39689f8)

Author SHA1 Message Date
Swastik Baranwal d77669da80
test: add tests for disallowing map/array get element/key address (#6568) 2020-10-05 18:40:51 +03:00
Henrixounez c324169af0
all: remove intermediate handling for both global definition syntaxes (#6546) 2020-10-03 15:41:45 +02:00
Ekopalypse 1a7ac5e382
builtin: VectoredExceptionHandler cast on x86 (#6525) 2020-10-02 05:17:33 +02:00
Henrixounez 8152b86652
checker: detect correct len expression for multidimensional array init (#6521) 2020-10-02 03:12:33 +02:00
Daniel Däschle 06cade6c31
all: change .ReturnType and .Type to .return_type and .typ (#6494) 2020-09-28 06:13:38 +02:00
Delyan Angelov 220f3cc2b9 bare: update Signo enumeration 2020-09-27 16:48:25 +03:00
Emily Hudson 3a869c726b
builtin: fix definition of VectoredExceptionHandler (#6495) 2020-09-27 15:56:30 +03:00
Daniel Däschle abc98c273c
parser: require assign on type alias (#6477) 2020-09-25 12:02:32 +02:00
Alexander Medvednikov 403cd0d915 Revert "gen: scape string function in gen/str.v (#6452)"
This reverts commit 60fbcc37fc.
2020-09-24 18:19:18 +02:00
Marcin 60fbcc37fc
gen: scape string function in gen/str.v (#6452) 2020-09-24 18:18:10 +02:00
Alexander Medvednikov 624f22e27e all: mutability check (part 1); enable mutable sumtype args 2020-09-22 05:28:29 +02:00
Swastik Baranwal 077b597bd8
scanner/parser: change error msgs for `\0` and `\x00` and add error for r`byte` and c`byte` (#6436) 2020-09-21 17:34:24 +03:00
Henrixounez 5086fd537c
checker: prompt error on implicit int overflow by literal (#6410) 2020-09-20 16:29:01 +02:00
Swastik Baranwal 1c886ad067
scanner: add check for `!is_raw` for null `\0` (#6427) 2020-09-19 19:09:18 +03:00
Delyan Angelov d2badcdedf vlib: fix more C warns on windows 2020-09-18 13:40:47 +03:00
Henrixounez c1f04d8c72
builtin: fix min value for int_str (#6411) 2020-09-18 12:56:16 +03:00
Henrixounez 4038ac463c
gen: bytes array print not ending prematurely when null byte (#6401) 2020-09-18 01:12:32 +02:00
Daniel Däschle c960b5979e
vlib: fix incompatible pointer warning (#6385) 2020-09-16 17:40:02 +03:00
Delyan Angelov a9bd6acd52 builtin: fix new_dense_array (avoid the &string(int(...)) bug generating (int*) ) 2020-09-14 16:26:25 +03:00
Oghogho Odemwingie 332f3a924c
builtin: consume matched string length in string.replace_each (#6349) 2020-09-12 02:31:06 +02:00
Delyan Angelov 40ed2e1b3d builtin: use C.write for print/eprint . Call C.SetConsoleOutputCP(C.CP_UTF8) on windows 2020-09-11 16:20:35 +03:00
Uwe Krüger 047bf02985
builtin: fix `in` for various numeric types (#6311) 2020-09-06 12:45:02 +02:00
Uwe Krüger b015033c53
builtin: add methods to builtin channels (#6303) 2020-09-05 01:36:20 +02:00
spaceface777 eff319f869
comp_for: allow checking full mehod and arg types (#5997) 2020-08-27 15:00:44 +02:00
Alexander Medvednikov c01d17fcc4 tests: fix array_test.v 2020-08-27 13:12:04 +02:00
Alexander Medvednikov 6921d46185 all: rune type for `` literals 2020-08-27 06:46:37 +02:00
Alexander Medvednikov 84b8e0a7e4 tests: enable live tests on macos 2020-08-26 06:50:32 +02:00
Maciej Obarski e8e0d9fa42
all: [direct_array_access] tag (#6203) 2020-08-24 09:04:50 +02:00
Alexander Medvednikov 7dfae2384b builtin: remove asl.h include 2020-08-22 17:22:14 +02:00
Alexander Medvednikov 9e12095111 gg: image: return an optional instead of panic(); darwin: fix nsstring() 2020-08-22 17:09:30 +02:00
Delyan Angelov 94ced907d2 sort: fix C compilation error for `fn abc(mut a []int) { a.sort() }` 2020-08-22 15:20:49 +03:00
Nick Treleaven bab5c21224
parser: warn when fixed-size ArrayInit doesn't have trailing `{}`. (#6137) 2020-08-16 04:54:05 +02:00
Nick Treleaven 75212f9fab
cgen: error if ForInStmt is not handled (#6131) 2020-08-14 21:01:43 +02:00
Alexander Medvednikov f8be2110ec sort: fix sorting by struct fields 2020-08-12 18:43:41 +02:00
Alexander Medvednikov e5e31f7210 sort: handle `.sort(a.field > b.field)` 2020-08-12 06:11:40 +02:00
Alexander Medvednikov 4bc0dde413 all: new `.sort(a < b)` syntax 2020-08-12 05:54:51 +02:00
Uwe Krüger bb93bf34ec
sync/semaphores: use dispatch semaphores on MacOS (#6110) 2020-08-12 03:45:09 +02:00
Alexander Medvednikov 88988817d0 parser: minor `match` simplification 2020-08-10 19:54:38 +02:00
Delyan Angelov 36eae1c175
builtin: x.vstring() instead of string(x) (#6102) 2020-08-10 18:05:26 +02:00
Nick Treleaven 2dd90de993
parser: error on `[unsafe_fn]` (#6090) 2020-08-09 12:22:11 +03:00
Alexander Medvednikov 200f8dacb7 []byte.str2() => bytestr() 2020-08-09 04:22:42 +02:00
Alexander Medvednikov 94f4dfe85b builtin: a temporary []byte.str2() (until runes are implemented) 2020-08-09 04:20:43 +02:00
Alexander Medvednikov 64f218e943 string: fix all cap .title() test 2020-08-09 04:09:48 +02:00
Alexander Medvednikov c65dbe51d6 parser: c2v fixes 2020-08-09 03:58:14 +02:00
Delyan Angelov 4568ce8f00 builtin: add sanity check on the number of returned frames by C.backtrace 2020-08-06 19:50:29 +03:00
Uwe Krüger 863cf8af60
sync: channel implementation (#6074) 2020-08-06 15:28:19 +02:00
Duarte Roso 055117dc5f
builtin: make byte.hex() two digits format (#5886) 2020-08-01 23:06:08 +02:00
Lukas Neubert f2c639c869
builtin: add string.contains_any() (#5963) 2020-07-29 21:48:50 +02:00
Swastik Baranwal 8b66816bdc
scanner: more checks for `_` as num_sep (#5992) 2020-07-28 16:09:19 +10:00
Delyan Angelov 3d2fd471b6 ci: prepare for enabling compilation with g++ again 2020-07-25 20:20:49 +03:00
Louis Schmieder b58b15993c
gen: compile time for (methods and fields) (#5957) 2020-07-25 00:02:44 +02:00
pancake 04ef2a2671
os: implement os.system for iOS and uncomment the `$if ios` blocks (#5947) 2020-07-24 10:17:32 +03:00
Alexander Medvednikov d2675b89c0 builtin: fix a mutable var on windows 2020-07-23 23:18:45 +02:00
Alexander Medvednikov 632e27a4a9 all: fix a big mutability bug and update all mutable vars 2020-07-23 23:16:36 +02:00
pancake 36352085ae
v: add support for iOS crosscompilation (#5943) 2020-07-23 07:58:44 +03:00
Delyan Angelov 276c1de190 unsafe: tag with unsafe{} some more pointer manipulations 2020-07-22 21:42:51 +03:00
Nick Treleaven ee349691f9
v/checker: Warn about pointer indexing outside unsafe {} (#5918) 2020-07-22 20:28:53 +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 fb76e02c59
builtin: speed up string.clone() by using C.memcpy (#5837) 2020-07-20 17:44:35 +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
Alexander Medvednikov dc89a914ea cc: build-module/module cache fixes; strconv: move all code in one module 2020-07-16 19:01:56 +02:00
Ryan Willis f66967a88c
vsymlink: real Windows symbolic link, fallback to batch, make.bat updates (#5841) 2020-07-16 18:33:26 +02:00
Swastik Baranwal f3a505b558
scanner: add check for `_` in num literals (#5849) 2020-07-16 17:29:07 +03:00
Nick Treleaven f5e6a83a05
builtin: unsafe vlib pointer indexing (#5836) 2020-07-15 21:56:50 +02:00
Uwe Krüger 8df6e59678
sync: add semaphores (#5831) 2020-07-15 10:22:33 +02:00
Delyan Angelov cf7d03bda6 builtin: implement array.pop() 2020-07-14 20:01:39 +03:00
Swastik Baranwal c3bdacbf04
doc: add info about _ separator in literals (#5823) 2020-07-14 15:46:13 +02:00
Delyan Angelov 3703ade9f1 doc: add a Numbers section. Add tests for `0b` prefixed integer literals too 2020-07-14 11:10:43 +03:00
ka-weihe df45488e09
cgen: fix warnings (#5820) 2020-07-14 00:16:31 +02:00
Delyan Angelov e5a5e76a30 cgen: fix for passing functions as voidptr args 2020-07-13 19:45:13 +03:00
Swastik Baranwal b5b5176f9b
string: add filter method (#5812) 2020-07-12 21:07:28 +03:00
Alexander Medvednikov a2cb01e16a parser: parse _x64.v files only with -x64 2020-07-11 19:03:59 +02:00
Delyan Angelov 498c8cfc8e builtin: skip print_backtraces on panics with tcc, it does it automatically 2020-07-11 17:51:06 +03: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
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
Alexander Medvednikov a1073105e1 all: re-enable -prealloc 2020-07-11 11:25:56 +02:00
Uwe Krüger 646df49c74
builtin: fix string.hash method for `gcc -O2` (#5794) 2020-07-11 01:18:52 +03:00
Delyan Angelov 7248d8422e vfmt: keep `vproto.Name`, when current module is `proto` 2020-07-11 00:59:19 +03:00
yuyi 0c9c66dd6b
cgen: fix mutable array arguments (#5769) 2020-07-10 18:04:51 +02:00
Delyan Angelov d3e676bdc1 orm: use errcode comparisons, instead of strcmp(sqlite3_errmsg,msg) 2020-07-10 10:14:30 +03:00
Uwe Krüger ef02373061
all: remove `rwshared` keyword, make its semantics default for `shared` (#5710) 2020-07-07 01:57:31 +02:00
Uwe Krüger c3614c0e38
cgen, sync: implement separate read/write locks for `rwshared` types (#5687) 2020-07-05 22:53:28 +02:00
yuyi 27149ba8bc
cgen: fix `in` in mutable arrays (#5647) 2020-07-04 12:12:44 +02:00
Ruofan XU 765ffa37eb
cgen: fix == for mut arraay args (#5648) 2020-07-04 11:36:33 +02:00
Nick Treleaven 0b49e4db1c
v/checker.v: disallow pointer arithmetic for InfixExpr outside unsafe {} (#5640) 2020-07-03 18:10:10 +02:00
Ruofan XU a2395ff3e8
cgen: fix mut map with relation op in fn (#5642) 2020-07-03 18:07:11 +02:00
yuyi dff385cb37
cgen: fix map_in mut (#5638) 2020-07-03 17:33:53 +03:00
Alexander Medvednikov b7175b54eb vweb: ['/:arg1/:arg2/action'] attribute 2020-07-03 15:10:39 +02:00
yuyi 6cbc0e84f0
cgen: fix cross assign with mutable args (fix #5609 #5610 #5611) (#5614) 2020-07-02 11:09:26 +02:00
Nick Treleaven e7339fec15
all: disallow pointer arithmetic for AssignStmt, PostfixExpr outside unsafe{} (#5581) 2020-07-01 14:50:17 +02:00
yuyi 92eea7f95a
cgen: fix map cross assign (#5603) 2020-07-01 14:03:12 +02:00
yuyi 6c5b638202
parser: fix array cross assign (fix #5577) (#5591) 2020-07-01 12:11:03 +02:00
Delyan Angelov ca1f47a742 cgen: fix `for k,_ in map { x << k }` 2020-07-01 11:49:02 +03:00
Delyan Angelov 78e1127d99
cgen: treat the main module like any other v module 2020-07-01 00:53:53 +02:00
Delyan Angelov 2fd960f12c builtin: implement a double free detection for v strings 2020-06-30 18:32:04 +03:00