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

9978 Commits

Author SHA1 Message Date
playX
95880dfe5c
checker: allow indexing through alias to int (#14177) 2022-04-26 12:15:35 +03:00
playX
dce2173ac9
checker: c2v fixes (#14161) 2022-04-26 01:34:26 +03:00
Alexander Medvednikov
501b293e84 checker: remove already handled "undefined" errors 2022-04-25 16:53:34 +03:00
Larpon
d799abd139
regex: rephrase doc string (#14159) 2022-04-25 16:03:13 +03:00
yuyi
e42dc8e228
checker: fix error for match aliases (#14157) 2022-04-25 14:42:43 +03:00
yuyi
f89c81087b
checker: check error for array.index() argument (#14147) 2022-04-25 14:42:31 +03:00
yuyi
aeba110d01
cgen: fix error for printing multi fixed array (#14141) 2022-04-25 14:42:05 +03:00
Larpon
283d181047
cli: add missing doc strings (#14158) 2022-04-25 14:41:46 +03:00
yuyi
88f22b4367
cgen: fix error for anon fn decl inside ternary (#14150) 2022-04-25 12:36:03 +03:00
Delyan Angelov
d35d67c2bd
eval: enable v interpret examples/hanoi.v 2022-04-25 12:20:37 +03:00
Nick Treleaven
d8a5df9044
checker: error if smaller signed == unsigned (#14078) 2022-04-25 12:09:25 +03:00
Delyan Angelov
147e6e669f
cgen: fix pushing to an array of string pointers (fix #14156) 2022-04-25 11:26:24 +03:00
yuyi
922cee9162
parser, checker, cgen: fix error for fn call using anon fn call argument (#14155) 2022-04-25 11:26:14 +03:00
Delyan Angelov
1291b621f6
ci: bump test retries for go_anon_fn_variable_call_test.v to 3 2022-04-25 10:32:41 +03:00
fleur
ddbe812f1b
cgen: add callconv support for fns from ptr (#14151) 2022-04-25 08:51:03 +03:00
Haren S
11ee2b6409
builder: improve macOS 10.5 and PPC support (#14152) 2022-04-25 08:17:00 +03:00
stackotter
563469ed9f
vfmt: fix array_init line wrapping (#14154) 2022-04-25 08:11:44 +03:00
yuyi
c819f0f86f
checker, cgen: fix printing in 'for v in a' (#14146) 2022-04-24 13:30:13 +03:00
Alexander Medvednikov
9355048b6c tmpl: minor fixes and optimizations 2022-04-23 16:01:44 +03:00
Delyan Angelov
3388caa6c5
ci: bump vtest retry to 6 for channel_select_test.v (fails sporadically in the windows-gcc job) 2022-04-23 15:36:19 +03:00
yuyi
d934472b17
checker: simplify checking array.contains() argument (#14133) 2022-04-22 22:34:13 +03:00
yuyi
b86320a669
parser: minor cleanup in stmt() (#14136) 2022-04-22 22:33:13 +03:00
yuyi
5dce091379
checker, cgen: fix generic empty interface to multi struct (#14132) 2022-04-22 11:02:51 +03:00
Alexander Medvednikov
9b565bf765 cgen: fix enum switch bug in translated code 2022-04-22 02:31:32 +03:00
tzSharing
03d21a727e
gg: fix gg.draw_rounded_rect_filled() graphical abnormalities (#14128) 2022-04-22 00:16:10 +03:00
Larpon
506259adb6
os: add behavior info to is_dir_empty documentation (#14110) 2022-04-21 18:21:00 +03:00
yuyi
26b0e7fd34
fmt: remove extra parentheses (#14125) 2022-04-21 18:20:32 +03:00
Delyan Angelov
2080557f50
ast: allow a := match x { 101 { ... for {...} ... y } 2022-04-21 13:31:06 +03:00
yuyi
8a18f9175a
cgen: fix error for if expr with nested match expr (#14122) 2022-04-21 13:02:31 +03:00
yuyi
448938be0d
parser: fix generic anon fn decl with type only argument (#14124) 2022-04-21 12:53:13 +03:00
yuyi
99eb9fdaab
checker: fix error for fn with array of aliases argument (#14123) 2022-04-21 12:52:09 +03:00
yuyi
f13583b04a
checker: check array builtin method's arguments (#14119) 2022-04-21 12:51:04 +03:00
yuyi
8013bd43b0
checker: check map builtin method's arguments (#14120) 2022-04-21 12:49:46 +03:00
ChAoS_UnItY
c5824c36f2
checker, cgen: allow static (fixed) arrays in in operator (#14121) 2022-04-21 10:32:29 +03:00
Delyan Angelov
31b28af179
bootstrap: remove -I ./thirdparty/stdatomic/nix from make files (#14111) 2022-04-21 00:12:50 +03:00
lemon
960225f7a7
builtin: fix -cc gcc -gc boehm on linux and macos (#14115) 2022-04-21 00:12:17 +03:00
Nick Treleaven
1533b77404
builtin: remove unnecessary casts for defunct small unsigned warning (#14108) 2022-04-20 21:47:09 +03:00
yuyi
0260c2a552
checker: minor cleanup in assign_stmt() (#14107) 2022-04-20 21:03:41 +03:00
Hunam
0374f021c5
os: small cleanup of function description (#14112) 2022-04-20 20:58:41 +03:00
mjh
1546645f63
datatypes: fix bst child access, when .root is 0 (#14080) 2022-04-20 16:49:18 +03:00
Larpon
a1342e85c3
os: add info about overwritten content to write_file (#14109) 2022-04-20 15:29:58 +03:00
yuyi
52ea0b8cc3
ast: minor cleanup of types.v (#14103) 2022-04-20 14:24:13 +03:00
yuyi
ce4c2afc9c
checker, cgen: use 'stmts.last()' instead of 'stmts[stmts.len - 1]' (#14105) 2022-04-20 14:23:32 +03:00
yuyi
44ba19716b
checker: fix error for fn with multi return (#14095) 2022-04-20 13:09:40 +03:00
yuyi
0c3b69eaef
checker: fix error for assign array of aliases (#14096) 2022-04-20 13:08:47 +03:00
Alexander Medvednikov
364656b312 builtin: define C.abs() 2022-04-20 13:03:30 +03:00
yuyi
8cc79e4299
checker: check error for arguments of array.contains() (#14102) 2022-04-20 11:00:59 +03:00
playX
711e90cf99
v.util: add math to builtin_module_names (temporary fix for C2V) (#14100) 2022-04-20 10:57:55 +03:00
playX
f6a0c26a85
checker: c2v fixes (#14091) 2022-04-20 01:09:34 +03:00
Delyan Angelov
9646e4b9d8
sync: use #insert for atomic.h, so that bootstrapping can be simplified 2022-04-19 20:06:20 +03:00
Delyan Angelov
006df58451
checker, cgen: add support for #insert, to simplify bootstrapping V 2022-04-19 19:37:04 +03:00
JalonSolov
daf5d32327
checker: fix error message when number of generic parameters is incorrect (#14090) 2022-04-19 18:34:23 +03:00
yuyi
a318a2e09e
examples: fix optional in string interpolation and format error (#14079) 2022-04-19 13:29:53 +03:00
yuyi
e16ce3af88
token: minor cleanup of token.v (#14083) 2022-04-19 13:28:27 +03:00
yuyi
6164654d11
checker: check fn return type mismatch (#14081) 2022-04-19 13:04:41 +03:00
Nick Treleaven
4400efeb9f
checker: Revert part of small_unsigned == signed (#13967) (#14075)
`gcc -W` doesn't error for e.g. u16 == i32, only for u32 == i16.
Any u16 value can fit in an i32.
2022-04-18 21:30:09 +03:00
yuyi
7ef64bde50
checker: check error for fn decl with optional arguments (#14076) 2022-04-18 21:22:31 +03:00
yuyi
d0a11f50ca
cgen: minor cleanup of infix_expr.v (#14070) 2022-04-18 15:05:19 +03:00
yuyi
fe371845da
ast, checker, cgen: fix aggregations type check (#14066) 2022-04-18 12:38:08 +03:00
spaceface
775c4c34b5
builtin: compile the gc statically by default (#14063) 2022-04-18 10:50:21 +03:00
Ikko Ashimine
56a3539ea9
io: fix typo in readerwriter.v (#14060)
seperate -> separate
2022-04-17 17:40:14 +03:00
yuyi
17c34b09a6
checker, cgen: minor cleanup of last expr stmt expression (#14057) 2022-04-17 14:08:43 +03:00
yuyi
cb44f5981e
checker, cgen: fix error for if expr with generic sumtype (#14056) 2022-04-17 08:19:44 +03:00
Vincenzo Palazzo
4f14f7714f
checker: ensure that the variant SubType exists (#14053)
Signed-off-by: Vincenzo Palazzo <vincenzopalazzodev@gmail.com>
2022-04-16 19:29:10 +03:00
Delyan Angelov
8a57f7ed2d
v.util: always compile vfmt with -d vfmt to enable more efficient parsing 2022-04-16 14:05:55 +03:00
Julien de Carufel
16ead4e63c
cgen: fix infix generics bug (#14048) 2022-04-16 13:23:19 +03:00
Delyan Angelov
5b7e538119
v.pref: show the VCROSS_COMPILER_NAME notice only when the output is not a .c file 2022-04-16 10:46:03 +03:00
Delyan Angelov
4a71b27c52
ci: add test_byte_vs_u8 to int_test.v 2022-04-15 21:42:07 +03:00
Delyan Angelov
d75c408868
ci: fix typeof_simple_types_test.v 2022-04-15 21:22:32 +03:00
Delyan Angelov
82c5621621
ci: fix typeof_simple_types_test.v 2022-04-15 21:21:44 +03:00
Delyan Angelov
675f8b6300
ci: fix generic_fn_infer_struct_test.v 2022-04-15 21:21:12 +03:00
Delyan Angelov
ad231cec2f
ci: fix code_test.v 2022-04-15 21:20:03 +03:00
Delyan Angelov
87a373d82c
ci: fix coutput_test.v 2022-04-15 21:18:55 +03:00
Delyan Angelov
c7aedb8e8d
ci: fix fmt_test.v 2022-04-15 21:16:31 +03:00
Delyan Angelov
375361b787
ci: fix ./v check-md -hide-warnings . 2022-04-15 21:08:09 +03:00
Delyan Angelov
840f474fb5
ci: fix ./v -progress test-cleancode 2022-04-15 21:04:10 +03:00
Delyan Angelov
e802e0b9cb
ci: fix more test-all failures 2022-04-15 21:02:03 +03:00
Delyan Angelov
bb2a324d61
ci: more gen.js fixes 2022-04-15 20:51:04 +03:00
Delyan Angelov
868d3e1008
ci: fix failing tests for mysql, crypto.rc4, strings 2022-04-15 20:51:04 +03:00
Alexander Medvednikov
c03fe020bf parser: do not allow [x]byte{} 2022-04-15 20:40:37 +03:00
Delyan Angelov
6f5a513d8b
ci: fix v build-examples 2022-04-15 20:31:10 +03:00
Delyan Angelov
173e6a943b
checker: fix tests (adjust byte to u8 in .out files too) 2022-04-15 20:15:03 +03:00
Delyan Angelov
cc8803c602
builtin: fix failing embed_file_test.v (pub fn (data &u8) vbytes(len int) []u8 {) 2022-04-15 19:57:00 +03:00
Alexander Medvednikov
78cb6e2b41 all: handle fixed []u8 2022-04-15 18:35:56 +03:00
Alexander Medvednikov
1c6f63ac0a tests: use u8 everywhere 2022-04-15 18:34:15 +03:00
Alexander Medvednikov
fbb9e65c0f all: ~500 more byte=>u8 2022-04-15 18:25:45 +03:00
Alexander Medvednikov
ae6a25f44e websocket, utf: u8 fixes 2022-04-15 16:24:02 +03:00
Alexander Medvednikov
e97ebf8cfc sokol: byte => u8 2022-04-15 16:12:05 +03:00
Alexander Medvednikov
258d1f77dc net: fix byte buffers 2022-04-15 15:57:45 +03:00
Alexander Medvednikov
af73e195da net: byte fixes 2022-04-15 15:55:39 +03:00
Alexander Medvednikov
fb192d949b all: replace []byte with []u8 2022-04-15 15:35:35 +03:00
Alexander Medvednikov
0527ac633e ast: remove .byte 2022-04-15 15:30:37 +03:00
Alexander Medvednikov
dbcf6e9c33 os: fix Process on windows 2022-04-15 15:23:05 +03:00
Alexander Medvednikov
c14984899b builtin: fix windows fn definitions 2022-04-15 15:18:21 +03:00
Alexander Medvednikov
a1372e284c builtin: update alloc fn definitions 2022-04-15 15:16:10 +03:00
Alexander Medvednikov
c3ad4e2069 encoding.base64: use u8 2022-04-15 15:10:34 +03:00
Alexander Medvednikov
d4a0d6f73c all: byte => u8 2022-04-15 14:58:56 +03:00
Alexander Medvednikov
b49d873217 builtin: [1000]u8 fix 2022-04-15 14:48:39 +03:00
Alexander Medvednikov
014c3c97f0 all: byte => u8 2022-04-15 14:45:52 +03:00
Alexander Medvednikov
7f3b91e688 builtin: more byte => u8 2022-04-15 14:10:11 +03:00
Alexander Medvednikov
1e7eb713fb cgen: remove byte references from cheaders.v 2022-04-15 14:04:53 +03:00
Alexander Medvednikov
ba7b329c73 builtin: more byte=>u8 2022-04-15 13:55:56 +03:00
Alexander Medvednikov
e6ff1508d2 all: make u8 the primary type, byte the alias 2022-04-15 13:43:03 +03:00
Delyan Angelov
566f150b24
net.http: add parse_request_head/1, cleanup existing code 2022-04-15 10:33:44 +03:00
Delyan Angelov
c3ee4fb2a2
crypto: make public all Digest.checksum() methods 2022-04-15 09:02:42 +03:00
Alexander Medvednikov
3b36f16365 all: volatile globals 2022-04-15 02:39:38 +03:00
Alexander Medvednikov
0dff050735 builtin: u8/byte clean up 2022-04-14 16:43:34 +03:00
yuyi
2d6d6c9ac9
json: fix json decode with sumtype of multi array type (#14035) 2022-04-14 15:36:24 +03:00
yuyi
c4dff0d797
cgen: format the generated source code by gen_str_for_union_sum_type() (#14026) 2022-04-14 15:26:10 +03:00
yuyi
72c2dc805d
cgen: fix error for generics struct that parent has str to string (#14037) 2022-04-14 15:23:50 +03:00
Delyan Angelov
f6c9a60f99
pref: only show the support cross compiler warning/VCROSS_COMPILER_NAME message for the C backend 2022-04-14 15:04:00 +03:00
Delyan Angelov
bf62b2e33e
vfmt: stabilise the attribute sorting order (sort first by length of atributes, then in alphabetical order of their names) 2022-04-14 14:53:45 +03:00
Delyan Angelov
f1f75897b3
sync: use asserts in channel code only when -d debug is passed 2022-04-14 14:00:57 +03:00
Delyan Angelov
e555335bf0
ci: fix windows-msvc builds, as well as the windows-cross job, turn on deprecation notices for [windows_stdcall] and [_fastcall] 2022-04-14 13:36:51 +03:00
fleur
68401d9dc8
gen: add callconv attribute for fn and type (#14027) 2022-04-14 11:29:52 +03:00
Delyan Angelov
5905590e78
builder, pref: use i686-w64-mingw32-gcc for cross compiling 32bit windows apps with v -m32 -os windows hw.v 2022-04-14 10:42:25 +03:00
Vincenzo Palazzo
48c295150f
checker: fixes typechecking for a sum type with an alias type (#13974) 2022-04-13 18:38:26 +03:00
yuyi
dc08105022
json: fix error for json decode with sumtype (#14025) 2022-04-13 18:06:28 +03:00
Delyan Angelov
e5809363de
docs: describe the contents of vlib/v/gen/c/testdata/ and how to write tests for the checker, that still do not have good codegen counterpart 2022-04-13 14:55:26 +03:00
Alexander Medvednikov
d7adb67d52 cgen: fix [cinit] 2022-04-13 02:55:47 +03:00
Alexander Medvednikov
2525a30b5f cgen: [cinit] attr for globals 2022-04-13 00:30:51 +03:00
yuyi
e3e5bef139
ast, parser: fix formatting of if with inline comments (fix #7796) (#14018) 2022-04-13 00:15:27 +03:00
Nick Treleaven
c780de6282
checker: disallow 'small_unsigned == signed' (#13967) 2022-04-12 19:37:30 +03:00
fleur
6718958058
cgen: add a [_fastcall] fn attribute (#14016) 2022-04-12 17:06:56 +03:00
牧心
a810fbb80e
cgen: fix infix_expr_in_optimization compile error when treating some kind cannot directly use '==' (#14015) 2022-04-12 16:19:44 +03:00
Delyan Angelov
8788512c4d
checker: make using err.msg and err.code produce an *actual* notice, even with the present compatibility hack (will be *removed* in 2022-06-01) 2022-04-12 14:56:02 +03:00
Delyan Angelov
4c7cdd2a2d
checker,cgen: use faster sym.idx == ast.error_type_idx integer comparisons, instead of sym.name == "IError" 2022-04-12 14:49:51 +03:00
Delyan Angelov
62032c43db
ast: fix Table.rewrite_already_registered_symbol calls (they were setting sym.idx to 0) 2022-04-12 14:49:51 +03:00
Delyan Angelov
9b43713ec5
net: simplify TcpListener.accept, use C.accept(l.sock.handle, 0, 0), since we do not care about the local address of the accepted connection 2022-04-12 11:47:41 +03:00
Delyan Angelov
716cb17aea
math.big: wrap all asserts in module code (not in tests) in $if debug {} (#14012) 2022-04-12 09:38:53 +03:00
crthpl
afb07e0e16
cgen: fix deadlock when returning multiple values in lock (#14014) 2022-04-12 09:21:27 +03:00
yuyi
3e3b2e25db
parser, fmt: fix the formatting of fn headers with inline comments (#14010) 2022-04-11 22:31:06 +03:00
Larpon
07207db998
examples: reduce C. prefix usage, rename fontstash enums (#14011) 2022-04-11 22:23:06 +03:00
Delyan Angelov
382586da6d
ci: fix toml segfault (remove unused low level builtin option IError.msg compatibility hack) 2022-04-11 21:49:59 +03:00
Delyan Angelov
e64c8cce62
ci: bump size of EMPTY_STRUCT_DECLARATION's _dummy_pad field to 8 (a voidptr, instead of char) 2022-04-11 17:53:18 +03:00
yuyi
5551cb248c
ast, parser, fmt: fix formatting of consts with embedded comments (#14008) 2022-04-11 17:27:41 +03:00
牧心
25d8faabf6
cgen: fix alloc empty struct array error (#14007) 2022-04-11 14:16:09 +03:00
Delyan Angelov
843ce43077
strconv: cleanup atof.c.v - use a ParserState enum, clarify comments 2022-04-11 12:01:47 +03:00
Delyan Angelov
e4dfffd70b
toml: remove math import (used only for math.max and math.max_u32) 2022-04-11 10:22:31 +03:00
Nick Treleaven
1938bc48e7
toml.scanner: make end_of_text, at, next and peek return u32 (#13998) 2022-04-11 10:12:04 +03:00
yuyi
fa66183f43
checker: check error for map of generic struct init (#13999) 2022-04-11 10:07:23 +03:00
Delyan Angelov
a0e7a46be4 rand: speed up MT19937RNG.u64 2022-04-10 13:07:35 +03:00
Delyan Angelov
6c25f5b291 rand: fix needless array allocation in MT19937RNG.u64() 2022-04-10 13:02:31 +03:00
Subhomoy Haldar
3f90809035
rand: add missing pub modifiers for .byte() and .u32() methods (#13992) 2022-04-10 11:43:46 +03:00
牧心
11d9a67e3b
cgen: fix invalid operands to an_alias in an_array_of_aliased_values (#13994) 2022-04-10 11:42:17 +03:00
yuyi
93a5d03182
parser: improve embedded struct parsing/better error for Architecture []string (#13995) 2022-04-10 10:24:36 +03:00
Vincenzo Palazzo
3571f66a82
pref: fix access in invalid position on v search '' (#13993) 2022-04-10 10:21:58 +03:00
yuyi
473bc0254d
checker: check error for array of generic struct init (#13987) 2022-04-09 21:50:34 +03:00
Delyan Angelov
89d64b21ea
ci: remove manual free(f) in an autofree test, after 58febe46, which does it automatically now 2022-04-09 20:06:27 +03:00
Delyan Angelov
df30b79971
checker: allow for arr.any(opt_fn()?), add test 2022-04-09 19:50:10 +03:00