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 `bool`s 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