Delyan Angelov
77495c8d03
all: support assert condition, extra_message
, evaluating and showing extra_message on assert failure ( #15322 )
2022-08-03 01:14:01 +03:00
Davide Beatrici
c9a5896468
bultin: always enable GC_THREADS, even with -d dynamic_boehm
, otherwise multithread operation is unsafe ( #15275 )
...
According to upstream documentation, only GC_WIN32_THREADS is explicit.
This PR fixes a random memory corruption(s) with "-d dynamic_boehm" on OpenMandriva.
1679adc04d
.log
```
DEBUG: + VFLAGS='-prod -d dynamic_boehm'
DEBUG: + /usr/bin/clang -Os -fomit-frame-pointer -g3 -gdwarf-4 -Wstrict-aliasing=2 -pipe -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -fstack-protector-all --param=ssp-buffer-size=4 -m64 -mtune=generic -flto -std=gnu99 -w -o tmp_1 v.c -lm -lpthread -Os -fomit-frame-pointer -g3 -gdwarf-4 -Wstrict-aliasing=2 -pipe -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -fstack-protector-all --param=ssp-buffer-size=4 -m64 -mtune=generic -flto -Wl,-O2 -Wl,--no-undefined -flto
DEBUG: + ./tmp_1 -no-parallel -o tmp_2 -prod -d dynamic_boehm cmd/v
DEBUG: + ./tmp_2 -o v -prod -d dynamic_boehm cmd/v
DEBUG: /var/tmp/rpm-tmp.mcjmqc: line 52: 644 Bus error (core dumped) ./v build-tools
```
2022-07-30 14:59:12 +03:00
yuyi
6e8350a9c9
fmt: fix interface method with fntype argument ( #15280 )
2022-07-30 14:29:41 +03:00
l-m
10f3c9f127
builtin: add string.replace_char and string.normalize_tabs ( #15239 )
2022-07-27 22:04:39 +03:00
Alexander Medvednikov
d6de53362f
checker: improve unused label check
2022-07-23 01:36:27 +03:00
Alexander Medvednikov
9099594a49
all: wrap up unsafe { nil } (p. 3)
2022-07-21 21:01:30 +03:00
Alexander Medvednikov
dc79f1392b
all: voidptr(0) => unsafe { nil } (p.2)
2022-07-21 20:51:54 +03:00
Alexander Medvednikov
caa0c2f153
vfmt: voidptr(0) => unsafe { nil } (p.1)
2022-07-21 20:46:01 +03:00
Delyan Angelov
a4e0e0fa57
builtin: add drafts for __new_array_noscan, __new_array_with_default_noscan, __new_array_with_array_default_noscan for array_notd_gcboehm_opt.v
2022-07-12 10:00:58 +03:00
Larpon
9f3b6e3e3a
android: provide more predictable logging, add comptime termux support ( #14984 )
2022-07-07 18:28:29 +03:00
l-m
ed8c63cc0b
builtin: add a contains_only method on string ( #14830 )
2022-06-23 01:41:42 +03:00
Delyan Angelov
473d26ce47
builtin: enforce linking to libgc.a with -prod on macos
2022-06-20 21:29:27 +03:00
yuyi
01fdd5d07f
cgen: add a minor optimisation for array.push_many ( #14770 )
2022-06-17 09:44:13 +03:00
spaceface
26d051475a
cgen: ensure closures are kept alive when using the GC ( #14736 )
2022-06-10 19:48:50 +03:00
spaceface
4ed9780b80
all: enable -gc boehm
by default ( #14577 )
2022-06-09 00:44:29 +03:00
Delyan Angelov
82d23dedf1
builtin: add flush_stdout and flush_stderr to builtin.js.v, for feature parity with builtin.c.v
2022-06-07 12:15:35 +03:00
ChAoS_UnItY
df80b33dc0
cgen: fix array init with it ( fix #14679 ) ( #14680 )
2022-06-05 19:41:54 +03:00
Ikko Ashimine
7b25957a26
builtin: fix typo in array.v ( #14688 )
2022-06-05 18:49:40 +03:00
playX
db34adaec8
builtin.js: fix string.int method ( #14564 )
2022-05-31 11:52:11 +03:00
Delyan Angelov
0f3b2c2ae7
builtin: use C.fwrite (buffered) for _write_buf_to_fd ( #14558 )
2022-05-30 19:15:05 +03:00
Delyan Angelov
58ebc0680e
builtin: fix sporadic linking failures on v -cc gcc -gc boehm examples/hello_world.v
2022-05-30 15:17:01 +03:00
spaceface
ba859c584b
builtin: add static GC support on Windows with TCC ( #14497 )
2022-05-22 21:25:46 +03:00
Daniel Däschle
d3ffd983c8
markused: add _result_ok ( #14495 )
2022-05-22 14:52:38 +03:00
Vincenzo Palazzo
17bba712bd
checker: ban unsafe pointer/fn comparison ( #14462 )
2022-05-20 18:30:16 +03:00
yuyi
913164bc73
builtin: minor cleanup in string_interpolation.v ( #14471 )
2022-05-20 14:19:27 +03:00
Delyan Angelov
4e56147223
ci: vfmt builtin_d_use_libbacktrace.c.v
2022-05-17 19:41:57 +03:00
Ned
db4b49a5ca
builtin: print libbacktrace output to stderr, on panics/segfault crash ( #14434 )
2022-05-17 14:56:34 +03:00
WoodyAtHome
02c8a6057c
builtin.string: new fn (s string) is_ascii() bool ( #14418 )
2022-05-17 08:01:03 +03:00
Daniel Däschle
d679146a80
fmt: remove space in front of ? and ! ( #14366 )
2022-05-13 06:56:21 +03:00
CC
901b8f0c24
builtin: add a map.clear() method ( #14373 )
2022-05-12 09:43:01 +03:00
David 'Epper' Marshall
a91226c376
docs: cleanup ( #14327 )
2022-05-07 20:18:42 +03:00
Delyan Angelov
56cf0b0a2e
builtin: inline manually isnil calls in array.push_many (very frequently called)
2022-05-07 12:55:40 +03:00
Alexander Medvednikov
14f06ead1b
cgen: fix c2v consts; enum_decl()
2022-05-07 00:58:37 +03:00
Hunam
0699f324b5
builtin: add map.values()
( #14301 )
2022-05-06 20:42:01 +03:00
Daniel Däschle
76cdf75299
builtin,cgen: rename Option
to _option
( #14317 )
2022-05-06 19:25:54 +03:00
Andréas Livet
9fde5b067b
docs: add missing function names in the builtin
example doc comments ( #14318 )
2022-05-05 17:22:25 +03:00
Ned
76a7354506
builtin: add libbacktrace as option for generating stack traces ( #14277 )
2022-05-04 21:17:05 +03:00
Ikko Ashimine
223b96a59a
builtin: fix typo in array_bare.v ( #14299 )
2022-05-04 19:25:17 +03:00
Delyan Angelov
1a4d9017e2
builtin: improve support for large arrays ([]int{len: 1_000_000_000}
now works), fix an arr.repeat() bug ( #14294 )
2022-05-04 18:42:06 +03:00
Alexander Medvednikov
1e9156fd71
checker: c2v rune comparison fix
2022-05-04 06:49:45 +03:00
Delyan Angelov
0e5c1cee48
builtin: improve musl/Alpine support (define weak backtrace/backtrace_symbols/backtrace_symbols_fd symbols) ( #14250 )
2022-05-03 09:17:53 +03:00
Delyan Angelov
ab1c265679
builtin: add missing panic_result_not_set/1 callback function.
2022-05-02 22:40:26 +03:00
yuyi
b9cf2db6a8
parser: fix inline array's element access ( #14253 )
2022-05-02 16:16:32 +03:00
Daniel Däschle
9f8a34a528
all: rename result to _result ( #14232 )
2022-04-30 17:10:30 +03:00
David 'Epper' Marshall
a2338dbb7c
docs: document more builtin
functions/methods ( #14229 )
2022-04-30 12:31:23 +03:00
Daniel Däschle
08fd0ce0de
all: basic implementation of result type ( #14140 )
2022-04-30 01:59:14 +03:00
Wertzui123
872f739396
builtin: ignore C++ 0xE06D7363 exception errors on windows ( #14225 )
2022-04-29 14:55:29 +03:00
StunxFS
995485c649
builtin: add string.len_utf8()
method ( #14208 )
2022-04-29 10:23:57 +03:00
Alexander Medvednikov
77645fcf35
builtin: define atoi & ftell
2022-04-29 04:31:51 +03:00
Delyan Angelov
f72297c331
eval: add support for C.read/3, C.malloc/1, $if openbsd {
2022-04-28 11:30:36 +03:00
Alexander Medvednikov
7dbfa86f25
all: atomic int fixes
2022-04-27 18:31:21 +03:00
playX
dce2173ac9
checker: c2v fixes ( #14161 )
2022-04-26 01:34:26 +03:00
Nick Treleaven
d8a5df9044
checker: error if smaller signed == unsigned ( #14078 )
2022-04-25 12:09:25 +03:00
lemon
960225f7a7
builtin: fix -cc gcc -gc boehm
on linux and macos ( #14115 )
2022-04-21 00:12:17 +03:00
Nick Treleaven
1533b77404
builtin: remove unnecessary casts for defunct small unsigned warning ( #14108 )
2022-04-20 21:47:09 +03:00
Alexander Medvednikov
364656b312
builtin: define C.abs()
2022-04-20 13:03:30 +03:00
spaceface
775c4c34b5
builtin: compile the gc statically by default ( #14063 )
2022-04-18 10:50:21 +03:00
Delyan Angelov
4a71b27c52
ci: add test_byte_vs_u8 to int_test.v
2022-04-15 21:42:07 +03:00
Delyan Angelov
840f474fb5
ci: fix ./v -progress test-cleancode
2022-04-15 21:04:10 +03:00
Delyan Angelov
e802e0b9cb
ci: fix more test-all failures
2022-04-15 21:02:03 +03:00
Delyan Angelov
bb2a324d61
ci: more gen.js fixes
2022-04-15 20:51:04 +03:00
Delyan Angelov
6f5a513d8b
ci: fix v build-examples
2022-04-15 20:31:10 +03:00
Delyan Angelov
cc8803c602
builtin: fix failing embed_file_test.v (pub fn (data &u8) vbytes(len int) []u8 {
)
2022-04-15 19:57:00 +03:00
Alexander Medvednikov
fbb9e65c0f
all: ~500 more byte=>u8
2022-04-15 18:25:45 +03:00
Alexander Medvednikov
ae6a25f44e
websocket, utf: u8 fixes
2022-04-15 16:24:02 +03:00
Alexander Medvednikov
af73e195da
net: byte fixes
2022-04-15 15:55:39 +03:00
Alexander Medvednikov
fb192d949b
all: replace []byte with []u8
2022-04-15 15:35:35 +03:00
Alexander Medvednikov
c14984899b
builtin: fix windows fn definitions
2022-04-15 15:18:21 +03:00
Alexander Medvednikov
a1372e284c
builtin: update alloc fn definitions
2022-04-15 15:16:10 +03:00
Alexander Medvednikov
d4a0d6f73c
all: byte => u8
2022-04-15 14:58:56 +03:00
Alexander Medvednikov
b49d873217
builtin: [1000]u8 fix
2022-04-15 14:48:39 +03:00
Alexander Medvednikov
014c3c97f0
all: byte => u8
2022-04-15 14:45:52 +03:00
Alexander Medvednikov
7f3b91e688
builtin: more byte => u8
2022-04-15 14:10:11 +03:00
Alexander Medvednikov
ba7b329c73
builtin: more byte=>u8
2022-04-15 13:55:56 +03:00
Alexander Medvednikov
e6ff1508d2
all: make u8 the primary type, byte the alias
2022-04-15 13:43:03 +03:00
Delyan Angelov
e555335bf0
ci: fix windows-msvc builds, as well as the windows-cross job, turn on deprecation notices for [windows_stdcall] and [_fastcall]
2022-04-14 13:36:51 +03:00
Nick Treleaven
c780de6282
checker: disallow 'small_unsigned == signed' ( #13967 )
2022-04-12 19:37:30 +03:00
Delyan Angelov
382586da6d
ci: fix toml segfault (remove unused low level builtin option IError.msg compatibility hack)
2022-04-11 21:49:59 +03:00
Nick Treleaven
2cd9c91e98
vdoc: highlight terminal examples for -comments -color
( #13937 )
2022-04-04 18:13:24 +03:00
Nick Treleaven
d10135e2c4
vdoc: HTML highlight generic function as function, not name ( #13923 )
2022-04-03 23:41:02 +03:00
Nick Treleaven
782d5374c9
builtin: add an array.drop(n)
method ( #13907 )
2022-04-03 17:05:50 +03:00
yuyi
8c55a9ecd3
builtin: minor optimization of array.push() and array.push_noscan() ( #13904 )
2022-04-03 11:04:18 +03:00
Nick Treleaven
42f92db0ab
v.doc: parse multi-line examples (so they get highlighted) ( #13894 )
2022-04-02 18:29:12 +03:00
Nick Treleaven
a87cd9663e
vdoc: highlight inline examples for -f html
( #13879 )
2022-03-31 19:32:32 +03:00
Nick Treleaven
02f72c8230
builtin: improve docs for array methods that take an it
expression, like .map, .filter etc ( #13836 )
...
Move explanation about boolean `it` expressions to `filter`, as `sort`
doesn't take a boolean expression. Also move `any` example.
Add 2 filter examples.
Add map example from docs.md.
2022-03-27 14:28:15 +03:00
Nick Treleaven
ea4410cdb5
builtin: document the rune.length_in_bytes method ( #13826 )
2022-03-25 20:09:39 +02:00
Delyan Angelov
5b492e26dd
builtin: support a.flags.set(.noslices | .noshrink), use it in the particles example ( #13818 )
2022-03-24 23:37:13 +02:00
Nick Treleaven
afbccf79f7
builtin: don't memdup element for array.pop
(depends on how cgen works) ( #13789 )
...
The voidptr returned is immediately dereferenced in cgen so the memory
is copied before the array can be appended to: `*(int*)array_pop(&a)`
2022-03-21 23:34:35 +02:00
Delyan Angelov
71edaa071a
builtin: use malloc, instead of calloc in array.ensure_cap/1
2022-03-20 15:08:42 +02:00
Delyan Angelov
8ab0bcb6aa
Revert "builtin: improve performance for common array ops, based on VTune analysis"
...
This reverts commit 57db261538
.
2022-03-20 12:57:27 +02:00
Delyan Angelov
57db261538
builtin: improve performance for common array ops, based on VTune analysis
2022-03-20 12:42:04 +02:00
yuyi
49155ec312
parser: notice unnecessary parenthesis of reference ( fix #11179 ) ( #13739 )
2022-03-15 16:11:53 +02:00
playX
78b1cbefff
builtin.wasm_bare: fix malloc invocation ( #13740 )
2022-03-15 12:55:39 +02:00
playX
c8b0f51c13
builtin.wasm_bare: use walloc as malloc/free implementation ( #13731 )
2022-03-14 09:20:20 +02:00
Delyan Angelov
8dc4b1d9a3
builtin: use malloc_noscan more (for map metas and in []byte.hex())
2022-03-11 11:26:22 +02:00
Nick Treleaven
7231a3f135
vlib: add mut
for the first parameter of builtin.copy, arrays.copy and crypto ( #13702 )
2022-03-09 20:26:00 +02:00
Nick Treleaven
54de04a916
arrays: improve fold/reduce docs ( #13700 )
2022-03-09 20:04:49 +02:00
Nick Treleaven
17fcc788f2
arrays: add generic copy fn ( #13677 )
2022-03-08 09:44:04 +02:00
Alexander Medvednikov
36ec47cd20
all: replace "NB:" with "Note:" (docs/comments)
2022-03-06 20:01:22 +03:00
Delyan Angelov
89b99ad4c3
scanner: remove the restriction for \x00 in strings ( #13493 )
2022-02-16 23:41:05 +02:00
Delyan Angelov
9c24d09dc3
strconv: bug fix for "${239.5:0.0f}" ( #13483 )
2022-02-16 11:33:29 +03:00
Tim Basel
37c151efe5
docs, builtin, encoding.csv: update error implementations ( #13440 )
2022-02-12 11:54:10 +02:00
Tim Basel
9d0a5942ac
builtin: change IError msg
and code
to methods + fix vlib, add a deprecation notice for the old usages ( #13041 )
2022-02-11 15:52:33 +02:00
Vincenzo Palazzo
7f29418c63
strconv: change atof64 to return an error, if the parsed value is not a valid number ( #13424 )
2022-02-10 13:27:32 +02:00
Delyan Angelov
1dc239227d
docs, builtin: clean up the homepage of modules.vlang.io a little, do not use //==== comments for now in builtin
2022-02-06 23:51:40 +02:00
Delyan Angelov
9344c27021
builtin: save a call to array.ensure_cap in array.insert, array.push, array.push_many in most cases
2022-02-02 11:01:07 +02:00
Delyan Angelov
96c8188083
builtin: fix warnings for tests inside vlib/builtin/js
2022-01-30 16:36:56 +02:00
Delyan Angelov
44dddecc09
builtin: use a pure V version of string.to_wide() on != windows ( #13314 )
2022-01-28 20:41:50 +02:00
Benjamin Stigsen
ceb05b163a
strings: rename Builder.write_b() to Builder.write_byte(), add deprecation ( #13313 )
2022-01-28 20:34:44 +02:00
Delyan Angelov
469282b20d
builtin: cleanup [trusted] tags for C function declarations
2022-01-25 19:31:40 +02:00
Alexander Medvednikov
4715fb67c1
checker: c2v fixes for enums and pointer to numbers
2022-01-25 20:15:45 +03:00
Alexander Medvednikov
216a505c2a
builtin: more libc fn definitions
2022-01-24 06:14:31 +03:00
Alexander Medvednikov
38d3239b50
checker: c2v fixes
2022-01-19 15:26:24 +03:00
trueFireblade
727c9fb4a1
all: add string range OrExpr ( #13189 )
2022-01-17 13:03:10 +03:00
jeffmikels
f19197f9b0
builtin: make array.insert_many and array.prepend_many private ( #13172 )
2022-01-14 19:47:17 +02:00
jeffmikels
9329b6c8c8
builtin: add more documentation ( #13160 )
2022-01-14 17:27:38 +02:00
jeffmikels
70aedaf184
builtin: add a string.parse_int/2 method (wrapping strconv.parse_int/3) ( #13164 )
2022-01-14 00:31:11 +02:00
jeffmikels
4189b7e280
builtin: add a byterune
method on []byte
( #13145 )
2022-01-13 22:26:17 +02:00
Delyan Angelov
ecc7accc8e
tests: test with valgrind rune.bytes(), fix leak in .str_escaped()
2022-01-11 15:23:40 +02:00
Delyan Angelov
8acd84d04a
builtin: reduce allocations in rune.bytes()
2022-01-11 15:23:39 +02:00
Ekopalypse
cb684b5c64
builtin: allow msvc users to link against a custom compiled Boehm library ( #13133 )
2022-01-11 15:23:21 +02:00
jeffmikels
078229f213
builtin: add a rune.bytes() convenience method ( #13129 )
2022-01-11 09:55:51 +02:00
jeffmikels
5e5d62ed4c
arrays,docs: remove arrays.zip; improve docs ( #13082 )
2022-01-09 16:12:33 +02:00
jeffmikels
6e6d51a1c9
docs: add more documentation to each of the modules in vlib ( #13043 )
2022-01-07 13:28:50 +02:00
playX
287331bc19
builtin: add builtin/wasm_bare ( #13078 )
2022-01-07 13:16:06 +02:00
playX
ec91de3504
builtin: use dlmalloc for -freestanding
( #13054 )
2022-01-06 14:10:37 +02:00
jeffmikels
a60b381d5e
docs: adding skeleton README.md files for all vlib modules ( #13034 )
2022-01-05 18:06:08 +02:00
Delyan Angelov
d3489d4246
builtin: s.trim_prefix/1 -> s.trim_string_left/1, s.trim_suffix/1 -> s.trim_string_right/1
2022-01-05 12:49:22 +02:00
Delyan Angelov
0f01236e52
strconv: fix assert .f64() == 0
2022-01-04 17:51:48 +02:00
Alexander Medvednikov
59ed4be49a
all: update copyright year
2022-01-04 12:21:12 +03:00
pancake
7b4ba66720
js: use JS.String instead of string in builtin javascript functions ( #13004 )
2022-01-01 09:17:08 +02:00
yuyi
a0a1807e2b
builtin: add charptr str() and change string format ( #12973 )
2021-12-30 23:34:24 +03:00
yuyi
3b5de71e60
builtin: add none str() ( fix #12964 ) ( #12967 )
2021-12-26 11:41:51 +02:00
penguindark
278c08704c
all: support slices with negative indexes #[start..end]
(gated arrays) ( #12914 )
2021-12-22 16:34:02 +03:00
playX
ade14491d4
gg: add event handling for mouse down/up and mouse leave/out on VJS ( #12917 )
2021-12-21 12:31:29 +02:00
Delyan Angelov
f81654e3a7
builtin: add s.match_glob(wildcard_pattern)
2021-12-20 14:17:08 +02:00
yuyi
7c255f0ff2
builtin, cgen: fix array of map init with default value ( #12885 )
2021-12-18 10:07:25 +02:00
Delyan Angelov
6ff953d936
preludes,builder,cgen: add support for VTEST_RUNNER=tap and -test-runner tap ( #12523 )
2021-12-16 15:59:46 +02:00
playX
11d2b8b354
js: support -es5
flag ( #12846 )
2021-12-15 15:47:34 +02:00
Delyan Angelov
df7f2aa8a3
all: support [markused]
tags for fns/consts/globals
2021-12-15 14:34:49 +02:00
spaceface
d13fe7843c
v: fix build and failing tests on arm64 ( #12840 )
2021-12-15 09:00:38 +02:00
yuyi
7c7cdf8ce7
builtin: clean up array.v ( #12784 )
2021-12-11 11:17:00 +03:00
playX
b116170735
js: add support for Promise.wait() ( #12781 )
...
* builtin/js: Change Promise<T,E> to Promise<T>
* js: codegen support for Promise.wait()
* checker: checker support for Promise.wait()
2021-12-10 14:54:20 +02:00
playX
1cb06a2de4
js: ast.GoExpr support using promises on JS backend ( #12749 )
2021-12-07 12:11:54 +03:00
penguindark
81a1490e31
builtin: add string.split_any/1 ( #12720 )
2021-12-04 20:13:40 +02:00
Delyan Angelov
d59aa14b26
builtin: fix {-7:08b} (interpolation of negative numbers with 0 padding), add tests
2021-12-04 13:11:05 +02:00
Delyan Angelov
33163238e7
strconv: add a small performance optimisation
2021-12-03 20:14:14 +02:00
playX
0da7e2f8ab
js: make vlib/v/util compile on JS backend ( #12660 )
2021-12-03 12:25:36 +02:00
Delyan Angelov
c4363bc78b
builtin: explain and better organise the different cstring_to_vstring/tos/tos_clone/vstring family of conversion functions
2021-12-02 15:46:53 +02:00
Delyan Angelov
d7bc2a88f7
builtin: add a non allocating rune.length_in_bytes() method and tests for it
2021-12-01 16:35:13 +02:00