Commit Graph

10220 Commits (ff8e286c887c637bb4760393e2a37010d92c9982)

Author SHA1 Message Date
Delyan Angelov dbaecdc058
cgen: simplify int(bool_var) casts; support [c_extern] tag for global declarations 2022-06-03 18:48:08 +03:00
yuyi daa94de93f
cgen: fix autofree_variable() (fix #14576) (#14602) 2022-06-03 17:41:30 +03:00
yuyi dcbd8d6405
cgen: fix if expr with optional method call (#14600) 2022-06-03 15:57:39 +03:00
ChAoS_UnItY 65066098d8
compress: Add gzip module & refactor compress & compress.zlib module (#14599) 2022-06-03 09:00:11 +03:00
yuyi 251716fa0e
vrepl: fix error for exitasdfasdf in repl (fix #14593) (#14598) 2022-06-02 19:59:57 +03:00
Delyan Angelov 9f7656f328
ci: vfmt vlib/v/checker/check_types.v 2022-06-02 19:02:34 +03:00
Delyan Angelov c892b3203e
checker: speed up check_expected_call_arg, by only calling Table.type_to_str on errors 2022-06-02 18:58:20 +03:00
Hunam 41414b5d5f
vlib: add `net.http.mime` (#14516) 2022-06-02 18:07:25 +03:00
Delyan Angelov aae5b9fb95
ast.table: cache the returned values of Table.type_to_str_using_aliases/2
This results in 9% speedup of the checker stage for V itself.
2022-06-02 17:53:30 +03:00
Delyan Angelov ed759b2ec9
ci: vfmt vlib/v/parser/parser.v 2022-06-02 15:55:13 +03:00
Delyan Angelov 031629faa1
tools: add cmd/tools/measure/scanner_speed.v and cmd/tools/measure/parser_speed.v 2022-06-02 13:50:25 +03:00
Delyan Angelov 9a0ec7f367
strings: update docs for .str() and for .free() 2022-06-02 10:41:32 +03:00
yuyi 545eaae77b
ast: fix IfExpr.str() (#14595) 2022-06-02 10:28:31 +03:00
Alexander Medvednikov 8b0e843cb8 checker, cgen: c2v variadic fixes 2022-06-02 09:35:25 +03:00
yuyi 10fb16e00b
parser: fix optional with multiple statements (#14592) 2022-06-02 08:23:16 +03:00
Ben e201665e92
os: fix file_ext function (#14566) 2022-06-02 07:09:46 +03:00
ChAoS_UnItY a95cdac635
cgen: fix type not being unaliased (fix #14568) (#14591) 2022-06-02 06:21:01 +03:00
yuyi 55951e0943
checker: minor cleanup in if_expr() (#14584) 2022-06-02 06:20:09 +03:00
yuyi 33a2d00445
cgen: fix fixed array of aliases struct (#14583) 2022-06-01 16:56:12 +03:00
Delyan Angelov bf70f0b436
v: add support for `v crun examples/hello_world.v`, use crun mode for .vsh files by default. (#14554) 2022-06-01 14:47:52 +03:00
yuyi 786045c7da
parser: fix comptime if script mode (fix #6419) (#14578) 2022-06-01 13:27:27 +03:00
Delyan Angelov 5a2c271bd4
cgen: do not #include signal.h, on -os wasm32 and -d no_segfault_handler 2022-06-01 13:21:22 +03:00
yuyi fefb9643b2
checker, cgen: fix array index optional with if expr (#14575) 2022-06-01 09:18:59 +03:00
Delyan Angelov 846ddfd728
v: always embed file data of \$embed_file(file) constructs, even without -prod, unless `-d embed_only_metadata` is given. 2022-06-01 09:08:18 +03:00
Alexander Medvednikov f40c30c3dc cgen: fix goto label 2022-06-01 06:34:04 +03:00
Alexander Medvednikov c54c9b817c cgen: c2v infix fix 2022-06-01 06:14:28 +03:00
Larpon 84e375e38a
toml: update readme with value_opt() usage (#14569) 2022-05-31 19:02:33 +03:00
yuyi 80cc88427b
scanner: minor cleanup in scanner.v (#14565) 2022-05-31 11:52:47 +03:00
playX db34adaec8
builtin.js: fix string.int method (#14564) 2022-05-31 11:52:11 +03:00
Delyan Angelov dc30089c74 v.util, v.builder: fix util.module_is_builtin on macos with -usecache 2022-05-31 09:30:45 +03:00
Ben 4ffdcf8058
os: add existing_path function (#14536) 2022-05-31 06:32:12 +03:00
Delyan Angelov 928dafeb6d
strconv: make f64_to_str_lnd1 public (fix building vlang/coreutils printf) 2022-05-30 22:14:22 +03:00
Delyan Angelov fc64f09f0b
crypto.md5: improve performance of md5.blockblock_generic 2022-05-30 21:56:39 +03:00
Delyan Angelov 0f3b2c2ae7
builtin: use C.fwrite (buffered) for _write_buf_to_fd (#14558) 2022-05-30 19:15:05 +03:00
Delyan Angelov 58ebc0680e
builtin: fix sporadic linking failures on `v -cc gcc -gc boehm examples/hello_world.v` 2022-05-30 15:17:01 +03:00
yuyi 844ba2a177
checker: vfmt overload_return_type.vv (#14557) 2022-05-30 13:49:13 +03:00
Hunam 78d1b7f4ef
net.http: `Response.text` -> `Response.body` (#14478) 2022-05-29 20:27:18 +03:00
yuyi 2c5febe25e
scanner: fix string interpolation with inner curly braces (fix #12242) (#14553) 2022-05-29 19:28:23 +03:00
yuyi 79d861ad4f
parser: fix cast or dump arguments ending with comma (#14552) 2022-05-29 09:15:55 +03:00
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 7dcc19df55
ast: fix call_expr.str() with propagate_option or propagate_result (#14550) 2022-05-28 20:47:29 +03:00
Delyan Angelov c6a6eb9a3c
ci: temporary workaround for cross assignment in a closure leading to cgen error 2022-05-28 13:21:59 +03:00
yuyi b8e8768928
parser, cgen: fix cross assign with parentheses (#14545) 2022-05-28 12:02:17 +03:00
yuyi a46cf10e92
checker: fix declare assign literal with closure (#14544) 2022-05-28 11:50:37 +03:00
Delyan Angelov 4894f61998
toml: add `pub fn (d Doc) value_opt(key string) ?Any {` and some tests for toml.parse_dotted_key/1 2022-05-28 09:18:18 +03:00
yuyi a971b9a99a
parser: fix match expr case with struct init (#14538) 2022-05-27 18:51:40 +03:00
spaceface 52a3e5e780
cgen: fix a race condition in the closure implementation (#14532) 2022-05-27 17:35:02 +03:00
Delyan Angelov f7995c8916
checker: fix error position in `fn f() int { return 1,2 }` 2022-05-27 16:53:24 +03:00
Louis Schmieder a83ac948a0
orm: document & fix pg (#14533) 2022-05-26 22:53:09 +03:00
yuyi b97ef09b2d
checker: cleanup checker.v (#14530) 2022-05-26 22:52:42 +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
Delyan Angelov 8c969efe6b
tests: make json_test.v less noisy, to see errors easier 2022-05-26 15:27:54 +03:00
Wertzui123 1017335365
x.ttf: fix typo in README (#14528) 2022-05-26 11:17:15 +03:00
yuyi 3849cdcecc
fmt: fix fn return types list ending with comma (#14529) 2022-05-26 04:20:22 +03:00
Delyan Angelov 410b57b2fa
all: add support for struct field deprecation (#14527) 2022-05-26 00:44:18 +03:00
Larpon 6c08af63ff
embed_file: rename debug_embed_file_in_prod -> force_embed_file (#14523) 2022-05-25 18:26:17 +03:00
yuyi 59e57f0c62
fmt: fix fmt of Ok<[]Token>{[]} (#14522) 2022-05-25 15:17:30 +03:00
kahsa dd8c96f6bc
net.html: use `-d debug_html` instead of `-g`, prevent undesired output, while debugging user programs (#14521) 2022-05-25 11:23:56 +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 e19ac0c4a7
checker: check fn call with argument mismatch (#14519) 2022-05-25 09:00:26 +03:00
yuyi 79a75c5ac0
parser: fix fmt error for json decode (#14520) 2022-05-25 08:59:22 +03:00
yuyi 0eb3f8854d
fmt: fix file with just imports (fix #14267) (#14513) 2022-05-24 20:14:08 +03:00
Ben f431020764
os: minor clean ups on filepath.v (#14506) 2022-05-24 11:29:32 +03:00
yuyi f35f7fe997
fmt: fix using rand.seed() when import rand and rand.seed (#14511) 2022-05-24 11:21:49 +03:00
yuyi a5b98cb267
parser: check fn decl multi return types without parentheses (#14508) 2022-05-24 05:15:31 +03:00
yuyi 5ade39f8db
cgen: fix sizeof('str') and sizeof(r'str') (#14507) 2022-05-24 05:14:38 +03:00
Delyan Angelov 953ef1f8c9
pref: add support for `-dump-files -` and for `-dump-modules -` 2022-05-23 19:51:21 +03:00
Delyan Angelov dda49fe735
v.builder: support -dump-c-flags with -cc msvc too 2022-05-23 18:29:39 +03:00
yuyi a3c0a9b791
checker: minor optimization in fn_call() and method_call() (#14503) 2022-05-23 08:00:57 +03:00
yuyi 4ef9e2c05a
parser: fix sizeof(c'str') (fix #14499) (#14502) 2022-05-23 01:59:39 +03:00
Alexander Medvednikov 863eeca2e0 checker: vfmt checker.v 2022-05-23 00:12:37 +03:00
Daniel Däschle 5e95bdc451
checker: allow but deprecate propagating result as option (#14500) 2022-05-23 00:11:29 +03:00
yuyi 7f03b89611
checker: check method call argument type mismatch (#14496) 2022-05-22 22:16:46 +03:00
spaceface ba859c584b
builtin: add static GC support on Windows with TCC (#14497) 2022-05-22 21:25:46 +03:00
Delyan Angelov 5328dabad1
time: simplify some very commonly used t.format methods 2022-05-22 21:09:49 +03:00
yuyi 1f3336c9d3
checker: fix map get anon fn value with mut argument (fix #14479) (#14493) 2022-05-22 16:28:53 +03:00
Alexander Medvednikov 245d28d57a checker: c2v infix fix 2022-05-22 14:53:21 +03:00
Daniel Däschle d3ffd983c8
markused: add _result_ok (#14495) 2022-05-22 14:52:38 +03:00
Subhomoy Haldar 3647fb4def
rand: move dist functions to top module and PRNG interface; minor cleanup (#14481) 2022-05-22 13:21:52 +03:00
yuyi 50ab2cfd1a
fmt: fix 'strings' name variable call generate auto import (fix #9713) (#14485) 2022-05-21 15:01:58 +03:00
Delyan Angelov 0ceb16f285
v.builder: use /NOLOGO, when building cached object files with msvc 2022-05-21 12:56:24 +03:00
Delyan Angelov c0dcc80e18
cgen: support `-profile -` for _test.v files too 2022-05-21 10:59:01 +03:00
Delyan Angelov a7afb2d1eb
time: remove `import math` dependency, by implementing a simpler version of mceil 2022-05-21 02:04:17 +03:00
Ben 971c55cf30
os: add norm_path and abs_path function (#14435) 2022-05-21 01:16:29 +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
yuyi 28b0cbddad
parser: check error for script mode that define main function (fix #14467) (#14469) 2022-05-20 14:20:18 +03:00
yuyi 913164bc73
builtin: minor cleanup in string_interpolation.v (#14471) 2022-05-20 14:19:27 +03:00
yuyi bf44572f30
fmt: fix chain calls with comments (#14470) 2022-05-20 11:47:44 +03:00
StunxFS 11bdb04d0c
json: fix struct field default value support (#14304) 2022-05-20 11:22:17 +03:00
Delyan Angelov ca00b59b3f
tests: make potential failures in urllib_test.v more informative 2022-05-20 08:49:56 +03:00
David 'Epper' Marshall 120f31b4d9
math: update documentation (#14457) 2022-05-20 08:45:54 +03:00
David 'Epper' Marshall 23568f19da
url: fix parse (#14456) 2022-05-20 02:58:58 +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