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
crthpl
a9b54e9b98
cgen: add __addr (bootstraps #14818) (#15585) 2022-08-30 10:28:47 +03:00
lemon
2221dd7058
native: support fncall with 7↑ arguments (#15599) 2022-08-30 10:24:37 +03:00
yuyi
0876cf86ed
cgen: fix struct init with update expr (fix #15595) (#15603) 2022-08-30 09:22:14 +03:00
yuyi
e355ae7b3c
checker: check generics struct field type error (#15593) 2022-08-29 16:55:26 +03:00
Delyan Angelov
9703410391
vfmt: fix formatting of submodules with common prefixes (fix #15582) 2022-08-29 15:30:58 +03:00
shove
f285ebd91c
smtp: add base64 encoding to the body of the emails and use utf8, to prevent format confusion (#15589) 2022-08-29 09:19:46 +03:00
yuyi
72056f36d8
cgen: fix cross assign of fixed array (#15587) 2022-08-29 08:50:19 +03:00
ChAoS_UnItY
ad76c9c719
checker: fix illegal result propagate on non-result type (fix #15574) (#15578) 2022-08-28 13:31:45 +03:00
ChAoS_UnItY
258ff73efd
encoding.csv: re-encapsulate fields in Writer/Reader (fix #15558) (#15570) 2022-08-28 11:13:43 +03:00
Hitalo de Jesus do Rosário Souza
797bdd5e98
vweb: document the .query field (#15572) 2022-08-28 09:55:18 +03:00
yuyi
06e153d429
ast, cgen: implement sumtype with fntype partly (related #15557) (#15567) 2022-08-28 09:12:08 +03:00
Delyan Angelov
d75c62b806
checker: allow + operator overrides for type aliases 2022-08-27 12:54:16 +03:00
yuyi
2a03d22a37
ast: clean up table.find_or_register_fn_type() (#15560) 2022-08-27 09:32:03 +03:00
ChAoS_UnItY
0b843b801f
checker: fix returning expression with void type (fix #15543) (#15554) 2022-08-27 09:00:14 +03:00
ChAoS_UnItY
70de4e1009
checker: fix no error on plus-assigning array (fix #15544) (#15552) 2022-08-26 23:11:23 +03:00
yuyi
f45042fa09
checker: improve error message of fn args mismatch (#15550) 2022-08-26 22:38:53 +03:00
Delyan Angelov
329670431b
v.pref: skip vlib/builtin/prealloc.c.v, when -prealloc is not passed (#15553) 2022-08-26 22:08:42 +03:00
lemon
e5c53cf412
native: match expr/stmt (#15537) 2022-08-26 15:18:02 +03:00
yuyi
02a47f42f3
ast, parser, cgen: fix closure with nested closure variable (#15542) 2022-08-26 13:37:10 +03:00
Subhomoy Haldar
3af12271fb
log: add target_from_label and unit tests (#15538) 2022-08-26 07:09:48 +03:00
ChAoS_UnItY
b0e7ddfd97
checker: fix non-bool check on use of result bool (fix #15539) (#15540) 2022-08-26 07:08:57 +03:00
StunxFS
b83dd86d65
checker: check error for simple assignment with dumping of multireturn value (#15512) 2022-08-26 07:08:05 +03:00
lemon
939e9245db
native: support integer infix arithmetics (#15536) 2022-08-26 07:07:15 +03:00
yuyi
fc9d2d5d5e
cgen: cleanup generic_fn_name() (#15531) 2022-08-26 07:04:10 +03:00
Swastik Baranwal
44137e07b0
datatypes: use generic op overloading for difference and equal (#15530) 2022-08-26 07:03:23 +03:00
shove
c10c8ff9e4
parser: fix anon struct name conflict (#15517) 2022-08-26 07:01:50 +03:00
tr00
3eb6ad7b8c
os: fix type in error message (#15533) 2022-08-26 06:59:52 +03:00
yuyi
40c0a8cbaf
parser, checker, cgen: implement generics anon fn (#15529) 2022-08-25 14:12:56 +03:00
shove
723b3d74ee
datatypes: add array() method for LinkedList, DoublyLinkedList, Queue, and Stack (#15524) (#15525) 2022-08-25 14:12:39 +03:00
yuyi
c662431cfd
checker: check unsafe array assign (fix #9651) (#15515) 2022-08-25 08:52:13 +03:00
yuyi
86496aa191
cgen: fix array init with it (#15523) 2022-08-25 08:00:11 +03:00
Delyan Angelov
3ad22eb0dd
checker: show a more detailed error for invalid declarations of generic methods on generic structs. 2022-08-24 13:43:27 +03:00
Delyan Angelov
4718b8b45a
all: unify the displaying of compiler errors, using a common util.show_compiler_message/2 function. 2022-08-24 13:38:47 +03:00
StunxFS
0d8b6ee7f2
checker: don't show manual memory warning twice (#15510) 2022-08-24 09:08:35 +03:00
shove
6ff753745f
smtp: send mail to multiple recipients. #15508 (#15509) 2022-08-23 20:50:41 +03:00
Subhomoy Haldar
3b42f18dee
os: add input_password(prompt) and unit tests (#15507) 2022-08-23 18:17:38 +03:00
Delyan Angelov
3c23eebe51
ci: fix -fsanitize=address for c_array_test.c 2022-08-23 12:16:55 +03:00
yuyi
42c0bae9ce
checker: check unknown array of fn type in struct field (#15502) 2022-08-23 11:15:25 +03:00
Larpon
9dd8228f91
arrays: move carray_to_varray from builtin, make it generic (#15503) 2022-08-23 11:12:50 +03:00
Alexander Medvednikov
2dde7ff5ba strconv: deprecate v_sprintf in favor of string interpolation 2022-08-23 09:53:05 +03:00
yuyi
a758b6686c
json: minor cleanup in json_test.v (#15501) 2022-08-23 07:59:50 +03:00
yuyi
196b5f8e3a
checker: fix match expr with non last if expr (#15500) 2022-08-23 07:58:33 +03:00
Larpon
d40d761e38
toml: support [toml: '...'] attributes (#15497) 2022-08-22 20:39:55 +03:00
Larpon
dda475bcc8
builtin: add carray_to_varray, closes #15493 (#15499) 2022-08-22 20:15:54 +03:00
Delyan Angelov
a689641c1b
os: rewrite os.walk and os.walk_with_context to use iteration, instead of recursion 2022-08-22 17:27:14 +03:00
Delyan Angelov
21917f5b00
os: small cleanup of needless r'\' usage 2022-08-22 16:32:42 +03:00
Delyan Angelov
e156e6a44a
os: remove commented code in os_windows.c.v 2022-08-22 14:54:38 +03:00
yuyi
d7501cc9a1
cgen: fix if sumtype var is none (#15496) 2022-08-22 13:32:27 +03:00
yuyi
18b6311b2f
cgen: fix match sumtyp var with none (#15495) 2022-08-22 13:31:35 +03:00
yuyi
47e75c68a9
cgen: fix json.encode of a struct containing a field of an alias type of another struct (#15490) 2022-08-22 11:04:58 +03:00
Swastik Baranwal
f727433929
scanner: add check for invalid unicode (#15485) 2022-08-22 10:56:51 +03:00
yuyi
6d501b073a
datatypes: make Set's methods public (#15489) 2022-08-22 10:16:59 +03:00
Delyan Angelov
24e0a6cff2
checker: fix vls test compilation 2022-08-22 08:42:58 +03:00
yuyi
0d9ac1f59c
checker: improve error message for test function definition (#15483) 2022-08-21 16:19:39 +03:00
yuyi
f194d3ca2e
checker: fix generic method with nested generic method (#15480) 2022-08-21 14:12:31 +03:00
Delyan Angelov
0b41ff0c6a
v.vcache, v.builder: use the module name inside the usecache paths (for more readable cache entries at a glance) (#15476) 2022-08-21 08:55:21 +03:00
Alexander Medvednikov
a069577e9c builder: remove msvc code from non windows systems 2022-08-21 05:21:31 +03:00
Alexander Medvednikov
12265a15ed pref: temp hack to make -os cross work when building V 2022-08-21 05:12:58 +03:00
Alexander Medvednikov
eb6627fe41 cgen: remove unneeded comments 2022-08-21 01:39:54 +03:00
Delyan Angelov
c3568823ee
tests: make vlib/time/private_test.v more robust/tolerant to small fluctuations 2022-08-20 13:56:10 +03:00
Delyan Angelov
499ab9bedb
tests: make tcp_self_dial_from_many_clients_test.v more robust (use shared ctx) 2022-08-20 13:32:59 +03:00
Hitalo de Jesus do Rosário Souza
eafbf335cf
docs: improve vlib/vweb/README.md (#15146) 2022-08-20 12:06:24 +03:00
yuyi
0645fe3322
parser: check generic struct init using multi return type (#15472) 2022-08-20 11:56:44 +03:00
Delyan Angelov
5cba5920d5
os: make find_abs_path_of_executable_test.v more robust (fix #15459) 2022-08-20 10:06:58 +03:00
yuyi
6062708c60
checker: fix comptime if generic value shift (#15471) 2022-08-20 08:15:52 +03:00
Alexander Medvednikov
46f32fc10c checker: require unsafe for free() 2022-08-20 08:03:07 +03:00
yuyi
fa447443ca
cgen: fix push on closed channel (#15468) 2022-08-19 19:27:42 +03:00
yuyi
f10ff0353e
checker, fmt: check infix_expr with 'and' op (#15466) 2022-08-19 09:50:46 +03:00
yuyi
1dc62a5a66
ast: fix string interpolation fmt with result call (#15467) 2022-08-19 09:44:59 +03:00
yuyi
ea163197c7
cgen: fix shared optional (#15462) 2022-08-18 20:18:03 +03:00
yuyi
6d399c5116
checker: fix struct init with update expr (fix #9472) (#15460) 2022-08-18 19:39:41 +03:00
irishgreencitrus
cd31108260
cgen: implement '#preinclude' (#15456) 2022-08-18 15:59:08 +03:00
yuyi
7227c1d508
scanner: fix false &&!ok1 (fix #7524) (#15458) 2022-08-18 11:55:38 +03:00
Larpon
af8bd10761
v.pref: support v -trace-calls run file.v (#15450) 2022-08-18 11:45:37 +03:00
yuyi
d3307fd2e3
cgen: minor cleanup in fn_var_signature() (#15454) 2022-08-17 18:42:46 +03:00
Delyan Angelov
7ed3389fa8
ci: fix -cstrict checks after 7585e86 2022-08-17 18:40:15 +03:00
Delyan Angelov
18e737aee2 builtin,tests: fix int_test.v on macos, m1 2022-08-17 17:18:10 +03:00
Delyan Angelov
7585e86868 os: reduce heap allocations done by os.real_path, os.executable, os.getwd 2022-08-17 17:06:38 +03:00
Delyan Angelov
0e62344043 tests: make private_test.v more tolerant to small delays 2022-08-17 16:25:46 +03:00
yuyi
e1ebd90190
cgen: fix array of fixed array map/filter/any/all(it[0]) (fix #15422) (#15445) 2022-08-17 16:16:08 +03:00
yuyi
9887dd1fbf
cgen: fix go call fn with anon fn argument (fix #10351, fix #10270) (#15446) 2022-08-17 16:12:52 +03:00
ChAoS_UnItY
70f466460f
cgen: fix struct field name generation in auto free (#15440) 2022-08-17 09:11:58 +03:00
yuyi
374186f1f7
checker: fix fn call with mut array of aliases arguments (#15443) 2022-08-17 08:49:53 +03:00
John
d41b2be3a7
crypt: implement crypto.rand.read/1 for OpenBSD and FreeBSD (#15437) 2022-08-17 07:41:27 +03:00
Vladimir Myshkovski
9b9115471f
datatypes: Set implementation (#14853) 2022-08-16 20:23:48 +03:00
yuyi
b08f500c60
cgen: fix fn_var_signature() when param type is function (#15436) 2022-08-16 20:21:58 +03:00
yuyi
dc37386bcc
cgen: minor optimization in return_stmt() (#15434) 2022-08-16 20:21:02 +03:00
Markus F.X.J. Oberhumer
77fd1419a7
cgen: avoid another sizeof warning in generated code (#15435) 2022-08-16 20:20:13 +03:00
Delyan Angelov
18cccb6caf
builtin: show non zero codes on bubbled error_with_code(msg,code) errors 2022-08-16 18:59:38 +03:00
yuyi
66a3cdec6a
cgen: add fn_var_signature(info ast.FnType, var_name string) string (#15433) 2022-08-16 12:57:33 +03:00
Swastik Baranwal
3bc01d696d
cgen: fix []u8 string representation (#15432) 2022-08-15 23:48:38 +03:00
Nikolai
3aad5e2a8d
cgen, checker: fix multi line return optional (#15428) 2022-08-15 23:43:56 +03:00
yuyi
8be85e7590
cgen: fix shared map delete (#15431) 2022-08-15 23:42:57 +03:00
Delyan Angelov
26986eb2f8
tests: fix deprecation warning in tcp_test.v 2022-08-15 15:17:00 +03:00
yuyi
6fdcc5bcd0
checker, cgen: fix closure with fn variables (fix #15286) (#15427) 2022-08-15 06:52:08 +03:00
Emily Hudson
90d9b200f9
gc: fix msvc not using libatomic_ops (#15418) 2022-08-14 13:16:52 +03:00
Delyan Angelov
8f98f1db9e
os: fix os.open_file('text.txt', 'wb', 0o666), add test (#15420) 2022-08-14 09:50:05 +03:00
Swastik Baranwal
7280d4c95a
checker: add error for println('x').abcd (#15423) 2022-08-14 09:43:54 +03:00
Delyan Angelov
4c0339242a
doc: fix example comment for string.strip_margin() 2022-08-14 08:06:52 +03:00
yuyi
9734148f12
cgen: fix generic with multi-nested generic method call ref argument (#15421) 2022-08-13 19:26:00 +03:00
StunxFS
672066b65b
cgen: fix optional indexes with mutable arrays (#15399) 2022-08-13 11:58:31 +03:00
Joe Conigliaro
f557acf76b
net.urllib: fix ipv6 address parsing [ipv6]:port closes #15309 2022-08-13 00:50:38 +10:00
StunxFS
657389446b
checker: fix typo (#15397) 2022-08-12 17:25:52 +03:00
yuyi
9f2651717a
checker: fix generics with multi nested generic method call (#15410) 2022-08-12 17:25:29 +03:00
yuyi
9c96b13f9b
ast: fix anon fn with nested anon fn argument (#15415) 2022-08-12 17:24:23 +03:00
yuyi
70e3c72619
ast: fix expr.str() (fix #12650 #13312) (#15414) 2022-08-12 17:24:13 +03:00
yuyi
584597aa3d
checker: check mismatch of return result type (#15413) 2022-08-12 17:23:14 +03:00
yuyi
e6606d8670
cgen: fix optional in if expr (#15411) 2022-08-12 17:22:27 +03:00
Larpon
fd83b95d85
sokol: expose context_pool_size field on sgl.Desc (#15409) 2022-08-11 20:49:11 +03:00
yuyi
9e0bf005f7
checker: simplify infer_fn_generic_types() (#15408) 2022-08-11 14:25:43 +03:00
yuyi
275a997ec1
vweb: fix vweb static url (#15396) 2022-08-11 08:28:47 +03:00
yuyi
32fa475316
markused: fix generic fn mark as used (fix #15387) (#15406) 2022-08-11 08:27:20 +03:00
Nikolai
f54e45b77e
json: fix array_fixed encode/decode (#15398) 2022-08-11 03:52:56 +03:00
Markus F.X.J. Oberhumer
5095364838
cgen: avoid a compiler warning in generated code (#15394) 2022-08-11 03:52:42 +03:00
Delyan Angelov
1c6366eb9c
cgen: fix generated any/filter/all methods for shared array fields 2022-08-10 14:05:33 +03:00
yuyi
78d0255e6c
checker: fix generics with nested generic method call (#15390) 2022-08-10 11:29:19 +03:00
Delyan Angelov
c752e5eb3e
checker: add a suggestion for misspelled field names in struct literals 2022-08-10 11:01:43 +03:00
yuyi
d3aa7700c7
cgen: fix shared struct method call (#15386) 2022-08-09 12:44:19 +03:00
yuyi
7be9963a41
checker: fix dumping generic fn mut argument (#15384) 2022-08-09 07:46:55 +03:00
yuyi
d4b622bdc2
checker: add pref.is_verbose for print_backtrace (#15385) 2022-08-09 07:43:59 +03:00
Spydr
27c5ad03f6
native: initial linking support for linux (#15326) 2022-08-08 22:32:14 +03:00
StunxFS
a6026fd505
checker: disallow method calls with invalid expressions (#15337) 2022-08-08 17:35:24 +03:00
yuyi
9b88feccad
checker: check generic method call argument mismatch (#15378) 2022-08-08 17:30:48 +03:00
Delyan Angelov
5a834a2ef9
encoding.base58: remove one unnecessary map access per the most common BTC usages; implement encode_bytes, decode_bytes, encode_walpha_bytes, decode_walpha_bytes functions 2022-08-08 15:37:00 +03:00
yuyi
6a728e1674
cgen: fix shared array.last() (#15379) 2022-08-08 13:11:38 +03:00
yuyi
c7152a6ab6
checker: fix generics with nested generic fn call (#15361) 2022-08-08 04:54:52 +03:00
jrfondren
0b1486f014
http: avoid costly string interpolation of resp.body (#15376) 2022-08-08 04:36:45 +03:00
Ikko Ashimine
d74cf084fb
readme: fix a typo (#15373) 2022-08-08 03:01:05 +03:00
Vincenzo Palazzo
b01f71d9da
io: migrate the Reader API to Result instead of Option (#15229) 2022-08-08 02:33:25 +03:00
Emily Hudson
fd1b6efea6
net: add failed addresses + details on connect errors, make connect more robust in the default non blocking mode (#15364) 2022-08-07 10:40:05 +03:00
Swastik Baranwal
d6b594c4e8
checker: check if struct field type isn't type (#15359) 2022-08-06 19:11:51 +03:00
yuyi
8d9af2e4a1
cgen: fix nested generic fn call with reference argument (#15353) 2022-08-06 19:07:33 +03:00
Delyan Angelov
4588bb44ab
markused: skip panic_result_not_set (generated for fn main(){ foo()! }) too 2022-08-06 10:29:44 +03:00
cstffx
095f4bcf86
orm: add missing 'nonull' attribute description (#15348) 2022-08-05 10:27:19 +03:00
yuyi
ab244d2236
checker: cleanup in if_expr() (#15347) 2022-08-05 03:02:22 +03:00
yuyi
9e50803071
ast, parser: fix reference typenode (#15346) 2022-08-05 03:01:49 +03:00
yuyi
e034b35144
cgen: fix generic interface call with reference argument (#15345) 2022-08-05 03:01:11 +03:00
yuyi
d7a3b866ee
checker: check generic interface missing type parameter (#15344) 2022-08-04 11:02:34 +03:00
yuyi
372857c19c
checker: minor cleanup in struct_decl() (#15325) 2022-08-03 13:28:53 +03:00
yuyi
2ad25f6d06
checker: fix nested generic fn call (fix #15328) (#15333) 2022-08-03 13:24:39 +03:00
Delyan Angelov
77495c8d03
all: support assert condition, extra_message, evaluating and showing extra_message on assert failure (#15322) 2022-08-03 01:14:01 +03:00
Subhomoy Haldar
fcde63127f
rand: fix incorrect generic function call (#15327) 2022-08-02 20:11:49 +03:00
Sandro Martini
51ef8b62ba
log: cleanup tests (#15320) 2022-08-02 18:01:49 +03:00
Delyan Angelov
45c601b79c
cgen: fix sorting of shared array fields (fix #15244) 2022-08-02 16:17:11 +03:00
Delyan Angelov
857e047d01
json: tag functions that cgen may call internally for json.encode/json.decode, as [markused] 2022-08-02 11:45:41 +03:00
Nacho Verdón
42efc383d2
encoding.binary: fix function names in comments (#15317) 2022-08-02 00:30:06 +03:00
yuyi
ce59fffb53
scanner: make scan_all_tokens_in_buffer() private (#15312) 2022-08-01 23:15:56 +03:00
yuyi
7546d1450c
scanner: minor optimization (#15313) 2022-08-01 23:09:27 +03:00
Spydr
dab8159b56
native: implement elf section types (#15316) 2022-08-01 23:04:59 +03:00
Delyan Angelov
a35356758c
log: make set_level(level Level) part of the log.Logger interface too (fix for discordv) 2022-08-01 15:09:32 +03:00
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