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

10905 Commits

Author SHA1 Message Date
StunxFS
b08690d151
gen.c: simplify unwrap_generic method (#15288)
* gen.c: use `nil` instead of `0`
* replace `muttable` => `mut_table`
2022-08-01 11:40:37 +03:00
Spydr
b4fd9b5f92
native: add sections for string- and symbol-tables, reimplement elf program headers (#15305) 2022-08-01 10:15:06 +03:00
Nacho Verdón
9561fb406e
encoding.binary: add functions to read/write with an offset and at the end of the array, split files by endianness (#15301) 2022-08-01 08:20:14 +03:00
Delyan Angelov
b8438ded32
markused: support vweb App.before_request() with -skip-unused 2022-07-30 18:56:05 +03:00
yuyi
014f44eab3
checker: improve error message of method_call_arg_no_mut_err.vv (#15281) 2022-07-30 18:11:10 +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
db79888daf
picoev: restore struct Picoev definition (#15278) 2022-07-30 14:30:13 +03:00
yuyi
6e8350a9c9
fmt: fix interface method with fntype argument (#15280) 2022-07-30 14:29:41 +03:00
yuyi
e6a04905e9
fmt: fix comptime method call (#15279) 2022-07-30 14:28:34 +03:00
yuyi
b6ce7cc198
checker: check invalid variable (fix #15240) (#15260) 2022-07-30 14:27:28 +03:00
Delyan Angelov
0133ff2cbf
checker: use reserved_type_names_chk.matches(word) instead of word in reserved_type_names 2022-07-29 23:23:34 +03:00
Delyan Angelov
f0a8d57735
checker: use array_builtin_methods_chk.matches(method_name) instead of method_name in array_builtin_methods 2022-07-29 23:23:34 +03:00
Delyan Angelov
336305daa5
scanner,parser,gen: use km.matches(word) instead of km.find(word) != -1 2022-07-29 23:23:33 +03:00
Delyan Angelov
2db8bd62a2
token: fix a new_keywords_matcher_from_array_trie bug (first word with idx 0 was ignored); add tests 2022-07-29 23:23:33 +03:00
Delyan Angelov
a42eb3b947
cgen: use a trie matcher for c_reserved checks as well 2022-07-29 23:23:32 +03:00
zakuro
8268df7e1d
parser: create and use Parser.unexpected to unify all unexpected token error messages (#15259) 2022-07-29 19:28:34 +03:00
yuyi
1be595605a
parser: fix optional fn argument (#15271) 2022-07-29 19:10:50 +03:00
yuyi
0bf23488dc
checker: check struct field's fn call (fix #15249) (#15257) 2022-07-29 19:00:51 +03:00
lemon
927ec1fadb
native: support ||, && and simple boolean expression evaluation (#15256) 2022-07-29 07:17:01 +03:00
Delyan Angelov
04b28d11be
cgen: use switch for matches with integer literals, instead of an if else if ladder (#15254) 2022-07-29 00:36:29 +03:00
yuyi
17ce1a0e8d
parser: check undefined ident in if guard expr (#15253) 2022-07-28 19:13:41 +03:00
Delyan Angelov
242ade8938
os: fix File.eof on FreeBSD (feof is a C macro there) 2022-07-28 17:26:55 +03:00
Reuben Thomas
ed56c3957e
os: add File.reopen and File.eof methods (#15184) 2022-07-28 16:21:23 +03:00
Dialga
18ae726015
v.pkgconfig: add the default path for Debian 32bit (#15250) 2022-07-28 14:06:56 +03:00
Delyan Angelov
a16f9ac41f
mysql: include workaround for windows programs that just exit, when the libmysql.dll is not found, into vlib/mysql/README.md 2022-07-27 22:26:36 +03:00
l-m
10f3c9f127
builtin: add string.replace_char and string.normalize_tabs (#15239) 2022-07-27 22:04:39 +03:00
yuyi
60094d95e2
cgen: check comptime call method (no value) used as value (#15241) 2022-07-27 21:32:00 +03:00
yuyi
6a7eb82d9e
cgen: fix comptime for method call with arguments (#15236) 2022-07-27 03:22:05 +03:00
stringnick
afaab7ab4d
stdatomic: add/sub return result of op (#15235) 2022-07-27 03:21:03 +03:00
Hitalo de Jesus do Rosário Souza
e5e750d533
orm: default attribute (#15221) 2022-07-27 00:59:32 +03:00
yuyi
c976a691ad
scanner: correct error message of empty character literal (fix #15226) (#15228) 2022-07-26 15:07:08 +03:00
Bastian Buck
4ab72ccb69
os: add a security advisory for potential TOCTOU risks when using os.is_writable, os.is_executable etc (#15222) 2022-07-26 12:02:48 +03:00
yuyi
03b7c76b38
cgen: optimize auto_str_methods of [str:skip] fields (#15227) 2022-07-26 09:38:50 +03:00
yuyi
0b0c496eff
cgen: fix printing struct with skip fields (#15224) 2022-07-26 04:37:16 +03:00
Alexander Medvednikov
f1ebfb2d42 cgen: str:skip field 2022-07-25 17:25:47 +03:00
Alexander Medvednikov
5a3a145e99 gg: fix native draw_circle on macos 2022-07-25 17:25:47 +03:00
yuyi
f619becbdc
scanner: check undefined ident in string literal (#15212) 2022-07-25 14:28:47 +03:00
Hitalo de Jesus do Rosário Souza
82db1e4746
pg: improve pg README.md (#15206) 2022-07-25 08:32:21 +03:00
Andrew Compton
f9385f6300
os: make get_raw_line() should not break lines on \r on windows (fix #5900) (#15205) 2022-07-25 08:03:07 +03:00
Delyan Angelov
6a5db0df61
v.token: use a more performant KeywordMatcher in the scanner and parser (#15196) 2022-07-25 06:32:06 +03:00
Subhomoy Haldar
297cb5f89c
math.big: improve multiplication performance (#15200) 2022-07-24 19:35:37 +03:00
Hitalo de Jesus do Rosário Souza
1f3be99859
crypto: add an example of how to verify jwt tokens (#15198) 2022-07-24 10:27:21 +03:00
yuyi
5464de406c
cgen: fix custom str on struct with too many fields (#15195) 2022-07-24 10:15:22 +03:00
Delyan Angelov
de0683fe30
tests: fix compilation of tcp_test.v 2022-07-23 23:33:43 +03:00
Delyan Angelov
c63fed5393
tests: remove needless import math in translated_test.v 2022-07-23 23:24:17 +03:00
Alexander Medvednikov
d6de53362f checker: improve unused label check 2022-07-23 01:36:27 +03:00
Alexander Medvednikov
4d3401c852 checker: check for unused labels 2022-07-23 01:25:20 +03:00
Reuben Thomas
2ffad85f06
doc: remove misleading comment about stdin() (#15154) 2022-07-23 00:22:50 +03:00
yuyi
b0c32e0dbf
checker: fix fn variadic with enum value (#15177) 2022-07-22 16:08:22 +03:00
yuyi
092f5f0bf8
checker: fix comptime if in const declaration (fix #15160) (#15169) 2022-07-22 16:03:45 +03:00
zakuro
9ec8a99243
parser: cleanup orblock duplicate code (#15173) 2022-07-22 12:36:50 +03:00
Delyan Angelov
e9809572b1
ast: use const empty_expr instead of fn empty_expr (thanks to Joe Conigliaro for the idea) (#15175) 2022-07-22 12:14:46 +03:00
Delyan Angelov
c6aea659e3 cgen,ci: fix v -usecache self on macos 2022-07-22 11:43:20 +03:00
Delyan Angelov
f75d7eb114
ci: fix v build-examples (use voidptr(u64(0)) inside vlib/js/dom/dom.js.v) 2022-07-21 23:08:18 +03:00
Delyan Angelov
5340f8afea
ci: fix vlib/v/checker/tests/nil.vv and its .out file 2022-07-21 23:05:02 +03:00
Delyan Angelov
474033c055
ci: allow unsafe { a := nil }, add separate nil case in pointer_ops.vv, to test the nil checker errors independently from the voidptr ones 2022-07-21 22:52:38 +03:00
Delyan Angelov
697d546d46
ci: fix fixed_array_conv.out output (the .vv file was formatted) 2022-07-21 22:45:54 +03:00
Delyan Angelov
cf42ba2b80
ci: revert nil to voidptr(u64(0)) in voidptr_dereference_err.vv too. nil should have its own .vv/.out pair. 2022-07-21 22:43:14 +03:00
Delyan Angelov
cdefb878d6
ci: make pass_voidptr_as_interface_reference_test.v use voidptr again 2022-07-21 22:41:27 +03:00
Delyan Angelov
2e89eeb477
ci: make voidptr_casted_as_an_interface_test.v use voidptr again (it does test exactly that edge case, it should not have been converted to use nil) 2022-07-21 22:40:21 +03:00
Delyan Angelov
71cd256f0c
ci,cgen: fix -usecache compilation of V itself 2022-07-21 22:29:44 +03:00
Delyan Angelov
81104ac309
ci: fix v test-cleancode failures 2022-07-21 22:05:17 +03:00
Delyan Angelov
231623b75b
ci: vfmt tcp_test.v 2022-07-21 22:04:51 +03:00
Delyan Angelov
dc1b54c669
ci: fix failing ./v vlib/builtin/builtin_test.v (globals initialisation) 2022-07-21 21:49:00 +03:00
Delyan Angelov
ed43bfc469
ci: fix dlmalloc again (workaround vfmt) 2022-07-21 21:21:20 +03:00
Delyan Angelov
e29f6d1393
markused: fix ./v -skip-unused -cc gcc -keepc -freestanding -o bel vlib/os/bare/bare_example_linux.v 2022-07-21 21:18:33 +03:00
Delyan Angelov
d9fe2edc41
ci: fix failing build-module-docs (because of unsafe { unsafe { nil } }) 2022-07-21 21:11:43 +03:00
Alexander Medvednikov
9099594a49 all: wrap up unsafe { nil } (p. 3) 2022-07-21 21:01:30 +03:00
Alexander Medvednikov
a68d03ac59 checker: allow x := unsafe { nil } 2022-07-21 20:56:24 +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
yuyi
be9f8cc777
cgen: fix comptime if in struct field default (fix #15058) (#15152) 2022-07-21 16:59:18 +03:00
yuyi
7029e39088
checker: check struct field with default expression (#15151) 2022-07-21 10:33:34 +03:00
Joe Conigliaro
49228e1acd
cgen: fix dep cycle for struct Node { children [4]&Node } closes #15136 2022-07-21 16:16:24 +10:00
Delyan Angelov
8593408179
json.cjson: add a submodule that allows lower level access to the cJSON library (constructing JSON trees in memory with null leafs). 2022-07-20 23:34:17 +03:00
Hitalo de Jesus do Rosário Souza
c8d4534f5b
sqlite: remove spurious eprintln on select calls (#15139) 2022-07-20 17:35:38 +03:00
yuyi
f27c0387ad
cgen: minor cleanup in global_decl() (#15133) 2022-07-20 13:51:33 +03:00
Delyan Angelov
ee4a179e71
tests: add a test for Node{123, unsafe { nil }, unsafe { nil }} 2022-07-20 11:29:01 +03:00
Delyan Angelov
50075d5a79
ast,cgen: support a := Abc{unsafe{nil}}, for struct Abc { next &Abc } 2022-07-20 10:47:04 +03:00
Hitalo de Jesus do Rosário Souza
a13b8ff0c8
mysql: fix for adapting mysql types to v structs (#15100) 2022-07-19 18:29:09 +03:00
yuyi
041e90b2e2
checker, cgen: fix interface embedding smartcast (fix #13296) (#15127) 2022-07-19 16:36:16 +03:00
Alexander Medvednikov
fd47385ff2 checker: check untyped nil in assignment 2022-07-19 13:31:10 +03:00
yuyi
a39fe68af1
cgen: clean up ident() in cgen.v (#15121) 2022-07-19 10:54:03 +03:00
Mehmet Ali
12d57e8e7b
sokol: add mouse cursor support (#15111) 2022-07-18 09:44:48 +03:00
yuyi
5462d4aebf
checker: check generic interface declaration (#15108) 2022-07-18 01:36:37 +03:00
penguindark
706a922e0c
x.ttf: update to fix compilation of vlang/pdf and failing ci (#15109) 2022-07-17 19:44:11 +03:00
yuyi
eed496d0bc
checker: check generic struct declaration (#15106) 2022-07-17 18:09:15 +03:00
Spydr
368cccb059
native: add typechecking to gen_var_to_string() (#15107) 2022-07-17 18:09:03 +03:00
Spydr
c73c4dc884
native: system for defining internal builtin algorithms which are not inlined (#15105) 2022-07-17 16:22:54 +03:00
yuyi
58ad6f7999
checker: check generic fn declaration (#15104) 2022-07-17 14:32:59 +03:00
yuyi
78242627c3
parser: fix fn argument type position (#15102) 2022-07-17 10:55:20 +03:00
Ken
3075e35237
encoding.csv: handle bools (#15103) 2022-07-17 10:54:36 +03:00
boris-741
b4dedcae43
encoding.csv: generic serialization (#15097) 2022-07-16 22:21:05 +03:00
yuyi
8d24522d02
parser: check generic interface method declaration (#15095) 2022-07-16 16:58:39 +03:00
Delyan Angelov
5e0899853b
dlmalloc: fix warning about fixed arrays of references, by using unsafe{} 2022-07-16 16:37:20 +03:00
yuyi
ac7e809464
checker: fix generics struct init in generic fn (fix #15080) (#15088) 2022-07-15 17:30:56 +03:00
yuyi
560afac5d5
cgen: fix fixed array of threads (#15086) 2022-07-15 14:19:11 +03:00
lemon
f2961ec862
native: refer to types to generate code (#15077) 2022-07-15 14:18:32 +03:00
yuyi
57c4188d98
ast, checker: check generic fn declaration error (#15079) 2022-07-15 14:18:06 +03:00
shove
b4ed5d5f20
net: add a net.dial_tcp_with_bind/2 function (#15055) (#15056) 2022-07-15 12:38:17 +03:00
yuyi
0d6d6f7de8
cgen: fix fixed array literal index (fix #14959) (#15054) 2022-07-14 08:23:29 +03:00
Alexander Medvednikov
a38310f929 checker: array of references check 2022-07-14 00:58:14 +03:00
Hitalo de Jesus do Rosário Souza
3f3742122f
orm: sql type in struct by attribute (#14919) 2022-07-13 18:03:30 +03:00
yuyi
7594157deb
checker: check generic interface declaration (#15047) 2022-07-13 09:43:54 +03:00
wilesun
d12a8aef68
json: use C.cJSON_free, for freeing the intermediate result in json_print and json_print_pretty (#15029) 2022-07-13 07:11:18 +03:00
yuyi
19d0d758c9
cgen: fix struct shared field with default init (#15040) 2022-07-12 20:04:06 +03:00
yuyi
9839ab6a6c
parser: fix parse c function with optional argument name (fix #13234) (#15037) 2022-07-12 11:06:29 +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
yuyi
62d800a775
checker, cgen: fix array of sumtype appending alias (#15034) 2022-07-12 09:26:11 +03:00
Subhomoy Haldar
8a4313c1b8
ci: fix vlib/v/builder/builder_test.v failures on msvc (#15035) 2022-07-12 08:46:59 +03:00
Dmitriy Smirnov
f35a3a89f9
checker: fix dereferencing voidptr. (#15033) 2022-07-12 01:12:29 +03:00
Subhomoy Haldar
dc68469818
use trimmed output for comparison (#15032) 2022-07-11 22:47:32 +03:00
Subhomoy Haldar
fbad48b5d9
v.builder: retain executable after v run, if the executable was already existing (#15021) 2022-07-11 21:08:53 +03:00
Delyan Angelov
f16355eeba
ci: fix build failure (complete renaming in 39b6851) 2022-07-11 20:59:37 +03:00
yuyi
39b68518b2
checker: minor refactor in infix_expr() (#15028) 2022-07-11 20:16:42 +03:00
shove
032cb3f115
checker: fix the type of ComptimeCall (fixes #14996) (#15013) 2022-07-11 20:08:01 +03:00
yuyi
398bd2280d
cgen: fix printing reference alias (#15027) 2022-07-11 20:04:34 +03:00
yuyi
ec19f4289c
checker, cgen: fix alias operator overloading (#15024) 2022-07-11 19:20:15 +03:00
yuyi
9231697966
parser: check for illegal use of any type (fix #15003) (#15020) 2022-07-11 15:29:25 +03:00
Delyan Angelov
94e35b710c markused: fix C compilation failures on -skip-unused -profile 2022-07-11 10:56:13 +03:00
yuyi
81d694b1f8
tests: restore interfaces_map_test (#15019) 2022-07-11 09:05:36 +03:00
yuyi
a6cc4c4c28
parser: minor cleanup in parse_type.v (#15011) 2022-07-11 08:03:08 +03:00
yuyi
7ff20c09ca
tests: restore test_interface_struct_from_mut_array() (#15018) 2022-07-11 07:57:14 +03:00
yuyi
cc43a23f29
vweb: check invalid port number (#15016) 2022-07-11 07:55:33 +03:00
Alexander Medvednikov
bfcf5b13ed checker: fix #define check on windows 2022-07-11 00:20:12 +03:00
Alexander Medvednikov
22dac71b33 checker: do not allow #define everywhere 2022-07-10 22:51:06 +03:00
yuyi
58c5d387c4
parser: check closure capture global variable (#15010) 2022-07-10 20:21:54 +03:00
Delyan Angelov
3b575e83f1
ci: fix ./v cmd/tools/builders/golang_builder.v 2022-07-10 18:53:18 +03:00
Delyan Angelov
01dabe5966
ci: fix failing invalid_struct_decl_script_err.vv 2022-07-10 18:37:42 +03:00
Delyan Angelov
d15e9f4866
ci: remove forgotten dump call 2022-07-10 17:05:49 +03:00
Delyan Angelov
69aaf68f2f
cgen: fix anon struct auto string method generation 2022-07-10 16:57:13 +03:00
yuyi
64eab72f4c
checker: fix anon fn using global variable (fix #15004) (#15008) 2022-07-10 12:43:50 +03:00
Alexander Medvednikov
7d0a9186bb all: wrap up anonymous structs 2022-07-10 12:00:17 +03:00
Ken
1ae11b41e7
net.websocket: make logger configurable (#14998) 2022-07-09 17:39:07 +03:00
Thomas Peißl
739f3cd90b
pref: detect termux more reliably (#15001) 2022-07-09 17:23:19 +03:00
Subhomoy Haldar
8ee614d3f8
encoding.binary: add unit tests and module documentation (#15000) 2022-07-09 15:52:19 +03:00
Hitalo de Jesus do Rosário Souza
d4b0ebf215
doc: clear the explanation to 'sql: type' (#14915) 2022-07-09 14:04:35 +03:00
CC
7e1c45ab44
math: add round_sig function for f64 (#14997) 2022-07-09 10:41:58 +03:00
shove
c5a290ffc6
cgen: fix lost return in ComptimeCall (fixes #14962) (#14995) 2022-07-09 08:55:01 +03:00
Alexander Medvednikov
70890b27a5 cgen: handle default anonymous structs 2022-07-08 15:40:57 +03:00
Delyan Angelov
02d675ab67
os: restore the env TERMUX_VERSION based final resort for runtime auto detection of Termux 2022-07-08 11:16:53 +03:00
StunxFS
bcaa3ac915
vlib: remove jsdom module, use js.dom instead (#14985) 2022-07-08 09:23:10 +03:00
penguindark
df4bd88d45
x.ttf: fix a bug in TTF fixed point data management (#14987) 2022-07-08 09:20:59 +03:00
yuyi
5aa6ec0693
cgen: fix error for comptime method call (#14992) 2022-07-08 09:18:49 +03:00
Delyan Angelov
5f140fe2ff
ci: v fmt -w vlib/v/builder/cc.v 2022-07-07 23:57:21 +03:00
StunxFS
9376009c39
v.eval: support panic function (#14972) 2022-07-07 20:00:59 +03:00
CC
6b597a4b58
builder: add support for icc (Intel C Compiler) (#14975) 2022-07-07 19:48:07 +03:00
yuyi
758f84fa86
ast, parser, cgen: fix anon sumtype cast (fix #14967) (#14976) 2022-07-07 18:51:57 +03:00
yuyi
029d583bb2
cgen: a minor fix in match_expr (#14983) 2022-07-07 18:51:27 +03:00
Larpon
9f3b6e3e3a
android: provide more predictable logging, add comptime termux support (#14984) 2022-07-07 18:28:29 +03:00
Delyan Angelov
71a85249ea
ci: fix failing ./v -W build-tools 2022-07-07 18:22:21 +03:00
Alexander Medvednikov
f5001192f9 fmt: handle anon structs; tests: bring back anon struct test 2022-07-07 16:11:13 +03:00
zakuro
972bba66d1
checker,ast: clean up deprecation code (#14980) 2022-07-07 15:45:45 +03:00
Delyan Angelov
de77114593
eval: support assignment operators like +=, make for a in 0..10 { more robust 2022-07-07 15:13:22 +03:00
Alexander Medvednikov
15ce15d41b tests: disable anon struct test for now 2022-07-07 13:08:10 +03:00
Delyan Angelov
91acd0f380
ci: fix failing v check-md vlib/sqlite/README.md 2022-07-07 13:05:05 +03:00
Alexander Medvednikov
7da466e81b parser: show a hint when using v . with multiple fn mains 2022-07-07 13:04:08 +03:00
Alexander Medvednikov
426421bebb all: anonymous structs (part 2) 2022-07-06 21:38:45 +03:00
yuyi
f4b39fbe4f
cgen: fix sumtype with none (#14965) 2022-07-06 21:03:42 +03:00
CC
d86b4951c7
sqlite: add sync and journal funcs, docs (#14970) 2022-07-06 21:01:27 +03:00
Delyan Angelov
f0ce7fb9d3
Revert "gg: fix android compilation for ~/.vmodules/ui/examples/rectangles.v"
This reverts commit f1a855e6d2.
2022-07-06 16:19:40 +03:00
Delyan Angelov
f1a855e6d2
gg: fix android compilation for ~/.vmodules/ui/examples/rectangles.v 2022-07-06 16:02:50 +03:00
Delyan Angelov
3308313167
os: remove the closing of stream handles at the end of Process.win_slurp/1 2022-07-06 15:43:13 +03:00
zakuro
a46bcf3571
all: v.ast.byte_type -> v.ast.u8_type (#14964) 2022-07-06 13:32:30 +03:00
CC
6a567a0dd6
sqlite: improve exec_none behaviour (#14955) 2022-07-06 10:44:36 +03:00
yuyi
bb2223c8b0
checker: fix shared_element_lock.vv test (#14960) 2022-07-06 10:43:36 +03:00
Alexander Medvednikov
59d6ca0c95 js: remove duplicate match 2022-07-06 07:46:58 +03:00
Alexander Medvednikov
819b6f475a os: remove unnecessary unsafes 2022-07-06 07:07:48 +03:00
Alexander Medvednikov
d3090de02e checker: apply the new array check only to len:, not cap: inits 2022-07-06 07:03:36 +03:00
yuyi
fab5802deb
all: fix latest ci errors (#14957) 2022-07-06 07:02:16 +03:00
Alexander Medvednikov
3f3fb5be47 js: handle Nil 2022-07-06 06:47:37 +03:00
Alexander Medvednikov
c48ed52f43 checker: vfmt 2022-07-05 23:56:53 +03:00
Alexander Medvednikov
163c7ba2bb checker: stricter []&Type{len:x} check 2022-07-05 23:51:29 +03:00
Alexander Medvednikov
9b4dec7b98 parser: anonymous structs (part 1) 2022-07-05 23:17:00 +03:00
Alexander Medvednikov
5f78647137 all: unsafe nil 2022-07-05 22:59:54 +03:00
Larpon
0dd5050b29
os: clean up usage of ANativeActivity, allow access to fields (#14948) 2022-07-05 16:30:10 +03:00
yuyi
56d62a6e6f
checker: check undefined ident in reference selector (#14949) 2022-07-05 16:29:54 +03:00
yuyi
8b8667dd9a
cgen: cleanup in fn.v (#14938) 2022-07-05 06:40:57 +03:00
Ken
a50e0f0522
net.websocket: allow timeout to be configured (#14941) 2022-07-05 06:40:23 +03:00
ghosttk
eb10cc9606
vweb: fix '/' in scan_static_directory (#14940) 2022-07-04 15:32:44 +03:00
yuyi
7f72ffdd66
cgen: fix error for result multi_return (#14936) 2022-07-04 10:54:08 +03:00
Delyan Angelov
90197fd58a
term.ui: make C. unions and structs public (solve conflicts with term on windows) 2022-07-04 10:50:19 +03:00
Ikko Ashimine
584c035120
sync: fix typo in pool.v (#14928) 2022-07-03 15:24:57 +03:00
yuyi
9028b0ed76
parser: minor cleanup in partial_assign_stmt() (#14929) 2022-07-03 15:24:42 +03:00
Alexander Medvednikov
20ba2a10c1 builder: use is_dir for src/; changelog: add 0.3.1 features 2022-07-03 15:13:08 +03:00
Alexander Medvednikov
c90e8185ed builder: search for .v files in /src/ if there are none 2022-07-03 08:41:26 +03:00
Alexander Medvednikov
b5f2636b73 Revert "vweb: remove the extra '/' in scan_static_directory (#14806)"
This reverts commit 8172fecb51.
2022-07-02 11:38:24 +03:00
Dialga
6957f940a0
pkgconfig: fix parsing mid-line comments (#14920) 2022-07-02 11:31:52 +03:00
Joe Conigliaro
4032838aba
gen.golang: array append & basic strings 2022-07-02 17:07:47 +10:00
yuyi
1b463834aa
builder: fix cross compiling for linux on windows (fix #6241, fix #12922) (#14907) 2022-07-01 15:24:27 +03:00
Delyan Angelov
69d292e8d1
os: detect termux more reliably 2022-07-01 13:52:57 +03:00
Delyan Angelov
b6b611aa82
v: support better separation of general Android vs Termux specific code (part 2) 2022-07-01 13:18:31 +03:00
Delyan Angelov
30401e003f
v: support better separation of general Android vs Termux specific code (part 1) 2022-07-01 12:48:35 +03:00
Emirhan Yener
71ff221cff
gg: update draw polygon test (#14880) 2022-06-30 21:21:12 +03:00
yuyi
d3c1e671f1
fmt: minor optimization in struct.v (#14898) 2022-06-30 19:52:49 +03:00
Markus F.X.J. Oberhumer
74bb5ae17a
os: add an optional "mode" parameter to os.mkdir and os.mkdir_all (#14887) 2022-06-30 13:49:47 +03:00
Larpon
7c3571b274
sokol: allow thirdparty window control (#14896) 2022-06-30 13:47:59 +03:00
Alexander Medvednikov
ec75860453 V 0.3 2022-06-30 10:41:25 +03:00
yuyi
9f59dbd319
fmt: fix import module { Foo } (#14894) 2022-06-30 09:48:39 +03:00
yuyi
92f441e894
cgen: minor cleanup in str.v (#14882) 2022-06-30 04:04:12 +03:00
yuyi
f2be115f7d
parser: fix the incorrect location of the type declaration name (#14879) 2022-06-29 16:14:03 +03:00
Joe Conigliaro
1b0754e4f3
gen.golang: correct use of const github_job 2022-06-29 21:15:46 +10:00
Joe Conigliaro
c3866bb7b1
gen.golang: skip tests only on ubuntu-docker-musl 2022-06-29 21:11:28 +10:00
Joe Conigliaro
5462f06d6c
gen.golang: correct error message 2022-06-29 19:09:36 +10:00
yuyi
f8461e2b3c
parser: check const declaration using multiple assign (#14886) 2022-06-29 12:03:56 +03:00
ghosttk
fae26197b9
os: add exo-open to the list of tried launchers in os.open_uri/1 (#14884)
Add 'exo-open' for xfce4 desktop environment.
2022-06-29 11:59:25 +03:00
Hitalo de Jesus do Rosário Souza
c481b80ec3
docs: add a jwt example to vlib/crypto/README.md (#14872) 2022-06-29 11:57:05 +03:00
Joe Conigliaro
51649b924b
gen.golang: dont push run_args in run_file assignent 2022-06-29 18:54:26 +10:00
Joe Conigliaro
eec60a3018
gen.golang: add run support & testrunner 2022-06-29 18:49:53 +10:00
yuyi
3ae59a7837
checker: optimize casting sumtype error message (fix #14023) (#14877) 2022-06-28 17:13:58 +03:00
Delyan Angelov
b47d35a0bb ci: compile golang_builder.v without warnings (fix v -prod build-tools) 2022-06-28 15:00:54 +03:00
Delyan Angelov
2bcbd0b636
ci: comment unused import strings 2022-06-28 14:16:39 +03:00
Delyan Angelov
6165b119f6
scanner,parser,checker: do show the first error on -Wfatal-errors 2022-06-28 14:05:32 +03:00
Alexander Medvednikov
64b8284419 go: remove unused code (comments) 2022-06-28 11:14:48 +03:00
yuyi
ce6bc2c26d
checker: handle void in struct field init (fix #13944) (#14876) 2022-06-28 11:06:25 +03:00
Alexander Medvednikov
a4eb5b6356 gen: basic initial work on the Go backend 2022-06-28 09:41:15 +03:00
Emirhan Yener
28068e8ecf
gg: add draw_polygon_filled test (#14871) 2022-06-28 08:30:45 +03:00
yuyi
42df154399
ast: add elem_type_pos to ChanInit (#14873) 2022-06-28 08:30:02 +03:00
yuyi
09630dd0bc
parser: check interface name using single letter capital (#14878) 2022-06-28 08:29:23 +03:00
Emirhan Yener
6b2d3a826b
gg: add draw_polygon_filled fn with rotation parameter (#14867) 2022-06-27 21:34:43 +03:00
yuyi
6be287d476
cgen: minor cleanup in ref_or_deref_arg() (#14862) 2022-06-27 21:33:35 +03:00
yuyi
044698746e
parser: minor cleanup in parse_type.v (#14863) 2022-06-27 21:33:18 +03:00
Larpon
2d40ba1f49
cgen: call GC_INIT in sokol_main too, when compiling with -apk (#14869) 2022-06-27 21:24:39 +03:00
Delyan Angelov
b1a14c6cf7
tests: use a platform neutral module with C declarations (sokol.audio), instead of time in private_redeclaration_of_C_timeval.vv . 2022-06-27 19:48:46 +03:00
Delyan Angelov
94d6670e8f
checker: make the type C.X is private re-declaration error more informative 2022-06-27 18:32:21 +03:00
Delyan Angelov
0ef8382824
tests: show timing info in the output of run_project_folders_test.v 2022-06-27 18:31:07 +03:00
yuyi
1af94c7edf
checker: fix error for array_of_aliases.pop() (#14861) 2022-06-27 11:50:46 +03:00
WoodyAtHome
34517c340d
net: support blocking sockets in TcpSocket.connect (#14849) 2022-06-27 11:01:55 +03:00
yuyi
ef7f9779a3
parser, checker: fix postfix expr check (fix #14852) (#14857) 2022-06-27 04:28:24 +03:00
yuyi
5a79a54fe4
all: fix all remaining unsafe 0 (#14856) 2022-06-26 17:04:23 +03:00
Alexander Medvednikov
cb60392302 examples: fix unsafe 0 2022-06-26 07:12:15 +03:00
Alexander Medvednikov
ca30397e7a cli: fix compilation 2022-06-26 07:08:05 +03:00
Alexander Medvednikov
e76f74fd73 checker: unsafe 0 for references (default value) 2022-06-26 06:40:40 +03:00
yuyi
546f9a544f
parser: fix a typo in an error message (#14848) 2022-06-26 00:04:08 +03:00
Emirhan Yener
d42aadda0f
gg: fix draw arch functions alpha color (#14850) 2022-06-26 00:03:43 +03:00
yuyi
ef643e106b
checker: check unknown chan element type (#14843) 2022-06-25 05:19:41 +03:00
yuyi
90287f6aaa
checker: check error for cast sumtype (fix #14771) (#14847) 2022-06-25 05:19:16 +03:00
Wertzui123
c10ba6d81a
os: add .cmd to the list of Windows executable suffixes (#14839) 2022-06-23 20:12:29 +03:00
Larpon
298dc77c38
ci: add pure -os android checks (#14837) 2022-06-23 11:22:55 +03:00
yuyi
e9a8f5fcc7
cgen: fix ref_struct.str() with null pointer (#14836) 2022-06-23 08:35:21 +03:00
Wertzui123
587101a1ea
os: fix find_abs_path_of_executable function (on Windows) (#14835) 2022-06-23 03:36:15 +03:00
l-m
ed8c63cc0b
builtin: add a contains_only method on string (#14830) 2022-06-23 01:41:42 +03:00
Dialga
5cd5d551e3
v.pkgconfig: fix building standalone pkgconfig (#14825)
* Update main.v

* add test to prevent future regressions

Co-authored-by: Delyan Angelov <delian66@gmail.com>
2022-06-22 22:38:50 +03:00
yuyi
e6c3de2f46
cgen: format cgen.init() generated c codes (#14824) 2022-06-22 21:39:15 +03:00
Larpon
3fb88500a2
os: improve Android interop (#14827) 2022-06-22 21:38:27 +03:00
yuyi
585b5145fa
cgen: fix auto string method generated for []&int{len:1} (#14829) 2022-06-22 14:54:04 +03:00
pancake
23d1c792c0
native: fix macho generation for macos11-amd64 (#14821) 2022-06-22 11:58:27 +03:00
yuyi
c64c4907a2
parser: check closure var name conflict (#14823) 2022-06-22 09:04:15 +03:00
ghosttk
8172fecb51
vweb: remove the extra '/' in scan_static_directory (#14806) 2022-06-21 15:13:09 +03:00
yuyi
c160ba2a8d
checker: stricter mutable reference check (fix #14803) (#14805) 2022-06-21 13:23:21 +03:00
yuyi
cab6355a38
cgen: fix array of reference sumtype index() (#14812) 2022-06-21 12:37:54 +03:00
Ulises Jeremias Cornejo Fandos
e505fcdac0
encoding.csv: update reader.v (#14807) 2022-06-21 08:31:47 +03:00
yuyi
f6f77e5264
clipboard: make clipboard.Clipboard public on windows (#14810) 2022-06-21 08:21:54 +03:00
David 'Epper' Marshall
524df8da1b
math: add zpl stuff (#14543) 2022-06-21 00:17:49 +03:00
Delyan Angelov
473d26ce47 builtin: enforce linking to libgc.a with -prod on macos 2022-06-20 21:29:27 +03:00
pancake
1caff5b379
native: initial support for apple-m1 (#14795) 2022-06-20 21:25:12 +03:00
yuyi
8703e336e0
checker: cleanup in fn_decl() (#14802) 2022-06-20 17:56:02 +03:00
Delyan Angelov
0e4198f23b
tools: fix v vet file.v for return if x { y // comment } else { z } 2022-06-20 13:29:22 +03:00
yuyi
cf1fc6f090
ast: fix array of reference sumtype appending (#14797) 2022-06-20 12:23:53 +03:00
Alexander Medvednikov
924239026c pref: disable gc for translated code 2022-06-19 20:07:45 +03:00
Alexander Medvednikov
bc60b0d1a3 builder: add -c when building object files 2022-06-19 19:57:52 +03:00
Alexander Medvednikov
d215618f4c sokol: mark pub structs 2022-06-19 19:47:47 +03:00
yuyi
de136f6baf
checker: improve pub struct check (fix #14446) (#14777) 2022-06-19 17:42:22 +03:00
lemon
e0310964d9
native: initial support for defer (#14779) 2022-06-18 23:51:31 +03:00
Alexander Medvednikov
10051e005a parser, cgen: temporary prefix ++ for translated code 2022-06-18 13:30:47 +03:00
yuyi
01fdd5d07f
cgen: add a minor optimisation for array.push_many (#14770) 2022-06-17 09:44:13 +03:00
Alexander Medvednikov
b89617726c pref: is_o 2022-06-16 20:51:21 +03:00
Louis Schmieder
5df3d8ac75
orm: mysql fixes (#14772) 2022-06-16 20:19:49 +03:00
Alexander Medvednikov
fb5a40d1c8 builder: handle linker errors when building .o files 2022-06-16 15:19:13 +03:00
yuyi
26714fadc5
ast, checker, cgen: improve sorting globals and consts (#14769) 2022-06-16 14:32:41 +03:00
Alexander Medvednikov
9c72b85f72 checker: temporary c2v struct init fix 2022-06-16 14:24:17 +03:00
yuyi
f2962c34dd
cgen: format module_init generated c code (#14764) 2022-06-16 11:01:17 +03:00
yuyi
0c1708db23
cgen: minor cleanup in stmt() (#14763) 2022-06-15 17:44:00 +03:00
yuyi
5135952c9c
v.util: add a retry loop for tool compilation in launch_tool() (#14760) 2022-06-15 11:59:53 +03:00
yuyi
7f38b92ca8
cgen: simplify sorting globals and consts (#14761) 2022-06-15 11:56:17 +03:00
yuyi
7c50d276c7
ast: minor cleanup in is_comptime_type() (#14759) 2022-06-14 14:21:45 +03:00
lemon
e4e858b132
transformer: fix a bug with string literal length (#14757) 2022-06-14 12:42:45 +03:00
yuyi
6d8a0ad15d
ast, checker, cgen: sort consts with call expr (fix #14748) (#14755) 2022-06-14 10:50:20 +03:00
Spydr
2f1a896d18
native: integer-to-string conversion (#14758) 2022-06-14 00:35:25 +03:00
Leo Developer
67716b5b59
cgen: fix comptime if attributes for test_ functions (#14756) 2022-06-13 21:22:25 +03:00
yuyi
5efa67906c
cgen: sort const array init order (fix #14748) (#14749) 2022-06-13 21:09:24 +03:00
yuyi
3535927bcd
parser: correct error message for seclector_expr_assign.vv (#14747) 2022-06-12 20:29:54 +03:00
Delyan Angelov
139c34c07d
gg: optimise app.gg.show_fps() (cache ctx.text_size() results, round frame to int without interpolation, center text inside the background rectangle) 2022-06-12 16:07:00 +03:00
Delyan Angelov
4682e17ac1
gg: fix v -d show_fps run examples/gg/stars.v 2022-06-12 15:17:04 +03:00
Delyan Angelov
7e06203da8 gg: support -d show_fps for all gg apps 2022-06-12 14:20:32 +03:00
Delyan Angelov
ff8e286c88
compress.gzip: support gzip.decompress(data, verify_length: false, verify_checksum: false)? 2022-06-12 11:25:01 +03:00
Spydr
5c104cf981
native: implement neg() for arm64 (#14745) 2022-06-12 09:42:39 +03:00
Spydr
8fa1e30dd2
native: int-to-string conversion detecting zeros and negative values (#14743) 2022-06-11 21:20:13 +03:00
Joe Conigliaro
f3351b6a29
pref: maintain order of 'debug' in compile defines as mod cache key depends on it 2022-06-12 02:22:04 +10:00
Delyan Angelov
5cea8d30fa
ci: make crun_test.v more robust by reducing the tested gap from 5x to 4x 2022-06-11 18:44:02 +03:00
yuyi
a538ab7e8c
cgen: minor cleanup for sort globals and consts (#14742) 2022-06-11 18:42:22 +03:00
yuyi
cdf4ffc513
cgen: sort globals and consts definitions (#14739) 2022-06-11 17:17:49 +03:00
lemon
c7a619d16e
native: support else, break, continue (#14738) 2022-06-11 11:50:19 +03:00
Dialga
da7a166708
v.pkgconfig: fix duplication in short flags to the standalone pkgconfig binary (#14740) 2022-06-11 11:06:55 +03:00
spaceface
26d051475a
cgen: ensure closures are kept alive when using the GC (#14736) 2022-06-10 19:48:50 +03:00
yuyi
fcaf529228
parser, checker: check undefined ident in if expr using generic type name (#14734) 2022-06-10 11:57:26 +03:00
yuyi
922f003729
cgen: fix fixed array global variable (fix #14712) (#14730) 2022-06-09 16:53:19 +03:00
yuyi
784361f153
checker: fix generic method on aliases receiver type (#14729) 2022-06-09 15:36:31 +03:00
Ben
39e54a508b
os: correct description of windows_volume function (#14726) 2022-06-09 10:56:58 +03:00
spaceface
4ed9780b80
all: enable -gc boehm by default (#14577) 2022-06-09 00:44:29 +03:00
yuyi
e6580fefaa
ast: cleanup in generic_insts_to_concrete() (#14724) 2022-06-08 23:17:03 +03:00
Spydr
8563696476
native: added new helper functions (#14723) 2022-06-08 23:16:15 +03:00
Larpon
f58e5a94c2
gg: fire resize event before init if necessary on Android (#14725) 2022-06-08 21:43:20 +03:00
Ben
c6b1c8d07a
os: add windows_volume function (#14721) 2022-06-08 21:26:24 +03:00
Mikey
5ac9b5c9f1
term.ui: don't print event data in readme example (vlang#14719) (#14720) 2022-06-08 09:36:22 +03:00
Delyan Angelov
4b3c3d9082
checker: add error for if c >= A && c <= Z { in non generic functions 2022-06-07 20:43:31 +03:00
Larpon
96a9faf2fd
strings: add split_capital (#14716) 2022-06-07 18:43:06 +03:00
David Valdespino Pavon
1d462136bc
net.http: cookie parsing fixes (#14420) 2022-06-07 12:52:43 +03:00
Delyan Angelov
82594c0156
v.vcache: improve the output of -d trace_usecache_n 2022-06-07 12:39:30 +03:00
Delyan Angelov
a942ecf737
v.vcache: support -d trace_usecache_n too (less verbose tracing for just the initialisation of CacheManager) 2022-06-07 12:24:53 +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
yuyi
7780f56c31
cgen: fix cast to generic interface (#14708) 2022-06-07 08:32:25 +03:00
ChAoS_UnItY
73b59c7b16
cgen: fix none literal str() function calling (#14704) 2022-06-07 01:29:27 +03:00
yuyi
abf35270cf
checker: fix json decoder with generic struct (#14700) 2022-06-06 19:25:02 +03:00
ChAoS_UnItY
ce26d5bc5c
cgen: fix mutable receiver type calling mapping function causes C error (fix #14230) (#14696) 2022-06-06 18:34:04 +03:00
Delyan Angelov
778fe2cde0
ast: use [direct_array_access] for attrs []Attr lookup methods 2022-06-06 14:43:04 +03:00
Delyan Angelov
6398043094
cgen: fix missing function names in declarations on [c2v_variadic][c: xyz]fn deh_fprintf(fstream &C.FILE, fmt &i8) 2022-06-06 14:33:24 +03:00
Alexander Medvednikov
7f67981637 checker: allow literal args as references in translated code 2022-06-06 13:24:36 +03:00
yuyi
8a2236d3f8
cgen: fix generic interface with non-generic method (#14694) 2022-06-06 12:30:48 +03:00
Alexander Medvednikov
e89a6269e4 checker: do not require fn main when building an object file 2022-06-06 12:29:57 +03:00
yuyi
ce771876a3
cgen: fix nested map index check (fix #14683) (#14687) 2022-06-06 06:29:22 +03:00
ChAoS_UnItY
df80b33dc0
cgen: fix array init with it (fix #14679) (#14680) 2022-06-05 19:41:54 +03:00
Leo Developer
3a90d8ef14
compress: add a new module compress.gzip too (#14686) 2022-06-05 18:53:45 +03:00
Ikko Ashimine
7b25957a26
builtin: fix typo in array.v (#14688) 2022-06-05 18:49:40 +03:00
ChAoS_UnItY
b000728845
compress.gzip / deflate: rename gzip module into deflate module (#14682) 2022-06-05 08:48:38 +03:00
yuyi
4cf6abd99d
checker: check using literal argument as reference parameter (#14674) 2022-06-05 08:44:35 +03:00
ChAoS_UnItY
f6ebbc99cd
cgen: fix array type as interface (fix #14677) (#14681) 2022-06-05 05:05:48 +03:00
yuyi
5d429140a4
json: fix json decode with missing map type field (#14678) 2022-06-04 20:27:11 +03:00
Delyan Angelov
3ac3375b43
cgen: fix for (int i = 0; i < 10; i++, a++) { (multiple expressions in the inc part) 2022-06-04 20:03:59 +03:00
Delyan Angelov
f2171b4148 ci: fix macos clang failures with const_fixed_array_containing_references_to_itself_test.v 2022-06-04 09:15:37 +03:00
Delyan Angelov
4cfff58fdf
checker: allow for references to fixed array consts inside their initialisation const a = [ ... &a[0] ...]! 2022-06-04 09:04:12 +03:00
Alexander Medvednikov
a8461a900d vweb: use http.Cookie 2022-06-04 06:52:46 +03:00
yuyi
66572d5ead
ast: cleanup is_lit() (#14672) 2022-06-03 21:02:36 +03:00
Delyan Angelov
c15d1c6e7e
cgen,ci: fix cast_bool_to_int_test.v on windows-tcc 2022-06-03 20:53:10 +03:00
Delyan Angelov
6f9070e06d cgen: do not initialise externally declared globals (with -cstrict with [c_extern]). 2022-06-03 19:14:01 +03:00
Delyan Angelov
dbaecdc058
cgen: simplify int(bool_var) casts; support [c_extern] tag for global declarations 2022-06-03 18:48:08 +03:00
yuyi
daa94de93f
cgen: fix autofree_variable() (fix #14576) (#14602) 2022-06-03 17:41:30 +03:00
yuyi
dcbd8d6405
cgen: fix if expr with optional method call (#14600) 2022-06-03 15:57:39 +03:00
ChAoS_UnItY
65066098d8
compress: Add gzip module & refactor compress & compress.zlib module (#14599) 2022-06-03 09:00:11 +03:00
yuyi
251716fa0e
vrepl: fix error for exitasdfasdf in repl (fix #14593) (#14598) 2022-06-02 19:59:57 +03:00
Delyan Angelov
9f7656f328
ci: vfmt vlib/v/checker/check_types.v 2022-06-02 19:02:34 +03:00
Delyan Angelov
c892b3203e
checker: speed up check_expected_call_arg, by only calling Table.type_to_str on errors 2022-06-02 18:58:20 +03:00
Hunam
41414b5d5f
vlib: add net.http.mime (#14516) 2022-06-02 18:07:25 +03:00
Delyan Angelov
aae5b9fb95
ast.table: cache the returned values of Table.type_to_str_using_aliases/2
This results in 9% speedup of the checker stage for V itself.
2022-06-02 17:53:30 +03:00
Delyan Angelov
ed759b2ec9
ci: vfmt vlib/v/parser/parser.v 2022-06-02 15:55:13 +03:00
Delyan Angelov
031629faa1
tools: add cmd/tools/measure/scanner_speed.v and cmd/tools/measure/parser_speed.v 2022-06-02 13:50:25 +03:00
Delyan Angelov
9a0ec7f367
strings: update docs for .str() and for .free() 2022-06-02 10:41:32 +03:00
yuyi
545eaae77b
ast: fix IfExpr.str() (#14595) 2022-06-02 10:28:31 +03:00
Alexander Medvednikov
8b0e843cb8 checker, cgen: c2v variadic fixes 2022-06-02 09:35:25 +03:00
yuyi
10fb16e00b
parser: fix optional with multiple statements (#14592) 2022-06-02 08:23:16 +03:00
Ben
e201665e92
os: fix file_ext function (#14566) 2022-06-02 07:09:46 +03:00
ChAoS_UnItY
a95cdac635
cgen: fix type not being unaliased (fix #14568) (#14591) 2022-06-02 06:21:01 +03:00
yuyi
55951e0943
checker: minor cleanup in if_expr() (#14584) 2022-06-02 06:20:09 +03:00
yuyi
33a2d00445
cgen: fix fixed array of aliases struct (#14583) 2022-06-01 16:56:12 +03:00
Delyan Angelov
bf70f0b436
v: add support for v crun examples/hello_world.v, use crun mode for .vsh files by default. (#14554) 2022-06-01 14:47:52 +03:00
yuyi
786045c7da
parser: fix comptime if script mode (fix #6419) (#14578) 2022-06-01 13:27:27 +03:00
Delyan Angelov
5a2c271bd4
cgen: do not #include signal.h, on -os wasm32 and -d no_segfault_handler 2022-06-01 13:21:22 +03:00
yuyi
fefb9643b2
checker, cgen: fix array index optional with if expr (#14575) 2022-06-01 09:18:59 +03:00
Delyan Angelov
846ddfd728
v: always embed file data of \$embed_file(file) constructs, even without -prod, unless -d embed_only_metadata is given. 2022-06-01 09:08:18 +03:00
Alexander Medvednikov
f40c30c3dc cgen: fix goto label 2022-06-01 06:34:04 +03:00
Alexander Medvednikov
c54c9b817c cgen: c2v infix fix 2022-06-01 06:14:28 +03:00
Larpon
84e375e38a
toml: update readme with value_opt() usage (#14569) 2022-05-31 19:02:33 +03:00
yuyi
80cc88427b
scanner: minor cleanup in scanner.v (#14565) 2022-05-31 11:52:47 +03:00
playX
db34adaec8
builtin.js: fix string.int method (#14564) 2022-05-31 11:52:11 +03:00
Delyan Angelov
dc30089c74 v.util, v.builder: fix util.module_is_builtin on macos with -usecache 2022-05-31 09:30:45 +03:00
Ben
4ffdcf8058
os: add existing_path function (#14536) 2022-05-31 06:32:12 +03:00
Delyan Angelov
928dafeb6d
strconv: make f64_to_str_lnd1 public (fix building vlang/coreutils printf) 2022-05-30 22:14:22 +03:00
Delyan Angelov
fc64f09f0b
crypto.md5: improve performance of md5.blockblock_generic 2022-05-30 21:56:39 +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
yuyi
844ba2a177
checker: vfmt overload_return_type.vv (#14557) 2022-05-30 13:49:13 +03:00
Hunam
78d1b7f4ef
net.http: Response.text -> Response.body (#14478) 2022-05-29 20:27:18 +03:00
yuyi
2c5febe25e
scanner: fix string interpolation with inner curly braces (fix #12242) (#14553) 2022-05-29 19:28:23 +03:00
yuyi
79d861ad4f
parser: fix cast or dump arguments ending with comma (#14552) 2022-05-29 09:15:55 +03:00
Delyan Angelov
c006d5c242
cgen: add support for v -cmain SDL_main sdl_example.v 2022-05-28 21:16:48 +03:00
yuyi
c0ef6dbde8
cgen: fix cross assign in closure (#14549) 2022-05-28 20:47:54 +03:00
yuyi
7dcc19df55
ast: fix call_expr.str() with propagate_option or propagate_result (#14550) 2022-05-28 20:47:29 +03:00
Delyan Angelov
c6a6eb9a3c
ci: temporary workaround for cross assignment in a closure leading to cgen error 2022-05-28 13:21:59 +03:00
yuyi
b8e8768928
parser, cgen: fix cross assign with parentheses (#14545) 2022-05-28 12:02:17 +03:00
yuyi
a46cf10e92
checker: fix declare assign literal with closure (#14544) 2022-05-28 11:50:37 +03:00
Delyan Angelov
4894f61998
toml: add pub fn (d Doc) value_opt(key string) ?Any { and some tests for toml.parse_dotted_key/1 2022-05-28 09:18:18 +03:00
yuyi
a971b9a99a
parser: fix match expr case with struct init (#14538) 2022-05-27 18:51:40 +03:00
spaceface
52a3e5e780
cgen: fix a race condition in the closure implementation (#14532) 2022-05-27 17:35:02 +03:00
Delyan Angelov
f7995c8916
checker: fix error position in fn f() int { return 1,2 } 2022-05-27 16:53:24 +03:00
Louis Schmieder
a83ac948a0
orm: document & fix pg (#14533) 2022-05-26 22:53:09 +03:00
yuyi
b97ef09b2d
checker: cleanup checker.v (#14530) 2022-05-26 22:52:42 +03:00
Delyan Angelov
bb6ef8bba8
cgen: fix parallel cgen for json encoding of struct fields that have default values 2022-05-26 16:55:44 +03:00
Delyan Angelov
8c969efe6b
tests: make json_test.v less noisy, to see errors easier 2022-05-26 15:27:54 +03:00
Wertzui123
1017335365
x.ttf: fix typo in README (#14528) 2022-05-26 11:17:15 +03:00
yuyi
3849cdcecc
fmt: fix fn return types list ending with comma (#14529) 2022-05-26 04:20:22 +03:00
Delyan Angelov
410b57b2fa
all: add support for struct field deprecation (#14527) 2022-05-26 00:44:18 +03:00
Larpon
6c08af63ff
embed_file: rename debug_embed_file_in_prod -> force_embed_file (#14523) 2022-05-25 18:26:17 +03:00
yuyi
59e57f0c62
fmt: fix fmt of Ok<[]Token>{[]} (#14522) 2022-05-25 15:17:30 +03:00
kahsa
dd8c96f6bc
net.html: use -d debug_html instead of -g, prevent undesired output, while debugging user programs (#14521) 2022-05-25 11:23:56 +03:00
Delyan Angelov
31c234485a
cgen: split keys and values in generated new_map_init calls into separate lines 2022-05-25 10:26:17 +03:00
yuyi
e19ac0c4a7
checker: check fn call with argument mismatch (#14519) 2022-05-25 09:00:26 +03:00
yuyi
79a75c5ac0
parser: fix fmt error for json decode (#14520) 2022-05-25 08:59:22 +03:00
yuyi
0eb3f8854d
fmt: fix file with just imports (fix #14267) (#14513) 2022-05-24 20:14:08 +03:00
Ben
f431020764
os: minor clean ups on filepath.v (#14506) 2022-05-24 11:29:32 +03:00
yuyi
f35f7fe997
fmt: fix using rand.seed() when import rand and rand.seed (#14511) 2022-05-24 11:21:49 +03:00
yuyi
a5b98cb267
parser: check fn decl multi return types without parentheses (#14508) 2022-05-24 05:15:31 +03:00
yuyi
5ade39f8db
cgen: fix sizeof('str') and sizeof(r'str') (#14507) 2022-05-24 05:14:38 +03:00
Delyan Angelov
953ef1f8c9
pref: add support for -dump-files - and for -dump-modules - 2022-05-23 19:51:21 +03:00
Delyan Angelov
dda49fe735
v.builder: support -dump-c-flags with -cc msvc too 2022-05-23 18:29:39 +03:00
yuyi
a3c0a9b791
checker: minor optimization in fn_call() and method_call() (#14503) 2022-05-23 08:00:57 +03:00
yuyi
4ef9e2c05a
parser: fix sizeof(c'str') (fix #14499) (#14502) 2022-05-23 01:59:39 +03:00
Alexander Medvednikov
863eeca2e0 checker: vfmt checker.v 2022-05-23 00:12:37 +03:00
Daniel Däschle
5e95bdc451
checker: allow but deprecate propagating result as option (#14500) 2022-05-23 00:11:29 +03:00
yuyi
7f03b89611
checker: check method call argument type mismatch (#14496) 2022-05-22 22:16:46 +03:00
spaceface
ba859c584b
builtin: add static GC support on Windows with TCC (#14497) 2022-05-22 21:25:46 +03:00
Delyan Angelov
5328dabad1
time: simplify some very commonly used t.format methods 2022-05-22 21:09:49 +03:00
yuyi
1f3336c9d3
checker: fix map get anon fn value with mut argument (fix #14479) (#14493) 2022-05-22 16:28:53 +03:00
Alexander Medvednikov
245d28d57a checker: c2v infix fix 2022-05-22 14:53:21 +03:00
Daniel Däschle
d3ffd983c8
markused: add _result_ok (#14495) 2022-05-22 14:52:38 +03:00
Subhomoy Haldar
3647fb4def
rand: move dist functions to top module and PRNG interface; minor cleanup (#14481) 2022-05-22 13:21:52 +03:00
yuyi
50ab2cfd1a
fmt: fix 'strings' name variable call generate auto import (fix #9713) (#14485) 2022-05-21 15:01:58 +03:00
Delyan Angelov
0ceb16f285
v.builder: use /NOLOGO, when building cached object files with msvc 2022-05-21 12:56:24 +03:00
Delyan Angelov
c0dcc80e18
cgen: support -profile - for _test.v files too 2022-05-21 10:59:01 +03:00
Delyan Angelov
a7afb2d1eb
time: remove import math dependency, by implementing a simpler version of mceil 2022-05-21 02:04:17 +03:00
Ben
971c55cf30
os: add norm_path and abs_path function (#14435) 2022-05-21 01:16:29 +03:00
Daniel Däschle
efc5cab8c3
checker,cgen: allow result if guard (#14474) 2022-05-20 19:34:53 +03:00
Alexander Medvednikov
53c217fe5e cgen: do not generate _vinit() for translated .o code 2022-05-20 19:28:37 +03:00
Vincenzo Palazzo
17bba712bd
checker: ban unsafe pointer/fn comparison (#14462) 2022-05-20 18:30:16 +03:00
yuyi
28b0cbddad
parser: check error for script mode that define main function (fix #14467) (#14469) 2022-05-20 14:20:18 +03:00
yuyi
913164bc73
builtin: minor cleanup in string_interpolation.v (#14471) 2022-05-20 14:19:27 +03:00
yuyi
bf44572f30
fmt: fix chain calls with comments (#14470) 2022-05-20 11:47:44 +03:00
StunxFS
11bdb04d0c
json: fix struct field default value support (#14304) 2022-05-20 11:22:17 +03:00
Delyan Angelov
ca00b59b3f
tests: make potential failures in urllib_test.v more informative 2022-05-20 08:49:56 +03:00
David 'Epper' Marshall
120f31b4d9
math: update documentation (#14457) 2022-05-20 08:45:54 +03:00
David 'Epper' Marshall
23568f19da
url: fix parse (#14456) 2022-05-20 02:58:58 +03:00
crthpl
95d24e543d
checker, cgen: fix shared non-decl assignment (#14466) 2022-05-20 02:58:11 +03:00
yuyi
55e7daa2f9
cgen: simplify auto_str_methods.v (#14463) 2022-05-19 22:29:15 +03:00
crthpl
46f94e8d68
cgen: fix autostr of shared fields (#14455) 2022-05-19 17:00:27 +03:00
Daniel Däschle
a52fbc5e51
checker: forbid optional variable (#14460) 2022-05-19 16:04:44 +03:00
yuyi
3291c59ebf
cgen: minor cleanup in auto_str_methods.v (#14461) 2022-05-19 14:02:07 +03:00
Delyan Angelov
634e8c3624
vfmt: keep selective imported names used for generic calls 2022-05-19 12:48:43 +03:00
yuyi
15c62bc8e8
parser: improve error messages of 'for val in array' (#14459) 2022-05-19 11:53:27 +03:00
Delyan Angelov
a52590572f
tests: fix the push_work_on_channel.vv output 2022-05-19 11:30:36 +03:00
Delyan Angelov
3d5617c4fa
tests: re-add the disambiguated for (val in [TokenValue(+), TokenValue(-)]) { test 2022-05-19 08:31:03 +03:00
Delyan Angelov
809b1ca3b4
Revert "parser: fix 'val in array' as condition in for stmt (fix #14440) (#14451)"
This reverts commit b482c0512b.
2022-05-19 08:29:30 +03:00
yuyi
b482c0512b
parser: fix 'val in array' as condition in for stmt (fix #14440) (#14451) 2022-05-18 20:38:53 +03:00
Delyan Angelov
805a7d9713 ci: skip more .vv files on specific jobs 2022-05-18 20:04:59 +03:00
yuyi
5b96f7e8fd
checker: split up infix.v from checker.v (#14449) 2022-05-18 14:52:53 +03:00
yuyi
4cbfa884c5
cgen: fix another error for 'in array of sumtype' (#14448) 2022-05-18 14:39:35 +03:00
Delyan Angelov
f2447a4bd8
tests: do not use -prod for compiling .vv files in vlib/v/checker/tests/ and vlib/v/parser/tests/ 2022-05-18 13:39:57 +03:00
Delyan Angelov
2cc3b74e19
tests: cleanup compiler_errors_test.v using language features (chan), instead of raw sync.new_channel and unsafe { ch.push } calls 2022-05-18 13:39:56 +03:00
Larpon
9de0c725f6
checker: add test for empty #flag node, (fix #14291) (#14447) 2022-05-18 13:38:58 +03:00
Adam Oates
a786c58d0a
os: add fn user_names() (#14424) 2022-05-18 13:37:34 +03:00
yuyi
417a6dc506
cgen: fix error for 'in array of sumtype' (#14444) 2022-05-18 08:51:31 +03:00
Delyan Angelov
ed17779434
math.big: fix Integer.bit_len() when there are no digits in the number 2022-05-18 08:29:08 +03:00