Commit Graph

5066 Commits (ba2c5f68fc180aee88096ca7b393ac544efa8e9a)

Author SHA1 Message Date
Nick Treleaven baf2ff1a91
checker: unify invalid argument errors, use argument position (#6785) 2020-11-10 10:40:50 +01:00
Alexander Medvednikov 2254f41722 autofree: free all vars in parent scopes recursively 2020-11-09 15:56:28 +01:00
Nick Treleaven c76e486765
parser: implement `T.name` for generic types (#6783) 2020-11-09 14:35:26 +01:00
Alexander Medvednikov 1c257abc23 autofree: simplify: merge tmp arg logic with scope vars 2020-11-09 14:24:46 +01:00
Alexander Medvednikov 507d724ee6 autofree: free before return tests 2020-11-09 11:54:45 +01:00
KJ Lawrence 7108f89b69
pg: fix exec & exec_param_many (#6782) 2020-11-09 08:22:16 +01:00
div72 b0053d8910
x.json2: change default number type to i64 (#6773) 2020-11-09 07:37:53 +01:00
Carlos Esquerdo Bernat ba366b126f
ws: handle close on client quit (#6776) 2020-11-08 20:36:42 +02:00
spaceface777 3c83551dfe
parser: fix treating JS fn calls as type casts (#6779) 2020-11-08 20:33:55 +02:00
Tomas Hellström 68cfbd6d66
websocket: fix autobahn test to always use latest v(#6780) 2020-11-08 17:46:06 +01:00
pancake af5836202c
js: fix wrong filename and invalid backend selected when using -o .js (#6777) 2020-11-08 17:45:32 +01:00
pancake 2994e7150f
vweb: check function and route parameter count (#6761) 2020-11-08 09:14:24 +01:00
Delyan Angelov 6da8454b3b builder: a small -usecache fix, when v is run in subfolders 2020-11-08 09:18:05 +02:00
Delyan Angelov 4b35495fbe all: support VMODULES environment variable (defaulting to ~/.vmodules) 2020-11-08 08:07:17 +02:00
Delyan Angelov 0ba5544446 checker: add a check for `ptr = Abc{}` 2020-11-07 21:19:46 +02:00
Nick Treleaven 931882d720
checker: support ?T, &T generic return types (#6772) 2020-11-07 18:27:10 +02:00
Tomas Hellström b47c23b73e
x.websocket: fix the uri port parsing problem. Make failures more informative (#6775) 2020-11-07 18:14:33 +02:00
Swastik Baranwal 6354fa031c
checker: add more checks for index_expr (#6737) 2020-11-07 14:55:05 +01:00
Nick Treleaven 125650c986
cgen: fix using brackets for match expression (#6768) 2020-11-07 14:47:27 +01:00
Alexander Medvednikov 0e8c7ca2e3 autofree: fix string reassignment 2020-11-07 04:00:45 +01:00
Nick Treleaven 62cae1ba00
parser: parse func<T>() when T is a map or array type (#6765) 2020-11-07 02:55:28 +01:00
spaceface777 1d706674f2
cgen: don't generate a default expr if a function ends with `return` (#6766) 2020-11-06 18:46:41 +02:00
Ned Palacios 6d8a7ced24
cgen: fix setting nested map elements fields (#6744) 2020-11-06 16:32:44 +02:00
spaceface777 a9e9554b11
all: fix most C warnings (#6758) 2020-11-06 16:26:59 +02:00
Delyan Angelov 98e8894d90 x.websocket: more informative errors 2020-11-06 16:10:22 +02:00
Alexander Medvednikov 3e5871ffb3 autofree: disable optional_return test for now 2020-11-06 10:30:27 +01:00
Alexander Medvednikov 212e6fe52c autofree: do not run in `builtin` 2020-11-06 10:13:05 +01:00
Delyan Angelov b14f779853 vweb: add a placeholder for checking route validity at startup 2020-11-05 22:59:11 +02:00
Delyan Angelov d34c5b767b vfmt: keep the source fn type alias names, instead of the expanded fn declarations 2020-11-05 20:21:37 +02:00
Delyan Angelov 26c2654632 parser: vfmt vlib/v/parser/struct.v 2020-11-05 19:55:20 +02:00
Delyan Angelov 953d102996 parser: prevent a segfault, when compiling cmd/tools/vtest-vet.v in PR 6754 2020-11-05 19:40:15 +02:00
Delyan Angelov 3f9b05a876 vfmt: skip {} for pure fn declarations (let the bodies hit the floor) 2020-11-05 18:59:36 +02:00
Delyan Angelov e80487b35c vfmt: support inline comments before fields in struct initializations 2020-11-05 18:49:52 +02:00
Delyan Angelov 4bf1c2fdcc vfmt: support `match a { x...y {} }` 2020-11-05 18:35:14 +02:00
Delyan Angelov 35096cda3f vfmt: support comments after interface methods 2020-11-05 18:23:45 +02:00
Larpon 4051ce869c
all: remove unused enum value and improve error message for `@` tokens in scanner (#6751) 2020-11-05 12:59:49 +02:00
Larpon 785bf40f67
all: remove comp time '@' expansion from scanner (#6746) 2020-11-05 10:12:32 +02:00
Alexander Medvednikov 1b1d17cfb5 os: basic proof of concept stdout capture; autofree: small fixes 2020-11-05 08:44:37 +01:00
Carlos Esquerdo Bernat 8157f3c6ab
websocket: get port of the uri (#6750) 2020-11-05 06:36:50 +01:00
Nick Treleaven ca8d23acab
table: make Table.type_to_str generate proper function type, not fn name (#6716) 2020-11-05 06:34:56 +01:00
Daniel Däschle a2fc19880a
parser: fixes or block position (#6736) 2020-11-04 16:02:01 +02:00
Delyan Angelov 9eb655e65c all: add .pos fields to all AST nodes, to avoid wrong positions in error messages 2020-11-04 13:34:12 +02:00
Daniel Däschle 25912673a9
cgen: fix generic json bug (#6731) 2020-11-04 10:21:30 +02:00
Ekopalypse cc4bb71f29
os: prevent unnecessary dependencies when importing `os` on windows (#6741) 2020-11-04 10:19:46 +02:00
Daniel Däschle 9d5be12517
gen: add prefix when printing type aliases (#6701) 2020-11-03 14:13:35 +01:00
Delyan Angelov 18f5ed671d builder: fix -showcc with msvc 2020-11-03 12:37:04 +02:00
Delyan Angelov aecdfb06e7 x.net: fix C fn redeclaration of C.inet_ntop (prevented compiling x.net and net together) 2020-11-03 10:06:47 +02:00
Delyan Angelov 204fd8be03 builder: improve the function redefinition detector 2020-11-03 10:00:06 +02:00
Delyan Angelov 2c3f695469 checker,parser: treat C.Struct fields as public by default 2020-11-03 09:35:44 +02:00
Delyan Angelov ae241785bf vfmt: fix `union {}` declarations 2020-11-03 00:35:12 +02:00
Lukas Neubert 4ccb219079
clipboard: fix windows warnings and run vfmt (#6715) 2020-11-02 23:00:29 +01:00
Nick Treleaven 788de9938a
cgen: fix typeof(expr).name for generic type, pointers, etc (#6712) 2020-11-02 22:59:48 +01:00
Delyan Angelov 2202ee5d66 tests: add tests for continue/break in last statement of an `or{}` 2020-11-02 12:54:45 +02:00
Delyan Angelov 4e760c703e checker: disallow `opt_returning_string() or { ... 123 }` (closes #6711) 2020-11-02 05:29:37 +02:00
pancake d040af4939
checker: improve error message for: `a := foo() or { println(err) }` (#6710) 2020-11-02 04:52:35 +02:00
Alexander Medvednikov 613d6c043b autofree: fix the tests 2020-11-02 01:39:10 +01:00
Alexander Medvednikov 06e4c45350 tests: re-enable valgrind tests 2020-11-02 01:25:16 +01:00
Daniel Däschle d5a421e3f5
checker: add alias cast type check (closes #6705) (#6709) 2020-11-02 01:17:35 +01:00
Delyan Angelov 3c0f4c46fa checker: add check preventing `if x:=non_optional() {}` 2020-11-02 01:58:07 +02:00
Alexander Medvednikov a0bf796926 autofree: handle SelectorExpr and fix json 2020-11-02 00:57:45 +01:00
zacanger f0c98fb5c2
doc: fix syntax in sqlite install instructions(#6707) 2020-11-01 22:16:18 +01:00
sunnylcw f934ca37c9
mysql: patch for Windows and FreeBSD (#6703) 2020-11-01 22:15:33 +01:00
Delyan Angelov e2505479ee cgen: encode newlines as \n in the assert meta information 2020-11-01 17:01:45 +02:00
Delyan Angelov e72d9c0f88 parser: protect against infinite loops in -silent mode over invalid .v files 2020-11-01 14:02:32 +02:00
Daniel Däschle 9fdf04b7ff
cgen: make generics printable (#6700) 2020-10-31 19:43:06 +02:00
Delyan Angelov db59585a51 sokol.gfx: fix C.sg_depth_stencil_state compilation with tcc 2020-10-31 14:15:05 +02:00
Ned Palacios a2a0765eff
cgen: fix setting map elements' fields (#6699) 2020-10-31 13:00:04 +01:00
Alexander Medvednikov b59c5fd82b autofree: do not free tmp vars twice 2020-10-31 08:26:54 +01:00
Delyan Angelov 70cbf56655 cgen: show more informative errors, instead of a `invalid type (typ=0 idx=0)` verror panic 2020-10-30 20:26:08 +02:00
Delyan Angelov ff93e8afee builtin: eliminate the usage of _us32_eq for frequent builtin array operations 2020-10-30 14:11:07 +02:00
Alexander Medvednikov 791fda16d3 fmt: handle "it" in lambdas 2020-10-30 07:35:44 +01:00
Alexander Medvednikov 2c75b1397c all: struct embedding 2020-10-30 07:09:26 +01:00
Alexander Medvednikov dca3d13606 autofree: another lambda fix 2020-10-30 00:43:04 +01:00
Ned Palacios ccc0cb23ed
doc: store source content, restructure module directory (#6692) 2020-10-29 17:21:37 +01:00
Ned Palacios 7b5a580c0c
util: split bom checking to a separate fn (#6694) 2020-10-29 17:21:08 +01:00
Delyan Angelov be02ee97fb sync: enable compilation with -autofree 2020-10-29 12:17:08 +02:00
pancake 367067dfff
pkgconfig: improve and fix the parser; move to v.pkgconfig (#6695) 2020-10-29 11:57:23 +02:00
Alexander Medvednikov 423044d4d6 autofree: skip lambda for now 2020-10-29 08:59:13 +01:00
Alexander Medvednikov 71dfec3c4d autofree: generate unique names for each arg 2020-10-29 08:26:45 +01:00
Ned Palacios ce7da85166
parser: make .parse() public (#6693) 2020-10-29 07:10:45 +01:00
Alexander Medvednikov 21002bf2de autofree: fix re-assigning an optional 2020-10-29 07:06:58 +01:00
Alexander Medvednikov f19ca6b411 autofree: simplify, use more scoping, fix expressions inside or blocks 2020-10-29 01:09:38 +01:00
Delyan Angelov b7121786a5 table: run vfmt over atypes.v 2020-10-28 08:46:54 +02:00
Delyan Angelov 7fb739ebcf table: make mut/not mut aggregate fields equal (for read only access) 2020-10-28 08:43:18 +02:00
Swastik Baranwal 0c987f433d
string: enable test for string escaping (#6688) 2020-10-27 15:25:44 +01:00
pancake 36c5eab799
all: add #pkgconfig directive using the new vlib modules (#6673) 2020-10-26 18:05:18 +01:00
Delyan Angelov cf21c63183 v.vcache: extract v.vcache to a separate module, to test it and reuse it 2020-10-26 18:37:37 +02:00
Delyan Angelov 0c192cfd64 tests: fix warnings when doing `./v -W -progress -check-syntax test-fixed` 2020-10-26 14:41:57 +02:00
Delyan Angelov 535c4ed0d6 builder: return early in run_compiled_executable_and_exit, when -check-syntax is passed 2020-10-26 11:23:28 +02:00
Rolf Schmidt 3f5be0f4fc
mysql: fix unwrapped unsafe code of mysql lib (#6680). (#6681) 2020-10-26 11:21:28 +02:00
Delyan Angelov 60cc8ac39c vcache: use 2x wyhash.sum64_string(hk,x).hex_full(), instead of md5.sum(hk.bytes()).hex() 2020-10-25 09:22:31 +02:00
Delyan Angelov 5cb31c2c8f builder: fix support for tcc on windows (openlibm.o) 2020-10-25 03:35:34 +03:00
Delyan Angelov 5f6259dde6 v: add VCACHE support for thirdparty object files and for `v build-module` 2020-10-25 03:09:07 +03:00
Delyan Angelov 89daec4e93 ci: run vfmt over compile.v and checker.v 2020-10-24 20:41:52 +03:00
Delyan Angelov 8b01146b90 compiler: implement -W and -reuse-tmpc 2020-10-24 20:34:50 +03:00
Alexander Medvednikov 42da37e900 autofree: fix if expressions 2020-10-24 19:06:31 +02:00
Delyan Angelov 23ee3018c3 tools: add `v test-vet` 2020-10-24 16:37:58 +03:00
Delyan Angelov 296a6095a4 builder: vfmt compile.v 2020-10-24 15:48:11 +03:00
Delyan Angelov 8f85396a31 builder: use unique .tmp.c and .tmp.c.rsp files, and rm them on successfull non debug builds. 2020-10-24 15:08:45 +03:00
Delyan Angelov ac6fad6a63 checker: fix comptime custom defines usages, add tests 2020-10-24 15:06:51 +03:00