Commit Graph

10006 Commits (31453e321a1bf70dbb89b78d6cc316f54cc4fbd1)

Author SHA1 Message Date
StunxFS 3c8b67521b
cgen: fix use of C reserved words inside `defer` statement (fix #14101) (#14211) 2022-04-29 21:38:24 +02:00
Alexander Medvednikov 23117e6802
builtin: define atoi & ftell 2022-04-29 21:38:24 +02:00
spaceface 893e2ff6cb
ast: add a type_size() method (#14213) 2022-04-29 21:38:23 +02:00
StunxFS da71bced46
transformer: minor optimization for `'string literal'.len` (#14207) 2022-04-29 21:38:23 +02:00
playX 59ddaa9ede
checker: disable op overloading on structures for translated code (#14209) 2022-04-29 21:38:23 +02:00
yuyi 134b594e4d
ast, parser: fix complex map init (#14206) 2022-04-29 21:38:23 +02:00
yuyi c2ecfb32d9
cgen: fix go anon fn call with ref argument (fix #14192) (#14197) 2022-04-29 21:38:23 +02:00
yuyi 03d2258b6d
ast: fix error for complex map operating (#14204) 2022-04-29 21:38:23 +02:00
Atom 48749b0b24
arrays: rephrase doc string (#14205) 2022-04-29 21:38:23 +02:00
Delyan Angelov 47dccd56a2
eval: small cleanup in the handling of `$if platform {` 2022-04-29 21:38:23 +02:00
Delyan Angelov 705e260180
eval: make the interpreter backtrace more efficient and informative. 2022-04-29 21:38:23 +02:00
Delyan Angelov 31bee98607
eval: add support for C.read/3, C.malloc/1, `$if openbsd {` 2022-04-29 21:38:23 +02:00
Delyan Angelov 444d8c7a81
pref: add support for `-thread-stack-size 4194304` (default set to 8MB) (#14168) 2022-04-29 21:38:23 +02:00
yuyi 47c18c4570
checker: fix error for array of sumtype appending literal value (#14200) 2022-04-29 21:38:22 +02:00
yuyi bf75a873b5
checker: check error in for_c_stmt with optional call (#14190) 2022-04-29 21:38:22 +02:00
tzSharing f9bd107a84
gg: improve some loops in draw_rounded_rect* methods (#14195) 2022-04-29 21:38:22 +02:00
Delyan Angelov 624f022ddc
ci: fix tcc compilation of atomic_test.v 2022-04-29 21:38:22 +02:00
Alexander Medvednikov b7f2ef78b2
all: atomic int fixes
ci/woodpecker/push/vc Pipeline was successful Details
ci/woodpecker/push/docker Pipeline was successful Details
ci/woodpecker/push/arch Pipeline was successful Details
2022-04-27 21:07:11 +02:00
yuyi 2d9fa62941
math: fix error for math.abs(0.0)/math.abs(0) (related #14165) (#14191) 2022-04-27 21:07:11 +02:00
yuyi 8b085a32a5
cgen: fix error for generic sumtype casting to typenode (#14188) 2022-04-27 21:07:10 +02:00
tzSharing 604f4f5e44
gg: fix gg.draw_rounded_rect_empty() graphical abnormalities and some optimizations (#14186) 2022-04-27 21:07:10 +02:00
playX c37bb48e9c
checker: allow + - * on pointers for translated code (#14183) 2022-04-27 21:07:10 +02:00
R cqls 609464bc9c
gg: some stuff required to have svg and png screenshots working on v ui (#14180) 2022-04-27 21:07:10 +02:00
yuyi 8a75d68421
cgen: split up array_init() (#14178) 2022-04-27 21:07:10 +02:00
Larpon 07d465cbaa
strconv: add missing doc strings (#14164) 2022-04-27 21:07:10 +02:00
yuyi 14cec11cc6
cgen: fix error for cast to empty interface (fix #14162) (#14176) 2022-04-27 21:07:10 +02:00
Brian Callahan 9bc422a071
sokol: support compilation on OpenBSD (#14169) 2022-04-27 21:07:09 +02:00
yuyi 2b0f0820e6
ast, checker, cgen: fix error for multi-return in or expr (fix #14167) (#14172) 2022-04-27 21:07:09 +02:00
playX 0302cd69bd
checker: allow indexing through alias to int (#14177) 2022-04-27 21:07:09 +02:00
playX cab53d0e75
checker: c2v fixes (#14161) 2022-04-27 21:07:09 +02:00
Alexander Medvednikov b81f06e369
checker: remove already handled "undefined" errors
ci/woodpecker/push/vc Pipeline was successful Details
ci/woodpecker/push/docker Pipeline was successful Details
ci/woodpecker/push/arch Pipeline was successful Details
2022-04-25 19:07:31 +02:00
Larpon 1cc8072efa
regex: rephrase doc string (#14159) 2022-04-25 19:07:31 +02:00
yuyi 2d381d69ea
checker: fix error for match aliases (#14157) 2022-04-25 19:07:31 +02:00
yuyi 549735fbff
checker: check error for array.index() argument (#14147) 2022-04-25 19:07:31 +02:00
yuyi d67251c1e0
cgen: fix error for printing multi fixed array (#14141) 2022-04-25 19:07:30 +02:00
Larpon 8a5ba0dfc8
cli: add missing doc strings (#14158) 2022-04-25 19:07:30 +02:00
yuyi b314b8d8bf
cgen: fix error for anon fn decl inside ternary (#14150) 2022-04-25 19:07:30 +02:00
Delyan Angelov b43c538bc0
eval: enable `v interpret examples/hanoi.v` 2022-04-25 19:07:30 +02:00
Nick Treleaven 13902a827b
checker: error if smaller signed == unsigned (#14078) 2022-04-25 19:07:30 +02:00
Delyan Angelov 5b58f4efbf
cgen: fix pushing to an array of string pointers (fix #14156) 2022-04-25 19:07:29 +02:00
yuyi 47e7582af8
parser, checker, cgen: fix error for fn call using anon fn call argument (#14155) 2022-04-25 19:07:29 +02:00
Delyan Angelov b849651197
ci: bump test retries for go_anon_fn_variable_call_test.v to 3 2022-04-25 19:07:29 +02:00
fleur 2134fb3e3e
cgen: add callconv support for fns from ptr (#14151) 2022-04-25 19:07:29 +02:00
Haren S cde15abc0a
builder: improve macOS 10.5 and PPC support (#14152) 2022-04-25 19:07:29 +02:00
stackotter 745e75ab25
vfmt: fix array_init line wrapping (#14154) 2022-04-25 19:07:29 +02:00
yuyi 6690dfa208
checker, cgen: fix printing in 'for v in a' (#14146) 2022-04-25 19:07:28 +02:00
Alexander Medvednikov f3dff7c1c0
tmpl: minor fixes and optimizations 2022-04-25 19:07:28 +02:00
Delyan Angelov 20ded157bf
ci: bump vtest retry to 6 for channel_select_test.v (fails sporadically in the windows-gcc job) 2022-04-25 19:07:28 +02:00
yuyi 0b7c3a6035
checker: simplify checking array.contains() argument (#14133) 2022-04-25 19:07:28 +02:00
yuyi 0a30a90924
parser: minor cleanup in stmt() (#14136) 2022-04-25 19:07:28 +02:00
yuyi e0963381ec
checker, cgen: fix generic empty interface to multi struct (#14132) 2022-04-25 19:07:27 +02:00
Alexander Medvednikov 2c59d47fc1
cgen: fix enum switch bug in translated code 2022-04-25 19:07:27 +02:00
tzSharing 08f45023e8
gg: fix gg.draw_rounded_rect_filled() graphical abnormalities (#14128) 2022-04-25 19:07:27 +02:00
Larpon a7e8ca70dc
os: add behavior info to `is_dir_empty` documentation (#14110) 2022-04-25 19:07:27 +02:00
yuyi 6eea50c955
fmt: remove extra parentheses (#14125) 2022-04-25 19:07:27 +02:00
Delyan Angelov 34961a23b4
ast: allow `a := match x { 101 { ... for {...} ... y }` 2022-04-25 19:07:26 +02:00
yuyi dc9068b4d3
cgen: fix error for if expr with nested match expr (#14122) 2022-04-25 19:07:26 +02:00
yuyi 052c8e0282
parser: fix generic anon fn decl with type only argument (#14124) 2022-04-25 19:07:26 +02:00
yuyi 0a12fd7212
checker: fix error for fn with array of aliases argument (#14123) 2022-04-25 19:07:26 +02:00
yuyi eca95dcedc
checker: check array builtin method's arguments (#14119) 2022-04-25 19:07:26 +02:00
yuyi 8824f5f103
checker: check map builtin method's arguments (#14120) 2022-04-25 19:07:26 +02:00
ChAoS_UnItY 73260c6fc0
checker, cgen: allow static (fixed) arrays in `in` operator (#14121) 2022-04-21 10:35:00 +02:00
Delyan Angelov 13e2d73339
bootstrap: remove -I ./thirdparty/stdatomic/nix from make files (#14111) 2022-04-21 10:34:58 +02:00
lemon 262ec40851
builtin: fix `-cc gcc -gc boehm` on linux and macos (#14115) 2022-04-21 10:34:34 +02:00
Nick Treleaven 47ae5a93d4
builtin: remove unnecessary casts for defunct small unsigned warning (#14108) 2022-04-21 10:34:34 +02:00
yuyi 1a76b50004
checker: minor cleanup in assign_stmt() (#14107) 2022-04-21 10:34:34 +02:00
Hunam 1e42538e22
os: small cleanup of function description (#14112) 2022-04-21 10:34:34 +02:00
mjh 43e810024c
datatypes: fix bst child access, when .root is 0 (#14080) 2022-04-21 10:34:34 +02:00
Larpon 1cb4fe5a0a
os: add info about overwritten content to `write_file` (#14109) 2022-04-21 10:34:34 +02:00
yuyi 5ec0820332
ast: minor cleanup of types.v (#14103) 2022-04-21 10:34:34 +02:00
yuyi 81a178ee8d
checker, cgen: use 'stmts.last()' instead of 'stmts[stmts.len - 1]' (#14105) 2022-04-21 10:34:34 +02:00
yuyi 9abf3a62c0
checker: fix error for fn with multi return (#14095) 2022-04-21 10:34:34 +02:00
yuyi f7dbbba7ae
checker: fix error for assign array of aliases (#14096) 2022-04-21 10:34:33 +02:00
Alexander Medvednikov fac15fb862
builtin: define C.abs() 2022-04-21 10:34:33 +02:00
yuyi 9c7da323f1
checker: check error for arguments of array.contains() (#14102) 2022-04-21 10:34:33 +02:00
playX 9c9b50933c
v.util: add math to builtin_module_names (temporary fix for C2V) (#14100) 2022-04-21 10:34:33 +02:00
playX 0065dba88a
checker: c2v fixes (#14091) 2022-04-21 10:34:33 +02:00
Delyan Angelov f3ce968124
sync: use #insert for atomic.h, so that bootstrapping can be simplified 2022-04-21 10:34:33 +02:00
Delyan Angelov b03aa06152
checker, cgen: add support for #insert, to simplify bootstrapping V 2022-04-21 10:34:33 +02:00
JalonSolov 43efdd464e
checker: fix error message when number of generic parameters is incorrect (#14090) 2022-04-21 10:34:33 +02:00
yuyi 168531d4e0
examples: fix optional in string interpolation and format error (#14079) 2022-04-19 12:42:44 +02:00
yuyi 1660be910d
token: minor cleanup of token.v (#14083) 2022-04-19 12:42:44 +02:00
yuyi 33005becf1
checker: check fn return type mismatch (#14081) 2022-04-19 12:42:44 +02:00
Nick Treleaven f291e5fdd8
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-19 12:42:43 +02:00
yuyi 898167f986
checker: check error for fn decl with optional arguments (#14076) 2022-04-19 12:42:43 +02:00
yuyi 77593d6c68
cgen: minor cleanup of infix_expr.v (#14070) 2022-04-19 12:42:43 +02:00
yuyi 0d4d4ffc2d
ast, checker, cgen: fix aggregations type check (#14066) 2022-04-19 12:42:43 +02:00
spaceface 090a9755db
builtin: compile the gc statically by default (#14063) 2022-04-19 12:42:43 +02:00
Ikko Ashimine 186c056a46
io: fix typo in readerwriter.v (#14060)
ci/woodpecker/push/woodpecker Pipeline failed Details
seperate -> separate
2022-04-17 16:52:49 +02:00
yuyi f33bccc111
checker, cgen: minor cleanup of last expr stmt expression (#14057) 2022-04-17 16:52:49 +02:00
yuyi 5e98ea12c8
checker, cgen: fix error for if expr with generic sumtype (#14056)
ci/woodpecker/push/woodpecker Pipeline failed Details
2022-04-17 12:14:33 +02:00
Vincenzo Palazzo 9f9d24d616
checker: ensure that the variant SubType exists (#14053)
Signed-off-by: Vincenzo Palazzo <vincenzopalazzodev@gmail.com>
2022-04-17 12:14:33 +02:00
Delyan Angelov 53fde9c812
v.util: always compile vfmt with `-d vfmt` to enable more efficient parsing 2022-04-17 12:14:33 +02:00
Julien de Carufel 72a7c19f83
cgen: fix infix generics bug (#14048) 2022-04-17 12:14:33 +02:00
Delyan Angelov 2d9d4f86a8
v.pref: show the VCROSS_COMPILER_NAME notice only when the output is not a .c file 2022-04-17 12:14:32 +02:00
Delyan Angelov 0fd92699e7
ci: add test_byte_vs_u8 to int_test.v 2022-04-17 12:14:32 +02:00
Delyan Angelov 807038be66
ci: fix typeof_simple_types_test.v 2022-04-17 12:14:32 +02:00
Delyan Angelov 409fc2b1ee
ci: fix typeof_simple_types_test.v 2022-04-17 12:14:32 +02:00
Delyan Angelov f1eab54c04
ci: fix generic_fn_infer_struct_test.v 2022-04-17 12:14:32 +02:00
Delyan Angelov a33fa316b0
ci: fix code_test.v 2022-04-17 12:14:31 +02:00
Delyan Angelov 2136cba9fa
ci: fix coutput_test.v 2022-04-17 12:14:31 +02:00
Delyan Angelov b087105ce6
ci: fix fmt_test.v 2022-04-17 12:14:31 +02:00
Delyan Angelov aef5b1a05c
ci: fix `./v check-md -hide-warnings .` 2022-04-17 12:14:31 +02:00
Delyan Angelov 9a2e29a898
ci: fix `./v -progress test-cleancode` 2022-04-17 12:14:31 +02:00
Delyan Angelov 03ff1b6919
ci: fix more test-all failures 2022-04-17 12:14:31 +02:00
Delyan Angelov a9d9852b40
ci: more gen.js fixes 2022-04-17 12:14:30 +02:00
Delyan Angelov 3702445fb3
ci: fix failing tests for mysql, crypto.rc4, strings 2022-04-17 12:14:30 +02:00
Alexander Medvednikov 0c2984ff93
parser: do not allow [x]byte{} 2022-04-17 12:14:30 +02:00
Delyan Angelov 4da9c52b91
ci: fix `v build-examples` 2022-04-17 12:14:30 +02:00
Delyan Angelov cb6d94bb47
checker: fix tests (adjust byte to u8 in .out files too) 2022-04-17 12:14:30 +02:00
Delyan Angelov 7e2e510e5f
builtin: fix failing embed_file_test.v (`pub fn (data &u8) vbytes(len int) []u8 {`) 2022-04-17 12:14:29 +02:00
Alexander Medvednikov 7d1ccf7dcd
all: handle fixed []u8 2022-04-17 12:14:29 +02:00
Alexander Medvednikov de310491bb
tests: use u8 everywhere 2022-04-17 12:14:29 +02:00
Alexander Medvednikov 80b35fe0c6
all: ~500 more byte=>u8 2022-04-17 12:14:29 +02:00
Alexander Medvednikov 9521665f00
websocket, utf: u8 fixes 2022-04-17 12:14:29 +02:00
Alexander Medvednikov 69eec2590d
sokol: byte => u8 2022-04-17 12:14:29 +02:00
Alexander Medvednikov 3ddd136ced
net: fix byte buffers 2022-04-17 12:14:28 +02:00
Alexander Medvednikov bbfd6900fa
net: byte fixes 2022-04-17 12:14:28 +02:00
Alexander Medvednikov f293874c05
all: replace []byte with []u8 2022-04-17 12:14:28 +02:00
Alexander Medvednikov 9b276a4138
ast: remove .byte 2022-04-17 12:14:28 +02:00
Alexander Medvednikov 18c4a8faa5
os: fix Process on windows 2022-04-17 12:14:28 +02:00
Alexander Medvednikov 0a49e91ed8
builtin: fix windows fn definitions 2022-04-17 12:14:27 +02:00
Alexander Medvednikov be52a4297c
builtin: update alloc fn definitions 2022-04-17 12:14:27 +02:00
Alexander Medvednikov 25d730618f
encoding.base64: use u8 2022-04-17 12:14:27 +02:00
Alexander Medvednikov 7ecbca345f
all: byte => u8 2022-04-17 12:14:27 +02:00
Alexander Medvednikov 51c65e41fd
builtin: [1000]u8 fix 2022-04-17 12:14:27 +02:00
Alexander Medvednikov 2a84f6db95
all: byte => u8 2022-04-17 12:14:26 +02:00
Alexander Medvednikov 9334a0264f
builtin: more byte => u8
ci/woodpecker/push/woodpecker Pipeline failed Details
2022-04-15 13:13:18 +02:00
Alexander Medvednikov 8cfc8a1022
cgen: remove byte references from cheaders.v 2022-04-15 13:13:17 +02:00
Alexander Medvednikov 46d952aad6
builtin: more byte=>u8 2022-04-15 13:13:17 +02:00
Alexander Medvednikov 93f9673aa0
all: make u8 the primary type, byte the alias 2022-04-15 13:13:17 +02: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