Commit Graph

6813 Commits (9ea88c090bb441c8cb1962ac4c74786f895c9321)

Author SHA1 Message Date
Anton Zavodchikov 1ad4623fb8
tmpl: move to v/parser (#9052) 2021-03-15 13:35:55 +02:00
yuyi 2d2e4610e7
cgen: make use of mut_rec in method consistent (#9308) 2021-03-15 12:22:52 +02:00
yuyi e235022e10
cgen: fix error of for_in map_literal (#9310) 2021-03-15 12:22:32 +02:00
Delyan Angelov 3951c351c6
os: simplify Process (remove chainability of Process method calls) 2021-03-15 09:23:43 +02:00
Delyan Angelov 25c07c2f43
v.ast: handle more expressions in Expr.str() 2021-03-15 06:27:56 +02:00
zakuro 80ac1aaf93
fmt: use type_to_str_using_aliases (#9306) 2021-03-15 06:27:08 +02:00
yuyi 945769a4f6
all: implement reference receiver optimization for big structs (#9268) 2021-03-14 18:11:21 +01:00
StunxFS 92e95f127a
checker: correct type check for generic function with ternary if return (#9296) 2021-03-14 19:01:32 +02:00
yuyi e677daf608
cgen: fix array_sort and format array_filter/map generated codes (#9303) 2021-03-14 18:47:43 +02:00
Delyan Angelov 2f4a49994a
builtin: implement support for `-d debug_malloc` too 2021-03-14 18:29:00 +02:00
Delyan Angelov d65ad68e77
builtin: add 0 terminators for strings returned by .to_lower, .to_upper, utf32_to_str_no_malloc/2 2021-03-14 18:21:45 +02:00
Delyan Angelov b6d089b605
v.depgraph: ensure `v -d debug_realloc -o v cmd/v` works 2021-03-14 16:15:33 +02:00
Enzo db152868c0
fix: fix infering int and float literal in generic fn calls (#9287) 2021-03-14 15:00:47 +02:00
yuyi c0779e8455
cgen: fix return_statement generated redundant `;` (#9299) 2021-03-14 14:58:17 +02:00
Delyan Angelov 125be84e3d
builtin: fix `-d debug_realloc`, add realloc_data/3 2021-03-14 14:54:35 +02:00
Delyan Angelov ddbe57e00a
v test-cleancode: ensure more .v files are kept vmft-ed 2021-03-14 12:17:31 +02:00
spaceface eebc8a9d7a
builtin: cleanup option names (part 2) (#9294) 2021-03-14 12:11:52 +02:00
zakuro 8dc0e4d150
v.scanner: decode \uXXXX in scanner (#9298) 2021-03-14 12:09:17 +02:00
Delyan Angelov 69f1e7c9c3
v: fixes for `v -autofree -o v2 cmd/v` 2021-03-14 09:37:38 +02:00
Leah Lundqvist 64d0006ff9
jsgen: fix string and array for loops and improve casting (#9295) 2021-03-14 08:20:01 +02:00
Nick Treleaven df46fe1373
builder: warn when using tcc with -prod (#9288) 2021-03-14 01:55:14 +01:00
spaceface 9ed9e7aff0
builtin: cleanup option names (part 1) (#9293) 2021-03-14 01:54:46 +01:00
yuyi 5a6b321656
cgen: format if_guard_expr generated c codes (#9290) 2021-03-14 01:54:05 +01:00
spaceface e9797c618a
all: implement error interfaces (#9291) 2021-03-13 18:13:50 +01:00
Alexander Medvednikov 167dcc415d tests: fix a generic init test 2021-03-13 18:46:02 +03:00
Alexander Medvednikov f86233c41f autofree: fix [manualfree] 2021-03-13 18:43:02 +03:00
Alexander Medvednikov 2f1810634e checker: do not allow direct initialization of builtin types (s := string{}) 2021-03-13 18:20:46 +03:00
Lukas Neubert f648e3f10d
fmt: use iembed cmts in arrays at line start when exprs come afterwards (#9285) 2021-03-13 09:58:50 +02:00
Ulises Jeremias Cornejo Fandos 5e02f6358c
math: add a test suite taken from vsl/vmath (#9280) 2021-03-13 09:05:02 +02:00
Nick Treleaven c06e58d418
gen: fix generating `$if expr || expr` (#9270) 2021-03-13 08:45:50 +02:00
Lukas Neubert fecf4a6f58
os: fix rmdir_all panic with hidden dirs (#9271) 2021-03-13 08:43:38 +02:00
Andréas Livet 603012be94
gg: add draw_image_part (#9277) 2021-03-13 08:39:10 +02:00
Vitalie Lazu cccca51788
pg: support for copy sql commands (#9272) 2021-03-13 08:06:53 +02:00
zakuro 00dedaf6c1
scanner: replace ascii unicode(\u0020) with hex(\x20) (#9259) 2021-03-13 08:02:42 +02:00
Subhomoy Haldar 08da33fa5a
rand: add non uniform distributions in the `rand.dist` module (#9274) 2021-03-12 21:24:43 +02:00
Delyan Angelov 0c33656a19
ci: fix failing option_print_errors_test.v 2021-03-12 20:36:19 +02:00
spaceface be409b52e9
builtin: prepare for error interfaces (#9043) 2021-03-12 20:05:05 +02:00
Delyan Angelov c474106511
cgen: fix match expression with complex boolean conditions 2021-03-12 19:55:33 +02:00
StunxFS 3cb1bb7c36
checker: check the amount of parameters passed to `json.decode()` (#9267) 2021-03-12 19:02:09 +02:00
StunxFS 90d942e2ec
os: add missing '.exe' in os_test.v (#9269) 2021-03-12 18:05:29 +02:00
Nick Treleaven 9db8a61b92
checker: disallow array append in an expression (#9265) 2021-03-12 16:09:01 +01:00
Uwe Krüger dbbf96702b
checker: require `shared a` to be `rlocked` to read `a[i]` or `a.e` (#9266) 2021-03-12 16:08:39 +01:00
Delyan Angelov def53fd73f
os: prevent os.exists_in_system_path() from panicing 2021-03-12 17:05:26 +02:00
Delyan Angelov 995db65471
os: fix os.cp_all, by making the dst folder, if it does not exist already 2021-03-12 16:29:27 +02:00
Nick Treleaven e229d0c1c3
checker: improve error message for invalid property (#9263) 2021-03-12 14:18:52 +02:00
Nick Treleaven 3be78d6777
parser: require anonymous fn to use `_` for unused parameters (#9262)
Fixes a C error with gcc.
2021-03-12 14:17:37 +02:00
yuyi 504b87bcfd
checker: minor cleanup in if_expr() (#9258) 2021-03-12 13:40:05 +02:00
Lukas Neubert cfbb783649
fmt: fix linebreak in non-block consts (#9260) 2021-03-12 12:27:05 +02:00
Lukas Neubert a67d49050c
math: add a pure V `math.mathutil`, with generic `min`, `max` and `abs` functions (#9176), and use it consistently 2021-03-12 11:28:04 +02:00
Alexander Medvednikov 530b981765 vweb: mark send_response_to_client with [manualfree] 2021-03-12 01:11:43 +03:00
Lukas Neubert c40ab0db72
fmt: fix removal of attrs with comments afterwards (#9255) 2021-03-11 21:44:33 +01:00
StunxFS 04c4f16f75
checker: minor changes to `Checker.hash_stmt()` (#9249) 2021-03-11 21:43:42 +01:00
StunxFS 8f08795689
checker: warn/error about empty const blocks (#9252) 2021-03-11 21:43:04 +01:00
yuyi 9fbb139e29
checker: check map copy error in fn_mut_arg (#9242) 2021-03-11 15:19:36 +01:00
Miccah f26d2f02b7
ast, cgen, checker, parser: support method arguments in comptime $for (#9208) 2021-03-11 15:04:34 +02:00
StunxFS 8de6511056
cgen: minor optimization to `for ch in "StringLiteral"` (#9240) 2021-03-11 15:01:53 +02:00
yuyi a547e889af
checker: check array literal modify error (#9243) 2021-03-11 14:57:04 +02:00
Lukas Neubert f69cef397c
fmt: do not insert a space before struct declaration generics (#9239) 2021-03-11 14:54:40 +02:00
spaceface 7d0cba5e96
v.ast: remove the `stmt.position()` method (#9233) 2021-03-11 14:50:02 +02:00
Delyan Angelov 6628bbc690
cgen: use the new __offsetof_ptr macro 2021-03-11 13:14:36 +02:00
Delyan Angelov 144546543c
cgen: add the __offsetof_ptr C macro 2021-03-11 13:08:45 +02:00
Delyan Angelov 5a231326d7
parser: improve syntax errors in module declarations 2021-03-11 10:42:36 +02:00
StunxFS 6a7ef4f5b2
v.scanner: fix position of hash statements (#9222) 2021-03-10 20:23:17 +02:00
penguindark c554e0b33d
gg.m4: fix a bug on translate, remove abs fn (#9224) 2021-03-10 20:20:17 +02:00
zakuro f280a5c230
checker: extract into call_array_builtin_method to cleanup (#9225) 2021-03-10 20:19:39 +02:00
zakuro ef73e07e62
checker: split fn_decl into functions to cleanup (#9226) 2021-03-10 20:18:48 +02:00
zakuro 791dec7b01
v: support `$if prod` (#9228) 2021-03-10 19:26:34 +02:00
Enzo 99abd46ac9
os: add `(read|write)_raw[_at]` to File (#9171) 2021-03-10 18:45:12 +02:00
Swastik Baranwal 8d84206a8c
cgen: fix match for one branch (#9234) 2021-03-10 18:44:32 +02:00
spaceface eefdad21c7
cgen: cleanup interface/sumtype casts (#9221) 2021-03-10 18:41:11 +02:00
Larpon 0a39c2b9ea
gg: expand C.ANativeActivity struct definition (#9231) 2021-03-10 18:38:20 +02:00
yuyi a187a4abb3
checker: check non-optional fn return or_block (#9227) 2021-03-10 12:53:23 +01:00
Delyan Angelov 0d2bb714bc
checker: disallow `x := [13]SumType{}` too 2021-03-10 11:07:36 +02:00
Delyan Angelov f5ebfefdc9
ci: use a smaller fixed size array for the const eval test (fixes failing windows job) 2021-03-10 10:40:41 +02:00
Joe Conigliaro fd2845e955
v.util: change naming behaviour for modules relative to working dir. closes #9138 2021-03-10 16:28:06 +11:00
Delyan Angelov 96a9e16e64
checker: allow `a := [5*kb]byte{}` where `kb` is a compile time known const too 2021-03-09 20:21:36 +02:00
Delyan Angelov 26cfd0eda9
checker: eval `const a = 1024 * 1024` and other simple integer expressions at compile time 2021-03-09 20:07:08 +02:00
spaceface f1469a8761
checker: allow accessing fields common to all sumtype members (#9201) 2021-03-09 19:16:18 +02:00
yuyi c4b0fdcbaf
cgen: fix for_in fixed_array of fixed_array literal (#9206) 2021-03-09 16:18:07 +02:00
yuyi e67ce5ea7b
cgen: fix error of alias interpolation (#9209) 2021-03-09 13:25:31 +02:00
Ned Palacios 114a7db6e5
vdoc: fix symbol filtering (#9210) 2021-03-09 13:05:50 +02:00
zakuro 00399b49ab
v.util: add util.tabs() (#9211) 2021-03-09 13:03:25 +02:00
yuyi fbc02cbc54
csv: fix reader_test.v (#9204) 2021-03-09 03:53:02 +01:00
Vassilis Panagiotopoulos b893373e63
cgen: make .alias fields in structs use their proper string format, instead of the default %d (#9197) 2021-03-08 23:36:59 +02:00
Delyan Angelov d7049ae2da
os: deprecate os.exec (returning ?os.Result), in favour of os.execute, which returns os.Result (#8974) 2021-03-08 20:52:13 +02:00
yuyi 10c9f61d61
checker: check empty map invalid syntax (fix #9162) (#9186) 2021-03-08 19:48:17 +02:00
StunxFS 9a7d9e047b
dl: move 'example' to 'examples/dynamic_library_loading' (#9187) 2021-03-08 18:21:43 +02:00
Taegon Kim 4d24cb0158
darwin: fix the C. function declarations (#9194) 2021-03-08 17:18:26 +02:00
yuyi b64d781a20
csv: fix error of read() (#9193) 2021-03-08 16:57:02 +02:00
yuyi 568faeed77
cgen: add `expr_string() and remove redundant codes (#9188) 2021-03-08 12:46:39 +02:00
yuyi f2e570d63c
tests: add `for` tests of labelled continue and break (#9189) 2021-03-08 12:45:12 +02:00
Delyan Angelov 33bd22eda9
vlib/v/gen/tests: remove obsolete generation tests (used during the AST migration from v1 to v2) 2021-03-07 18:47:58 +02:00
pancake ed9ca0b7bd
build: add address sanitizer make target (#9044) 2021-03-07 16:44:54 +01:00
zakuro 4c3ce97763
parser: fix Enum.value when Enum is an imported symbol (#9046) 2021-03-07 16:44:38 +01:00
Miccah a1e0f2bc46
gen: add argument names to compile-time method struct (#9174) 2021-03-07 14:28:43 +01:00
yuyi 1b47e2953d
checker: check undefined ident of struct (#9164) 2021-03-07 14:09:38 +01:00
Delyan Angelov f1c4e962f4
tests: add tests for `-d debug`, `-cg`, `-g` in combination for `[if debug]fn` etc 2021-03-07 12:42:30 +02:00
Delyan Angelov 64bc2fb40a
v: fix `[if debug] fn abc(){} ... abc()` 2021-03-07 12:05:07 +02:00
Delyan Angelov c15de57f0f
tests: simplify the profile_test.v example program to not use `net`
(avoids unrelated openssl dependency)
2021-03-07 12:05:06 +02:00
Delyan Angelov d0b89c5675
tests: rename for_c_multi_vars.v to for_c_multi_vars_test.v 2021-03-07 12:05:06 +02:00