Delyan Angelov
6d97b0a407
checker: improve checking of a << b, when a and b are numbers ( #12589 )
2021-11-29 03:48:49 +03:00
Delyan Angelov
31fe02de8c
builtin,crypto: fix problems detected by -fsanitize=address,undefined and -fsanitize=memory
2021-11-28 20:35:18 +02:00
Delyan Angelov
b4c52b72cf
builtin: change the -d debug_malloc
byte pattern to M
so it is easier to spot with a plain text terminal.
2021-11-28 19:23:11 +02:00
playX
b0bc112168
jsdom, examples: add more WebGL APIs; add interactive 3D cube example running on VJS ( #12562 )
2021-11-24 20:31:39 +02:00
pancake
70ff00efbb
bootstrapping: fix building V on OpenBSD ( #12558 )
2021-11-24 09:46:46 +02:00
playX
12ffe04212
jsdom, builtin/js: WebGL W.I.P; Added support for casting V arrays to typed arrays ( #12551 )
...
* builtin/js: TypedArray support
* jsdom: WebGL W.I.P
2021-11-23 14:51:59 +02:00
Delyan Angelov
1aaac13a60
cgen: make os
less special, fix an -autofree leak on just import os
...
* Improve documentation of v.util.Surrounder
* Remove `os` from the list of "no auto free" `builtin` mods
* Fix -autofree freeing of `const x = []string{}`.
* Add a valgrind regression test.
* Implement os.getenv_opt in vlib/os/environment.js.v too.
2021-11-21 21:50:10 +02:00
playX
243e66a106
js,jsdom: Canvas & context API; Added TypeSymbol.is_js_compatible & temporary hacks for JS ifaces ( #12526 )
2021-11-20 21:28:11 +02:00
playX
2eb02ff5a7
jsdom, js: start refactoring jsdom; improve JS interfaces; add two attributes for them ( #12488 )
2021-11-17 11:41:33 +02:00
Delyan Angelov
6ac109a7c3
builtin: add a [has_globals]
tag for all the .v files, with global declarations in them
2021-11-17 10:29:06 +02:00
yuyi
c28041cecc
all: cleanup/rename all comp_
names to be comptime_
( #12467 )
2021-11-15 15:47:29 +02:00
playX
e3d98b1b28
js,strconv: port some functions to JS backend, improve rune.str()
( #12460 )
2021-11-14 21:06:58 +02:00
playX
a4c57ba56e
js: support JS interfaces ( #12426 )
2021-11-11 14:36:32 +02:00
Delyan Angelov
80242c8041
builtin,ast: apply small performance improvements, suggested by hotspot
2021-11-07 13:30:44 +02:00
playX
5f3dcde358
jsdom,builtin: add all methods for DOMMatrix; add conversion methods to convet from/to JS types ( #12395 )
2021-11-06 15:52:24 +02:00
Alexander Medvednikov
7ea57bfa1e
builtin: make map.keys() public
2021-11-04 19:09:37 +03:00
Delyan Angelov
6937074e7a
strings,builder: reduce V cgen and parser memory consumption, fix strings.Builder leak ( #12342 )
2021-10-31 12:58:55 +02:00
Delyan Angelov
579d5ae649
builtin,checker: add array.flags. Allow changing it in unsafe {}
blocks
2021-10-31 11:04:56 +02:00
Delyan Angelov
b86c79329b
os, builtin: reduce leaks without -autofree
2021-10-29 15:49:30 +03:00
Delyan Angelov
475a2f9b43
ci: fix failing vlib/orm/orm_test.v
2021-10-28 17:33:18 +03:00
Delyan Angelov
4d0f6767b1
builtin: use malloc instead of calloc for []Type{cap: size}
2021-10-28 17:18:03 +03:00
Delyan Angelov
8014235e0e
scanner: speed up text_scan by using a specialised keywords matcher, instead of a generic V map of keywords
2021-10-28 15:41:13 +03:00
playX
cfecb62299
js: DOM API. Part 1 ( #12296 )
2021-10-27 23:18:09 +03:00
Wertzui123
ea6d2d53db
parser: disallow for mut in range
( fix #12234 ) ( #12277 )
2021-10-27 14:55:36 +03:00
Bakul Shah
cc2847f6ff
builtin: fix compilation with -gc boehm
on some FreeBSD versions ( #12289 )
2021-10-25 10:24:08 +03:00
Delyan Angelov
eed94c727c
os: move C struct declarations in their own _default.c.v files ( #12268 )
2021-10-22 17:08:08 +03:00
playX
57c79770b3
js: port more methods (os, builtin) ( #12238 )
2021-10-20 16:02:21 +03:00
playX
c1aa782a6c
js,checker: fix some modules build for v -b js self
, fix or block
check in ast.CallExpr ( #12231 )
2021-10-19 12:11:54 +03:00
playX
d373eba79b
js: implement more functions for JS backend ( #12167 )
2021-10-13 09:40:14 +03:00
playX
22962dd2d2
js: change codegen for match statement, speedup string.split_into_lines ( #12157 )
2021-10-12 09:52:16 +03:00
playX
a8ace2c41c
math: implement pow
in pure V ( #12105 )
2021-10-08 17:44:55 +03:00
playX
33a1006cc5
js: comptime&assert improvements, more byte
and strings.Builder
methods ported ( #12096 )
2021-10-07 15:55:47 +03:00
playX
b2945e916f
js: add initial support for runes ( #12077 )
2021-10-06 10:43:49 +03:00
playX
8d1ba52d0c
js: fix string.bytes codegen, readline, add tests for strings
( #12060 )
2021-10-04 18:28:30 +03:00
Larpon
a8c2c419cd
builtin: improve malloc panic messages ( #12054 )
2021-10-03 20:27:46 +03:00
playX
9145cd66ec
js: add more tests to builtin/js and implement more builtin functions ( #12049 )
2021-10-03 10:08:21 +03:00
playX
82f187e5e0
js: fix rand
build, properly use key values on map, add rand.string
( #12020 )
2021-10-01 21:23:49 +03:00
Wertzui123
e3d379a1eb
builtin: add byte.repeat() and rune.repeat() ( #12007 )
2021-09-30 09:32:20 +03:00
playX
4333a53f28
js: support running .js.v
tests in v test-self
, fixes for array methods & codegen ( #12011 )
2021-09-29 15:33:14 +03:00
yuyi
8789cc422c
v.ast: fix fmt of 'bytestr' to '&byte' ( #12014 )
2021-09-29 13:53:46 +03:00
crthpl
85b58b03a3
cgen: parallelize ( #10844 )
2021-09-28 10:28:04 +03:00
Ken
a17b943e87
builtin: add method byte()
for string ( #11998 )
2021-09-28 10:08:10 +03:00
Wertzui123
07d65b2aab
builtin: move byte methods from rune.v to int.v ( #11987 )
2021-09-26 22:34:25 +03:00
playX
863dd0b23e
js: array improvements ( #11952 )
2021-09-26 07:33:53 +03:00
yuyi
108a01d65f
fmt: fix unnecessary line break in array init ( fix #11448 ) ( #11562 )
2021-09-21 16:20:09 +03:00
Enzo
b2ecca3966
all: remove size_t
( #11478 )
2021-09-21 02:12:38 +03:00
Ruofan XU
b343f19bec
v.scanner: fix ambiguity of two-level generics and shift-right ( #11540 )
2021-09-19 16:22:28 +03:00
Delyan Angelov
bd65ceb463
v.markused: remove __print_assert_failure from all_fn_root_names
2021-09-17 21:47:22 +03:00
playX
7d1776b84d
js: equality method generation for V types ( #11503 )
2021-09-16 07:07:48 +03:00
Alexander Medvednikov
ae41d1d3c6
builtin, cgen: more -nofloat fixes
2021-09-13 19:06:19 +03:00
Alexander Medvednikov
8fc0b486a2
builtin: fix string interpolation when compiling with -nofloat
2021-09-13 18:40:32 +03:00
Alexander Medvednikov
cfcc57f5d3
checker: remove unnecessary "no methods" error; builder: skip float.c.v with -nofloat
2021-09-13 18:14:26 +03:00
playX
5b619b99c2
v.gen.js: Interfaces support, fix for error propagation & panic stacktraces ( #11471 )
2021-09-11 14:24:47 +03:00
Alexander Medvednikov
ab3adf3346
checker: no longer allow automatic dereferncing in a = b
2021-09-09 20:21:01 +03:00
Enzo
1a2d5f65fb
builtin: add size_t.str()
again ( #11446 )
2021-09-09 10:50:35 +03:00
Delyan Angelov
4faa0f8487
v.checker: add checks for .free()
methods
2021-09-09 09:54:06 +03:00
playX
72089c4feb
js: use prefixed names for functions and global symbols ( #11387 )
2021-09-08 20:30:46 +03:00
Alexander Medvednikov
55451baa03
builtin: i32 alias
2021-09-08 14:49:02 +03:00
Enzo
bef3390f36
builtin: fix compilation ( #11445 )
2021-09-08 14:19:21 +03:00
Enzo
56ad5d72ef
builtin: add .str
method for i/usize
( #11441 )
2021-09-08 13:41:08 +03:00
Enzo
e3b65092d6
parser: deprecate size_t
( #11443 )
2021-09-08 13:09:32 +03:00
Enzo
cc8ee5fb84
all: introduce isize
and usize
( #11437 )
2021-09-08 05:53:39 +03:00
penguindark
bd10a63839
builtin: string interpolation: binary format support ( #11421 )
2021-09-07 00:12:54 +03:00
Lathanao
78c26e69cf
builtin: fix the string.index_any method ( #11310 )
2021-09-06 15:06:37 +03:00
yuyi
5181031480
builtin: check array.sort_with_compare() arg mismatch ( #11385 )
2021-09-04 15:02:05 +03:00
Delyan Angelov
91f7be98d0
builtin.js.v: run vfmt
2021-09-03 14:13:36 +03:00
playX
a4df418a68
js: support [export: 'AnotherName']
for FnDecl codegen ( #11377 )
2021-09-03 13:00:24 +03:00
playX
08c517c966
strconv,v.gen.js: proper optionals returns, strconv compiles to the JS backend ( #11364 )
2021-09-03 12:16:07 +03:00
playX
a9b705bfd8
js: fix printing, make builtins for result and option types behave correctly ( #11336 )
2021-08-30 20:47:18 +03:00
yuyi
f44eb88a8d
vfmt: fmt '!(a in/is b)' to 'a !in/is b' ( #11335 )
2021-08-30 09:45:36 +03:00
playX
61ac7b671d
js: add initial support for optional types, IfGuardExpr codegen for if
( #11332 )
2021-08-29 14:27:17 +03:00
playX
118c5fdcd8
js: fix -stats compilation of tests, proper alias codegen ( #11327 )
2021-08-28 16:57:33 +03:00
Alexander Medvednikov
cf4081e2dd
all: more chdir/chmod fixes
2021-08-28 12:52:48 +03:00
playX
bdf11d969a
js: add basic support for running tests, fix string.replace_each ( #11314 )
2021-08-26 15:20:54 +03:00
playX
109d5d5847
js: os
now compiles to the JS backend, more builtins & minor codegen fixes ( #11302 )
2021-08-25 14:40:53 +03:00
playX
d78e7e3b2b
js: codegen fixes, W.I.P os
availability for JS backend ( #11281 )
2021-08-23 14:25:02 +03:00
penguindark
fde934cd93
builtin: optimize hex() ( #11261 )
2021-08-22 11:10:24 +03:00
Delyan Angelov
fe08e1c504
strings: add Builder.write_rune/1 and Builder.write_runes/1 methods
2021-08-19 07:18:09 +03:00
Alexander Medvednikov
26b77515b9
builtin: optimize []rune.string()
2021-08-19 06:58:53 +03:00
playX
0121c8b4fd
v.gen.js: fix method calls and other codegen parts, rand module compiles ( #11205 )
2021-08-18 11:33:37 +03:00
Subhomoy Haldar
8dc043ba2c
builtin: fix minor C fn definitions ( #11180 )
2021-08-14 17:19:27 +03:00
Delyan Angelov
34d39ccb64
builtin: fix leak in rune.str(), fix leaks in most assert x == y statements in tests ( #11091 )
2021-08-13 18:37:34 +03:00
Subhomoy Haldar
0bd68bf5a2
builtin: rename invalid parameter names in C fn declarations ( #11173 )
2021-08-13 17:03:39 +03:00
Delyan Angelov
47884dfd1f
builtin: move C. calls to .c.v files ( #11164 )
2021-08-12 21:46:38 +03:00
playX
c9e9556a92
js: array.delete_last() ( #11160 )
2021-08-12 19:39:33 +03:00
Enzo
506c30a291
builtin: remove methods that can be autogenerated ( #11109 )
2021-08-09 15:42:31 +03:00
playX
7a67a08d2f
js: implement codegen for array.sort and implement .any,.all ( #11100 )
2021-08-09 01:46:40 +03:00
playX
94c321c80d
v.gen.js: port fully the array test suite & add fixes ( #11073 )
2021-08-07 17:58:49 +03:00
zakuro
490dec222f
fmt: keep char literal, '
( #11060 )
2021-08-06 06:21:28 +03:00
Enzo
7346aeca5f
cgen: refactor array sort generation ( #11067 )
2021-08-06 03:55:48 +03:00
playX
8743b616a0
v.gen.js: codegen fixes, add a few builtins, port more array tests ( #11049 )
2021-08-04 12:46:24 +03:00
Daniel Däschle
800c0e5092
vlib: remove deprecated map{} usages as well as deprecated functions ( #11035 )
2021-08-04 12:44:41 +03:00
yuyi
b870f7a6f1
cgen: fix array sort error ( #11046 )
2021-08-04 06:31:57 +03:00
Enzo
fc193bebf2
builtin: add documentation for builtin array functions ( #11023 )
2021-08-03 06:25:33 +03:00
playX
836ac54d12
v.gen.js: add more array tests and fixes ( #11014 )
2021-08-01 14:08:49 +03:00
playX
a7ca051016
v.gen.js: fix for array filter, add more tests and other fixes ( #10999 )
2021-07-30 11:17:11 +03:00
playX
75c41252d9
js: add more tests & add array prepend codegen ( #10988 )
2021-07-29 11:39:36 +03:00
Alexander Medvednikov
b79dd7f0b3
builtin: re-enable u8 alias
2021-07-29 06:46:12 +03:00
Alexander Medvednikov
09df5adbdd
builtin: re-gen v.c
2021-07-29 06:45:04 +03:00
Alexander Medvednikov
1343ec7444
builtin: fix temporary u8 alias
2021-07-29 06:42:22 +03:00
Alexander Medvednikov
a7270148e5
builtin: remove u8 alias to re-generate v.c
2021-07-28 22:41:41 +03:00
Alexander Medvednikov
65126efdc3
builtin: remove u8 for now
2021-07-28 22:36:04 +03:00
playX
e3cf95b058
js: add more tests for array, support array insert_many, minor fixes for references ( #10983 )
2021-07-28 13:01:00 +03:00
shadow
66bc8bc0cb
vlib: remove many deprecated functions ( #10972 )
2021-07-28 09:22:19 +03:00
Delyan Angelov
b0a721b2ec
js: draft support for compiling -b js x_test.v
2021-07-27 13:49:47 +03:00
Delyan Angelov
b44f81528f
v.gen.c: fix codegen for const a = u64(5) + 5
2021-07-26 08:06:59 +03:00
Delyan Angelov
6438099644
builtin: fix building vinix (missing C.strerror)
2021-07-25 23:31:22 +03:00
Uwe Krüger
a6245a56d8
builtin: fix Windows panic message ( #10952 )
2021-07-25 15:34:48 +03:00
Uwe Krüger
55c5b9ce7b
cgen: panic with error message when go
command fails ( #10943 )
2021-07-25 01:13:34 +03:00
spaceface
a621149fc2
builtin: add bdwgc to thirdparty, statically link it on Windows ( #10542 )
2021-07-24 16:04:26 +03:00
playX
f51fa7e665
v.gen.js: fix references and add iterator to map ( #10938 )
2021-07-24 15:35:17 +03:00
yuyi
29cda252f1
builtin: fix multiple array init ( #10929 )
2021-07-23 23:25:12 +03:00
playX
69cbdf9fdc
v.gen.js, os_js: port the OS module to JS ( #10872 )
2021-07-23 18:04:36 +03:00
Louis Schmieder
26db3b0995
orm: redesign orm (re-write it in V) ( #10353 )
2021-07-23 12:33:55 +03:00
Daniel Däschle
091ce6cc08
cgen: fix several sort declarations ( #10919 )
2021-07-23 08:55:55 +03:00
Delyan Angelov
06de9c799c
Revert "gen: add type name to comp for ( #10881 )"
...
Reason: 713a079
is more general and provides the same information.
This reverts commit dd3ee20566
.
2021-07-21 23:56:00 +03:00
Louis Schmieder
dd3ee20566
gen: add type name to comp for ( #10881 )
2021-07-21 23:45:08 +03:00
Uwe Krüger
41982053f1
builtin: make array.delete()
reallocate, provide .delete_many()
( #10889 )
2021-07-21 20:55:32 +03:00
Daniel Däschle
aebb028349
gen: fix C keyword escape to _v_ instead of just v_ ( #10876 )
2021-07-21 11:46:04 +03:00
Delyan Angelov
5098334e65
os: add execute_or_exit(cmd), use it consistently instead of execute_or_panic(cmd)
2021-07-20 15:22:04 +03:00
Daniel Däschle
ad3835b598
parser: deprecate short struct init ( #10842 )
2021-07-20 11:17:08 +03:00
Delyan Angelov
48546d0f45
all: do compile time const evaluation for const x = "abc" + "xyz"
and const x = 16 * 1024 + 5
(fix const prealloc_block_size)
2021-07-18 22:59:18 +03:00
Delyan Angelov
3ccde5ce55
builtin: use prealloc_block_size = 16777216
temporarily
2021-07-18 17:03:25 +03:00
playX
d5e0fa6d1b
v.gen.js: port string methods and fix booleans ( #10824 )
2021-07-18 09:00:20 +03:00
Delyan Angelov
ee9e91b8e7
builtin: fix -d no_backtrace
error with tcc
2021-07-17 18:09:16 +03:00
Delyan Angelov
b0167297e5
builtin: support -d no_backtrace
on macos/bsd too
2021-07-17 17:49:28 +03:00
playX
06edbc8a38
v.gen.js: implement most of array and map methods in builtin/js ( #10806 )
2021-07-15 17:36:53 +03:00
shadowninja55
806d6172cb
checker: prohibit casting void
( #10690 )
2021-07-07 21:59:58 +03:00
Uwe Krüger
a1f123bd42
cgen: enable string index error handling s[i] or {...}
( #10670 )
2021-07-05 21:00:30 +03:00
Delyan Angelov
972542d6ee
checker: [noreturn]
part 2 (cleanup) ( #10667 )
2021-07-05 05:05:37 +03:00
Delyan Angelov
6aecda3be8
all: support [noreturn] fn abc() { for{} }
, mark panic/1 and exit/1with it too. ( #10654 )
2021-07-04 20:24:19 +03:00
Alexander Medvednikov
6a64259527
string: bring back the is_lit comment
2021-07-03 20:16:49 +03:00
Daniel Däschle
0f9537ece5
all: remove ustring ( #10630 )
2021-07-03 20:14:09 +03:00
Flinner
1486258591
strconv: fix atoi
returning 0 on large strings ( #10635 )
2021-07-02 10:39:57 +03:00
Alexander Medvednikov
41e88423aa
Revert "builtin: use == 0 instead of isnil()"
...
This reverts commit 8650ec6916
.
2021-07-01 06:21:03 +03:00
Daniel Däschle
3881e97a40
vlib: remove ustring usage ( #10618 )
2021-06-30 22:30:28 +03:00
Daniel Däschle
6838030ab5
builtin: add string.runes() ( #10611 )
2021-06-30 09:17:38 +03:00
Delyan Angelov
ab5a4cf4e5
builtin: cleanup .before() documentation
2021-06-29 14:50:55 +03:00
Delyan Angelov
1b5d0ba8fd
builtin: document existing behaviour of .before() methods on strings
2021-06-29 14:40:37 +03:00
Delyan Angelov
63638fd271
cgen: optimize generated array.index(elem)
2021-06-28 17:45:13 +03:00
Delyan Angelov
8650ec6916
builtin: use == 0 instead of isnil()
...
Do not rely on C inlining that may not happen for a *very* frequently
called fn in lower level code.
2021-06-28 10:59:14 +03:00
Thomas Treffner
9651a9796b
builtin: fix termux prints ( #10595 )
2021-06-28 08:27:12 +03:00
Delyan Angelov
b2391424d9
examples: add examples/gg/random.v demonstrating how to stream images/pixels
2021-06-24 17:45:14 +03:00
Delyan Angelov
f580597ffc
ci: fix -cstrict compilation on tests-sanitize-undefined-clang
2021-06-23 20:17:58 +03:00
Delyan Angelov
66bf963a48
builtin: remove C.printf call from string.free()
2021-06-23 16:31:46 +03:00
Delyan Angelov
9151f085f5
ci: fix failing Freestanding task
2021-06-23 13:18:17 +03:00
Delyan Angelov
dd254a6652
builtin: streamline print/eprint/println/eprintln, do not println in 2 steps when possible
2021-06-23 12:22:05 +03:00
Delyan Angelov
79df7f51c3
v: deprecate [if ident]
in favour of [if ident ?]
2021-06-22 10:30:14 +03:00
Ekopalypse
81fe702b77
builtin: disable the unhandled exception handler, when -d no_backtrace
is used ( #10530 )
2021-06-21 08:01:18 +03:00
yuyi
afc81277be
v.gen.c: fix assigning a fixed array variable to a map value ( #10523 )
2021-06-20 08:09:24 +03:00
Ekopalypse
c53a344d2f
builtin: allow a static gc build on windows ( #10510 )
2021-06-19 17:06:25 +03:00
Delyan Angelov
aea23e8a40
strconv: fix fxx_to_str_l_parse/fxx_to_str_l_parse_no_dot returning s without cloning
2021-06-19 07:48:46 +03:00
Bastian Buck
acf9d168cb
os: fix some C compiler warnings for windows ( #10506 )
2021-06-18 20:07:25 +03:00
Alexander Medvednikov
eacdd0d7e1
comptime: fix $(field.name) in $for; vweb: shared fields
2021-06-16 20:33:39 +03:00
Uwe Krüger
60c880a0cc
vlib: use malloc_noscan()
where possible ( #10465 )
2021-06-15 14:47:11 +03:00
Delyan Angelov
be3702dcb7
builtin: uncomment already working test functions in array_test.v
2021-06-14 10:13:59 +03:00
Uwe Krüger
5ee1ded3fb
gc: extend optimized mode to maps ( #10426 )
2021-06-13 06:26:43 +03:00
Uwe Krüger
652e7ba973
gc: extend optimized mode to strings ( #10431 )
2021-06-12 11:27:08 +03:00
Alexander Medvednikov
e02d1d4a4b
Revert "gc: extend optimized mode to strings ( #10409 )"
...
This reverts commit 3f654a69e3
.
2021-06-12 01:52:06 +03:00
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 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