Commit Graph

886 Commits (6bf21c300a14ba3d630afceb3cb035f33fd6e57e)

Author SHA1 Message Date
Alexander Medvednikov 86b5f7ef5d string: fix ustring.free() 2020-11-28 03:41:43 +01:00
Delyan Angelov 1891f55c72 builtin: add voidptr.vbytes(len) and byteptr.vbytes(len) 2020-11-27 18:18:46 +02:00
Daniel Däschle 52b627feb3
checker: check filter, map and sort left type (#6952) 2020-11-26 11:28:54 +01:00
Delyan Angelov fa126b950a cgen: prevent `undefined symbol: tcc_backtrace` errors with tcc and `-shared -d no_backtrace` 2020-11-25 15:47:55 +02:00
Leah Lundqvist 96b73acad7
jsgen: optional "or blocks" (#6938) 2020-11-24 22:52:23 +01:00
pancake aa90625819
js: initial support for optional return unwrapping (#6926) 2020-11-24 12:54:26 +01:00
Alexander Medvednikov f8827c3fe5 builtin: clone the strings correctly in array.push 2020-11-22 13:22:42 +01:00
Alexander Medvednikov 2f50a9ea1f utf: fix utf32_to_str 2020-11-21 22:37:16 +01:00
Alexander Medvednikov 9a51f4e3c2 autofree: builtin fixes 2020-11-21 22:33:31 +01:00
Delyan Angelov 48b117618d builtin: support -d no_backtrace, to ease compiling V code on older distros easier 2020-11-19 17:58:33 +02:00
Delyan Angelov d633261a99
os: add Process (#6786) 2020-11-16 17:32:50 +01:00
Emily Hudson cd2a2cef25
vlib/net: add buffered IO, x.net -> net (#6754) 2020-11-15 22:54:47 +02:00
Swastik Baranwal 00464ad988
builtin: add charptr.vstring() and charptr.vstring_with_len() (#6830) 2020-11-14 19:43:42 +02:00
Delyan Angelov 7feb1742d3 cgen: skip deleted map entries in the auto generated .str() method 2020-11-13 13:37: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
Ned Palacios a2a0765eff
cgen: fix setting map elements' fields (#6699) 2020-10-31 13:00:04 +01:00
Delyan Angelov ff93e8afee builtin: eliminate the usage of _us32_eq for frequent builtin array operations 2020-10-30 14:11:07 +02:00
Swastik Baranwal 0c987f433d
string: enable test for string escaping (#6688) 2020-10-27 15:25:44 +01:00
Delyan Angelov 60cc8ac39c vcache: use 2x wyhash.sum64_string(hk,x).hex_full(), instead of md5.sum(hk.bytes()).hex() 2020-10-25 09:22:31 +02:00
Alexander Medvednikov c2e9be5a45 cgen: use even more efficient array.delete_last() 2020-10-23 23:04:22 +02:00
Alexander Medvednikov 6d11caf784 autofree: string.replace() test 2020-10-21 19:44:31 +02:00
Alexander Medvednikov 55536bb364 autofree: handle more statements 2020-10-18 00:48:06 +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 46c5a2c8fc v test-fmt: fix some embedded comments in expressions 2020-10-14 22:52:33 +03:00
Delyan Angelov ce302c29e4 builtin: support also [abc,def].sort(b>a) 2020-10-06 21:33:15 +03:00
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