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 |
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 |