Commit Graph

4320 Commits (9c028bb29934795af012f17e0c651fcb5cb4f7ac)

Author SHA1 Message Date
Ruofan XU 9f6aacb739
cgen: fix array of fns init (#5884) 2020-07-19 21:44:03 +02:00
Louis Schmieder bb60fe2ccf
vweb: implement cookie expiration date (#5873) 2020-07-19 21:42:50 +02:00
Enzo 8a855ccae1
fmt,vet: handle `var in [single_value]` (#5882) 2020-07-19 19:58:34 +02:00
Delyan Angelov 9c3aa8bfc3 sqlite: add more detailed C.sqlite3_ APIs 2020-07-19 19:14:40 +03:00
Ryan Willis 1114fd28d0
all: import individual symbols feature (#5872) 2020-07-18 21:34:38 +02:00
Delyan Angelov de0fc53d62 CI: fix failing tests because of hash.wyhash duplicates 2020-07-18 15:27:57 +03:00
Delyan Angelov ca8344460a cli: fix failing test on macos/windows 2020-07-18 15:02:05 +03:00
XeGrox e5a508c0d7
checker: fix inability to access aliased struct fields (#5861) 2020-07-18 13:58:16 +02:00
Alexander Medvednikov 74d70b8719 all: more cached moduels fixes 2020-07-18 13:49:03 +02:00
Delyan Angelov 3a4f2dfe8b cli: extract improvements to vlib/cli, based on PR 5616 (without cmd/v2) 2020-07-18 14:24:29 +03:00
Alexander Medvednikov 7ab6899538 builtin: fix compilation (part 1) 2020-07-18 11:17:29 +02:00
Alexander Medvednikov 38e5569503 all: cached modules fixes 2020-07-18 11:15:44 +02:00
Nick Treleaven 105a0e015e
checker: warn if unsafe method called outside unsafe block (#5863) 2020-07-17 19:14:12 +02:00
Enzo 90d9040e6e
all: make comment expressions + fix vfmt array init (#5851) 2020-07-17 19:13:22 +02:00
Nick Treleaven 39f90e25f3
all: `if` guard optional: define `err` in `else` branch (#5853) 2020-07-17 19:10:01 +02:00
Uwe Krüger ea322bdd97
checker, cgen: fix call of generic function returning normal type (#5865) 2020-07-17 18:28:45 +02:00
Ryan Willis e804ba5294
vfmt: add support for VDIFF_TOOL, detect more diffing tools (#5857) 2020-07-17 14:03:07 +03:00
Uwe Krüger f6947d111b
parser: fix `sizeof(int)` when used as call arg for external function (#5855) 2020-07-17 11:31:35 +03:00
spaceface777 3583302ad4
parser: force `...` rather than `..` in matches for inclusive ranges (#5852) 2020-07-17 11:30:21 +03:00
Lukas Neubert fa03f390b3
parser: add error for `for i := 0; i++; i < ..` (#5850) 2020-07-17 10:31:58 +03:00
Ryan Willis 82e2b1ec33
strconv: use import instead of module in test files (#5856) 2020-07-17 02:35:42 +02:00
Alexander Medvednikov 69ef43ba00 vweb: fix ip() 2020-07-16 21:23:35 +02:00
Alexander Medvednikov cb1009d91b strconv: more fixes 2020-07-16 20:55:15 +02:00
Alexander Medvednikov f1b4af33ac tests: atof_test fix 2020-07-16 19:50:09 +02:00
Alexander Medvednikov 9b2cbdacc6 vfmt: verify 2020-07-16 19:46:03 +02:00
Alexander Medvednikov a989e017fe tests: fix f32_f64_to_string_test.v 2020-07-16 19:41:01 +02:00
Alexander Medvednikov e4fac6ff97 autofree: fix scope position 2020-07-16 19:40:14 +02:00
Alexander Medvednikov dc89a914ea cc: build-module/module cache fixes; strconv: move all code in one module 2020-07-16 19:01:56 +02:00
Ryan Willis f66967a88c
vsymlink: real Windows symbolic link, fallback to batch, make.bat updates (#5841) 2020-07-16 18:33:26 +02:00
Swastik Baranwal f3a505b558
scanner: add check for `_` in num literals (#5849) 2020-07-16 17:29:07 +03:00
spaceface777 b900577dae
compiler: handle ranges as `match` conditions (#5847) 2020-07-16 16:41:18 +03:00
joe-conigliaro 612fe1b8fb
cgen: autofree scope var position fixes 2020-07-16 20:06:50 +10:00
Alexander Medvednikov 6245876806 vweb: ip() 2020-07-16 00:48:14 +02:00
Nick Treleaven f5e6a83a05
builtin: unsafe vlib pointer indexing (#5836) 2020-07-15 21:56:50 +02:00
Alexander Medvednikov c563168d69 rand: string() 2020-07-15 21:36:09 +02:00
Nick Treleaven 4b0ded0475
checker: Warn instead of error for pointer arithmetic (#5840) 2020-07-15 19:59:39 +02:00
Delyan Angelov 1873a0cb6d builder: pass -g3 for -cg 2020-07-15 12:46:24 +03:00
Enzo 2ee8f93d60
parser: duplicate method declaration on interface (#5825) 2020-07-15 10:23:21 +02:00
Uwe Krüger 8df6e59678
sync: add semaphores (#5831) 2020-07-15 10:22:33 +02:00
Delyan Angelov cf7d03bda6 builtin: implement array.pop() 2020-07-14 20:01:39 +03:00
Enzo de0b96f52c
parser: fail when interface name is duplicated (#5828) 2020-07-14 18:52:51 +02:00
Enzo d301611de7
fmt: interface decl fixes (#5829) 2020-07-14 18:52:28 +02:00
Alexander Medvednikov 60ce938149 builder: make builtin, strconv, os work with `v build-module` 2020-07-14 18:27:14 +02:00
Delyan Angelov 5ad957f270 vfmt: fix formatting for `x, _ := f()` 2020-07-14 19:11:16 +03:00
Delyan Angelov e23925f2be pref: add -show-timings option 2020-07-14 18:47:40 +03:00
Alexander Medvednikov 06f5279f77 checker: fix multi_const_field_name_duplicate test 2020-07-14 17:44:08 +02:00
Alexander Medvednikov 899c69caf1 checker: fix dup const test 2020-07-14 17:24:08 +02:00
Enzo 880c8e4dc9
cgen: else if guard (#5822) 2020-07-14 17:19:55 +02:00
Alexander Medvednikov d33fbe4547 checker: format + fix duplicate const error 2020-07-14 17:18:10 +02:00
Swastik Baranwal c3bdacbf04
doc: add info about _ separator in literals (#5823) 2020-07-14 15:46:13 +02:00
Alexander Medvednikov c3ec5323f0 autofree: move new scope free behind -experimental for now 2020-07-14 15:30:55 +02:00
Alexander Medvednikov 7231b467a6 autofree: fix stmts() free 2020-07-14 14:50:51 +02:00
Alexander Medvednikov 1338e7fce2 autofree: free in each scope 2020-07-14 13:56:52 +02:00
Delyan Angelov 3703ade9f1 doc: add a Numbers section. Add tests for `0b` prefixed integer literals too 2020-07-14 11:10:43 +03:00
Alexander Medvednikov 361d12bf43 pref: -experimental flag 2020-07-14 00:32:33 +02:00
ka-weihe df45488e09
cgen: fix warnings (#5820) 2020-07-14 00:16:31 +02:00
joe-conigliaro 042add0e7f
ast: fix typo in comment 2020-07-14 04:04:16 +10:00
joe-conigliaro dd06d90466
checker/gen: temp hack for struct fn type field (fixes ui) 2020-07-14 03:59:00 +10:00
Alexander Medvednikov 1c682d7b89 cgen/autofree: sb.writeln() optimization fixes 2020-07-13 18:59:47 +02:00
Delyan Angelov e5a5e76a30 cgen: fix for passing functions as voidptr args 2020-07-13 19:45:13 +03:00
Delyan Angelov e3f7681e89 smtp_test: use `assert false return`, remove for loop 2020-07-13 18:52:46 +03:00
Delyan Angelov 97d01a5487 test: enable passing username/password through env vars to smtp_test.v 2020-07-13 18:22:36 +03:00
spaceface777 e9c144bf98
smtp: rewrite module api (#5819) 2020-07-13 16:41:23 +02:00
Delyan Angelov a565848dfa tests: remove duplicate test autolock_array_1_test.v 2020-07-13 15:02:44 +03:00
Uwe Krüger 6e6010d198
checker, cgen: implement auto-lock for `a[i]++`, `a[i]--` (#5817) 2020-07-13 15:01:32 +03:00
Delyan Angelov b04fff272e tests: move autolock_array_1.v to autolock_array_1_test.v 2020-07-13 14:21:44 +03:00
Uwe Krüger aa364ddaca
checker, cgen: checks for shared/lock, first autolock (#5815) 2020-07-13 12:19:28 +02:00
Delyan Angelov 1baa7ef806 os: implement os.write_file_array and os.read_file_array . 2020-07-13 10:46:37 +03:00
Alexander Medvednikov db2346069a gg: always use stb_truetype for now 2020-07-13 01:02:50 +02:00
Delyan Angelov f1fdafcdff pref: add -check-syntax for just parsing files, without checking them 2020-07-12 22:44:38 +03:00
Swastik Baranwal b5b5176f9b
string: add filter method (#5812) 2020-07-12 21:07:28 +03:00
Nedim 8674991bac
smtp: add mail sent confirmation and tests for smtp lib (#5813) 2020-07-12 20:42:11 +03:00
Takeru Tanaka f61a7bf3df
os,rand.mt19937: fix broken links in code comments (#5806) 2020-07-12 16:18:52 +03:00
Delyan Angelov d28a1042a0 net.http, net.websocket: allow importing both in the same app 2020-07-12 15:21:40 +03:00
Delyan Angelov 53ee5eb043 vfmt: fix removing cmod. in []Enum return values 2020-07-12 14:40:50 +03:00
Nick Treleaven 53023c1ca9
all: add UnsafeExpr (#5793) 2020-07-12 12:58:33 +02:00
Alexander Medvednikov cad816a19d gg: text_height() 2020-07-12 12:48:42 +02:00
Delyan Angelov 9c43d36513 parser,checker: add `-d trace_parser`, `-d trace_checker` 2020-07-12 12:56:01 +03:00
Delyan Angelov 23c8e1f06d checker: add support for `-d debug_stmts` to ease debugging checker panics 2020-07-12 12:04:39 +03:00
Alexander Medvednikov 40da32a141 gg: text_width() 2020-07-12 01:46:21 +02:00
Nedim 25c397f921
net.smtp: remove credentials from the test (#5808) 2020-07-11 21:19:36 +02:00
Nedim 549c4f54cd
net: implementation of SMTP RFC 2821 (#5807) 2020-07-11 21:05:24 +02:00
Delyan Angelov c891014c77 scanner: reduce memory, increase speed for long commented sections 2020-07-11 21:27:39 +03:00
Delyan Angelov 022cc72740 scanner: parse multiple comments and long strings without a stackoverflow 2020-07-11 20:52:08 +03:00
Alexander Medvednikov a2cb01e16a parser: parse _x64.v files only with -x64 2020-07-11 19:03:59 +02:00
Alexander Medvednikov d4dd5645fe parser: remove strconv import 2020-07-11 18:53:50 +02:00
Delyan Angelov 498c8cfc8e builtin: skip print_backtraces on panics with tcc, it does it automatically 2020-07-11 17:51:06 +03:00
yuyi 9b4c81e85f
checker: check missing return values in functions (#5803) 2020-07-11 16:30:49 +02:00
Delyan Angelov 37d739684c checker: prevent string(byte), suggest byte.str() instead 2020-07-11 17:09:22 +03:00
ka-weihe ae349ca6ba
cgen: fix all -Wmissing-variable-declarations (#5802) 2020-07-11 15:37:40 +02:00
Alexander Medvednikov 59df2db4e0 ci: disable C++ test for now 2020-07-11 15:36:08 +02:00
Delyan Angelov 26768e8514 vfmt: strip `current_module.` in fn args more robustly 2020-07-11 16:09:20 +03:00
Delyan Angelov b55f84c0a8 vfmt: turn off module is imported but never used for vfmt 2020-07-11 15:03:37 +03:00
Delyan Angelov 7c0a298701 vfmt: fix crash when a .v file contains only imports 2020-07-11 14:54:55 +03:00
Delyan Angelov 3aeca70970 benchmark: update the example in the README.md 2020-07-11 14:54:55 +03:00
Alexander Medvednikov ab3c1f2a08 prealloc: skip frees for now 2020-07-11 13:22:18 +02:00
yuyi fae601fe39
array: add `reverse_in_place` for performance (#5798) 2020-07-11 13:17:11 +02:00
Alexander Medvednikov b92ce38593 os: fix v_realloc call on windows 2020-07-11 12:45:22 +02:00
Alexander Medvednikov 2e275731a3 websocket: fix compilation 2020-07-11 12:41:37 +02:00
Alexander Medvednikov 649821be4c all: use v_realloc 2020-07-11 12:37:54 +02:00
Alexander Medvednikov 2a696cb837 vet: prohibit spaces before `)` 2020-07-11 12:14:19 +02:00
Alexander Medvednikov d94a02ba79 strings: builder.writeln() optimization 2020-07-11 12:03:24 +02:00
Alexander Medvednikov 549d7a487d tests: fix scanner_test.v 2020-07-11 11:51:58 +02:00
Alexander Medvednikov d4d552fb00 vet: prohibit spaces after `(` 2020-07-11 11:41:39 +02:00
Alexander Medvednikov a1073105e1 all: re-enable -prealloc 2020-07-11 11:25:56 +02:00
Delyan Angelov 006d260d20 vfmt: keep `vproto.Name`, in module `proto` in struct inits too 2020-07-11 02:42:57 +03:00
Uwe Krüger 646df49c74
builtin: fix string.hash method for `gcc -O2` (#5794) 2020-07-11 01:18:52 +03:00
Delyan Angelov 7248d8422e vfmt: keep `vproto.Name`, when current module is `proto` 2020-07-11 00:59:19 +03:00
pancake 7d6ba2d07d
checker: add error when interface i, without a .str() method, have i.str() called (#5788) 2020-07-10 22:47:29 +03:00
Delyan Angelov 2fb5c91f4d scanner: remove error check for embedded \x00 chars in c'literals' 2020-07-10 21:42:03 +03:00
yuyi bf14e666ea
cgen: add `gen_map_equality_fn` to compare maps (#5770) 2020-07-10 18:08:17 +02:00
yuyi 0c9c66dd6b
cgen: fix mutable array arguments (#5769) 2020-07-10 18:04:51 +02:00
Emily Hudson 7488dd829d
all: _allow_multiple_values enum attribute (#5772) 2020-07-10 16:43:02 +02:00
Delyan Angelov 88946a34bb checker: limit showing too many unhandled match cases 2020-07-10 15:49:02 +03:00
penguindark e85c1fb762
utf8: bug fix in get_uchar (#5775) 2020-07-10 14:44:40 +02:00
Swastik Baranwal 9839b0eb7f
parser: handle `a,b += 1,1` (fix #5735) (#5783) 2020-07-10 13:59:17 +02:00
Delyan Angelov 75b7b9564a builder: show the contents of the C .rsp file on -showcc 2020-07-10 13:07:20 +03:00
Delyan Angelov ca9790a71f vweb: ensure the tcp connection is always closed at the end of the response 2020-07-10 10:49:39 +03:00
Delyan Angelov d3e676bdc1 orm: use errcode comparisons, instead of strcmp(sqlite3_errmsg,msg) 2020-07-10 10:14:30 +03:00
Uwe Krüger 581603f2bd
fmt: make formatter know about new keywords `shared`, `rlock` (#5779) 2020-07-09 22:41:45 +02:00
Daniel Däschle fb927dab60
checker: check all branches for return (#5763) 2020-07-09 22:38:43 +02:00
Uwe Krüger 194ecda829
fmt: array_init: use line breaks of first elements in every hierarchy (#5777) 2020-07-09 22:36:49 +02:00
Lukas Neubert 14d83c8457
orm: fix invalid `no more rows available` error (#5774) 2020-07-09 22:36:01 +02:00
Uwe Krüger e47ad33af6
fmt: format array elements line-by-line when nl after `[` (#5776) 2020-07-09 19:47:12 +02:00
yuyi 31ac20876c
cgen: minor formatting of `struct_init` (#5768) 2020-07-09 17:25:48 +02:00
Louis Schmieder 3792e17885
vweb: fix routing for 0 params (#5773) 2020-07-09 17:16:02 +02:00
Daniel Däschle c5dc1a33b6
all: remove `it` smartcast and replace with original variable name (#5764) 2020-07-09 17:14:14 +02:00
Alexander Medvednikov 9511b7d0a1 cc: do not use -ldl in cross compiling for now 2020-07-09 12:29:49 +02:00
Alexander Medvednikov 8c338a7c3b cc: format and fix linuxroot download 2020-07-09 12:26:15 +02:00
Alexander Medvednikov dfa29b6e4d fast: fix 1mil.v test 2020-07-09 11:56:31 +02:00
Delyan Angelov 73a259496e tests: support `VTEST_ONLY=fn_,match_ ./v test-fixed` and in compiler_test.v 2020-07-09 10:47:16 +03:00
Delyan Angelov ce31c4c03e tests: support `VTEST_ONLY=parser ./v vlib/v/compiler_errors_test.v` 2020-07-09 10:27:31 +03:00
Louis Schmieder 373aa3dbc8
vweb: router: fix trailing / (#5760) 2020-07-08 22:15:37 +02:00
Alexander Medvednikov b8d762df97 gg: use D3D and stb_truetype on Windows; 2020-07-08 21:43:27 +02:00
Tomas Hellström 2790890bc2
ci: use pre built docker containers for musl (#5759) 2020-07-08 21:30:57 +03:00
Daniel Däschle c0fa31e75a
cgen: if smartcast part 3 (#5755) 2020-07-08 19:14:47 +02:00
Alexander Medvednikov 03b76d19f1 repl: make the info message a bit smaller 2020-07-08 17:22:38 +02:00
Daniel Däschle e7cd496c31
parser: smartcast fix (#5756) 2020-07-08 16:08:44 +02:00
Nick Treleaven f834276803
doc: struct literals (#5726) 2020-07-08 16:02:35 +02:00
yuyi 64e9bdc213
parser: fix non-void optional fn missing return value (fix #5736) (#5741) 2020-07-08 16:01:17 +02:00
Daniel Däschle 5ea17ad2d4
all: if smartcast part 2 (#5754) 2020-07-08 15:46:58 +02:00
Louis Schmieder 7ad03e9d6a
vweb: simplify router (#5751) 2020-07-08 15:22:03 +02:00
Daniel Däschle b62bf59c21
all: if-is smartcast part 1 (#5730) 2020-07-08 15:17:28 +02:00
Emily Hudson 3b0dfd9ae1
cc: use @response files to avoid command line length limits (#5750) 2020-07-08 15:50:17 +03:00
Delyan Angelov 69d3c3f596 cgen: sort const inits/cleanups topologically, skip calling non `fn init(){}` fns 2020-07-08 14:28:58 +03:00
Alexander Medvednikov 2425c05c42 Revert "cgen: sort const inits/cleanups topologically too"
This reverts commit 38000f8622.
2020-07-08 12:56:56 +02:00
Uwe Krüger 88248b1b66
cgen: add support for shared arrays (#5721) 2020-07-08 11:05:43 +02:00
Delyan Angelov 38000f8622 cgen: sort const inits/cleanups topologically too 2020-07-08 11:22:30 +03:00
Ruofan XU 9c87ace153
cgen: fix cross assign for functions (#5734) 2020-07-08 09:17:26 +03:00
Louis Schmieder 3bb1d24dad
parser: add template path by fn name for vweb (#5737) 2020-07-08 09:12:57 +03:00