Commit Graph

609 Commits (e6c3de2f466a72d05ebe816b65d5b3eff60fc48c)

Author SHA1 Message Date
Daniel Däschle 9f8a34a528
all: rename result to _result (#14232) 2022-04-30 17:10:30 +03:00
Alexander Medvednikov ce31a01a70 checker: allow voidptr arithmetic in translated code 2022-04-30 05:52:37 +03:00
Daniel Däschle 08fd0ce0de
all: basic implementation of result type (#14140) 2022-04-30 01:59:14 +03:00
StunxFS 995485c649
builtin: add `string.len_utf8()` method (#14208) 2022-04-29 10:23:57 +03:00
StunxFS 8b798acadd
cgen: fix use of C reserved words inside `defer` statement (fix #14101) (#14211) 2022-04-29 08:04:59 +03:00
StunxFS e24482a143
transformer: minor optimization for `'string literal'.len` (#14207) 2022-04-28 22:35:16 +03:00
yuyi 752e105f25
cgen: fix error for generic sumtype casting to typenode (#14188) 2022-04-27 11:32:43 +03:00
yuyi 660201c188
cgen: fix error for cast to empty interface (fix #14162) (#14176) 2022-04-26 13:26:48 +03:00
yuyi 38afd74d26
ast, checker, cgen: fix error for multi-return in or expr (fix #14167) (#14172) 2022-04-26 12:17:05 +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
yuyi ce4c2afc9c
checker, cgen: use 'stmts.last()' instead of 'stmts[stmts.len - 1]' (#14105) 2022-04-20 14:23:32 +03:00
Delyan Angelov 006df58451
checker, cgen: add support for #insert, to simplify bootstrapping V 2022-04-19 19:37:04 +03:00
Alexander Medvednikov fbb9e65c0f all: ~500 more byte=>u8 2022-04-15 18:25:45 +03:00
Alexander Medvednikov 0527ac633e ast: remove .byte 2022-04-15 15:30:37 +03:00
Alexander Medvednikov d4a0d6f73c all: byte => u8 2022-04-15 14:58:56 +03:00
Alexander Medvednikov 014c3c97f0 all: byte => u8 2022-04-15 14:45:52 +03:00
Alexander Medvednikov e6ff1508d2 all: make u8 the primary type, byte the alias 2022-04-15 13:43:03 +03:00
Alexander Medvednikov 3b36f16365 all: volatile globals 2022-04-15 02:39:38 +03:00
fleur 68401d9dc8
gen: add callconv attribute for fn and type (#14027) 2022-04-14 11:29:52 +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
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
crthpl afb07e0e16
cgen: fix deadlock when returning multiple values in lock (#14014) 2022-04-12 09:21:27 +03:00
Daniel Oberhoff 58febe4607
cgen: fix autofree of heap variables (#13823) 2022-04-09 17:37:39 +03:00
yuyi 617608b23d
cgen: fix optional struct declarations for empty structs (#13970) 2022-04-08 14:51:37 +03:00
Joe Conigliaro 8dc2601080
all: comptime_call - simplify tmpl scoping, solves many issues. 2022-04-08 17:33:24 +10:00
crthpl b232a3b0d1
cgen: fix `.filter()` and `.map()` on shared arrays (#13954) 2022-04-07 18:05:11 +03:00
yuyi f6b8e1e13f
cgen: fix error for const using nested optionals (#13939) 2022-04-05 05:58:11 +03:00
yuyi bc98c11d9d
parser, checker, cgen: minor cleanup of go_expr() (#13875) 2022-03-31 19:58:04 +03:00
Cameron Katri b15240185e
builder,cgen: iOS fixes (#13883) 2022-03-31 11:51:13 +03:00
Delyan Angelov 8121a8ada0 ci,cgen: comment out including stdbool.h for now
Fails tcc tests on windows, see: https://github.com/vlang/v/runs/5749951315?check_suite_focus=true
and vlib/v/checker/tests/globals_run/function_stored_in_global.vv
2022-03-30 14:26:20 +03:00
Delyan Angelov 566735b298 cgen: add `nil` to c_reserved (it is a macro defined in MacTypes.h on macos) 2022-03-30 13:33:03 +03:00
Cameron Katri 093994655c
v.builder: fix iOS compilation from non-macOS, allow -cc to override the default cross compiler (#13866) 2022-03-30 10:26:13 +03:00
yuyi 509367b293
cgen: minor cleanup in expr_is_multi_return_call() (#13846) 2022-03-28 20:38:23 +03:00
yuyi 62553dcc2e
cgen: fix crash for casting bool to int (fix #13825) (#13844) 2022-03-28 12:20:47 +03:00
Alexander Medvednikov 0248349e7c cgen: global/const fixes 2022-03-25 23:33:01 +03:00
Delyan Angelov ddc2c49365
cgen: autofree out of scope variables in reverse order of their creation 2022-03-25 09:39:12 +02:00
yuyi 78d9975798
ast, cgen: restore Type.str() and fix error for it (#13815) 2022-03-24 11:45:06 +02:00
yuyi dff39bac78
cgen: fix error for defining global anonymous functions (#13808) 2022-03-23 08:09:15 +02:00
yuyi a9837ba95d
cgen: minor cleanup in go_expr() (#13801) 2022-03-22 12:07:46 +02:00
yuyi c0437afbcd
cgen: fix error for casting int to interface (#13790) 2022-03-21 21:18:11 +02:00
El Koulali András f5036629ca
cgen: add `true` and `false` to C reserved words (#13781) 2022-03-21 11:00:30 +02:00
Alexander Medvednikov 80c94ea73e cgen: fix c2v consts in .o files 2022-03-21 04:56:37 +03:00
yuyi c4b424717c
cgen: fix error for map get anon fn value (#13782) 2022-03-21 00:20:55 +02:00
Delyan Angelov caa0e25939
cgen: fix struct type dependency sorting, when struct field types, are aliases to struct types from other modules (#13779) 2022-03-20 20:23:48 +02:00
yuyi 3e40cd5baa
ast, checker, cgen: fix error for go anon fn variable call (#13776) 2022-03-20 07:45:23 +02:00
Nick Treleaven 00563a130d
cgen: fix double evaluation of rvalue array expression in slice (#13737) 2022-03-18 11:43:15 +02:00
yuyi f7feb634d2
checker: fix error for if mut with immutable variable (#13728) 2022-03-13 16:33:50 +02:00
yuyi 27f9bc9ba0
checker: check error for match mut with immutable variable (fix #9704 #8976) (#13725) 2022-03-13 09:53:29 +02:00
Alexander Medvednikov 36ec47cd20 all: replace "NB:" with "Note:" (docs/comments) 2022-03-06 20:01:22 +03:00
yuyi 6380b9eb15
cgen: minor cleanup of struct.v (#13661) 2022-03-05 17:19:20 +02:00
Delyan Angelov 3364f2aadf
cgen: use ADDR for sumtype conversion instead of HEAP (fix regression after 7f8f571) 2022-03-03 11:44:24 +02:00
yuyi 7f8f571ed2
cgen: fix error for optional cast to interface (#13623) 2022-03-01 19:21:55 +02:00
Joe Conigliaro 3b6e122d9d
all: comptime_call - update tmpl scope vars with caller scope vars after their properties got updated in checker 2022-03-01 02:13:29 +11:00
Delyan Angelov 4a765bc33b
cgen: support `-d trace_gen_source_line_info` 2022-02-21 23:04:10 +02:00
playX b842e89acc
all: initial implementation of compile-time types (#13549) 2022-02-21 17:42:54 +02:00
yuyi 09f08e1fee
cgen: fix error for interface and embedded struct build (#13530) 2022-02-19 20:43:40 +02:00
yuyi 0236931c78
cgen: fix generics with reference generic arguments (#13525) 2022-02-19 15:19:50 +02:00
Joe Conigliaro d739abbb3f
cgen: move var decl out of loop in global_decl() 2022-02-18 00:42:54 +11:00
Joe Conigliaro 07b15a209a
cgen: fix for prev commit - get usecache working with clang (fix duplicate symbols) 2022-02-17 22:24:58 +11:00
Joe Conigliaro 6fc654821f
cgen: get usecache working with clang (fix duplicate symbols) 2022-02-17 22:17:07 +11:00
Alexander Medvednikov 5a14748e7c cgen: c2v enum fix 2022-02-16 12:05:32 +03:00
yuyi fb3dd82400
cgen: fix interface embedding complex cases (#13472) 2022-02-15 12:41:40 +02:00
crthpl e23db2f9b7
cgen: fix autogen free method for struct with shared field (#13469) 2022-02-15 03:55:06 +02:00
yuyi 5071a54b99
cgen: split up into for.v, match.v, struct.v (#13454) 2022-02-13 07:52:49 +03:00
Delyan Angelov 799c95dc4e
tests: filter test_ fns with params from the list of automatically run test functions (fix #13443) 2022-02-12 17:30:20 +02:00
yuyi ae0e90f5d8
cgen: fix struct init with embed field update (#13444) 2022-02-12 08:16:51 +03:00
yuyi 7178367de0
all: fix error for comptime for in field with generic fn (fix #13409) (#13439) 2022-02-11 22:00:13 +02:00
Tim Basel 9d0a5942ac
builtin: change IError `msg` and `code` to methods + fix vlib, add a deprecation notice for the old usages (#13041) 2022-02-11 15:52:33 +02:00
yuyi ece73836aa
cgen: fix error for struct with reference alias field (#13380) 2022-02-06 10:52:36 +02:00
Alexander Medvednikov f23d2c8cf4 cgen: c2v variadic fixes 2022-02-06 03:36:38 +03:00
div72 cec7e91714
v.parser, v.checker, v.gen: add support for [translated] tag (#13373) 2022-02-06 00:16:02 +02:00
Delyan Angelov 5faabe7464
Revert "cgen: fix error for struct with reference alias fields (#13374)"
This reverts commit 4d485ae687.
2022-02-05 18:52:37 +02:00
yuyi 4d485ae687
cgen: fix error for struct with reference alias fields (#13374) 2022-02-05 18:23:54 +02:00
crthpl c0c07db7cc
cgen: fix struct field init from shared struct field (#13343) 2022-02-02 10:55:57 +02:00
yuyi b10b65e134
cgen: fix error for interface with multi-nested embed struct (#13345) 2022-02-02 09:11:29 +02:00
Delyan Angelov d8cce0a71d
ci: fix cgen for interface_struct_with_multi_nested_embed_test.v for gcc/clang 2022-02-01 17:12:15 +02:00
yuyi a014844050
cgen: fix error for interface with multi nested embed structs (fix #13331) (#13336) 2022-02-01 14:50:12 +02:00
Benjamin Stigsen ceb05b163a
strings: rename Builder.write_b() to Builder.write_byte(), add deprecation (#13313) 2022-01-28 20:34:44 +02:00
yuyi 3bd528b218
ast, checker, cgen: fix error for map sumtype value init (#13290) 2022-01-27 09:44:34 +02:00
yuyi 291a1ffd8d
token: rename Position to Pos, rename position() to pos() (#13279) 2022-01-26 12:36:28 +02:00
yuyi ca1f675dba
ast, checker, cgen: implement if guard with multi return optional (#13273) 2022-01-25 14:36:33 +02:00
Delyan Angelov 5f38ba896e
parser,cgen: handle `const x = $embed_file("file.txt").to_string()` 2022-01-25 11:40:07 +02:00
crthpl cbd3c14e83
cgen: fix codegen for struct field with a shared array of points (#13222) 2022-01-21 17:08:19 +02:00
Delyan Angelov 295156e054
checker,cgen: implement v.profile.on/1, support `[if profile]` and `-d no_profile_startup` (#13232) 2022-01-21 03:26:05 +02:00
yuyi 7c9cd855b4
cgen: fix fn call with fixed array literal arguments (#13225) 2022-01-20 15:04:16 +03:00
Tim Basel d714dcef75
cgen: fix return of mut symtype (#13214) 2022-01-19 14:37:40 +02:00
yuyi 851f265a5e
cgen: minor cleanup in match_expr() (#13192) 2022-01-17 11:26:20 +02:00
yuyi 315b2deda9
cgen: fix match sumtype var returning sumtype value (#13184) 2022-01-16 13:12:27 +02:00
Delyan Angelov b658b65774
scanner,cgen,vfmt: keep original when using byte char literals, test all 256 byte values in the C backend 2022-01-12 14:45:38 +02:00
jeffmikels f99b79480d
cgen: reduce memory allocation and improve performance of cescape_nonascii (#13141) 2022-01-12 10:58:37 +02:00
jeffmikels ab642cac43
scanner, cgen: improve support for escape codes in backticks/runes (#13127) 2022-01-11 22:36:18 +02:00
yuyi 1e52b2c134
cgen: fix cast in the index of reference fixed array (fix #13128) (#13131) 2022-01-11 10:55:29 +02:00
playX c07ce3ff15
cgen,json2: improve -nofloat support (#13117) 2022-01-10 12:42:41 +02:00
playX 4d166e3b55
all: add support for `-os wasm32` (needs clang-12 installed for now) (#13094) 2022-01-08 11:06:32 +02:00
playX ec91de3504
builtin: use dlmalloc for `-freestanding` (#13054) 2022-01-06 14:10:37 +02:00
yuyi fb66ec7cfb
cgen: fix codegen for aliases of fixed arrays of structs (fix #13037) (#13049) 2022-01-06 11:54:22 +02:00
Tim Basel 897bbb7da5
cgen: fix cgen removing random chars from parameter_name (#13038) 2022-01-05 13:06:06 +02:00
yuyi 6c1ae4f689
ast: simplify mktyp() (#13028) 2022-01-04 18:37:18 +02:00