Delyan Angelov
18cccb6caf
builtin: show non zero codes on bubbled error_with_code(msg,code)
errors
2022-08-16 18:59:38 +03:00
Emily Hudson
90d9b200f9
gc: fix msvc not using libatomic_ops ( #15418 )
2022-08-14 13:16:52 +03:00
Delyan Angelov
4c0339242a
doc: fix example comment for string.strip_margin()
2022-08-14 08:06:52 +03:00
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