1
0
mirror of https://github.com/vlang/v.git synced 2023-08-10 21:13:21 +03:00
Commit Graph

1471 Commits

Author SHA1 Message Date
Uwe Krüger
3f654a69e3
gc: extend optimized mode to strings (#10409) 2021-06-12 00:03:05 +03:00
Uwe Krüger
daeeaef030
vfmt: hot fix to allow separate array_d_gcboehm_opt.v (#10413) 2021-06-11 12:00:18 +03:00
Uwe Krüger
0e2c86310a
GC-boehm: extend optimized mode to all array methods (#10406) 2021-06-10 21:26:17 +03:00
pancake
5be982d63e
builtin: fix memory leak on empty strings (#10408) 2021-06-10 15:21:57 +03:00
Andreas Heissenberger
96c8d147b2
v.gen.js: add source map creation support (inline only, no src) (#10384) 2021-06-10 08:33:46 +03:00
Uwe Krüger
811a3e1d38
builtin: optimize array.repeat() (#10396) 2021-06-09 12:52:30 +03:00
Uwe Krüger
a2243054a5
builtin: fix memory corruption in array .clone() and .repeat() (#10394) 2021-06-08 23:23:28 +03:00
Delyan Angelov
95cf120e2e
ci: fix linux-cross job; os.real_path cleanup 2021-06-08 18:34:15 +03:00
Delyan Angelov
40ac7d4892
builtin: support -d trace_vcalloc, -d trace_realloc 2021-06-08 17:24:07 +03:00
Delyan Angelov
665c386771
builtin: simplify the .si_c and .si_vp cases in StrIntpData.get_fmt_format, free intermediate results 2021-06-08 13:29:03 +03:00
Uwe Krüger
89aab95177
builtin: fix -gc boehm on windows (#10330) 2021-06-04 17:38:51 +03:00
Uwe Krüger
ce3e71cb8e
OpenBSD: support Boehm-GC, X11 and Sqlite (#10300) 2021-06-01 22:28:30 +03:00
Delyan Angelov
8fee140fc0
builtin: small cleanup in string_interpolation.v 2021-06-01 16:21:43 +03:00
penguindark
1343787009
builtin: fix interpolation bug for ${x:g/G}, where x is a zero or an infinity (#10271) 2021-05-30 19:30:18 +03:00
Thomas Treffner
ba86d619fa
builtin: fix print/println on termux (#10253) 2021-05-30 08:10:32 +03:00
Uwe Krüger
15557161cc
builtin: add trailing 0 to reversed string (#10248) 2021-05-29 16:45:26 +03:00
penguindark
7089ff3957
builtin: fix a bug in str_intp (#10238) 2021-05-28 18:44:30 +03:00
Uwe Krüger
8828054e5b
builtin: fix arrays/slices memory bug (#10219) 2021-05-27 15:50:06 +03:00
penguindark
2dd1d3fcbb
all: string interpolation code cleaning (#10204) 2021-05-26 09:30:08 +03:00
Joe Conigliaro
560301dbfe
cgen: dont preallocate zero length with capacity of 1 2021-05-26 14:51:20 +10:00
Enzo
39c376bb5b
builtin,gen: use operator overloading on ustring (#10197) 2021-05-25 14:51:48 +03:00
Enzo
ce7f78522d
builtin: remove former string operator methods (#10184) 2021-05-24 14:05:29 +03:00
Enzo
886f69bfcf
all: use operator overloading on strings (p. 2) (#10183) 2021-05-24 11:38:31 +03:00
penguindark
d8d05e0106
all: new string interpolation in pure V (#10181) 2021-05-24 05:20:45 +03:00
Delyan Angelov
7f12bfa563
builtin: optimise sx == sy in the case where strings have common prefixes 2021-05-23 17:22:57 +03:00
Delyan Angelov
5efd8c62d0
ci: fix tests-sanitize-undefined-clang 2021-05-23 15:13:53 +03:00
Delyan Angelov
a27e7f7675
builtin: remove commented code; improve print_backtrace with tcc 2021-05-23 12:37:40 +03:00
yuyi
ae9f8627fc
checker: simplify generic structs (#10167) 2021-05-23 05:54:58 +03:00
Alexander Medvednikov
7c0f8f7644 builtin: a small optimization in string.replace() 2021-05-22 14:35:36 +03:00
Delyan Angelov
2086e6f1c1
builtin, cgen: implement chunked allocation of 16MB blocks with -prealloc (#10130) 2021-05-19 10:35:56 +03:00
Delyan Angelov
94e7a55b97
builtin: implement -d trace_error
With debugger backtraces, it can help pinpoint the original source of a
bubbled error, until we can store stacktraces in the errors in an
efficient way.
2021-05-18 20:03:00 +03:00
Alexander Medvednikov
ed6ad728d9 vweb: fix serving static files 2021-05-16 04:28:14 +03:00
JalonSolov
274c817028
builtin.string: optimize split_into_lines (#10081) 2021-05-11 18:57:32 +03:00
Delyan Angelov
e6011e83ce
builtin: cleanup string.v 2021-05-11 13:59:44 +03:00
Delyan Angelov
159ee00563
builtin: remove import hash 2021-05-10 09:22:50 +03:00
Enzo
2d2b4f79cc
strings: add Builder.cut_to (#10042) 2021-05-07 19:41:27 +03:00
Uwe Krüger
d26ac5692e
all: various fixes for [heap]/auto-heap handling (#10033) 2021-05-07 15:58:48 +03:00
Delyan Angelov
2eafea6308
v: reduce the memory usage of the compiler (analysed with heaptrack) 2021-05-06 11:44:48 +03:00
Delyan Angelov
84f9789e72
v: tag more low level functions with [direct_array_access] 2021-05-06 00:35:16 +03:00
Enzo
4ac751d773
os: add signal_opt and deprecate signal (#10005) 2021-05-05 15:39:02 +03:00
Miccah
12c3f85507
os: add getuid and geteuid (#10002) 2021-05-05 14:20:11 +03:00
Delyan Angelov
597a774d36
scanner: speed up Scanner.skip_whitespace (~2-3% speed up of -o x.c cmd/v) 2021-05-03 14:14:32 +03:00
Mark
feb60674b4
builtin.string: minor fixes in join() (#9952) 2021-05-02 19:31:47 +03:00
JalonSolov
3175525b5e
builtin.string: optimize replace (#9969) 2021-05-02 19:30:07 +03:00
penguindark
dbadda84e5
builtin: clean up int.v (#9960) 2021-05-02 16:31:29 +03:00
JalonSolov
3363c3ef65
builtin.string: optimize replace() (#9955) 2021-05-01 21:27:49 +03:00
ka-weihe
4348c2322d
builtin.map: test more key types (#9947) 2021-05-01 14:26:20 +03:00
Thomas Treffner
e05da04b4c
builtin: fix termux prints (#9921) 2021-04-29 09:49:26 +03:00
ka-weihe
6795b02e24
cgen: fix enum in map (#9912) 2021-04-28 22:11:32 +03:00
Thomas Treffner
1fbf75f2e8
builtin: fix termux println (#9829) 2021-04-28 09:11:50 +03:00
ka-weihe
3edbf71770
parser: fix maps with aliases as key (#9900) 2021-04-28 07:45:21 +03:00
Enzo
4eb8072882
parser: remove ++/-- exception for some modules (#9895) 2021-04-27 01:41:42 +03:00
Louis Schmieder
fc3b628440
v: support $for attr in Test.attributes (#9836) 2021-04-25 18:29:26 +03:00
Bastian Buck
160b605640
os: use C.GetUserNameW for os.loginname() instead + improvements os.uname() (#9872) 2021-04-25 18:16:14 +03:00
penguindark
bfe0a7887f
builtin,strconv: fix and optimize utf8 and formatting functions (#9874) 2021-04-25 17:57:21 +03:00
Marcos Diaz
187895c93c
os: use GetComputerNameW to retrieve hostname on Windows (#9861) 2021-04-24 13:22:04 +03:00
Alexander Medvednikov
49a2de562b builtin: fix an unused var warning on windows 2021-04-23 15:17:05 +03:00
Alexander Medvednikov
c7a6d28e13 all: improve unused variable warning (fix x = 1, x += 1 etc) 2021-04-23 13:33:48 +03:00
Delyan Angelov
59e23dbb57
ci: re-enable testing of ./v -freestanding run vlib/os/bare/bare_example_linux.v on ubuntu 2021-04-22 12:50:56 +03:00
zakuro
7443179cc8
checker: make use of private enum from outside module an error. (#9821) 2021-04-22 07:07:56 +03:00
Delyan Angelov
bd539b6427
vfmt: fix string interpolation formatting with multiple ',",\' and \" . 2021-04-20 20:26:06 +03:00
Nicolas Sauzede
258be508f4
builtin,os: fix unused return C warnings for real (#9814) 2021-04-20 17:28:58 +03:00
Delyan Angelov
d4f31412b7
v: deprecate @VROOT in favour of @VMODROOT (#9795) 2021-04-19 19:01:47 +03:00
Lukas Neubert
70c651ff17
all: make __global behave consistent with const (#9711) 2021-04-19 17:07:47 +03:00
spaceface
73352583e7
ci: fix all -cstrict warnings with gcc and clang (#9792) 2021-04-19 15:38:48 +03:00
Bastian Buck
9ec91f4d58
os: add new function os.loginname(), improve some error messages (#9794) 2021-04-19 14:57:25 +03:00
Nicolas Sauzede
22351a6fb7
builtin: remove unused return C warnings (#9797) 2021-04-19 14:14:27 +03:00
AAAA
a45da620e6
builtin: add string representation of ESC (#9799) 2021-04-19 11:41:04 +03:00
Delyan Angelov
ded3ce5863
builtin: cleanup string.v 2021-04-17 12:30:45 +03:00
crthpl
0a1d0e062d
freestanding: small fixes (#9760) 2021-04-17 02:38:41 +03:00
Delyan Angelov
cb69c4c91a
builtin: add a 'v hash:' line to V panics 2021-04-15 11:43:38 +03:00
penguindark
4ecc5001b9
builtin: fix for utf8_str_visible_length for CJK Unified Ideographs Extension G (#9739) 2021-04-15 09:20:53 +03:00
Alexander Medvednikov
21c452c5cd builtin: define u8 = byte alias 2021-04-15 02:58:27 +03:00
crthpl
14434cc86a
all: bare metal support (fix -freestanding) (#9624) 2021-04-14 07:50:50 +02:00
Uwe Krüger
10bf974cda
all: gc: provide optimized mode (#9716) 2021-04-14 00:40:26 +02:00
Delyan Angelov
f04dd21e79
builtin: run vfmt over string.v 2021-04-13 12:01:23 +03:00
Delyan Angelov
a1121d0eb0
builtin: use 0 instead of \0 rune when setting C style terminators; use C.memcpy in []string{}.join("") 2021-04-13 11:29:33 +03:00
ka-weihe
491fe49af6
map: rename methods (part 2) (#9698) 2021-04-12 16:22:02 +02:00
Lukas Neubert
ada763e0f4
fmt: remove parenthesis around single ident (#9696) 2021-04-12 16:01:03 +03:00
ka-weihe
0facc5a559
builtin: fix map.zeros_to_end (#9689) 2021-04-12 00:36:02 +03:00
Louis Schmieder
273655ecc8
vfmt: fix asm volatile & goto (#9688) 2021-04-11 23:32:28 +03:00
Leah Lundqvist
38c517c1a2
builtin: use NSLog on iOS for print (#9665) 2021-04-10 17:40:43 +03:00
Delyan Angelov
d54becf52e v.cflag: support #flag $first_existing("/opt/homebrew/lib/libgc.a", "/usr/local/lib/libgc.a") 2021-04-10 10:46:43 +03:00
ka-weihe
5273214ec2
map: rename methods (#9657) 2021-04-10 04:00:29 +02:00
Uwe Krüger
84fa1ae444
boehm-gc: support a [keep_args_alive] tag for C functions (#9641) 2021-04-09 13:13:49 +03:00
Delyan Angelov
e93a52a267 builtin: add support for '-d static_boehm -gc boehm' (only for macos and linux for now) 2021-04-08 19:17:04 +03:00
Lukas Neubert
1d5ed89138
fmt: remove trailing space in comments (#9620) 2021-04-07 15:25:11 +02:00
Alexander Medvednikov
66d3917554 builtin: fix C++ compilation 2021-04-07 15:25:45 +03:00
ka-weihe
bca9409192
map: wrap up delete fix (#9626) 2021-04-07 14:12:12 +02:00
Alexander Medvednikov
ff9837386a Revert "map: wrap up delete fix (#9601)"
This reverts commit cbcc0d34b5.
2021-04-07 03:40:43 +03:00
Delyan Angelov
db84d5e221
os: cleanup os.environ implementation 2021-04-06 18:02:12 +03:00
ka-weihe
cbcc0d34b5
map: wrap up delete fix (#9601) 2021-04-06 15:57:08 +02:00
Alexander Medvednikov
de5e603248 builtin: fix a warning in backtrace() on windows (msvc) 2021-04-06 02:52:54 +03:00
Delyan Angelov
5f07c583fb
ci: fix build-vc job (use more precise C.fprintf declaration) 2021-04-05 22:24:17 +03:00
Delyan Angelov
1899845582
ci: fix build-vc job 2021-04-05 22:18:18 +03:00
Delyan Angelov
acb6145d53
ci: final fix for ./v test-all 2021-04-05 22:13:53 +03:00
Delyan Angelov
291a88bc62
ci: fix some of v test-cleancode 4 2021-04-05 21:39:32 +03:00
Delyan Angelov
d11fb8497a
ci: fix some of v test-cleancode 3 2021-04-05 21:21:46 +03:00
Delyan Angelov
c0e2b9b1e2
ci: fix some of v test-cleancode 2 2021-04-05 20:55:03 +03:00
Delyan Angelov
34aa67b1e8
ci: fix compilation and formatting of sqlite example in docs.md 2021-04-05 08:09:04 +03:00
Delyan Angelov
accd4d83bf
ci: fix compilation 2021-04-04 20:14:51 +03:00
Delyan Angelov
824790a2bd
builtin: simplify println(), use C.write consistently on unix as on windows so that 0 bytes are output also 2021-04-04 19:14:21 +03:00
Alexander Medvednikov
57e6138a61 all: remove byteptr and charptr; replace them with &byte and &char 2021-04-04 17:43:32 +03:00
Delyan Angelov
c698fa1a58
all: support v -watch run (#9577) 2021-04-04 16:05:06 +02:00
ka-weihe
337e447cfb
map: fix delete (part 1) (#9579) 2021-04-04 01:11:47 +02:00
yuyi
7f81702d81
builtin: optimize array sort (#9570) 2021-04-03 12:16:18 +02:00
yuyi
3637bac716
cgen: fix rune array sort (#9561) 2021-04-02 16:28:27 +02:00
ka-weihe
1a76cb1c36
map: fix misalignment (#9548) 2021-04-01 10:39:00 +02:00
Alexander Medvednikov
6f318be96c checker: do not allow nil sum types init 2021-03-31 11:13:52 +03:00
Uwe Krüger
76dc4cf13f
gc: fix another alignment issue (#9489) 2021-03-27 18:59:51 +01:00
Uwe Krüger
3220ab7053
Boehm-GC: fix global const handling (#9477)
* define global `__v_inside_init`

* unset `__v_inside_init` after `_vinit()`

* define `C.GC_MALLOC_UNCOLLECTABLE()`

* allocate uncollectable memory during `_vinit()`

* ci: run test cases with V copiler that uses GC-Boehm itself

* wrap `__v_inside_init` access into `#ifdef _VGCBOEHM`
2021-03-26 16:44:45 +02:00
Alexander Medvednikov
bb5958991c checker: warn about automatic (de)referencing; freetype: compilation flag fixes 2021-03-26 11:42:51 +03:00
Uwe Krüger
257eadd2e1
gc: add -gc boehm_leak for leak detection (#9464) 2021-03-25 16:52:33 +01:00
Delyan Angelov
03d56865e3
builtin: do not call C.GC_FREE with -gc boehm 2021-03-25 09:15:01 +02:00
Delyan Angelov
b0878d3a92 builtin,v.pkgconfig: use brew's libgc on macos 2021-03-25 07:28:30 +02:00
zakuro
6bc9ef7373
builtin: vfmt every .v file, except vlib/builtin/int_test.v (#9448) 2021-03-24 20:39:59 +02:00
Uwe Krüger
522d70b48d
builtin,cgen: fix -gc boehm issues with maps; add a CI job for it to prevent regressions (#9453) 2021-03-24 19:49:16 +02:00
Delyan Angelov
f8f74d8587
builtin: add panic_optional_not_set and use it in cgen for fncall()? in main 2021-03-24 14:13:58 +02:00
Delyan Angelov
7afa4c7e2c
builtin: fix ["abc", "xyz"].str() 2021-03-23 22:11:32 +02:00
Delyan Angelov
b7c01db1f9
builtin: add .vstring_literal and .vstring_literal_with_len for converting read only strings like os.args 2021-03-23 22:10:28 +02:00
Delyan Angelov
026f8424c2
builtin: fix a leak in string.index_kmp 2021-03-23 21:48:08 +02:00
Delyan Angelov
7f91b75cbc
builtin: fix leaks in os.execute() and []string{} == []string{} 2021-03-23 20:36:19 +02:00
Delyan Angelov
d098a3caca
builtin: make string.add() public temporarily till -autofree improves 2021-03-23 20:20:53 +02:00
Delyan Angelov
419ee8ae2a
builtin: fix a bug in []string.join() 2021-03-23 20:14:46 +02:00
Alexander Medvednikov
0c055a1ce9 all: s.contains(s2) instead of in 2021-03-23 11:38:56 +03:00
Delyan Angelov
c76c69ec35
all: simplify return if ... constructs to make more code compatible with -autofree 2021-03-22 16:45:29 +02:00
yuyi
320cd00203
string: fix replace_each() (#9415) 2021-03-22 09:46:45 +01:00
Alexander Medvednikov
4d77f3810f gc: enable on macos and add leak detection fns 2021-03-21 05:31:10 +03:00
spaceface
5873149c77
builtin: allow libgc to be used on windows as well (#9393) 2021-03-21 01:01:21 +01:00
Delyan Angelov
8810af76df
all: support -gc boehm on systems with libgc-dev installed (#9382) 2021-03-20 14:16:36 +01:00
spaceface
3f9e921c95
builtin: add a proper str() method to IError (#9379) 2021-03-20 01:55:16 +02:00
Delyan Angelov
ea3d1405ee
ci: fix failing -Werror job with tcc 2021-03-19 09:34:41 +02:00
Delyan Angelov
8fa7e67000
builtin: use return s.clone() instead of return s consistently, to make manual free easier 2021-03-18 22:23:36 +02:00
Delyan Angelov
00651c8deb
builtin: free all elements in a []string with -autofree too 2021-03-18 21:10:42 +02:00
Delyan Angelov
d4e16b6ddd
builtin: reduce memory allocations for s.trim, s.trim_left and s.trim_right 2021-03-18 19:52:33 +02:00
Delyan Angelov
09802707b1
tests: move rlock and shared array tests from builtin to sync 2021-03-18 19:51:11 +02:00
spaceface
624c1f3bcf
cgen: make bools take up a single byte, not 4 (#9352) 2021-03-18 15:23:29 +01:00
Delyan Angelov
99cc02685b
cgen: implement IError.free() and use it for the builtin none const 2021-03-17 12:38:24 +02:00
crthpl
fafb035fb5
all: reimplement inline assembly (#8645) 2021-03-17 01:43:17 +01:00
yuyi
dd9f9c2718
checker: check array.sort(a < b) (#9321) 2021-03-17 01:42:51 +01:00
ka-weihe
2991cad4e8
map: fix delete in for-in (#9336) 2021-03-17 01:42:33 +01:00
shadowninja55
b4f7a975e8
builtin.string: optimize string.count where substr.len == 1 (#9337) 2021-03-17 00:19:48 +02:00
Delyan Angelov
1753445a64
builtin: make panics more IDE friendly 2021-03-16 20:50:11 +02:00
shadowninja55
d92f9e77b0
builtin.string: optimize string.split_nth() for len == 1 delim (#9325) 2021-03-16 20:30:27 +02:00
JalonSolov
6f550ebbdc
string: fix fields method when no whitespace (#9326) 2021-03-16 19:45:27 +02:00
Alexander Medvednikov
93df560cf9 builtin: deprecate string.split_by_whitespace in favor of fields() 2021-03-16 08:29:14 +03:00
Alexander Medvednikov
667a26335f builtin: fix substr() 2021-03-15 21:16:23 +01:00
Alexander Medvednikov
77d5fcca59 urllib: a temporary autofree fix 2021-03-15 21:12:11 +01:00
Delyan Angelov
7f0c8d1eec
builtin: fix a compilation warning with -d debug_malloc 2021-03-15 17:37:06 +02:00
Nick Treleaven
446631ceb5
checker: fixed array cannot implicitly convert to fooptr (again) (#9302) 2021-03-15 15:55:07 +02:00
Delyan Angelov
2f4a49994a
builtin: implement support for -d debug_malloc too 2021-03-14 18:29:00 +02:00
Delyan Angelov
d65ad68e77
builtin: add 0 terminators for strings returned by .to_lower, .to_upper, utf32_to_str_no_malloc/2 2021-03-14 18:21:45 +02:00
Delyan Angelov
b6d089b605
v.depgraph: ensure v -d debug_realloc -o v cmd/v works 2021-03-14 16:15:33 +02:00
Delyan Angelov
125be84e3d
builtin: fix -d debug_realloc, add realloc_data/3 2021-03-14 14:54:35 +02:00
Delyan Angelov
ddbe57e00a
v test-cleancode: ensure more .v files are kept vmft-ed 2021-03-14 12:17:31 +02:00
spaceface
eebc8a9d7a
builtin: cleanup option names (part 2) (#9294) 2021-03-14 12:11:52 +02:00
Delyan Angelov
69f1e7c9c3
v: fixes for v -autofree -o v2 cmd/v 2021-03-14 09:37:38 +02:00
Leah Lundqvist
64d0006ff9
jsgen: fix string and array for loops and improve casting (#9295) 2021-03-14 08:20:01 +02:00
spaceface
9ed9e7aff0
builtin: cleanup option names (part 1) (#9293) 2021-03-14 01:54:46 +01:00
spaceface
e9797c618a
all: implement error interfaces (#9291) 2021-03-13 18:13:50 +01:00
Delyan Angelov
0c33656a19
ci: fix failing option_print_errors_test.v 2021-03-12 20:36:19 +02:00
spaceface
be409b52e9
builtin: prepare for error interfaces (#9043) 2021-03-12 20:05:05 +02:00
Delyan Angelov
d7049ae2da
os: deprecate os.exec (returning ?os.Result), in favour of os.execute, which returns os.Result (#8974) 2021-03-08 20:52:13 +02:00
Miccah
a1e0f2bc46
gen: add argument names to compile-time method struct (#9174) 2021-03-07 14:28:43 +01:00
Larpon
07a1a9b84d
builtin: use fprintf to print to stderr on Android (#9130) 2021-03-05 19:12:42 +02:00
joe-conigliaro
2d73411396
checker: define missing C fn args & check C & JS args (#8770) 2021-03-05 17:41:11 +03:00
Lukas Neubert
80356edd8c
fmt: combine simple attributes into a single line (#9120) 2021-03-05 07:17:57 +02:00
Leah Lundqvist
65e888230a
jsgen: object equality checks, optimise casting and start builtin implementation (#9068) 2021-03-04 14:02:16 +01:00
yuyi
2b9ffbda42
cgen: fix array_sort by different order of a/b (#9106) 2021-03-04 11:19:02 +01:00
Delyan Angelov
488848e904
builtin: simplify copy/2 2021-03-02 18:14:42 +02:00
spaceface
b712af56fd
all: bring back panic(err.msg) -> panic(err) (#9022) 2021-03-01 00:18:14 +01:00
zakuro
ce115dcbe0
builtin: correct error underline for unicode wide chars (#9010) 2021-03-01 00:18:02 +01:00
spaceface
d63b7bc35a
all: update repo to use the new error handling syntax (#8950) 2021-02-28 23:20:21 +03:00
spaceface
b9a381f101
all: migrate to the new Option (p. 1) (#8924) 2021-02-28 22:24:29 +03:00
Delyan Angelov
20f9bdfa8e
os: fixes for os.input(), os.get_raw_stdin(), os.get_raw_line() in case of stdin EOF 2021-02-27 20:02:36 +02:00
Nick Treleaven
23f231ee61
builtin: tag array methods unsafe: *_many, grow_len, pointers (#8983) 2021-02-26 22:55:09 +01:00
spaceface
8033203ef6
builtin: add an Option2 struct (#8890) 2021-02-22 18:44:15 +02:00
Nick Treleaven
15daeaeafa
cgen: add fixed array bounds checking for non-literal index (#8832) 2021-02-22 14:54:24 +02:00
zakuro
f54c1a5cc2
all: add strings.Builder.write_string and use write_string instead of write (#8892) 2021-02-22 13:18:11 +02:00
yuyi
9a744b6750
cgen: fix in map_literal (fix #8868) (#8871) 2021-02-21 11:54:30 +02:00
Stanislav Ershov
c190b6a131
vlib: remove older deprecated functions (#8864) 2021-02-20 20:42:55 +02:00
Stanislav Ershov
6a752512b2
os: fix os.real_path on Windows (#8822) 2021-02-19 11:20:06 +02:00
Delyan Angelov
bf6e9ff95a
Revert "parser: make duplicated functions an error (#8792)"
This reverts commit 21bf8fe14e.
2021-02-18 09:02:56 +02:00
zakuro
21bf8fe14e
parser: make duplicated functions an error (#8792) 2021-02-17 20:50:10 +01:00
Nick Treleaven
4ccf991f61
checker: warn when casting a fixed array (use &arr[0] instead) (#8787) 2021-02-17 20:45:11 +01:00
yuyi
177c8bfc78
builtin/array: merge array_eq_test.v into array_test.v (#8796) 2021-02-17 20:44:44 +01:00
Delyan Angelov
843de10442
parser,gen: fix `arr << map[key] using map_get_and_set_1, leading to double free 2021-02-16 16:39:31 +02:00
Quix
486bf8517f
builtin: fix typo (#8747) 2021-02-15 17:54:07 +02:00
Nick Treleaven
4a0367a63c
vlib: add [unsafe] tag to more functions: tos, string_from_wide, strings.Builder: write_bytes, free (#8766) 2021-02-15 17:15:52 +02:00
Nick Treleaven
b07f373433
builtin: make 5 C functions trusted, tweak signatures (#8730) 2021-02-14 19:37:32 +01:00
Nick Treleaven
ea803113c3
checker: check unsafe V function calls (#8752) 2021-02-14 19:31:42 +01:00
zakuro
e4f15605c0
checker: reject void type condition (#8737) 2021-02-14 07:33:24 +01:00
Nick Treleaven
84a16d8684
map: add move method (#8660) 2021-02-12 02:02:33 +02:00
Bobitsmagic
0f92485698
builtin: fix typo in builtin/array.v (#8658) 2021-02-09 17:04:47 +02:00
Nick Treleaven
9e751f72c4
doc, fmt: use map{key: value} syntax for map literals (#8623) 2021-02-08 16:57:42 +02:00
Lukas Neubert
473cd1d416
fmt: single line ternary return (#8605) 2021-02-08 00:28:46 +01:00
Larpon
bfd0bd1fb4
builtin: doc chan.v channel stub (#8577) 2021-02-07 12:42:24 +02:00
Alexander Medvednikov
a81ee0e94e tools/fast: measure v.c size and parse/check/cgen steps 2021-02-07 04:48:54 +01:00
Delyan Angelov
d77bb2f606
all: improve -skip-unused, track consts, walk all AST nodes, support tests 2021-02-07 02:51:45 +02:00
Nick Treleaven
f5f65f929f
parser: parse map{key_expr: val_expr} (#8608) 2021-02-06 22:13:24 +01:00
Larpon
e83c39c81a
builtin: document rest of map.v (#8578) 2021-02-06 03:07:42 +01:00
Larpon
57258c2988
builtin: document remaining pub structs in builtin.v (#8576) 2021-02-05 21:02:29 +01:00
Larpon
44ab0154b2
builtin: document last of array.v (#8575) 2021-02-05 16:51:45 +01:00
Delyan Angelov
119dfc0bb0
all: support map[f32]string and map[f64]string (float map keys) too (#8556) 2021-02-04 23:59:49 +01:00
BigBlack
c5e7956eb5
checker: fix generic_mutable_arrays in functions (#8445) 2021-01-30 18:35:03 +01:00
Nick Treleaven
64d12cdc8d
checker: check number of C function arguments for some cases (#8444) 2021-01-30 18:33:36 +01:00
Daniel Däschle
2cadb3e4d8
gen: panic with correct type names (#8355) 2021-01-30 18:54:05 +02:00
yuyi
77b3d40f46
checker: fix map = {} (#8435) 2021-01-30 11:55:10 +01:00
Delyan Angelov
4fcd8d8a98
scanner: fix ' "$var", "$another"' where r", was treated as start of a raw string 2021-01-28 15:38:42 +02:00
Lukas Neubert
75d85403a6
fmt: better ternary concat wrapping (#8379) 2021-01-28 11:23:48 +01:00
zakuro
22847d1ec3
fmt: assert (a == b) -> assert a == b (#8351) 2021-01-26 10:36:21 +01:00
Major Taylor
69c37402d4
backtrace: fix tcc backtrace windows compilation error (#8348) 2021-01-26 08:26:54 +02:00
Delyan Angelov
4d0dab826b
ci: fix vlib/dl/example/use_test.v in windows-tcc 2021-01-25 21:19:15 +02:00
Delyan Angelov
dbaccd4272
vfmt: shorten main.const_name to just const_name 2021-01-25 20:57:33 +02:00
Swastik Baranwal
21ba0470af
builtin: fix truncating of EOL on windows terminal (#8338) 2021-01-25 17:51:36 +02:00
Alexander Medvednikov
29d6e40f29 all: vfmt (new const rule) 2021-01-24 10:54:27 +01:00
Lukas Neubert
8b61891348
fmt: smarter if condition wrapping (#8201) 2021-01-23 10:33:22 +02:00
Alexander Medvednikov
43d56cb883 string: update the test 2021-01-22 10:33:06 +01:00
Alexander Medvednikov
216fea1eb3 string: remove left/right (one way!) 2021-01-22 10:26:07 +01:00
Alexander Medvednikov
5815d96418 Revert "builtin: make string.(left|right) pub (#8245)"
This reverts commit 820e684313.
2021-01-22 10:09:31 +01:00
zakuro
820e684313
builtin: make string.(left|right) pub (#8245) 2021-01-22 09:35:32 +02:00
yuyi
242c5760f1
array: fix array_clone (fix #8220) (#8238) 2021-01-21 10:17:00 +01:00
spaceface
f059a9e96c
builtin: fix sorting arrays of primitives (#8204) 2021-01-20 23:19:35 +02:00
Delyan Angelov
d9532eda30
checker: error on a.slice(x,y) outside builtin 2021-01-19 15:55:52 +02:00
Uwe Krüger
b74690cbec
builtin, checker, cgen: implement x = a[k] or { ... } for maps and arrays (#8193) 2021-01-19 06:06:57 +01:00
Lukas Neubert
ac2c3847af
all: update copyright to 2019-2021 (#8029) 2021-01-18 13:20:06 +01:00
Delyan Angelov
995f27a7c0
builtin,os: use more precise C. declarations for C.fread, C.fwrite and C.qsort 2021-01-15 12:15:31 +02:00
yuyi
aeddd5b559
string: minor optimization (fix #8100) (#8106) 2021-01-15 02:26:06 +01:00
Delyan Angelov
9003ea7ca3
builtin: fix a warning for -d debug_realloc 2021-01-14 12:28:49 +02:00
Delyan Angelov
ca5f88eb7d
builtin: implement -d debug_realloc 2021-01-14 11:41:52 +02:00
yuyi
a2efb5319d
all: change [1,2,3]!! to [1,2,3]! (#8101) 2021-01-14 03:51:13 +01:00
yuyi
1d28c4de2a
cgen: fix multi fixed arrays with default init (fix #8038) (#8064) 2021-01-13 22:57:33 +02:00
yuyi
ae592299dc
cgen: fix fixed arrays literal eq (#8079) 2021-01-13 08:32:41 +01:00
zakuro
254df0ca62
fmt: improve string quotes (#8075) 2021-01-13 06:05:27 +01:00
zakuro
33694665f0
fmt: align each contiguous field of struct. not the whole. (#7981) 2021-01-12 04:38:43 +01:00
yuyi
1559e72d0d
cgen: add gen_fixed_array_equality_fn (#8006) 2021-01-12 01:35:18 +01:00
Uwe Krüger
5f95dd54bd
builtin: rename any_* -> *_literal - 2. part (#8032) 2021-01-11 22:58:15 +01:00
yuyi
39bb6f0491
array: fix array of multi filter/map in one assignment (fix #7858) (#7976) 2021-01-10 21:08:45 +01:00
yuyi
704f38d87f
parser: fix multi fixed arrays init (#7996) 2021-01-10 06:58:31 +01:00
Uwe Krüger
cbe7740d97
fmt: do not generate import statements for auto imports (#7966) 2021-01-08 17:42:40 +01:00
Nick Treleaven
cbefe6c32f
parser: warn about old use of typeof (#7923) 2021-01-07 20:32:02 +01:00
Larpon
dcc8310bd0
builtin: fix comment examples in int.v (#7902) 2021-01-06 20:02:04 +02:00
Larpon
e219f954d8
builtin: document all functions in float.v (#7904) 2021-01-05 23:01:10 +01:00
Alexander Medvednikov
5c4c4354b1 byte: more tests 2021-01-05 19:34:42 +01:00
Alexander Medvednikov
3722e16073 builtin: fix byte.str() (part 2) 2021-01-05 19:26:50 +01:00
Alexander Medvednikov
5a70eba8e1 all: byte.str() => byte.ascii_str() 2021-01-05 19:14:37 +01:00
Larpon
fdb6f1ab50
builtin: int.v workaround vfmt bug (#7899) 2021-01-05 20:09:20 +02:00
Nick Treleaven
8fc33bc27d
checker: warn when casting number or a voidptr to reference type outside unsafe (#7900) 2021-01-05 20:07:45 +02:00
Alexander Medvednikov
3e04dfc79f builtin: fix byte.str() (part 1) 2021-01-05 18:59:51 +01:00
Delyan Angelov
95431cf6b0
builtin: fix the comment example in byte.str_escaped() 2021-01-05 18:22:17 +02:00
Larpon
9b9cab92f0
builtin: document all functions in int.v (#7896) 2021-01-05 17:45:36 +02:00
Delyan Angelov
f2bfda4989
ci: skip test_utf8_wide_char on windows with msvc 2021-01-04 00:16:31 +02:00
Delyan Angelov
760de7c811
ci: use more reliable asserts for test_utf8_wide_char 2021-01-03 22:15:18 +02:00
Nick Treleaven
38e0aa350d
checker: support non-string map.keys method (#7760) 2021-01-03 15:55:06 +01:00
Swastik Baranwal
dee3bbffe9
cgen: support .str() for maps with non string keys (#7806) 2021-01-02 20:25:46 +02:00
yuyi
7f776bfd29
utf8: fix utf8_test (#7804) 2021-01-02 14:55:21 +02:00
Nick Treleaven
0a069dee79
gen: support non-string map equality and speed it up (#7682) 2021-01-01 20:54:49 +01:00
Nick Treleaven
9243e06dba
parser: allow integer and rune keys for map literal (#7756) 2021-01-01 17:23:32 +01:00
clubby789
bf7da14ba1
cgen: make char literals wide (#7769) 2021-01-01 11:06:09 +02:00
yuyi
7ce3c5e206
os: change os.mv/2 return type to ? (#7738) 2020-12-31 11:33:39 +02:00
yuyi
34c89258a4
cgen: fix array of array/map init (fix #7597) (#7671) 2020-12-29 11:50:25 +01:00
Delyan Angelov
84fc9cec4b
builtin: add string.split_by_whitespace() 2020-12-29 08:46:46 +02:00
Swastik Baranwal
2795f929fa
checker: update check for arr=arr1 (#7651) 2020-12-28 18:35:34 +01:00
yuyi
9631eac9c5
cgen: fix array.index() of ref struct (#7652) 2020-12-28 18:33:57 +01:00
ka-weihe
93262353d6
cgen: fix map exists bug (#7647) (#7655) 2020-12-28 18:32:51 +01:00
yuyi
d46b930c71
cgen: fix in array_of_ref_structs (fix #7623) (#7640) 2020-12-28 12:29:56 +02:00
yuyi
07459a77e3
cgen: fix gen_array_equality_fn() (#7633) 2020-12-28 12:26:50 +02:00
yuyi
547df57316
cgen: fix gen_map_equality_fn() (#7636) 2020-12-28 12:22:14 +02:00
ka-weihe
1d339cff16
map: remove unused code (#7622) 2020-12-27 19:16:45 +01:00
Swastik Baranwal
d87011ab78
cgen: fix generic contains method (#7618) 2020-12-27 20:07:53 +02:00
ka-weihe
b9df7aae4d
map: cleanup (#7621) 2020-12-27 18:31:50 +01:00
Nick Treleaven
e813583bc1
checker: support integer and voidptr key types for maps (#7503) 2020-12-27 14:18:46 +01:00
Alexander Medvednikov
06e9951224 Revert "map: fix map.clone, refactor, fix map_get_1, map_set_1 non-string keys (#7538)"
This reverts commit bcdf3ca0cf.
2020-12-27 12:04:08 +01:00
Nick Treleaven
bcdf3ca0cf
map: fix map.clone, refactor, fix map_get_1, map_set_1 non-string keys (#7538) 2020-12-27 11:54:12 +01:00
zakuro
21805ea2a5
all: make eprint[ln] behave same as print[ln] (#7595) 2020-12-27 11:22:16 +01:00
yuyi
775d16cce3
array: remove redundant index method in array.v (#7523) 2020-12-25 17:21:23 +02:00
spaceface
214290d55b
fmt: add a space around single-line unsafe expressions (#7505) 2020-12-23 19:13:42 +01:00
yuyi
132807d5d1
cgen: implement generic array.index (#7501) 2020-12-23 19:10:16 +01:00
yuyi
70c136441b
cgen: fix in array of struct error (fix #7452) (#7463) 2020-12-23 02:32:19 +01:00
yuyi
b47daad40d
all: remove redundant array.contains definitions (#7464) 2020-12-22 08:32:32 +01:00
yuyi
21cd765eaa
cgen: fix in multi_array, generate .contains() (fix #7427) (#7448) 2020-12-21 16:59:43 +01:00
Nick Treleaven
0edec06eac
gen: use new_map, new_map_init_1 functions (#7444) 2020-12-21 14:37:19 +01:00
Nick Treleaven
2147d8785b
map: add functions new_map/new_map_init_1 with key_bytes parameter (#7424) 2020-12-21 06:03:59 +01:00
Nick Treleaven
82d1b6a5b7
map: fix wrong use of map.cap and rename field (#7412) 2020-12-21 05:34:35 +01:00
Alexander Medvednikov
50a6976b5e all: minor array fixes 2020-12-20 16:08:56 +01:00
Alexander Medvednikov
6bf21c300a checker: do not allow arr1=arr2 without cloning 2020-12-20 15:33:55 +01:00
Alexander Medvednikov
875f7a77a9 checker: arr1=arr2 warning 2020-12-20 10:42:46 +01:00
Alexander Medvednikov
4a5fb854e0 array: vfmt array_test.v 2020-12-20 10:34:19 +01:00
Delyan Angelov
cd30dcc287
builtin: make array.ensure_cap/1 more robust 2020-12-19 21:36:08 +02:00
Alexander Medvednikov
1f74f83bc6 parser: map or block; checker: require ref field init 2020-12-19 10:28:17 +01:00
yuyi
e4973782b1
cgen: fix multi_array prepend/insert (#7381) 2020-12-19 07:28:15 +01:00
yuyi
598d18cbd9
cgen: fix default zero in map fields (fix #7328) (#7394) 2020-12-19 06:55:13 +01:00
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
Larpon
6854ba27e2
builtin: add missing fn documentation to option.v, fix naming of arguments. (#7386) 2020-12-19 00:27:35 +02:00
Larpon
c32547f382
builtin: document all functions in builtin.c.v (#7387) 2020-12-18 19:31:00 +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
Emily Hudson
553ecf63e7
vlib/io: fix reader bugs, make read_all take a config struct (#7361) 2020-12-16 18:22:26 +01:00
joe-conigliaro
a7879ce77e
parser: differentiate recursive alias & existing type err + rune fix 2020-12-16 18:03:49 +11:00
Nick Treleaven
7c8fa62cc2
map: encapsulate key clone operation on voidptr (#7327) 2020-12-16 02:23:59 +01:00
Delyan Angelov
5684ed5a8a
ci: fix windows jobs 2020-12-15 11:01:51 +02:00
Swastik Baranwal
b2685c6060
builtin: add more docs to array.v (#7194) 2020-12-15 10:31:35 +02:00
Delyan Angelov
d155d8d3f0
vlib: prepare atoi.v and utf8.v for -Wimpure-v 2020-12-15 10:17:46 +02:00
Delyan Angelov
14d55d26a3
vlib: extract C. calls from builtin.v to builtin.c.v 2020-12-15 09:41:06 +02:00
Delyan Angelov
0da1d757cb
builtin: support '-d no_backtrace' directly in panic(), to ease creating .so files with tcc 2020-12-15 06:35:21 +02: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
ka-weihe
f57c7032b4
ci: fix sanitizers and add -fsanitize=undefined (#7306) 2020-12-14 06:34:47 +01:00
Delyan Angelov
ecfd124390
builtin: call C.tcc_backtrace() directly in the panic() fns 2020-12-13 11:01:04 +02:00
LilEnvy
0aacc9a80a
array: [].map(fn...) return type can be different than original type (#7300) 2020-12-13 03:29:48 +01:00
Nick Treleaven
ae460a2208
map: make DenseArray.has_index not assume string keys (#7284) 2020-12-13 02:05:56 +01:00
Delyan Angelov
03f644e099
builtin: change V's panic() to not segfault; use -d panics_break_into_debugger to override 2020-12-12 16:05:22 +02:00
Larpon
1ff6230062
builtin: document all functions in string.v (#7273) 2020-12-12 12:10:29 +02:00
Nick Treleaven
d785e22a6e
checker: disallow assigning number to pointer (#7267) 2020-12-12 10:42:07 +01:00
Alexander Medvednikov
d319fe14f0 string: fix a one byte leak in .substr() 2020-12-11 05:12:18 +01:00
Alexander Medvednikov
a297cf8676 string: fix one byte leak in clone() 2020-12-11 05:03:37 +01:00
Seven Du
4a35a75b64
json: fix raw json string decoding crash when expected key is missing (#7206) 2020-12-09 20:10:41 +01:00
Leah Lundqvist
90c1c639fe
js: types (#7108) 2020-12-08 17:49:20 +01:00
Andréas Livet
a2ec52b8c4
builtin: rewrite string.split_nth and fix some bugs (#7189) 2020-12-08 10:51:47 +02:00
Uwe Krüger
fd689f5fdd
cgen: optimize array op assign (#7178) 2020-12-07 17:13:19 +01:00
Delyan Angelov
2be0c6af47
builtin: implement -d exit_after_panic_message (speeds up v test-parser with gcc/clang) 2020-12-06 14:21:37 +02:00
ka-weihe
96d28b4485
map: more tests (#7153) 2020-12-06 01:28:11 +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
Delyan Angelov
1739b08e73
builtin: add a test for the sorting of []u64 too 2020-12-05 23:21:20 +02:00
Delyan Angelov
b99ea332f0
cgen,builtin: fix sort for []u64 2020-12-05 23:14:19 +02:00
yuyi
215a76a715
string: make tos_lit deprecated (#7129) 2020-12-04 20:34:58 +02:00
Nick Treleaven
d590ce7675
map: add 3 DenseArray methods for bootstrapping (#7113) 2020-12-03 21:12:53 +02:00
yuyi
06eaded6ea
string: change tos_lit to _SLIT (#7079) 2020-12-03 16:02:48 +01:00
Uwe Krüger
c1b25dd61d
cgen: fix map value op-assign modification (#7101) 2020-12-03 00:40:11 +01:00
heronwr
f8af866f76
builtin: make v_realloc use int parameter instead of u32 (#7080) 2020-12-02 15:35:11 +02:00
Enzo
d8b8aca51e
gen: fix arr.last().field (#7076) 2020-12-02 04:35:00 +01:00
Daniel Däschle
879d238887
cgen: initial option auto str support (#7004) 2020-12-01 04:00:23 +01:00
Larpon
ed08d96932
builtin: remove old type prefixes, add a few missing documentations, add missing punctuation (#7037) 2020-11-30 18:51:00 +01:00
ka-weihe
9367dcda10
all: fix remaining c warnings and add -Werror to CI (#7021) 2020-11-29 21:23:37 +02:00
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