Commit Graph

2750 Commits (e9a8f5fcc7a0dc4d875b6c84a709a425e434c238)

Author SHA1 Message Date
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 b8e8768928
parser, cgen: fix cross assign with parentheses (#14545) 2022-05-28 12:02:17 +03:00
spaceface 52a3e5e780
cgen: fix a race condition in the closure implementation (#14532) 2022-05-27 17:35:02 +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
Larpon 6c08af63ff
embed_file: rename debug_embed_file_in_prod -> force_embed_file (#14523) 2022-05-25 18:26:17 +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 5ade39f8db
cgen: fix sizeof('str') and sizeof(r'str') (#14507) 2022-05-24 05:14:38 +03:00
yuyi 4ef9e2c05a
parser: fix sizeof(c'str') (fix #14499) (#14502) 2022-05-23 01:59:39 +03:00
Daniel Däschle 5e95bdc451
checker: allow but deprecate propagating result as option (#14500) 2022-05-23 00:11:29 +03:00
Daniel Däschle d3ffd983c8
markused: add _result_ok (#14495) 2022-05-22 14:52:38 +03:00
Delyan Angelov c0dcc80e18
cgen: support `-profile -` for _test.v files too 2022-05-21 10:59:01 +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
StunxFS 11bdb04d0c
json: fix struct field default value support (#14304) 2022-05-20 11:22:17 +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
yuyi 4cbfa884c5
cgen: fix another error for 'in array of sumtype' (#14448) 2022-05-18 14:39:35 +03:00
yuyi 417a6dc506
cgen: fix error for 'in array of sumtype' (#14444) 2022-05-18 08:51:31 +03:00
spaceface b5fb848508
cgen: reduce the closure memory usage (#14437) 2022-05-18 02:34:51 +03:00
Alexander Medvednikov 2a06290ac7 cgen: fix eq generation for translated code 2022-05-17 15:30:05 +03:00
yuyi 020845f6c3
cgen: fix alias of array that has builtin method (#14432) 2022-05-17 12:26:26 +03:00
yuyi 60e817ff32
cgen: minor optimization in index_of_array/map() (#14429) 2022-05-17 12:08:44 +03:00
Alexander Medvednikov d10f83ce15 cgen: fix c2v struct eq 2022-05-17 03:39:48 +03:00
Delyan Angelov 9cb8bb2968
Revert "Revert "checker: allow using methods as vars when expecting a ctx arg (#14414)""
This reverts commit e5c7fe3006.
2022-05-16 21:29:47 +03:00
yuyi c624de8523
cgen: fix struct field array index error (#14417) 2022-05-16 19:37:39 +03:00
Delyan Angelov e5c7fe3006
Revert "checker: allow using methods as vars when expecting a ctx arg (#14414)"
This reverts commit 36bec823c2.
2022-05-16 14:19:33 +03:00
yuyi d59f4e9479
ast, cgen: fix generic method with variadic generic argument (#14404) 2022-05-16 12:26:38 +03:00
yuyi 0ab4133128
cgen: minor cleanup in struct_init() (#14405) 2022-05-16 12:22:51 +03:00
spaceface 36bec823c2
checker: allow using methods as vars when expecting a ctx arg (#14414) 2022-05-16 12:05:08 +03:00
spaceface c01a8a1737
checker,gen: allow using methods as function pointers (#14407) 2022-05-15 18:28:37 +03:00
crthpl e4065bd57b
checker,cgen: fix if expressions in lock expression (#14384) 2022-05-15 12:31:07 +03:00
yuyi fe9f97074b
cgen: fix appending struct to interface array (#14388) 2022-05-14 17:49:42 +03:00
yuyi 3c95504a35
checker, cgen: fix generic fn with array and fixed array arguments (#14385) 2022-05-13 06:57:48 +03:00
Daniel Däschle d679146a80
fmt: remove space in front of ? and ! (#14366) 2022-05-13 06:56:21 +03:00
spaceface 49382f1f43
gen: make the closure implementation more performant (#14352) 2022-05-12 00:05:14 +03:00
yuyi 5697d4375b
cgen: fix error for printing aliases of multi fixed array (#14348) 2022-05-10 14:03:18 +03:00
yuyi b04d46770b
ast, checker, cgen: fix error for generic method with generic fn type argument (fix #14239) (#14333) 2022-05-07 20:22:20 +03:00
yuyi 724e7f037a
cgen: fix error for if cond with optional expr (#14334) 2022-05-07 20:20:00 +03:00
Alexander Medvednikov 14f06ead1b cgen: fix c2v consts; enum_decl() 2022-05-07 00:58:37 +03:00
Hunam 0699f324b5
builtin: add `map.values()` (#14301) 2022-05-06 20:42:01 +03:00
Daniel Däschle 76cdf75299
builtin,cgen: rename `Option` to `_option` (#14317) 2022-05-06 19:25:54 +03:00
Ned 76a7354506
builtin: add libbacktrace as option for generating stack traces (#14277) 2022-05-04 21:17:05 +03:00
yuyi f321422964
checker, cgen: check comptime selector that has no field name (#14282) 2022-05-04 07:06:52 +03:00
yuyi 3732db2bcc
cgen: cleanup in gen_array_contains_methods() (#14274) 2022-05-03 20:46:07 +03:00
yuyi 276bd8060c
cgen: fix error for fixed array in operate (#14269) 2022-05-03 12:45:04 +03:00
Delyan Angelov 0e5c1cee48
builtin: improve musl/Alpine support (define weak backtrace/backtrace_symbols/backtrace_symbols_fd symbols) (#14250) 2022-05-03 09:17:53 +03:00
spaceface db185598d2
checker: refactor comptime_if_branch (#14259) 2022-05-02 22:24:20 +03:00
playX afbe6bf3a2
cgen: fix const decl gen when translated (#14255) 2022-05-02 15:01:59 +03:00
yuyi 968d2b4654
cgen: fix fixed array init with `it` (#14251) 2022-05-02 02:00:45 +03:00
spaceface 332e821518
checker, gen: add support for a [minify] struct attribute (#14247) 2022-05-02 01:59:17 +03:00
Daniel Däschle ec92d467d1
cgen: fix unsafe return error (#14233) 2022-04-30 17:31:28 +03:00
Daniel Däschle 9f8a34a528
all: rename result to _result (#14232) 2022-04-30 17:10:30 +03:00
spaceface dab649ec8a
cgen: rewrite the closure implementation (#14223) 2022-04-30 09:32:46 +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 db185e6580
checker: check for reserved type names in `for in` (fix #14072) (#14212) 2022-04-30 01:25:29 +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 dd94ab890a
cgen: fix go anon fn call with ref argument (fix #14192) (#14197) 2022-04-28 14:43:20 +03:00
Delyan Angelov be04ec0620
pref: add support for `-thread-stack-size 4194304` (default set to 8MB) (#14168) 2022-04-28 08:46:33 +03:00
Delyan Angelov f53b9b4f12
ci: fix tcc compilation of atomic_test.v 2022-04-27 22:50:18 +03:00
yuyi 752e105f25
cgen: fix error for generic sumtype casting to typenode (#14188) 2022-04-27 11:32:43 +03:00
yuyi be513b4c27
cgen: split up array_init() (#14178) 2022-04-26 20:58:47 +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 aeba110d01
cgen: fix error for printing multi fixed array (#14141) 2022-04-25 14:42:05 +03:00
yuyi 88f22b4367
cgen: fix error for anon fn decl inside ternary (#14150) 2022-04-25 12:36:03 +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
fleur ddbe812f1b
cgen: add callconv support for fns from ptr (#14151) 2022-04-25 08:51:03 +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
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 8a18f9175a
cgen: fix error for if expr with nested match expr (#14122) 2022-04-21 13:02:31 +03:00
ChAoS_UnItY c5824c36f2
checker, cgen: allow static (fixed) arrays in `in` operator (#14121) 2022-04-21 10:32:29 +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
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
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
Julien de Carufel 16ead4e63c
cgen: fix infix generics bug (#14048) 2022-04-16 13:23:19 +03:00
Delyan Angelov 87a373d82c
ci: fix coutput_test.v 2022-04-15 21:18:55 +03:00
Delyan Angelov bb2a324d61
ci: more gen.js fixes 2022-04-15 20:51:04 +03:00
Delyan Angelov 6f5a513d8b
ci: fix `v build-examples` 2022-04-15 20:31:10 +03:00
Alexander Medvednikov 78cb6e2b41 all: handle fixed []u8 2022-04-15 18:35:56 +03:00
Alexander Medvednikov fbb9e65c0f all: ~500 more byte=>u8 2022-04-15 18:25:45 +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 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 1e7eb713fb cgen: remove byte references from cheaders.v 2022-04-15 14:04:53 +03:00