1
0
mirror of https://github.com/vlang/v.git synced 2023-08-10 21:13:21 +03:00
Commit Graph

1305 Commits

Author SHA1 Message Date
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