Commit Graph

6692 Commits (bd312d194c31c2462d0c83bcdd858a185bbf0493)

Author SHA1 Message Date
Marcin 34884c1631
os: fix binary mode read/write on windows (#6431) 2020-09-20 16:28:45 +02:00
Delyan Angelov d4fbf422b3 gg: support transparency for rect/triangle/etc primitives too 2020-09-20 12:05:30 +03:00
Uwe Krüger 4ae88c69ac
sync/select: allow push of literals and calculated expressions (#6429) 2020-09-20 03:50:09 +02:00
Alexander Medvednikov c781a5f245 gg: draw_triangle(); draw_image_flipped() 2020-09-20 03:47:32 +02:00
Nick Treleaven 9958881cbe
parser: support parsing unsafe (as first token) as UnsafeExpr (#6032) 2020-09-19 19:18:36 +03:00
Swastik Baranwal 1c886ad067
scanner: add check for `!is_raw` for null `\0` (#6427) 2020-09-19 19:09:18 +03:00
Henrixounez 4b0e7fc979
checker: check if imported struct is public (#6425) 2020-09-19 18:16:43 +03:00
Henrixounez 4121ba9ea9
parser: fix error about multiple modules showing when eof (#6423) 2020-09-19 02:15:47 +02:00
Uwe Krüger 31a52cdf21
cgen: implement channel `select` block code generation (#6424) 2020-09-19 02:14:35 +02:00
Enzo 3126ae305c
checker: verify use of blank identifier (#6412) 2020-09-18 23:47:50 +02:00
Delyan Angelov 78e6ddee75 tests: enable running `v test .` inside vlib/v/ too 2020-09-18 19:20:01 +03:00
Daniel Däschle 1b9711edde
gen: fix C warnings by cleaning up skip_struct_init (#6416)
* gen: removes struct name from list which shouldn't be initialized

* gen: vfmt

* cgen: remove the skip_struct_init list

* Revert "cgen: remove the skip_struct_init list"

This reverts commit d9e1fdbb4c.

* fix ci

* vfmt vlib/v/gen/cgen.v

Co-authored-by: Delyan Angelov <delian66@gmail.com>
2020-09-18 16:36:40 +03:00
Henrixounez 46dc6cc24b
repl: fix ctrl+z job to background on linux (#6417) 2020-09-18 16:34:00 +03:00
Delyan Angelov d2badcdedf vlib: fix more C warns on windows 2020-09-18 13:40:47 +03:00
Henrixounez c1f04d8c72
builtin: fix min value for int_str (#6411) 2020-09-18 12:56:16 +03:00
Daniel Däschle ffc8cf3925
gen: c don't generate x >= 0 check for unsigned ints in range exprs in matches (#6414) 2020-09-18 12:53:19 +03:00
Daniel Däschle f7aa9cb0c5
vlib: fix C warning for UNICODE macro redefinition on windows (#6415) 2020-09-18 12:51:55 +03:00
Henrixounez c02a0f90df
checker: prompt error on script expression while inside a file with main (#6400) 2020-09-18 01:14:14 +02:00
Henrixounez 4038ac463c
gen: bytes array print not ending prematurely when null byte (#6401) 2020-09-18 01:12:32 +02:00
Nick Treleaven 14743458e5
checker: tweak error messages for `or` block; use proper type names (#6377) 2020-09-18 01:09:00 +02:00
Daniel Däschle f59b771c76
parser: fix nested amp (#6402) 2020-09-18 01:04:56 +02:00
Nick Treleaven 69c592e0d6
checker: disallow infix op on an optional type (#6406) 2020-09-18 01:03:55 +02:00
Henrixounez 99574e465d
scanner: allow escape on null character (#6404) 2020-09-18 01:02:06 +02:00
Enzo a1e127ae46
checker: check type in `is` InfixExpr (#6407) 2020-09-18 01:01:05 +02:00
spaceface777 ff92c3409d
ast: merge `IfExpr` and `CompIf` (#6011) 2020-09-18 00:58:54 +02:00
Seven Du 98e6d25b42
vweb: make ip() to return peer_ip work (#6399) 2020-09-17 10:38:39 +03:00
Delyan Angelov 6f7bb30b0a tests: fix strconv.v_sprintf arrity mismatch in format_test.v 2020-09-17 00:33:25 +03:00
Delyan Angelov 80b150d3ad strconv.v_sprintf: add runtime checks&panics on arrity mismatches 2020-09-17 00:24:33 +03:00
Lukas Neubert 2464deec82
cli: improvements to help and error messages (#6375) 2020-09-16 22:01:44 +02:00
Henrixounez 608df40058
checker: fix error declaration on a value (#6390) 2020-09-16 22:01:15 +02:00
Delyan Angelov e2e683199d time: do not panic on time.new_time({unix: 1608854400}).str() 2020-09-16 22:14:02 +03:00
Daniel Däschle c960b5979e
vlib: fix incompatible pointer warning (#6385) 2020-09-16 17:40:02 +03:00
Uwe Krüger 1bc9063573
parser: implement parsing of `select` block (#6379) 2020-09-16 15:34:57 +02:00
Daniel Däschle 3a795e6d9b
gen: fixes C warnings by appending U after unsigned integer literals (#6384) 2020-09-16 15:50:41 +03:00
Delyan Angelov 5da698b4bf tests: add support for skipping tests in vlib/v/compiler_errors_test.v too 2020-09-15 19:56:52 +03:00
Nick Treleaven b552c29bef
os: add fn `read_bytes_into` with buffer argument (#6365) 2020-09-14 15:34:34 +02:00
Delyan Angelov a9bd6acd52 builtin: fix new_dense_array (avoid the &string(int(...)) bug generating (int*) ) 2020-09-14 16:26:25 +03:00
Delyan Angelov bbf4983524 autofree: add option_reassigned.v and option_simple.v tests. 2020-09-14 13:04:24 +03:00
Alexander Medvednikov bffa100aa6 autofree: optional fix 2020-09-13 21:36:33 +02:00
Delyan Angelov 2bd4355a4c os: add check for path.len == 0 in vfopen 2020-09-13 18:08:58 +03:00
Delyan Angelov 8c71ba8912 os: add more error checking for os.read_bytes and os.read_file 2020-09-13 18:03:19 +03:00
Alexander Medvednikov 68948c7947 checker: vfmt checker.v 2020-09-13 16:21:40 +02:00
Tomas Hellström a160038e1a
ci: re-enable autobahn tests (without autofree) (#6360) 2020-09-13 16:20:22 +02:00
Vasilis Katsifolis 43942057a4
checker: fix a type check that caused a C error #6238 (#6358) 2020-09-13 15:19:53 +02:00
Uwe Krüger 168daebccf
sync/channels: fix bug that caused 100% CPU on block (#6357) 2020-09-13 15:13:06 +02:00
Alexander Medvednikov fc88f43e50 autofree: make optional methods work 2020-09-13 03:20:34 +02:00
Alexander Medvednikov f337980e52 autofree: move tmp var generation to a separate method 2020-09-13 03:18:13 +02:00
Alexander Medvednikov 9149d8ecb5 autofree: a small simplification 2020-09-13 03:12:09 +02:00
Alexander Medvednikov f074d766e5 ci: disable gitly autofree build for now 2020-09-13 03:06:16 +02:00
Alexander Medvednikov db51ee08ea autofree: more fixes in optionals 2020-09-13 03:00:45 +02:00
Yağızcan Değirmenci e77c4c182d
sqlite: fix indentation in readme (#6356) 2020-09-12 16:42:35 +02:00
Alexander Medvednikov b74c1805d7 cgen/autofree: fix and simplify optionals 2020-09-12 16:40:52 +02:00
Delyan Angelov 37311883c1 tests: add optional_method_err.vv 2020-09-12 13:12:06 +03:00
Delyan Angelov 0801f88d0a tests: cleanup vlib/v/checker/tests/run ; add unused_variable_warning.vv 2020-09-12 12:33:17 +03:00
Delyan Angelov 60ecb7e4b6 os: change f.write and f.writeln to return options too 2020-09-12 08:39:28 +03:00
Oghogho Odemwingie 332f3a924c
builtin: consume matched string length in string.replace_each (#6349) 2020-09-12 02:31:06 +02:00
Uwe Krüger b10d79c4d9
sync/channels: fixes for `try_push/pop()`, optimizations (#6352) 2020-09-12 02:29:11 +02:00
Sandro Martini 07b5d6b1b6
vweb: add mime type for json static content (#6347) 2020-09-11 23:14:44 +03:00
Delyan Angelov 96c22a26b9 tests: cleanup if_smartcast_test.v 2020-09-11 22:00:13 +03:00
Delyan Angelov 40ed2e1b3d builtin: use C.write for print/eprint . Call C.SetConsoleOutputCP(C.CP_UTF8) on windows 2020-09-11 16:20:35 +03:00
Delyan Angelov d46c1f0f20 tests: fix sporadic waitgroup failure on slow windows VMs in anon_fn_test.v 2020-09-11 16:00:24 +03:00
Daniel Däschle ce62f997f3
all: better type error positions (#6345) 2020-09-11 14:37:14 +02:00
Alexander Medvednikov 62a692b29c checker: make the "unnecessary default" error a warning for now 2020-09-11 13:59:28 +02:00
Alexander Medvednikov 53bed596e7 autofree: do not free _ vars 2020-09-11 13:58:12 +02:00
Alexander Medvednikov e0d20eadff autofree: free strings on re-assignments 2020-09-11 13:55:20 +02:00
Alexander Medvednikov 17882db635 autofree: disable ?string test for now 2020-09-10 22:19:18 +02:00
Delyan Angelov ce6d2759f5 os: add os.open_stdin/0 and os.File.get_line/0 2020-09-10 16:57:03 +03:00
Alexander Medvednikov 67cc515e74 autofree: ?string test 2020-09-10 13:41:30 +02:00
Alexander Medvednikov 03327e5161 time: minor fixes + vfmt 2020-09-10 13:26:01 +02:00
Ned Palacios 368c2a6bf0
vlib: add x/json2 (#6336) 2020-09-10 12:05:40 +02:00
Alexander Medvednikov bc8aab4775 checker: fix := test 2020-09-09 17:59:51 +02:00
Alexander Medvednikov 3956ea4665 Revert "checker: fix := test"
This reverts commit 818220de45.
2020-09-09 17:55:48 +02:00
Alexander Medvednikov 818220de45 checker: fix := test 2020-09-09 17:50:14 +02:00
Alexander Medvednikov 5d484bf022 checker: better error message for incorrect `mut x :=` 2020-09-09 17:27:16 +02:00
Daniel Däschle 3a146a6dbe
checker: fix error pos on default value (#6338) 2020-09-09 15:34:41 +02:00
Alexander Medvednikov 78e28a72ed doc: vfmt and make compile 2020-09-09 14:24:42 +02:00
Alexander Medvednikov cb43084e26 regex: fix compilation 2020-09-09 14:18:06 +02:00
Alexander Medvednikov ea31f75098 checker: more default field fixes 2020-09-09 14:14:44 +02:00
Alexander Medvednikov 925f1781b3 checker: default field fixes 2020-09-09 14:05:56 +02:00
Alexander Medvednikov e018509ba6 checker: test for unnecessary default struct field values 2020-09-09 13:59:52 +02:00
Nick Treleaven eb95a4333a
table: rename Arg to Param (#6337) 2020-09-09 13:21:11 +02:00
Swastik Baranwal ea2b2ebc07
checker: modify error messages for ptrs (#6325) 2020-09-09 10:07:58 +02:00
bpryer 3f7970db52
term: add get_cursor_position and set_terminal_title (#6279)
* added functions

added:
  - get_cursor_position()
  - set_terminal_title(title string)

* implement term.get_cursor_position and term.set_terminal_title on unix

* Cleanup

* make x,y fields of term.Coord mutable

* fix vrepl compilation

* use more descriptive var names in term_test.v

* do not change the current terminal title in dumb terminals; do not test term.set_terminal_title outside of CI

* unix: in term.set_terminal_title, return true even for dumb terminals

Co-authored-by: Brent Pryer <brent@pryermachine.com>
Co-authored-by: Delyan Angelov <delian66@gmail.com>
2020-09-08 22:00:10 +03:00
Nick Treleaven 49c322f120
checker: simplify argument qualifier errors (#6321) 2020-09-08 19:34:17 +02:00
Ruofan XU 90128ed4ee
cc: add support for tcc backend on windows-i386 (#6297) 2020-09-08 15:15:35 +02:00
Larpon 1c5b9db63f
io: introduce a go-like io.util module (#6323) 2020-09-08 14:17:01 +02:00
Enzo 18034bb95c
gen: fix multiple call of expression in match (#6324) 2020-09-08 00:38:24 +02:00
Uwe Krüger 5258f52497
fmt: add support for `chan` types and operations (#6328) 2020-09-08 00:36:05 +02:00
Maciej Obarski 9a5b86e454
arrays: common methods - min, max, idx_min, idx_max, shuffle, merge (#6177) 2020-09-07 13:50:53 +02:00
Nick Treleaven 497bf226e2
add TESTS.md file to explain different tests (#6318) 2020-09-07 13:48:15 +02:00
Uwe Krüger 2cb711ee15
checker/channels: check `mut`/`&` state of transmitted objects (#6315) 2020-09-06 21:24:41 +02:00
Enzo 601d098b48
szip: make compile (#6314) 2020-09-06 15:04:27 +02:00
Larpon 51d7d7cfae
os: fix os.mv edge case and Windows style paths (#6302) 2020-09-06 13:12:07 +02:00
Alexander Medvednikov 9fbea31f47 autofree: fix exprs N levels deep 2020-09-06 13:02:32 +02:00
Uwe Krüger 047bf02985
builtin: fix `in` for various numeric types (#6311) 2020-09-06 12:45:02 +02:00
Larpon b4b898b769
os: enable is_file tests (#6312) 2020-09-06 12:39:02 +02:00
Uwe Krüger 4d2c8a40d6
sync/atomic2: support 32 bit platforms (#6308) 2020-09-05 14:44:16 +02:00
Alexander Medvednikov 3410705974 autofree: lots of fixes 2020-09-05 12:00:35 +02:00
Uwe Krüger b015033c53
builtin: add methods to builtin channels (#6303) 2020-09-05 01:36:20 +02:00
Pavel Kolesnikov 246fe3bfb7
builder: cc_linux_cross() fixes (#6287) 2020-09-05 01:35:35 +02:00
Xavier B 8ef55bd8c9
checker: add checks for map key/value types (#6283) 2020-09-04 23:59:54 +02:00
Larpon 81778e507f
os: is_file() (#6301) 2020-09-04 22:27:52 +02:00
Larpon efa49bfbb7
os: make behave more like Unix "mv" command (#6300) 2020-09-04 13:08:47 +02:00
Alexander Medvednikov 333f355e23 Revert "cgen: handle variables called "array""
This reverts commit cc714ca5cc.
2020-09-03 02:43:26 +02:00
Uwe Krüger b8617ace53
checker: do not allow aliases of `chan` types (#6294) 2020-09-03 02:03:31 +02:00
Alexander Medvednikov cc714ca5cc cgen: handle variables called "array" 2020-09-03 02:01:21 +02:00
Pavel Kolesnikov a3ee217537
builder: use tar instead of unzip in cc_linux_cross() (#6286) 2020-09-02 10:09:06 +02:00
spaceface777 35cbca96e1
checker: implement `[required]` struct field attribute (#6276) 2020-08-31 23:15:40 +02:00
spaceface777 bd304f1141
checker: check number of fields in short struct inits (#6280) 2020-08-31 22:17:59 +02:00
spaceface777 60a9d49382
cgen: implement `[export: 'FooBar']` attribute (#6278) 2020-08-31 21:52:25 +02:00
Sandro Martini 39da5eca89
vweb: hide debug prints 2020-08-31 19:39:46 +02:00
Uwe Krüger cbcba2e4cf
parser: enable module auto import (of `sync`) (#6271) 2020-08-31 10:44:39 +02:00
florin b1a8e1e5b2
vweb: escape form key, not only value. (#6269) 2020-08-30 19:09:12 +02:00
Xavier B d33f68ff54
x.websocket: remove debuging leftover (#6264) 2020-08-30 19:35:47 +03:00
Nick Treleaven 5d3d14da53
cgen: support `typeof(expr).name` (#6253) 2020-08-30 08:56:18 +02:00
Uwe Krüger c351f8fa47
checker, builtin: prepage for builtin channels (#6262) 2020-08-30 08:55:31 +02:00
Delyan Angelov 718a4692dd os: enable test_write_and_read_bytes again 2020-08-29 07:43:31 +03:00
Uwe Krüger fe8286c53c
checker: implement implicit conversions/promotions to `rune` (#6249) 2020-08-29 01:59:07 +02:00
Maciej Obarski 7bd2804ce9
all: automatic error propagation in place of "or { return(err) }" 2020-08-29 01:58:03 +02:00
Uwe Krüger 4d425b0e6d
fmt: insert space in front of `?` for propagation (#6250) 2020-08-29 01:56:43 +02:00
Delyan Angelov 30fc374fc5 os.args: fix os.args[0] when compiling graphical apps on windows 2020-08-28 22:39:52 +03:00
Nick Treleaven 7dbae14e19
checker: error on `mut name =` (#6247) 2020-08-28 20:07:32 +03:00
Delyan Angelov 5d18ece661 ci: fix msvc finding (3) 2020-08-28 20:06:41 +03:00
Delyan Angelov 68864d0703 ci: fix msvc finding (2) 2020-08-28 19:58:17 +03:00
Delyan Angelov 317d15dbe9 ci: fix finding the msvc compiler on windows 2020-08-28 19:48:18 +03:00
Delyan Angelov 3d8a35ced6 ci: fix compiler error tests on windows 2020-08-28 19:27:41 +03:00
Delyan Angelov dde1b89c5e vup: remove empty new line on unix 2020-08-28 19:09:47 +03:00
Maciej Obarski 2ce5797ec2
os: vfopen returns option now (#6244) 2020-08-28 14:24:00 +02:00
Alexander Medvednikov 789674bd5a tests: autofree: use -experimental flag 2020-08-28 10:22:28 +02:00
Alexander Medvednikov 0890562663 tests: autofree tmp expr test 2020-08-28 10:08:32 +02:00
Swastik Baranwal 39bf02ea68
checker: add error for arr1 <,>,>=,<= arr2 (#6243) 2020-08-28 11:08:07 +03:00
Delyan Angelov 88f75fc1d6 builder: cleanup cc.v; log build_thirdparty_obj_files with `-v` 2020-08-28 09:38:52 +03:00
spaceface777 d663f57d43
parser: move flag logic to checker (#6239) 2020-08-28 09:24:04 +03:00
Delyan Angelov 5526954fdc vdoc: cleanup warnings on `./v doc -s vlib` 2020-08-28 09:03:22 +03:00
Delyan Angelov d80843bf53 vdoc: parse with `enable_globals: true` 2020-08-28 08:53:12 +03:00
Delyan Angelov 0975f3bd4c vfmt: support `x chan Name` in fn args 2020-08-28 01:54:16 +03:00
Delyan Angelov 8f5ca29fcd vfmt: support `x := chan Name{cap: 123}` 2020-08-27 23:37:39 +03:00
Alexander Medvednikov 27702b5a5d fast: update V with v up instead of git pull 2020-08-27 18:07:28 +02:00
Alexander Medvednikov a14c6c1ffe autofree: another tmp arg fix 2020-08-27 17:54:36 +02:00
Larpon d982aa54e8
os: add missing documentation (#6234) 2020-08-27 16:57:01 +02:00
spaceface777 eff319f869
comp_for: allow checking full mehod and arg types (#5997) 2020-08-27 15:00:44 +02:00
Delyan Angelov 7476428def vfmt: handle comments after last const field 2020-08-27 15:07:49 +03:00
Delyan Angelov 8f5cefb116 strconv: fix f64_to_str_lnd and f64_to_str_l after 6921d46 2020-08-27 14:22:04 +03:00
Alexander Medvednikov c01d17fcc4 tests: fix array_test.v 2020-08-27 13:12:04 +02:00
Alexander Medvednikov 15bdb8f7cd autofree: tmp arg var frees fixes 2020-08-27 11:30:35 +02:00
Delyan Angelov 3b03edd7cb repl: fix compilation after 6921d46 2020-08-27 12:20:31 +03:00
Delyan Angelov 8b3990225a v.checker: run vfmt over vlib/v/checker/checker.v 2020-08-27 12:09:08 +03:00
Delyan Angelov f73506be49 tests: fix some byte->rune errors 2020-08-27 12:08:05 +03:00
Stunx fa3e95222e
doc: ignore sokol.sapp (#6228) 2020-08-27 08:35:04 +02:00
Xavier B 3e9dc578de
checker: disallow interfaces inside sum types (#6232) 2020-08-27 08:33:59 +02:00
Alexander Medvednikov 8dcc73993e net: remove old websocket module 2020-08-27 07:33:59 +02:00
Alexander Medvednikov 6921d46185 all: rune type for `` literals 2020-08-27 06:46:37 +02:00
Delyan Angelov 99dd72efea tests: add another test for 47f59d3 2020-08-26 11:46:29 +03:00
Delyan Angelov 47f59d3fb6 v.scanner: fix error line numbers when comments end with CRLF 2020-08-26 11:39:32 +03:00
Alexander Medvednikov 84b8e0a7e4 tests: enable live tests on macos 2020-08-26 06:50:32 +02:00
Uwe Krüger 393b46a6dd
channels: make `ch.len` and `ch.cap` available as properties (#6221) 2020-08-26 06:41:51 +02:00
Delyan Angelov 7879510ef5 live: fix hot code reloading on macos (use .dylib, not .so) 2020-08-25 21:40:45 +03:00
Alexander Medvednikov a55bea44da table: register rune type 2020-08-25 18:15:24 +02:00
Delyan Angelov cc82ed28f8 tests: enable running fmt_vlib_test.v on != freebsd platforms again 2020-08-25 19:09:47 +03:00
Delyan Angelov e3f79df3ac tests: support .vv in compiler_test.v too 2020-08-25 18:52:28 +03:00
Delyan Angelov 55fdae77d5 tests: add .vv support for `v vet` too, and simplify vet_test.v 2020-08-25 18:46:33 +03:00
Delyan Angelov 86dfd3902f tests: use .vv files directly in compiler_errors_test.v 2020-08-25 18:14:06 +03:00
Delyan Angelov f259d275fc tests: bump simple_tcp_client retries to 20 2020-08-25 17:52:44 +03:00
Delyan Angelov 7b7ab580ab tests: add retry logic in simple_tcp_client in vweb_test.v 2020-08-25 17:05:40 +03:00
Delyan Angelov 1619beda91 tests: fix repl_test.v 2020-08-25 15:59:07 +03:00
Delyan Angelov ceca1547fb valgrind: fix valgrind_test.v 2020-08-25 15:48:11 +03:00
Alexander Medvednikov c8b3cd2957 tests: simplify valgrind tests, remove .vv 2020-08-25 13:58:21 +02:00
Alexander Medvednikov 33b4ff75d0 builder: handle bad extensions and support .vv 2020-08-25 13:32:27 +02:00
Nick Treleaven 818db91a9e
parser: warn if PostfixExpr followed by `]` or `)` token (#6214) 2020-08-25 08:50:06 +02:00
Nick Treleaven 479bfa28de
cgen: implement fixed array `.len` property (#6212) 2020-08-25 08:48:28 +02:00
Nick Treleaven 8e4ee54070
glm: fix pointer indexing warnings (#6215) 2020-08-25 08:48:05 +02:00
Delyan Angelov 995a5fed1f v.builder: add -DNDEBUG for non debug -prod builds (affects sokol performance) 2020-08-24 23:10:22 +03:00
Delyan Angelov 3efa670d6a sokol: add new mouse_dx and mouse_dy fields (fix for Android multitouch) 2020-08-24 23:01:14 +03:00
Xavier B 32a894719e
x.openssl: remove printlns (#6205) 2020-08-24 17:20:03 +02:00
Nick Treleaven acc5c95f0d
checker: error with `*expr` if not a pointer (#6211) 2020-08-24 17:19:17 +02:00
Alexander Medvednikov d547f74cb0 checker/cgen: interface smart casts 2020-08-24 11:10:26 +02:00
Maciej Obarski e8e0d9fa42
all: [direct_array_access] tag (#6203) 2020-08-24 09:04:50 +02:00
Alexander Medvednikov 702a80fc5a x.net: fix new_tcp_socket() 2020-08-24 03:24:00 +02:00
Delyan Angelov fa8f5df817 sokol: fix compilation of 2048 on some linux distros (undefined XIQueryVersion and XcursorImageCreate) 2020-08-23 22:17:05 +03:00
Delyan Angelov 2e589a5b0b sokol.audio: add proper #flag for windows (-lole32) 2020-08-23 21:15:59 +03:00
Delyan Angelov e71aff71ce sokol.audio: fix compilation on macos (link with -framework AudioToolbox) 2020-08-23 20:55:01 +03:00
Delyan Angelov dad2c6608e examples: implement examples/sokol/sounds/wav_player.v 2020-08-23 20:49:37 +03:00
Delyan Angelov 1c9e02094c sokol.audio: add simple_sin_tones.v example 2020-08-23 15:28:07 +03:00
Alexander Medvednikov 542b149290 sokol: fix examples and remove copy pasta 2020-08-23 07:47:50 +02:00
Alexander Medvednikov 94c3a912ba gg: update sokol and stb_truetype 2020-08-23 07:25:30 +02:00
Alexander Medvednikov 5407d9b062 gg: fix draw_line on hi dpi screens 2020-08-23 04:57:12 +02:00
Swastik Baranwal b2e79dbebd
parser: add an error for `import mod.sub as mod` and `import mod as mod` (#6194) 2020-08-23 02:12:25 +02:00
Uwe Krüger 61df70fdf5
all: enable `x = <-ch or {...}` (#6195) 2020-08-23 02:12:05 +02:00
Alexander Medvednikov 7dfae2384b builtin: remove asl.h include 2020-08-22 17:22:14 +02:00
Alexander Medvednikov 9e12095111 gg: image: return an optional instead of panic(); darwin: fix nsstring() 2020-08-22 17:09:30 +02:00
Delyan Angelov 0bdb096bfa x.net: use port 45123 in tcp_test.v, preventing sporadic `socket error 98` conflicts with websocket_test.v 2020-08-22 15:29:29 +03:00
Delyan Angelov 94ced907d2 sort: fix C compilation error for `fn abc(mut a []int) { a.sort() }` 2020-08-22 15:20:49 +03:00
Yarila682 7dde82322a
cgen: fix dereferencing a mutable array (#6191) 2020-08-22 12:48:09 +02:00
Daniel Däschle fcc61a981d
all: TypeSymbol.source_name (#6187) 2020-08-22 12:29:15 +02:00
Delyan Angelov b5ca114a96 ui: fix compiling the calculator ui example with tcc 2020-08-22 12:58:48 +03:00
Nick Treleaven 98c39a37c0
scanner: warn about interpolation for `$f(expr)` (#6179) 2020-08-22 05:48:06 +02:00
Alexander Medvednikov 793d2ce6dc stbi: more clear panic message 2020-08-22 00:51:16 +02:00
Tomas Hellström fb148e0b61
x.websockets: new websockets module on top of x.net (#6189) 2020-08-22 00:50:38 +02:00
Nick Treleaven 1b914d217e
fmt: don't remove `mut` from `if mut` smart cast (#6188) 2020-08-22 00:00:02 +02:00
Delyan Angelov 06967d9297 sort: require a mutable receiver 2020-08-21 21:19:37 +03:00
Lukas Neubert 93e6c3df6a
cli: various improvements (#6180) 2020-08-20 23:14:53 +02:00
Emily Hudson b88569c845
x.net: new net module (#6130) 2020-08-20 23:01:37 +02:00
Delyan Angelov 9b171b76e0 os: call os.real_path/1 before returning in os.find_abs_path_of_executable/1 2020-08-20 19:23:19 +03:00
Daniel Däschle 0c183da116
checker: fix sort return type (#6182) 2020-08-20 17:29:40 +03:00
Delyan Angelov e8ff94fb8b net.html: simplify map setting (fixes compilation with tcc on aarch64) 2020-08-20 16:45:54 +03:00
Delyan Angelov dfc4298125 tests: return early in x64_test.v on non AMD64 machines 2020-08-20 15:42:26 +03:00
Delyan Angelov 8c7bcad6b1 cgen: support for `$if amd64 {}` and `$if aarch64 {}` 2020-08-20 15:28:37 +03:00
Lukas Neubert 6eea13ecc2
clipboard: wrap pointer indexing in unsafe block (#6178) 2020-08-20 10:33:12 +02:00
Alexander Medvednikov 9da7349f63 gg: minor fixes 2020-08-20 08:32:05 +02:00
Lukas Neubert 88bca9d17a
clipboard: wrap vstring call in unsafe (#6170) 2020-08-19 16:06:23 +02:00
Nick Treleaven 217f04e311
checker: disallow casting to bool, use `some_int != 0` instead (#6138) 2020-08-19 14:37:55 +02:00
Alexander Medvednikov 55b025413d fmt: temporary struct attr fix 2020-08-19 14:33:45 +02:00
Larpon d9aae023b1
android: initial support for C output using sokol_main (#6164) 2020-08-19 11:00:15 +02:00
spaceface777 c1651bd271
gg: fixes and Android support (#6161) 2020-08-19 07:10:42 +02:00
jhuntos c42ca84850
pg: fix array init warnings (#6163) 2020-08-19 07:10:09 +02:00
Nick Treleaven e69f091bbd
parser: require `(` on same line as name token for fn call or cast (#6160) 2020-08-19 02:37:17 +02:00
Alexander Medvednikov 51bd69cdd8 cgen: fix u64 in struct str() 2020-08-18 16:05:11 +02:00
Delyan Angelov 7727aad90f net.http: fix windows compilation warning 2020-08-18 12:14:21 +03:00
Delyan Angelov 2f6757a56a Revert "cgen: fix all -Wmissing-variable-declarations (#5802)"
This reverts commit ae349ca6ba.

Fixing these warnings, unfortunately also means, that hot code
(which reloads a shared library during runtime) can not use V
constants, because the private static C variables in the shared
library will not be initialized by _vinit(), which is only called
by the main V program.

For example in examples/hot_reload/bounce.v, using `gx.blue`,
defined as:
`    blue   = Color { r:   0, g:   0, b: 255 }`
... will instead use a const with all 0 fields (i.e. a black color).
2020-08-18 11:55:55 +03:00
Delyan Angelov 937a3e14c5 cgen: add g.options_typedefs, g.shared_types, g.channel_definitions 2020-08-18 11:45:36 +03:00
Alexander Medvednikov 40d91cc23b gg: handle bad image index 2020-08-18 01:08:58 +02:00
joe-conigliaro c599a4c7de
checker: remove pos+1 on innermost call 2020-08-18 07:39:40 +10:00
Uwe Krüger 0d7cc8829a
cgen: implement channel `push()`/`pop()` using `<-` operator (#6154) 2020-08-17 23:35:36 +02:00
JalonSolov 5c98c0760b
gg: use OpenGL on Windows until D3D issues resolved (#6155) 2020-08-17 23:34:51 +02:00
Daniel Däschle b5c1ea44dc
all: fix mutability after if-smartcast (#6129) 2020-08-17 21:11:11 +02:00
Nick Treleaven 36c98b3e5d
cgen: implement fixed array 'for in' for lvalue condition (#6151) 2020-08-17 21:10:47 +02:00
Swastik Baranwal 46b4e2a0cd
checker: check`match` types (#6149) 2020-08-17 20:19:21 +02:00
Sandro Martini dab639662f
http: fix new warnings (#6153) 2020-08-17 20:17:17 +02:00
Irabaruta Freeman fa11e124dd
term: add documentation (#6097) 2020-08-17 20:16:18 +02:00
Uwe Krüger 9a5f040f72
all: handle `<-` arrow token for channel operations (#6152) 2020-08-17 20:12:00 +02:00
joe-conigliaro c01fd4ac58
parser: remove extra scopes from if & match & fix scope end_pos 2020-08-18 01:51:25 +10:00
Nick Treleaven 6ba6a22a77
checker: prevent from casting non-struct to struct (#6143) 2020-08-17 11:19:44 +02:00
Uwe Krüger 0c7d73c8b0
sync/channels: use references for `chan mut X` testcase (#6145) 2020-08-16 23:01:49 +02:00
Alexander Medvednikov b2059c481a checker: fix an incorrect name test 2020-08-16 19:24:00 +02:00
Alexander Medvednikov f965ddae49 parser: handle several errors in types; cgen: objC includes 2020-08-16 19:16:59 +02:00
Delyan Angelov 191c908f3a tests/valgrind: vfmt fn_with_return_should_free_local_vars.vv 2020-08-16 13:22:32 +03:00
Delyan Angelov fbe02c5ae1 tests/valgrind: add skipped fn_with_return_should_free_local_vars.vv (-autofree) 2020-08-16 13:20:02 +03:00
Delyan Angelov fc7a108366 v.builder: fix quoting when building thirdparty source files 2020-08-16 10:18:14 +03:00
Yarila682 29528196f2
os: close opened file descriptors in `cp()` (#6142) 2020-08-16 04:55:10 +02:00
Nick Treleaven bab5c21224
parser: warn when fixed-size ArrayInit doesn't have trailing `{}`. (#6137) 2020-08-16 04:54:05 +02:00
Enzo a02593204f
checker: forbid aliasing an alias (#6118) 2020-08-16 04:53:16 +02:00
Vinicius Rangel bf065674cc
json: maps, memory leak, and error forwarding (#6116) 2020-08-16 02:30:37 +02:00
Delyan Angelov e7b2aefd36 v.pref: handle `|` as separators in -path option parsing again (as documented in the help) 2020-08-15 22:09:40 +03:00
Uwe Krüger c2b4c645a1
sync/channels: document more benchmark results (#6135) 2020-08-15 11:20:51 +02:00
Nick Treleaven 0f0a91fc9e
parser: support custom fixed size ArrayInit: `[3]int{init: -1}` (#6114) 2020-08-15 11:01:54 +02:00
spaceface777 5f3ced7213
builder: only include `os` when building `.vsh` files (#6134) 2020-08-14 21:57:32 +02:00
Uwe Krüger 9602a25a0b
all: add builtin channel type `chan elem_type` (#6126) 2020-08-14 21:18:42 +02:00
Nick Treleaven 75212f9fab
cgen: error if ForInStmt is not handled (#6131) 2020-08-14 21:01:43 +02:00
Daniel Däschle b2fee21ef3
checker: check struct casting (#5864) 2020-08-14 14:57:08 +02:00
Nick Treleaven 6016f28171
cgen: fix assigning ArrayInit to fixed array: `a = [3]int` (#6115) 2020-08-14 13:57:00 +02:00
Nick Treleaven 078ab47a9a
cgen: support `==`, `!=` on FixedArray (#6119) 2020-08-14 02:03:38 +02:00
Delyan Angelov 2ad2b4c5ba vweb: add more tests. Fix missing Content-Length: header bug on 404. 2020-08-14 02:49:15 +03:00
Delyan Angelov 712f4bd7f8 vweb: add tests 2020-08-14 00:52:02 +03:00
Alexander Medvednikov fc1f41fc84 checker: fix a string error test 2020-08-13 23:33:18 +02:00
Alexander Medvednikov 88cde776e7 checker: more clear string error 2020-08-13 23:21:15 +02:00
Delyan Angelov 8580a0bcd7 cgen: run vfmt to silence `./v fmt -verify` 2020-08-13 21:22:52 +03:00
Delyan Angelov a62307f711 vweb: fix body appending (missing closing json bracket) 2020-08-13 21:07:31 +03:00
Daniel Däschle 64e8125807
cgen: fixe calling anon fn asynchronously (closes #6088) (#6121) 2020-08-13 20:06:56 +02:00
Daniel Däschle 34b28cb68a
fmt: fix anon fn call (#6120) 2020-08-13 20:05:59 +02:00
Delyan Angelov 1135dffe2d cgen: prevent generation of duplicate interface method wrappers 2020-08-13 20:56:58 +03:00
spaceface777 2353814821
vweb: fix body size calculation (#6122) 2020-08-13 20:55:33 +03:00
Delyan Angelov da7adb5b1b ci: fix failing tests for compiler_errors_test.v 2020-08-13 13:16:41 +03:00
Delyan Angelov fd5a76a8ad ci: fail compiler_errors_test.v, when at least one of all the parser/checker tests failed 2020-08-13 12:57:16 +03:00
Delyan Angelov 1a96bcf405 ci: fix `v vet` filtering 2020-08-12 20:34:13 +03:00
Alexander Medvednikov f8be2110ec sort: fix sorting by struct fields 2020-08-12 18:43:41 +02:00
Alexander Medvednikov e5e31f7210 sort: handle `.sort(a.field > b.field)` 2020-08-12 06:11:40 +02:00
Alexander Medvednikov 4bc0dde413 all: new `.sort(a < b)` syntax 2020-08-12 05:54:51 +02:00
Alexander Medvednikov 9800cf1e7b checker: improve array errors; gg: remove unused imports 2020-08-12 03:54:17 +02:00
Uwe Krüger bb93bf34ec
sync/semaphores: use dispatch semaphores on MacOS (#6110) 2020-08-12 03:45:09 +02:00
Delyan Angelov ca7a64a451 cgen: add support for -g again 2020-08-12 02:05:45 +03:00
Uwe Krüger 433610b5c0
sync/channels: provide `.cap` and `.len()` (#6104) 2020-08-11 17:52:13 +02:00
Swastik Baranwal 9fdb1701e0
checker: add a check for str[i] = `a` (#6107) 2020-08-11 17:41:54 +02:00
Alexander Medvednikov 99798b83b4 parser: fix match/else check 2020-08-11 17:30:37 +02:00
Alexander Medvednikov c5aa2bfa51 tests: fix a match test 2020-08-11 16:26:52 +02:00
Alexander Medvednikov 1a9dba0005 checker: make << shifts work with custom number types 2020-08-11 01:05:34 +02:00
Alexander Medvednikov 2dd82748e0 checker: simplify << error message 2020-08-11 01:01:33 +02:00
Alexander Medvednikov 6d72209363 checker: minor c2v fixes 2020-08-11 00:51:15 +02:00
Alexander Medvednikov 11113e43e7 checker: a minor perf fix 2020-08-10 23:59:42 +02:00
Nick Treleaven d8d82a0be4
checker: make `has_return` fn more efficient (#6103) 2020-08-10 23:59:08 +02:00
Alexander Medvednikov 88988817d0 parser: minor `match` simplification 2020-08-10 19:54:38 +02:00
Uwe Krüger c3cdfa1c96
sync/channels: provide `try_push(), try_pop() as public methods (#6101) 2020-08-10 18:06:42 +02:00
Delyan Angelov 36eae1c175
builtin: x.vstring() instead of string(x) (#6102) 2020-08-10 18:05:26 +02:00
Delyan Angelov eba413853f compiler_errors_test.v: use work.close() instead of sentinel tasks 2020-08-10 15:26:54 +03:00
Nick Treleaven 5e2824e2f2
vfmt: align field attributes (when no inline comment after type) (#6089) 2020-08-10 13:13:42 +03:00
Delyan Angelov bd32f0969f parser: enable CamelCase named method names for JS. objects 2020-08-10 10:39:14 +03:00
Uwe Krüger 20a65cf9c8
sync/channels: implement `close()` method (#6098) 2020-08-10 06:22:20 +02:00
Nick Treleaven fce106cf83
parser: use Attr.arg field for `[name: arg]` (#6084) 2020-08-10 02:00:14 +02:00
Sandro Martini c7fae4dd6f
vweb: add set_status() (#6087) 2020-08-09 18:05:06 +02:00
Nick Treleaven 2dd90de993
parser: error on `[unsafe_fn]` (#6090) 2020-08-09 12:22:11 +03:00
Alexander Medvednikov 200f8dacb7 []byte.str2() => bytestr() 2020-08-09 04:22:42 +02:00
Alexander Medvednikov 94f4dfe85b builtin: a temporary []byte.str2() (until runes are implemented) 2020-08-09 04:20:43 +02:00
João Victor Oliveira Couto f6a85d5305
net.html: create html parser module (#6076) 2020-08-09 04:13:34 +02:00
Louis Schmieder 97fec78b40
io: input/output streams (#6078) 2020-08-09 04:12:29 +02:00
Alexander Medvednikov 64f218e943 string: fix all cap .title() test 2020-08-09 04:09:48 +02:00
Alexander Medvednikov c65dbe51d6 parser: c2v fixes 2020-08-09 03:58:14 +02:00
Nick Treleaven 6cc8815931
parser: support [unsafe] instead of [unsafe_fn] (#6066) 2020-08-08 16:24:05 +02:00
Maciej Obarski 2a4ef2acbd
regex: new options returning interface to the regex module (#6062) 2020-08-08 09:04:12 +03:00
Delyan Angelov 55b8cc1bb2 tests: parallelize compiler_errors_test.v using channels & threads 2020-08-07 16:44:49 +03:00
Delyan Angelov 34d03801de tests: run ws_test.v only with -d network 2020-08-07 10:14:40 +03:00
Alexander Medvednikov ce4ee2b247 v0.1.29 2020-08-06 19:36:52 +02:00
Delyan Angelov 4568ce8f00 builtin: add sanity check on the number of returned frames by C.backtrace 2020-08-06 19:50:29 +03:00
Uwe Krüger d63daa0798
sync: use `mfence` on windows-tcc (#6079) 2020-08-06 17:31:05 +02:00
Alexander Medvednikov ea76a33b43 remove freetype references everywhere 2020-08-06 17:23:57 +02:00
Uwe Krüger 863cf8af60
sync: channel implementation (#6074) 2020-08-06 15:28:19 +02:00
Larpon 09f1362305
os: let temp_dir adhere to posix/fhs version 3.0 on linux and mac (#6069) 2020-08-05 19:02:57 +02:00
Delyan Angelov d1257f5590 tests/valgrind: add skipped fn_returning_string_param.vv (-autofree) 2020-08-05 19:35:18 +03:00
Delyan Angelov 6c27ce58ed v.util.vtest: extract the common code for VTEST_ONLY in a single place 2020-08-05 19:34:27 +03:00
Alexander Medvednikov ecaccafd31 gg: image cache 2020-08-05 16:00:24 +02:00
Alexander Medvednikov 67aafd03c6 gg: fix image rendering 2020-08-05 14:34:28 +02:00
spaceface777 bf20d6d3db
builder: don't panic if msvc rootdir isn't found (#6068) 2020-08-05 13:22:10 +03:00
Delyan Angelov f331f63f53 ci: fix windows build 2020-08-05 09:09:18 +03:00
Delyan Angelov 5874d7c5ab os: add os.getpid(), use it in os.is_writable_folder on windows 2020-08-05 09:04:40 +03:00
Delyan Angelov 7b1944c2da gg: simplify the image_cache 2020-08-05 08:46:20 +03:00
Delyan Angelov 221a777a80 gg: cache sokol C.sg_image handles 2020-08-05 08:09:25 +03:00
Delyan Angelov ab7936f514 os.exec: on unix return error, when the command was not found, instead of os.Result 2020-08-05 07:11:51 +03:00
Maciej Michalec 449c98e861
scanner: floats without fraction (fix #5262) (#6064) 2020-08-05 05:11:29 +02:00
Alexander Medvednikov f3ebd3a6e7 gg: fix image rendering 2020-08-05 03:15:40 +02:00
Enzo f238890fe9
compiler: move attributes to declarations (#6026) 2020-08-04 20:10:22 +02:00
Nick Treleaven 3ce6dd6cbc
hash: use match expression with ranges (#6046) 2020-08-04 20:09:58 +02:00
Delyan Angelov 3dfe242dbb vfmt: add a regression test for `type SocketMessageFn = fn (mut c Client, msg &Message) ? 2020-08-04 16:13:04 +03:00
Delyan Angelov cd9bb51af2 vfmt: fix 6040 (part 2) 2020-08-04 16:08:47 +03:00
Delyan Angelov f9d241ae27 gg,stbi: implement gg.create_image_from_memory/2 2020-08-04 13:18:08 +03:00
Delyan Angelov 216b6bf285 gg: remove tracing println in draw_image 2020-08-04 12:57:54 +03:00
Delyan Angelov 9ce75e10d5 gg: free gg.create_image from having to be called by sokols init_fn callback 2020-08-04 12:37:28 +03:00
Swastik Baranwal f3817c47f9
token: remove switch keyword (#6056) 2020-08-04 11:04:07 +02:00
Delyan Angelov f7a0d0a02f ci: fix -autofree compilation of vlib/v/tests/valgrind/strings_and_arrays.vv 2020-08-04 11:30:02 +03:00
Alexander Medvednikov 60c642f42d gg: clean up draw_image() 2020-08-04 01:26:56 +02:00
Alexander Medvednikov 7a7572e478 autofree: free temp string exprs 2020-08-04 01:26:34 +02:00
Nick Treleaven c33dbbc216
fmt: don't add newlines for UnsafeExpr (#6048) 2020-08-04 00:29:10 +02:00
Delyan Angelov e291c38119 ast: add use case comment for MatchExpr.var_name 2020-08-03 22:10:59 +03:00
Swastik Baranwal c547e8b191
v/fmt: fix formatting of `type Foo = fn (a int)?` (#6047) 2020-08-03 19:28:48 +03:00
dils2k 8dede3b535
builder: add a verror, when the output folder is not existing and writable (#5966) 2020-08-03 18:19:36 +03:00
Nick Treleaven 3e4df7f140
v/fmt: fix dropping `as ident` from `if sum is T` statement (#6049) 2020-08-03 18:16:06 +03:00
Carlos Esquerdo Bernat 66b3fabeef
log: avoid the deprecated .is_opened() method (#6039) 2020-08-03 02:35:08 +03:00
Delyan Angelov 0ac30a8d9c gg: enable image transparency in gg.draw_image2 too 2020-08-03 00:30:08 +03:00
Delyan Angelov a7ca1682c4 gg: fix gg.draw_image2 (image drawn, but without transparency for now) 2020-08-02 23:47:37 +03:00
Delyan Angelov 0b6b0aca09 parser: fix infinite loop on unexpected $ between statements 2020-08-02 18:17:38 +03:00
Alexander Medvednikov 79b70006e6 examples: simplify gg/rectangles.v 2020-08-02 17:01:10 +02:00
Delyan Angelov c6ae322f85 parser: add hard limit to the number of statements in a fn 2020-08-02 17:58:05 +03:00
Nick Treleaven 8dcc3cda97
os.cp: fix returning false error on Windows (#6037) 2020-08-02 14:08:45 +03:00
Nick Treleaven 7f447bb82f
ast: use Block instead of UnsafeStmt (#5981) 2020-08-02 14:06:44 +03:00
Alexander Medvednikov cc57b52773 gg: fix typo 2020-08-01 23:52:15 +02:00
Alexander Medvednikov 149de958f3 gg: fix compilation 2020-08-01 23:45:36 +02:00
Alexander Medvednikov a1593e7db8 checker: 1 line v fmt fix 2020-08-01 23:41:32 +02:00
Alexander Medvednikov fb4550e582 gg: new create_image() (part 1) 2020-08-01 23:40:28 +02:00
Swastik Baranwal d56d622a43
checker: add checks for byte casting (#5917) 2020-08-01 23:17:00 +02:00
Carlos Esquerdo Bernat d71c11577a
os: move file logic to file.v (#6013) 2020-08-01 23:07:37 +02:00
Duarte Roso 055117dc5f
builtin: make byte.hex() two digits format (#5886) 2020-08-01 23:06:08 +02:00
spaceface777 4f37202b72
checker: allow struct fields starting with capitals in builtin (#5998) 2020-08-01 23:01:40 +02:00
spaceface777 1feca22e28
jsgen: don't generate `JS.` struct decls (#6035) 2020-08-01 22:27:25 +02:00
Alexander Medvednikov adafd24819 gen: auto_str_methods.v 2020-08-01 16:36:12 +02:00
Delyan Angelov 0fb8074353 cgen: add support for `$if gcc {}` too 2020-07-31 21:25:37 +03:00
joe-conigliaro 1ea511b530
builder/cgen: get -usecache working for self cimpilation 2020-07-31 20:10:19 +10:00
Nick Treleaven eb47ce1e83
ast: fix ParExpr.str(), RangeExpr.str(), SizeOf.str() (#6023) 2020-07-31 02:31:01 +02:00
Louis Schmieder 1fd499ed4a
vweb: fix request checking (#6027) 2020-07-31 01:26:56 +02:00
Delyan Angelov 91c9c0c917 checker: fix unknown_method_suggest_name.out test result too 2020-07-30 19:37:36 +03:00
Delyan Angelov 65891f54ed v.util.suggestions: fix hash.crc32.Crc32 case 2020-07-30 19:35:16 +03:00
Delyan Angelov f300f787f3 checker: add suggestions for method mispellings and unknown types 2020-07-30 18:48:16 +03:00
Delyan Angelov 2c45e601ef builder: increase backtrace size with tcc to 25 frames 2020-07-30 16:56:58 +03:00
Delyan Angelov 3883c34b8c vfmt: fix eating of `n` in `string(x,n)` 2020-07-30 12:15:04 +03:00
Lukas Neubert f2c639c869
builtin: add string.contains_any() (#5963) 2020-07-29 21:48:50 +02:00
Alexander Medvednikov f269cbdc94 Revert "parser: Support `unsafe(expr)` (#5973)"
This reverts commit 19c226fcf8.
2020-07-29 21:41:47 +02:00
Delyan Angelov 9c9533dad9
checker: add error for `fn f() Struct { return &Struct{} }` (#6019) 2020-07-29 21:40:43 +02:00
Delyan Angelov 81f8e910e6 compiler: remove space at the end of warn/error messages to minimize diff churn 2020-07-29 20:37:55 +03:00
Swastik Baranwal 4500e7131e
checker: add a checker error for fn calls on left side of an assignment (#5993) 2020-07-29 18:33:00 +03:00
Carlos Esquerdo Bernat 7b630f0350
ws: send unsolicited pong control frame on connect in ws_test.v (#6010) 2020-07-29 18:11:24 +03:00
Carlos Esquerdo Bernat 2f2463a04c
ws: make Client.state `pub mut` (#6009) 2020-07-29 17:52:33 +03:00
Alexander Medvednikov 280afb2282 builder: rename `a` to `args` 2020-07-28 22:33:33 +02:00
Leah Lundqvist 51c9b49d3f
iOS: basic building and running (#5999) 2020-07-28 22:27:38 +02:00
Ruofan XU 1d59d35129
cgen: fix sum type match (#5978) 2020-07-28 22:17:25 +02:00
Delyan Angelov e06448b616 eventbus: update test and docs too 2020-07-28 19:08:16 +03:00
Carlos Esquerdo Bernat 0539b2a7ea
eventbus: removed check on publish, always use receiver, args, sender order for callbacks (#5940) 2020-07-28 18:48:25 +03:00
Delyan Angelov 9c028bb299 checker: fix passing enum to a method expecting string 2020-07-28 13:50:40 +03:00
Delyan Angelov 228486555c http: add pub to Method.str() 2020-07-28 12:34:29 +03:00
Delyan Angelov 5bf3b6eda3 gg: fix running tetris and ui examples on linux 2020-07-28 12:12:44 +03:00
Carlos Esquerdo Bernat 49a7a835c7
ws: update README.md (#5983) 2020-07-28 11:22:03 +03:00
Nick Treleaven 19c226fcf8
parser: Support `unsafe(expr)` (#5973) 2020-07-28 11:20:52 +03:00
Enzo d7ed3cd8b7
fmt: fix SQL formatting in ORM expressions - remove trailing spaces (#5996) 2020-07-28 11:09:42 +03:00
Carlos Esquerdo Bernat 28657fe7cb
http: handle all of the http.Method values in .str() (#6002) 2020-07-28 10:39:10 +03:00
Swastik Baranwal 8b66816bdc
scanner: more checks for `_` as num_sep (#5992) 2020-07-28 16:09:19 +10:00
joe-conigliaro 5d49034c31
http: backend_windows - use Method enum in ssl_do() 2020-07-28 14:35:21 +10:00
joe-conigliaro 395e886b2e
http/vweb: use Method enum & add helpers 2020-07-28 14:13:19 +10:00
Alexander Medvednikov fec9920b1a http: replace method string with an enum 2020-07-27 21:20:23 +02:00
Alexander Medvednikov 65159b8070 gg: bold/mono/italic fonts 2020-07-27 21:20:23 +02:00
joe-conigliaro 61c1c4a690
checker: add error for invalid sum type cast `MySt{1}` 2020-07-28 01:04:04 +10:00
Enzo 2de1437a1e
ci: vet all files from the compiler (#5994) 2020-07-27 12:15:29 +02:00
joe-conigliaro 1086150ab9
builder: add comment to parse_imports `re: dup file parsing` 2020-07-27 12:06:48 +10:00
Alexander Medvednikov 3d19167628 http: fix cookies (part 2) 2020-07-26 22:01:25 +02:00
Alexander Medvednikov cf4235ab65 http: fix cookies 2020-07-26 15:54:21 +02:00
Delyan Angelov 88345d759a tests: add support for skipping to valgrind_test.v 2020-07-26 16:09:58 +03:00
Ruofan XU 7027b2354b
cgen: fix array and map with fns (#5938) 2020-07-26 14:22:02 +02:00
Delyan Angelov dfa01d8877 rand: add rand.ulid_at_millisecond/1, use it in rand.ulid/0 2020-07-26 14:17:29 +03:00
penguindark 7d52d612ce
rand: add rand.ulid() (#5979)
* removed debug println

* added newline to the end of the file

* time: add .unix_time_milli() method; rand,time: add tests

* rand: add more ulid tests; move tests to a separate file random_identifiers_test.v

* run vfmt over vlib/rand/random_identifiers_test.v

* speed up time.unix_time_milli

* simplify and speedup time.unix_time/0 and time.new_time/1

* update comment about rand.ulid()

* fix terminating 0 off by 1 issue in rand.ulid()

* optimize time.new_time()

* restore the master version of vlib/time/parse.v

* make test_unix_time more robust

Co-authored-by: Delyan Angelov <delian66@gmail.com>
2020-07-26 13:10:56 +03:00
Delyan Angelov 9e652c4f40 ci: fix remaining failing tests. Do mut ptr check only outside unsafe{} blocks. 2020-07-26 10:59:07 +03:00
Delyan Angelov 9d056168ae ci: fix failing tests 2020-07-26 10:48:24 +03:00
Delyan Angelov a7f484d9a7 tests: make output of vlib/v/compiler_errors_test.v more readable 2020-07-26 10:47:55 +03:00
Carlos Esquerdo Bernat 1f8ae5d12c
websocket: add tests (#5967) 2020-07-25 22:25:31 +02:00
Alexander Medvednikov 6796b93abd tests: fix compiler_errors_test.v 2020-07-25 22:20:10 +02:00
Delyan Angelov 6fcc6cdc75 rand: add comments for rand.uuid_v4, apply some more perf tweaks 2020-07-25 21:39:54 +03:00
Delyan Angelov ee3ebed23c rand: further speed up of rand.uuid_v4 2020-07-25 20:21:44 +03:00
Delyan Angelov 3d2fd471b6 ci: prepare for enabling compilation with g++ again 2020-07-25 20:20:49 +03:00
Alexander Medvednikov 7c86156be5 checker: fix unsafe tests 2020-07-25 18:58:23 +02:00
Alexander Medvednikov 34907f7605 checker: do not allow assigning immutable refs to mutable vars 2020-07-25 18:32:36 +02:00
Delyan Angelov a552674254 vvet: fix segfault on `v vet .` 2020-07-25 15:57:57 +03:00
Delyan Angelov d5b837e808 rand: speed up rand.uuid_v4() ~7x, with -prod 2020-07-25 13:09:05 +03:00
Delyan Angelov c1e14b451e builder: show timing info in bold; also add a `checker summary:` line with -stats 2020-07-25 10:32:29 +03:00
Alexander Medvednikov 3c1427a4e8 all: fix current module in build-module mode 2020-07-25 01:37:54 +02:00
Louis Schmieder b58b15993c
gen: compile time for (methods and fields) (#5957) 2020-07-25 00:02:44 +02:00
Lukas Neubert 2ccb28a93e
checker: run vfmt over checker.v (#5965) 2020-07-24 20:12:01 +03:00
Delyan Angelov 289974dd15 rand: use time microseconds too in default rand initialization; generate proper uuid_v4 2020-07-24 14:33:58 +03:00
Delyan Angelov c429fa7e27 rand: add test for rand.uuid_v4() 2020-07-24 14:01:48 +03:00
Delyan Angelov bba0edf9a3 rand: add rand.uuid_v4() 2020-07-24 13:59:24 +03:00
Delyan Angelov bfca55b87a examples: fix `v build-examples` 2020-07-24 13:29:47 +03:00
Delyan Angelov 8c4429c875 parser: fix passing the is_mut flag of anon fn arguments 2020-07-24 11:27:56 +03:00
Delyan Angelov d204c926a8 tests: fix compilation of if_smartcast_test.v 2020-07-24 10:30:22 +03:00
pancake 04ef2a2671
os: implement os.system for iOS and uncomment the `$if ios` blocks (#5947) 2020-07-24 10:17:32 +03:00
Delyan Angelov 921b5cddd0 live: fix compilation 2020-07-24 08:45:28 +03:00
Delyan Angelov d31142ac3e vfmt: fix compilation after the more strict mutability check 2020-07-24 08:43:18 +03:00
Delyan Angelov d83e2ee330 websocket: fix compilation after the more strict mutability check 2020-07-24 08:41:14 +03:00
Delyan Angelov 346cc5ca2c term: fix panic in term.header, when cols,rows from get_terminal_size are < 2 2020-07-24 08:34:39 +03:00
Delyan Angelov c2083203b3 v.util: fix util.emanager.set_support_color 2020-07-24 08:31:05 +03:00
Alexander Medvednikov ec443c65a8 tests: fix some tests 2020-07-24 01:55:55 +02:00
Alexander Medvednikov d2675b89c0 builtin: fix a mutable var on windows 2020-07-23 23:18:45 +02:00
Alexander Medvednikov 632e27a4a9 all: fix a big mutability bug and update all mutable vars 2020-07-23 23:16:36 +02:00
Alexander Medvednikov 32c1042ac6 parser: disable the duplicate import check for now 2020-07-23 22:20:00 +02:00
Alexander Medvednikov 653d40bfe8 parser: do not duplicate table imports 2020-07-23 21:59:48 +02:00
pancake b7bdb97f7d
term: fix crash in `header` when divider.len < 2 (#5956) 2020-07-23 18:54:29 +02:00
Louis Schmieder b537d8e23e
parser: comp `for` attrs array (#5903) 2020-07-23 17:19:37 +02:00
Carlos Esquerdo Bernat 7a4c27bd08
log: add flush to log file (#5942) 2020-07-23 08:02:53 +03:00
pancake 36352085ae
v: add support for iOS crosscompilation (#5943) 2020-07-23 07:58:44 +03:00
Emily Hudson 0f98445f7f
cgen: properly handle more multi-return edge cases (#5933) 2020-07-23 00:39:19 +02:00
Uwe Krüger 6586a9a657
fmt: give braced sub expressions a higher priority (#5941) 2020-07-23 00:32:34 +02:00
Delyan Angelov 37c6f6ab1b vfmt: fix compilation with -prod 2020-07-22 21:43:20 +03:00
Delyan Angelov 276c1de190 unsafe: tag with unsafe{} some more pointer manipulations 2020-07-22 21:42:51 +03:00
Delyan Angelov 949ed90b51 utf8: fix a panic in utf8.len("pippo"), mark with `unsafe{}` direct pointer manipulations 2020-07-22 21:15:27 +03:00
Lukas Neubert 4096432a1d
cli: prevent need for unsafe block (#5937) 2020-07-22 20:53:49 +03:00
Ryan Willis 938e71b468
v: fix for `import cli { Command }` 2020-07-22 20:33:43 +03:00
Nick Treleaven ee349691f9
v/checker: Warn about pointer indexing outside unsafe {} (#5918) 2020-07-22 20:28:53 +03:00
joe-conigliaro d46a89b90d
parser/checker/fmt: optimize scope lookups by storing object with ident & add if expr smartcast support to vfmt (#5935) 2020-07-23 02:10:31 +10:00
Delyan Angelov ebbc7bd471 examples: fix crash when running examples/ws/client.v outside of valgrind 2020-07-22 18:42:57 +03:00
Carlos Esquerdo Bernat b0d76c59f7
websocket utf8: move utf8 functions from websocket to encoding.utf8, add utf8_test.v (4/4) (#5924) 2020-07-22 18:36:24 +03:00
Carlos Esquerdo Bernat 635c99e2ed
ws: obtain port when not specified (#5922) 2020-07-22 17:35:30 +03:00
Carlos Esquerdo Bernat 0d8ebf5845
websocket: use log instead submodule logger (1/4) (#5921) 2020-07-22 17:31:22 +03:00
Ruofan XU 0f72328d1f
cgen: minor generated C source format fix 2020-07-22 17:27:37 +03:00
Carlos Esquerdo Bernat f09e14a2b9
csv: cleanup reader_test.v 2020-07-22 17:26:26 +03:00
Emily Hudson 1476602f99
builder: pass define flags to msvc (#5931) 2020-07-22 17:24:12 +03:00
Ruofan XU a370dd2867
cgen: further fixes to and array/map of fns (#5916) 2020-07-22 02:30:44 +02:00
kalapalo c3a2e9b5c4
cgen: fix sum type assignment with pointers (#5868) 2020-07-22 02:28:49 +02:00
spaceface777 f4251dded0
checker: suggest using `:=` when assigning to undefined variable (#5911) 2020-07-21 19:49:53 +03:00
Delyan Angelov 8b930b4888 builder: measure msvc execution too 2020-07-21 19:45:50 +03:00
Delyan Angelov 14fd7d93ca v.pref: fix `v build file.v` 2020-07-21 19:36:58 +03:00
Delyan Angelov 6dd1494008 encoding.base64: use fixed static arrays for the ending_table and index consts 2020-07-21 17:56:19 +03:00
Delyan Angelov 4cb9e651a6 vfmt: fix `sizeof(C.Type)` 2020-07-21 16:28:30 +03:00
Delyan Angelov e1eb9c4ff1 vfmt: fix `x := *&int(ptr)` 2020-07-21 15:58:17 +03:00
Delyan Angelov 35df792c05 vfmt: fix `#include "@VROOT/path/x.h"` 2020-07-21 14:26:49 +03:00
Delyan Angelov 8f23accc4e time: add .format_ss_milli and .format_ss_micro methods 2020-07-21 11:58:33 +03:00
Delyan Angelov 0af415fa28 vlib: add unsafe{} wrappers to C. fn calls, to allow compiling with -prod again 2020-07-21 09:05:31 +03:00
Carlos Esquerdo Bernat 6dbc143d67
websocket: move ws example to examples folder (#5875) 2020-07-21 00:55:58 +02:00
Alexander Medvednikov 303b65c0b9 roadmap: io streams 2020-07-20 22:51:17 +02:00
Alexander Medvednikov 059722f211 checker: minor vfmt run 2020-07-20 22:30:09 +02:00
Nick Treleaven 15ca64d81d
tests: rename pointer_arithmetic_should_be_checked.vv -> unsafe_required.vv (#5897) 2020-07-20 23:04:22 +03:00
Nick Treleaven a74cbf55c7
checker: warn if C.m* or C.s* functions are called outside unsafe blocks (#5869) 2020-07-20 20:06:41 +03:00
spaceface777 1a5236e53d
jsgen: export module through commonjs (#5895) 2020-07-20 19:57:13 +03:00
Ruofan XU 88c8e194d0
cgen: fix map and array with fns (#5894) 2020-07-20 19:53:02 +03:00
Nick Treleaven e6fc8eb015
checker: check that array slicing indexes are valid (#5892) 2020-07-20 19:52:03 +03:00
Enzo 8653605b0a
fmt: allow for comments in call args and if expressions branches (#5871) 2020-07-20 17:48:33 +03:00
Nick Treleaven fb76e02c59
builtin: speed up string.clone() by using C.memcpy (#5837) 2020-07-20 17:44:35 +03:00
Carlos Esquerdo Bernat c60948e52e
runtime: simplify nr_cpus(), add a test for nr_jobs() 2020-07-20 17:36:44 +03:00
Delyan Angelov fb4c3ff31a tests: split unsafe.v to vlib/v/tests/unsafe_test.v and a checker output .vv&.out test 2020-07-20 16:53:27 +03:00
Carlos Esquerdo Bernat 60997b3052
net.http: wrap unsafe{} around req.headers.free() (#5891) 2020-07-20 15:39:46 +03:00
Delyan Angelov c858978348 cgen: add support for `-d trace_gen` too. Add `v tracev` command. 2020-07-20 12:36:27 +03:00
Delyan Angelov 587b9dd8aa tests: reduce iterations for the atomic and semaphore tests, to speed up test-fixed 2020-07-20 11:14:55 +03:00
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
yuyi bd16dd9fdf
cgen: fix assert `sumtype is` (#5739) 2020-07-08 09:05:01 +03:00
yuyi b0ce66d141
gen: fix generated `defer` (#5717) 2020-07-08 08:39:11 +03:00
Alexander Medvednikov 246e7e8464 vweb: form error 2020-07-07 21:35:59 +02:00
Emily Hudson cdfb578565
builder: cache msvc (#5733) 2020-07-07 20:35:49 +02:00
joe-conigliaro c99200918e
checker: fix if 2020-07-08 01:42:42 +10:00
joe-conigliaro 2480cce1ed
checker: optimize if & fix typo 2020-07-08 01:36:48 +10:00
Alexander Medvednikov e0fcd565d5 gg: fix default text size 2020-07-07 17:33:24 +02:00
joe-conigliaro 5fd5e558ae
parser/checker/gen: anon fn direct call with args 2020-07-08 01:10:39 +10:00
Louis Schmieder f8a89e3f8f
gg: fix text rendering (#5727) 2020-07-07 17:09:35 +02:00
Louis Schmieder 2a7a6fa1eb
orm: add delete stmt (#5725) 2020-07-07 16:55:32 +02:00
Alexander Medvednikov 4d7d1eb0c4 http: referer() 2020-07-07 14:37:43 +02:00
yuyi dc24327b1e
cgen: minor optionals fix (#5714) 2020-07-07 14:21:02 +02:00
Tarang11 68e01d87be
checker: fix multi assignment for multiple fns (#5716) 2020-07-07 14:18:51 +02:00
Louis Schmieder d2d4ea42ce
vweb: add url query (#5719) 2020-07-07 13:46:57 +02:00
yuyi 4490cd2e8a
os: replace panics with optionals (#5718) 2020-07-07 12:41:42 +02:00
Alexander Medvednikov a6450e8e98 vweb: fix and simplify routing 2020-07-07 12:35:45 +02:00
Uwe Krüger ef02373061
all: remove `rwshared` keyword, make its semantics default for `shared` (#5710) 2020-07-07 01:57:31 +02:00
Alexander Medvednikov 013c0e6e16 gg: make FT private 2020-07-06 21:40:24 +02:00
Alexander Medvednikov 48f1f814d2 gg: minor fixes 2020-07-06 20:40:54 +02:00
Alexander Medvednikov 0ed8199da2 gg: merge ft module 2020-07-06 20:29:09 +02:00
yuyi 43c8726c37
cgen: minor optimization of comptime (#5705) 2020-07-06 19:58:21 +02:00
Alexander Medvednikov 1f3d7d393e gg: simplify text rendering 2020-07-06 19:45:00 +02:00
Leah Lundqvist cfa8e0a81a
js: |0 -> parseInt (#5703) 2020-07-06 18:09:54 +02:00
joe-conigliaro 9a4d989188
test: move sumtype int cast test into fn & test var 2020-07-06 23:39:51 +10:00
Leah Lundqvist 659aa8db3c
js: fix int division (#5701) 2020-07-06 15:24:24 +02:00
Delyan Angelov 6b2777e681 compiler: support VTMP; tests: delete .tmp.c files on successfull tests 2020-07-06 15:08:46 +03:00
joe-conigliaro d82e6c9cd9
checker/table: fix sumtype cast from int literal 2020-07-06 21:27:48 +10:00
Delyan Angelov 25771a1afe compiler: remove -keepc option (it is now always on) 2020-07-06 13:42:18 +03:00
yuyi c94038af89
cgen: improve generated code formatting (#5693) 2020-07-06 12:33:57 +02:00
yuyi fc7237be7b
checker: fix cast to sum type (fix #5690) (#5692) 2020-07-06 12:32:59 +02:00
yuyi f41edef4c6
checker: add `1/0x0 1/0b0..` division by zero check (#5694) 2020-07-06 12:32:00 +02:00
Uwe Krüger c3614c0e38
cgen, sync: implement separate read/write locks for `rwshared` types (#5687) 2020-07-05 22:53:28 +02:00
Louis Schmieder 3cd9e2cab7
vweb: fix index (#5682) 2020-07-05 22:05:58 +02:00
spaceface777 d0e321c8a3
fmt: allow parsing files without `fn main()` (#5681) 2020-07-05 20:53:01 +02:00
KrisChambers 8d035a446a
Fix v/parser: Failure to parse structs with fields typed as anonymous functions returning having an optional void (`?`) return type. (#5684)
* Handle optional void return type in function types in struct fields.

* Add more testing for optional return types in struct fields.

* Move language parsing into it's own function

* Fix issue caused by not setting typ.

* Fix test for structs containing anon fn with optional void return types
2020-07-05 19:29:39 +02:00
Alexander Medvednikov f6ab63f3a0 stbi: remove opengl call 2020-07-05 19:28:31 +02:00
Delyan Angelov 1416c70e73 net.websocket: fix building client.v 2020-07-05 18:44:39 +03:00
joe-conigliaro 4e66728477
checker/table: rearrange sumtype check fns 2020-07-06 00:53:56 +10:00
Alexander Medvednikov 36183660e6 remove oldgg, gl, glfw, freetype from vlib now that we have the new sokol based `gg` 2020-07-05 16:44:28 +02:00
yuyi 96bd4e8794
parser: fix type detection in `match` (#5679) 2020-07-05 16:35:45 +02:00
joe-conigliaro 9d7f1a236a
checker/gen: fix nested sumtype matching 2020-07-06 00:25:04 +10:00
yuyi 34a24eaa4e
checker: validate loop var names (#5677) 2020-07-05 15:27:37 +02:00
yuyi cda9240632
cgen: add unsafe block braces and comments in generated code (#5674) 2020-07-05 13:32:39 +02:00
Delyan Angelov 770ffa1ebd crypto.rand: fix linux/solaris rand.read() compilation 2020-07-05 01:33:43 +03:00
Alexander Medvednikov 188bad4f38 vfmt: handle string attrs 2020-07-04 23:38:28 +02:00
Enzo 7778cbe9f5
all: make `os` global in scripts (#5669) 2020-07-04 23:37:41 +02:00
yuyi 11866fb017
cgen: improve code formatting of `array_init` (#5663) 2020-07-04 21:49:04 +02:00
Delyan Angelov f374e37b61 checker: add details about a non matching functional argument 2020-07-04 22:37:06 +03:00
Delyan Angelov 108913c69e checker: handle error token positions with negative pos.len 2020-07-04 21:55:14 +03:00
Delyan Angelov 0637feb382 checker: use a more readable error message for non matching fn args 2020-07-04 21:23:22 +03:00
Delyan Angelov db4a9d6b59 checker: stricter check for function type signatures 2020-07-04 21:01:08 +03:00
Ryan Willis bb6ab185c3
ci: fix periodic integration tests (#5666) 2020-07-04 19:52:25 +02:00
Daniel Däschle 0626ac2901
checker: fix position of infix expr error 2020-07-04 18:52:40 +02:00
div72 be04de98bb
checker: check for enum value duplicates/overflow (#5659) 2020-07-04 18:28:01 +03:00
Delyan Angelov b018381f10 vfmt: fix `as var` in `match expr as var {}` 2020-07-04 16:46:46 +03:00
Delyan Angelov fe50bdc164 vfmt: ran `v vet vlib/v/` and fix spaces 2020-07-04 16:19:54 +03:00
Delyan Angelov d2a2db7bff vfmt: format scanner.v 2020-07-04 16:14:30 +03:00
Delyan Angelov 5b93b4f37d vfmt: allow multiple comments after if branches 2020-07-04 16:13:58 +03:00
Delyan Angelov 68af46402e vvet: allow passing many files, improve specifity for emacs goto error 2020-07-04 15:29:00 +03:00
Delyan Angelov dc3101384f checker: cleanup indentation 2020-07-04 14:45:11 +03:00
Delyan Angelov 48029fa9ad checker: check .str() calls too 2020-07-04 14:43:01 +03:00
Delyan Angelov 35431d457b checker: add check for strict .str() method signature 2020-07-04 14:14:43 +03:00
Delyan Angelov 4403c76406 vfmt: print `or { }` on a single line 2020-07-04 14:14:43 +03:00
Delyan Angelov bae9ed0350 os: fix file.writeln(s) too, where s contains `0` bytes 2020-07-04 14:14:43 +03:00
Uwe Krüger 3b067f5f85
all: experimental locked concurrency support, part 1 (#5637) 2020-07-04 12:44:25 +02:00
yuyi 27149ba8bc
cgen: fix `in` in mutable arrays (#5647) 2020-07-04 12:12:44 +02:00
Ruofan XU 765ffa37eb
cgen: fix == for mut arraay args (#5648) 2020-07-04 11:36:33 +02:00
joe-conigliaro da98c3c135
checker: use new match syntax everywhere 2020-07-04 19:23:41 +10:00
joe-conigliaro cdd4a7c880
checker: only check ForInStmt.high once 2020-07-04 19:10:37 +10:00
div72 95696559b7
os: fix early termination when saving binary (#5646) 2020-07-04 01:48:01 +02:00
Ruofan XU 37f31da6c9
parser: minor simplification (#5645) 2020-07-03 23:22:43 +02:00
Alexander Medvednikov 3d3549d65a Revert "parser: advanced division by zero check (#5629)"
This reverts commit f03688e443.
2020-07-03 22:30:51 +02:00
Alexander Medvednikov e9e437ce05 repl: show short version 2020-07-03 22:30:34 +02:00
Alexander Medvednikov 244d61f8d0 vweb: fix a route matching bug 2020-07-03 22:00:17 +02:00
yuyi 67e85fa9dd
cgen: fix indent in `for_in_string` (#5631) 2020-07-03 18:10:45 +02:00
yuyi 61213263cd
cgen: remove extra `\n` in map.get (#5630) 2020-07-03 18:10:29 +02:00
Nick Treleaven 0b49e4db1c
v/checker.v: disallow pointer arithmetic for InfixExpr outside unsafe {} (#5640) 2020-07-03 18:10:10 +02:00
Ruofan XU a2395ff3e8
cgen: fix mut map with relation op in fn (#5642) 2020-07-03 18:07:11 +02:00
yuyi 9e949622d3
vrepl: pre-imported common modules (#5643) 2020-07-03 18:06:36 +02:00
Alexander Medvednikov 2281163efd vweb: fix a routing bug 2020-07-03 17:50:48 +02:00
Tom Leen 51410fdb6d
vweb: add .txt and .md mime types (#5641) 2020-07-03 17:17:25 +02:00
Delyan Angelov 8adaf4efd4 cgen: allow `-printfn main` for _test.v files too 2020-07-03 17:53:48 +03:00
Delyan Angelov 652380c5fd cgen: fix `-printfn main` 2020-07-03 17:42:59 +03:00
yuyi dff385cb37
cgen: fix map_in mut (#5638) 2020-07-03 17:33:53 +03:00
Delyan Angelov df2749dd50 vfmt: fix indent level of commented match branches 2020-07-03 17:16:20 +03:00
Alexander Medvednikov b7175b54eb vweb: ['/:arg1/:arg2/action'] attribute 2020-07-03 15:10:39 +02:00
yuyi f03688e443
parser: advanced division by zero check (#5629) 2020-07-03 11:28:00 +02:00
yuyi 1efbb83060
cgen: add space before `else` in match (#5632) 2020-07-03 11:23:23 +02:00
Delyan Angelov 3c432f5e07 orm: require `order by` instead of just `order` 2020-07-02 23:37:30 +03:00
Delyan Angelov 7004f74b71 orm: fix `LIMIT var` as well 2020-07-02 23:29:29 +03:00
Louis Schmieder 421b6d4a80
orm: fix offset when order is given too (#5625) 2020-07-02 23:22:52 +03:00
Delyan Angelov 5813d2bf72 net.socket: add s.peer_ip() 2020-07-02 23:02:56 +03:00
Louis Schmieder b89cbf3224
orm: add support for ordering (#5624) 2020-07-02 20:29:22 +03:00
yuyi 68ac8fde26
tests: add mixed and complex types tests for cross assign (#5622) 2020-07-02 18:20:03 +02:00
Delyan Angelov 5b900056f3 vfmt: add _keep.vv tests for the recent fixes, to prevent regressions 2020-07-02 17:50:21 +03:00
Delyan Angelov d809bbb715 vfmt: fix enum field comments 2020-07-02 17:39:56 +03:00
Delyan Angelov 132170f54c vfmt: handle comments in enum Abc{} and after match branches 2020-07-02 16:51:09 +03:00
Delyan Angelov 05e11f6336 vfmt: fix `for x; y; i++ \n {}` 2020-07-02 15:30:06 +03:00
Delyan Angelov 37d51e8d74 vfmt: keep top level comments on their own lines 2020-07-02 15:21:09 +03:00
Delyan Angelov 29943d7a91 vfmt: fix eating C. from C.sapp_desc{} and adding & to &&&App() 2020-07-02 15:06:35 +03:00
Tim Basel 703b060d09
cli: add flag/cmd sorting + get_all_found (#5615) 2020-07-02 11:10:03 +02:00
yuyi 6cbc0e84f0
cgen: fix cross assign with mutable args (fix #5609 #5610 #5611) (#5614) 2020-07-02 11:09:26 +02:00
yuyi c21527d3c6
cgen: fix indent in multi_return (#5617) 2020-07-02 11:08:27 +02:00
yuyi e904732554
cgen: remove an extra \n in for loops (#5618) 2020-07-02 11:03:40 +02:00
Uwe Krüger 6c022db786
scanner: fix string interpolation for '$a.b().c' (#5612) 2020-07-02 00:02:59 +02:00
Delyan Angelov 4e34edfa81 vweb: allow quoting @css/@js resources with both ' and " 2020-07-01 22:03:30 +03:00
Alexander Medvednikov 2716a37916 ci: fix v vet call; fmt: fix SizeOf 2020-07-01 20:07:33 +02:00
Alexander Medvednikov 66f36f6dcc cgen: fix gen_cross_tmp_variable, part 2 2020-07-01 19:39:41 +02:00
Alexander Medvednikov 625ed030ef cgen: fix getn_cross_tmp_variable 2020-07-01 19:19:49 +02:00
Alexander Medvednikov dbcb23ddc8 ci: run v vet on cgen and ast 2020-07-01 19:07:19 +02:00
Alexander Medvednikov da99868a28 ci: run v vet vlib/v/parser 2020-07-01 18:57:14 +02:00
yuyi 40a393926d
cgen: fix cross assign of struct fields (#5606) 2020-07-01 18:43:14 +02:00
Delyan Angelov 56ae814cbc gen: fix js main entry point generation 2020-07-01 19:37:24 +03:00
Alexander Medvednikov 5de0f944bd vweb: fix a template leak 2020-07-01 17:04:30 +02:00
Alexander Medvednikov e78dc4d682 strings: fix a leak in builder 2020-07-01 16:52:04 +02:00
Delyan Angelov d43722fa85 vweb: fix compiling templates containing ' 2020-07-01 17:44:26 +03:00
yuyi 2f614ad79f
parser: optimize cross assign using expr.str() (#5604) 2020-07-01 16:43:13 +02:00
Alexander Medvednikov 013a4fc0f6 cgen: do not free strings in const decls 2020-07-01 16:40:04 +02:00
Alexander Medvednikov 6dad3cc018 cgen: fix a leak 2020-07-01 15:45:02 +02:00
Nick Treleaven e7339fec15
all: disallow pointer arithmetic for AssignStmt, PostfixExpr outside unsafe{} (#5581) 2020-07-01 14:50:17 +02:00
Alexander Medvednikov 5eb76606ae cgen: store return vals in tmp vars with -autofree 2020-07-01 14:34:14 +02:00
yuyi 92eea7f95a
cgen: fix map cross assign (#5603) 2020-07-01 14:03:12 +02:00
yuyi 6c5b638202
parser: fix array cross assign (fix #5577) (#5591) 2020-07-01 12:11:03 +02:00
Tim Basel 7386adfc99
cli: help/version abbrev optional + fix various inconsistencies (#5586) 2020-07-01 10:54:34 +02:00
Delyan Angelov ca1f47a742 cgen: fix `for k,_ in map { x << k }` 2020-07-01 11:49:02 +03:00
Delyan Angelov cfd71560fa cgen: fix << for `mut a []Type` args 2020-07-01 09:21:50 +03:00
Delyan Angelov 78e1127d99
cgen: treat the main module like any other v module 2020-07-01 00:53:53 +02:00
Alexander Medvednikov 34ddc9240e tutorials: web blog fixes 2020-06-30 21:04:00 +02:00
Delyan Angelov 3fed6ca050 cgen: comment out g_str_buf for now 2020-06-30 18:32:04 +03:00
Delyan Angelov 2fd960f12c builtin: implement a double free detection for v strings 2020-06-30 18:32:04 +03:00
nyaascii f10d2bb75f
string: fix trim_prefix and trim_suffix methods (#5572) 2020-06-30 15:44:53 +02:00
Delyan Angelov af56b01a41 cgen: parametrize g_str_buf size by V_STRBUF_MB; free in _vcleanup() 2020-06-30 16:31:02 +03:00
Louis Schmieder f3010cbfb2
http: add post function with json as payload (#5580) 2020-06-30 14:36:11 +02:00
Uwe Krüger 8a46911725
checker: check if mut function arg is declared as mut (#5579) 2020-06-30 14:19:22 +02:00
yuyi 61b8c0b699
cgen: change `i++` to `++i` in `for` 2020-06-30 14:14:48 +02:00
yuyi 628f13f1c8
cgen: minor optimization of `index_expr()` 2020-06-30 14:11:59 +02:00
joe-conigliaro a3086a2ef3 cgen: optimize generic struct name replacement (temp solution) 2020-06-30 13:45:52 +10:00
joe-conigliaro 73da3c9e4c
generic structs: better naming & comments 2020-06-30 09:22:15 +10:00
Louis Schmieder 616b07204d
vweb: add cookies with expire date 2020-06-29 21:14:36 +02:00
joe-conigliaro 7565fe595b
builder: generic struct fix - derive field type 2020-06-30 04:37:07 +10:00
nyaascii 3436ae99fc
picoev: add html() content-type method 2020-06-29 20:25:16 +02:00
Alexander Medvednikov 77e56aa3f9 cgen: fix string frees in calls 2020-06-29 20:20:35 +02:00
joe-conigliaro ab37dcaa9c
generic structs: initial implementation 2020-06-29 20:09:09 +02:00
Tim Basel 76176eddab
cli: calculate indent based on name length 2020-06-29 17:59:55 +02:00
Alexander Medvednikov 5b98cde811 cgen: free temp strings 2020-06-29 17:47:12 +02:00
yuyi 9d845262b7
parser: fix module type cast 2020-06-29 17:15:40 +02:00
yuyi c69ef876c5
os: remove `return none` in `fn()?` 2020-06-29 15:06:26 +02:00
Tim Basel 4a1ce3e1f5
cli: add pretty print for multiline descriptions 2020-06-29 14:47:20 +02:00
Ned Palacios 025652bb78
vdoc: dd .vdocignore + minor fixes 2020-06-29 11:03:09 +02:00
yuyi c588bdee5a
cgen: fix fn()? return 2020-06-29 11:02:40 +02:00
Delyan Angelov 1ba5996404 parser: fix interface functions with no params (ui examples) 2020-06-29 10:53:12 +03:00
Delyan Angelov b6e6cde3e8 parser: disallow fns with type only args and a body 2020-06-29 10:21:01 +03:00
ka-weihe 1b0b4be287
atof: fix is_space (#5555) 2020-06-29 09:23:51 +03:00
Delyan Angelov 8f1e8a9dde orm: cleanup test (put structs at top) 2020-06-28 22:10:49 +03:00
Alexander Medvednikov 3f59f23427 vweb: fix a leak 2020-06-28 19:55:53 +02:00
Alexander Medvednikov d2c508e9a9 checker: clean up 2020-06-28 19:44:41 +02:00
Alexander Medvednikov 219ecd18b5 orm: handle unknown tbale names 2020-06-28 19:01:30 +02:00
Alexander Medvednikov 3dea698c93 checker: do not register pseudo variables in sql queries 2020-06-28 18:56:11 +02:00
Alexander Medvednikov 9cbf572561 tests: fix a typo 2020-06-28 15:59:05 +02:00
Alexander Medvednikov 9feaff3464 x64: fix tests 2020-06-28 14:05:18 +02:00
Alexander Medvednikov 0138f46797 vweb: fix a leak 2020-06-28 13:56:38 +02:00
yuyi 05de780219
map: add map['aa']+='str' test 2020-06-28 13:34:59 +02:00
Delyan Angelov 9814497b91 vfmt: fix eating of sql x { ... limit 1 } 2020-06-28 14:27:53 +03:00
Delyan Angelov fa867578bc vfmt: fix segfault in update where the struct is not yet known 2020-06-28 14:07:28 +03:00
Delyan Angelov 0661273aad vfmt: add support for sql x {} expressions and statements 2020-06-28 13:36:21 +03:00
yuyi b924c6c4a9
cgen: minor opitimize `infix_expr` (#5547) 2020-06-28 11:35:49 +02:00
Delyan Angelov 13783aea70 vfmt: support for 'VDIFF_OPTIONS=-w' 2020-06-28 12:35:05 +03:00
yuyi d9409006fa
cgen: fix a[0]+='str' 2020-06-28 11:16:16 +02:00
Alexander Medvednikov e666209fe2 vweb: set_content_type() 2020-06-27 23:22:41 +02:00
Emily Hudson c84bafbdae
vlib,cgen: cleanup array inits using `.repeat() instead of new init syntax 2020-06-27 21:46:04 +02:00
Delyan Angelov 1e5a53abb3 sqlite: support for thirdparty/sqlite amalgamation install 2020-06-27 21:23:26 +03:00
Emily Hudson 1848eb0973
cgen,map: fix leaks in `keys()` and `for x in y` 2020-06-27 17:00:27 +02:00
Alexander Medvednikov 190f970544 checker: handle limit and offset 2020-06-27 16:41:29 +02:00
Alexander Medvednikov 3672cfad0b orm: offset test 2020-06-27 16:25:25 +02:00
Alexander Medvednikov f990a0b3d3 orm: offset 2020-06-27 16:22:41 +02:00
Alexander Medvednikov f073ffa4ad orm: limit 2020-06-27 16:19:12 +02:00
Louis Schmieder f8f2fa246e
orm: fix sql table names 2020-06-27 15:14:53 +02:00
Alexander Medvednikov 6a335c4416 fmt: run on parser/assign.v 2020-06-27 15:00:28 +02:00
Alexander Medvednikov 2bfe8e5153 vet: a basic version that just checks indentation for now 2020-06-27 14:50:07 +02:00
yuyi 58763ff299
map: remove unused `get2()` and `get3()` 2020-06-27 13:58:07 +02:00
Alexander Medvednikov 02b846aa72 vweb: fix json() and text() results 2020-06-27 13:56:15 +02:00
Uwe Krüger 8fe70a24a8
checker: forbid non-reference mut arg or receiver of go function 2020-06-26 23:31:38 +02:00
Tomas Hellström 993cd1467b
sync: own submodule for atomic 2020-06-26 23:31:03 +02:00
Alexander Medvednikov d52f1da7a2 orm: handle missing rows 2020-06-26 20:38:21 +02:00
Tomas Hellström def99bed02
sync: atomic counters 2020-06-26 20:04:17 +02:00
Emily Hudson 09236a438b
msvc: unique names for pdb files, remove test job limit 2020-06-26 17:16:15 +02:00
Delyan Angelov c83c5e7c61 os: use `return none` in functions returning `?` 2020-06-26 17:57:02 +03:00
joe-conigliaro 2440ffd013
cgen: always unwrap generic type. fix `x := &T{}` 2020-06-27 00:31:36 +10:00
Delyan Angelov 951f30853a os: fix rmdir on windows 2020-06-26 17:24:36 +03:00
Daniel Däschle 8903f6e0c0
tmpl: add docs for variables 2020-06-26 15:02:49 +02:00
Lukas Neubert 692ca8ac83
os: make all rm functions return an optional 2020-06-26 15:01:10 +02:00
jhuntos 20884c9576
pg: call PQclean in rows() 2020-06-26 11:55:59 +02:00
joe-conigliaro 202d479bad checker: fix typo in check_types.v 2020-06-26 15:05:07 +10:00
Alexander Medvednikov 9a713ff9b0 orm: handle more operators 2020-06-25 22:58:28 +02:00
Alexander Medvednikov aec7f2f6c4 checker: SqlStmt fixes 2020-06-25 22:37:40 +02:00
Uwe Krüger 46379d92f4
fmt: force break in front of long unbreakable parts, avoid very small sub-expressions 2020-06-25 22:24:28 +02:00
Alexander Medvednikov 328cb7ed7e orm: `update` with selectors and other fixes 2020-06-25 22:23:19 +02:00
Alexander Medvednikov 450c6e843c orm: `update` with multiple fields 2020-06-25 17:18:44 +02:00
Alexander Medvednikov b280e08ee0 orm: `update` cgen 2020-06-25 17:12:32 +02:00
Alexander Medvednikov a8b0dfb38a checker: allow casting strings to string aliases 2020-06-25 14:55:53 +02:00
Alexander Medvednikov ce6f687f65 checker: remove an unnecessary error for unexisting types 2020-06-25 14:51:58 +02:00
Alexander Medvednikov afa5a134b7 orm: move fields fetching to a separate function to remove copy pasta 2020-06-25 14:43:25 +02:00
yuyi f1e17f30f6
cgen: fix map_in error 2020-06-25 12:53:12 +02:00
yuyi 5e9c154376
os_api: cp/cp_all/... ?bool => ? 2020-06-25 12:06:47 +02:00
Alexander Medvednikov 786be1d1c3 orm: move type logic to checker, so that sql queries can be used before type def 2020-06-25 12:05:24 +02:00
Uwe Krüger a1bad50b2f
token: use only one representation for precedences 2020-06-25 11:36:13 +02:00
Uwe Krüger bdecbc1945
fmt: use `-1` for *really* no precedence, since `&` and `|` have precedence 0 2020-06-25 02:39:33 +02:00
ka-weihe 3bb6b6c8b2
map: comments and renaming 2020-06-24 23:31:19 +02:00
Alexander Medvednikov bb5793d485 vweb: more xss fixes 2020-06-24 22:38:25 +02:00
Alexander Medvednikov 83b300435a vweb: escape html; table: rename parent_typ to parent_type 2020-06-24 22:12:33 +02:00
yuyi 67d9d94fb3
map: fix m[a]++ etc 2020-06-24 20:41:26 +02:00
Lukas Neubert 955c0b1576
cgen: add 'link' to c_reserved 2020-06-24 20:40:56 +02:00
Uwe Krüger eb68c222fe
fmt: fix weird bug with tabs in string inpertolation 2020-06-24 20:40:29 +02:00
Alexander Medvednikov 9a77c0ab81 parser: fix the for loop check 2020-06-24 16:58:11 +02:00
Alexander Medvednikov 8ac00b8711 parser: check for loop key/val names 2020-06-24 16:54:21 +02:00
Alexander Medvednikov 4b0e606ae8 checker: fix the alias check 2020-06-24 16:52:23 +02:00
Alexander Medvednikov 9df29d0dd2 checker: do not allow {} for aliases; orm: update stmt 2020-06-24 16:35:18 +02:00
Uwe Krüger 0018e44102
fmt: further improvements by taking precedence into account for subexpressions 2020-06-24 15:19:30 +02:00
Alexander Medvednikov 9d0cc7912a fmt: re-run on gen/fn.v 2020-06-24 14:56:44 +02:00
Alexander Medvednikov e918f8faf2 fmt: re-run on checker.v and cgen.v 2020-06-24 14:44:06 +02:00
Alexander Medvednikov 11871d9544 fmt: re-run on parser.v and fmt.v 2020-06-24 14:35:00 +02:00
Alexander Medvednikov 090e6e936a orm: SqlStmt 2020-06-24 14:32:17 +02:00
Lukas Neubert 30169f86c1
os: make `rm` return an optional 2020-06-24 14:01:19 +02:00
Daniel Däschle 852fca2151
all: call anon fns right away 2020-06-24 12:54:39 +02:00
Alexander Medvednikov cf7ac7be7f cgen: zero_struct_field(); orm: zero un-inited fields 2020-06-24 12:53:39 +02:00
yuyi 5f36874c9b
vrepl: fix optional call 2020-06-24 12:45:48 +02:00
yuyi 514ee9d396
cgen: fix optional void return error 2020-06-24 12:45:15 +02:00
Uwe Krüger 56749877ea
fmt: fix handling of double quotes inside single quotes 2020-06-23 23:59:58 +02:00
Alexander Medvednikov 11ad18cd28 vweb: page gen time 2020-06-23 21:02:20 +02:00
Delyan Angelov fcd73bcb63 scanner: ignore CR signs in string literals 2020-06-23 21:10:58 +03:00
Alexander Medvednikov 74af88bc92 Revert "fmt: re-format parser.v and cgen.v"
This reverts commit 6b2808a3f9.
2020-06-23 18:16:24 +02:00
Alexander Medvednikov 6b2808a3f9 fmt: re-format parser.v and cgen.v 2020-06-23 18:05:53 +02:00
ka-weihe 4e447db883
parser/fmt: fix comments in structs/consts 2020-06-23 18:01:56 +02:00
Uwe Krüger 000eaca6be
fmt: avoid breaking lines with <= 100 characters 2020-06-23 17:54:39 +02:00
yuyi 7efb3ecb34
checker: check deprecated functions 2020-06-23 16:25:24 +02:00
Alexander Medvednikov db28796b5f orm: handle bool literals for older sqlite versions 2020-06-23 14:07:39 +02:00
Alexander Medvednikov 16dd889922 orm: test true/false 2020-06-23 13:59:00 +02:00
Alexander Medvednikov 076d0208cd cc: add -ldl and .o in cross builds 2020-06-23 12:57:06 +02:00
Alexander Medvednikov 63ef04e03e os: make write_file() return an optional 2020-06-23 11:41:23 +02:00
Alexander Medvednikov 3774ae0d91 orm: fix = 2020-06-23 11:41:23 +02:00
yuyi e2b5debc6b
checker: check optional type call 2020-06-23 11:39:58 +02:00
yuyi ed393896f5
checker: check printing of optional type 2020-06-23 11:38:30 +02:00
joe-conigliaro cff2874608
checker: fn arg - disallow any type with .str() to be passed as string 2020-06-23 08:51:18 +10:00
joe-conigliaro d19a33c420
sync: use Event for waitgroup on windows 2020-06-23 03:23:42 +10:00
Alexander Medvednikov a4b159a80f orm: order by id by default 2020-06-22 17:13:57 +02:00
Alexander Medvednikov e3f00ff28b orm: `limit 1` test 2020-06-22 16:58:43 +02:00
Alexander Medvednikov deb09d95b0 orm: fix `column == var`; limit 1; vweb: @footer 2020-06-22 16:52:16 +02:00
yuyi 73296e486a
parser: fix function return anon_fn without parentheses 2020-06-22 16:03:31 +02:00
Delyan Angelov b930a11203 parser: fix `match x { mod.constname {} }` handling 2020-06-22 16:16:39 +03:00
yuyi d232833573
gen: fix printing of generic arrays 2020-06-22 14:54:24 +02:00
Delyan Angelov cf4dc93e02 sync: run sync.pool without using concurrency features when VJOBS=1 2020-06-22 14:21:54 +03:00
Richard Warburton 640bbbae85
waitgroup: remove races, make platform independent, document 2020-06-22 11:07:34 +02:00
Alexander Medvednikov e65879d076 fmt: fix compilation 2020-06-21 23:23:31 +02:00
Alexander Medvednikov 011e26ca9a checker: check sum types in `match`; cross compilation fixes; orm fixes 2020-06-21 23:09:53 +02:00
yuyi 81c19517d1
cgen: add gen_str_for_multi_return 2020-06-21 17:53:13 +02:00
ka-weihe 7f225f2eaa
map: rename size to len 2020-06-21 16:51:02 +02:00
Delyan Angelov 0d6233cd45 net: support for s.max_single_send_size in Socket.send/2 2020-06-21 17:40:39 +03:00
Uwe Krüger 37927235cd
parser: trigger declaration of array element as error 2020-06-20 14:30:03 +02:00
Daniel Däschle 76dc7eea50
vweb: tmpl: add docs 2020-06-20 13:29:55 +02:00
spaceface777 a02aff9126
jsgen: fixes and improvements 2020-06-20 13:22:49 +02:00
joe-conigliaro ddd83f1fc6
checker: error if variable used before declaration 2020-06-20 12:42:08 +10:00
Alexander Medvednikov 1d8d19c977 vweb: return $vweb.html() 2020-06-20 03:12:38 +02:00
yuyi e41ddab3b0
test: add multiple array clone tests 2020-06-20 02:35:22 +02:00
yuyi e484fe15d3
tests: add nested array not equal tests 2020-06-20 02:34:49 +02:00
yuyi 4dc703af2d
cgen: fix nested array equality 2020-06-20 01:40:33 +02:00
JalonSolov bbd6d0b4e5
vweb: ignore url params on static files 2020-06-20 01:39:55 +02:00
Uwe Krüger 0338d4153a
fmt: make linebreak smarter by algorithm based on penalty 2020-06-19 19:54:26 +02:00
Alexander Medvednikov a609ff4659 orm: skip fields with [skip] 2020-06-19 17:35:50 +02:00
Swastik Baranwal 72b09d4794
term: add clear 2020-06-19 17:15:41 +02:00
Alexander Medvednikov 3cfeb92a4e cgen: fix tmp counter; orm: insert fixes 2020-06-19 17:05:57 +02:00
Alexander Medvednikov cd8392e42d orm: insert 2020-06-19 16:43:35 +02:00
Uwe Krüger c78cfa43bc
checker: make map literals have a real type 2020-06-19 15:00:27 +02:00
joe-conigliaro 7bc9e234a3
revert: checker: error if variable used before decleration p1 2020-06-19 21:37:09 +10:00
yuyi dc8b82e9a4
array: fix multiple array clone 2020-06-19 13:32:55 +02:00
joe-conigliaro 8a5ca4cbdc
checker: error if variable used before decleration p1 2020-06-19 21:31:33 +10:00
spaceface777 624005bbd0
tcc_win: fix tests 2020-06-19 12:54:56 +02:00
Alexander Medvednikov e8b21b4242 checker: type `x` does not support indexing 2020-06-19 12:53:53 +02:00
Alexander Medvednikov 5f5228f0f3 test: fix `as` checker test 2020-06-19 11:48:19 +02:00
Alexander Medvednikov d04554f0b7 all: more match updates 2020-06-19 11:46:08 +02:00
Alexander Medvednikov 274ecb71fa checker: `as` type test 2020-06-19 11:27:20 +02:00
Alexander Medvednikov d9dd9679e7 cgen: fix a typo 2020-06-19 11:16:51 +02:00
Alexander Medvednikov ef36520509 checker: check if the type in `as` exists, skip void type errors 2020-06-19 11:15:15 +02:00
yuyi 5a6d440f68
checker: check `array_insert` `array_prepend` type mismatch 2020-06-19 10:49:43 +02:00
Ned Palacios 5ff7d07138
vdoc: fix sorting + other minor improvements 2020-06-19 10:36:45 +02:00
Uwe Krüger 770132ff37
float: make default string representations for floats become alike 2020-06-18 22:33:41 +02:00
joe-conigliaro 1c68417918
parser: error on variable redefinition 2020-06-19 06:16:38 +10:00
spaceface777 68967e833d
parser: skip comp_if when building for a different compiler 2020-06-18 22:01:00 +02:00
Alexander Medvednikov 5ddb129bc2 checker: use the new match syntax 2020-06-18 20:38:59 +02:00
Alexander Medvednikov 78b32892ac cgen: use the new match syntax 2020-06-18 20:21:08 +02:00
Alexander Medvednikov d4b17fb0c3 fmt: use the new match syntax 2020-06-18 20:07:48 +02:00
Uwe Krüger 3b6e66db0d
fmt: further fixes for string interpolation and builtin macros 2020-06-18 18:48:23 +02:00
joe-conigliaro 812a9d646a
test: fix sumtype shadow & as test 2020-06-19 01:14:53 +10:00
joe-conigliaro 198fdcf1c6
test: change sumtype var shadow and as test 2020-06-19 01:10:16 +10:00
joe-conigliaro 3533335804
test: add match sumtype var shadow and `as` test 2020-06-19 01:06:40 +10:00
joe-conigliaro 45239cbd62
parser/checker/gen: match shaddow cond var & as support: p2 2020-06-19 00:41:00 +10:00
joe-conigliaro 68143b7b22
parser/checker/gen: match shaddow cond var & as support: p1 2020-06-19 00:33:16 +10:00
Alexander Medvednikov 7be952605b 0.1.28 2020-06-18 15:57:53 +02:00
Alexander Medvednikov 1d28d45c5c builder: add -lpthread; x64: a+b, a-b 2020-06-18 14:14:42 +02:00
yuyi 947e8922f2
cgen: optimize the format of the generated code 2020-06-18 12:08:36 +02:00
yuyi 930c3d73c1
cgen: fix `arr.insert(0, [1,2,3])` and `arr.prepend([1,2,3])` 2020-06-18 12:08:11 +02:00
yuyi b806fff90a
parser: minor optimization in parse_multi_expr() 2020-06-18 01:15:17 +02:00
yuyi 3f01e2b796
cgen: fix array.insert and arr.prepend 2020-06-18 00:22:34 +02:00
Alexander Medvednikov 7056f875db x64: fix another test 2020-06-17 18:31:08 +00:00
Alexander Medvednikov 60bbad4d86 x64: fix a test 2020-06-17 20:24:39 +02:00
Alexander Medvednikov a602673adb x64: pass variables to functions 2020-06-17 20:18:51 +02:00
Uwe Krüger 9c9f6415da
fmt: more sophisticated analysis for string interpolat 2020-06-17 19:49:13 +02:00
Alexander Medvednikov 325a7c7ec5 orm: more fixes and tests 2020-06-17 14:29:44 +02:00
Alexander Medvednikov 6066414afa orm: select many 2020-06-17 14:18:32 +02:00
joe-conigliaro effa0061e8
parser: fix incorrect duplicate struct attr error 2020-06-17 20:27:51 +10:00
Swastik Baranwal 0052ab71e9
string: add map method 2020-06-17 12:26:55 +02:00
Alexander Medvednikov fb5cae7376 orm: select where id = x 2020-06-17 04:05:20 +02:00
Uwe Krüger ddb1770af2
cgen: fix unsigned/signed integer comparisons 2020-06-17 02:54:27 +02:00
Alexander Medvednikov 88654ad81b orm: use the new optionals 2020-06-17 01:56:50 +02:00
Alexander Medvednikov ed58192e4c v orm: select 2020-06-17 00:59:37 +02:00
yuyi 23993d2264
cgen: fix nested array equality error 2020-06-16 18:40:32 +02:00
joe-conigliaro d478b44915
parser/checker/gen: merge AssignExpr & AssignStmt into just AssignStmt 2020-06-16 21:20:16 +10:00
Alexander Medvednikov 9d6b402df0 test: fix sqlite_test.v 2020-06-16 12:23:52 +02:00
Alexander Medvednikov e8f8defc3e ast: SqlExpr 2020-06-16 12:14:22 +02:00
yuyi 2daf915371
parser: `expression evaluated but not used` error 2020-06-16 11:06:53 +02:00
Uwe Krüger f2d9fa3815
cgen: restructure string_inter_literal() 2020-06-16 10:41:51 +02:00
yuyi 730f485591
test: fix `test_array_init()` 2020-06-15 22:31:11 +02:00
Emily Hudson 49d7a151b7
cgen: edge case for multi-returns 2020-06-15 22:30:16 +02:00
Delyan Angelov 62a872b8b5 vdoc: fix `v doc sokol` const formatting 2020-06-15 18:28:00 +03:00
joe-conigliaro 0cd9066f44
parser/cgen: multiple attributes & better errors (closes #5334) 2020-06-15 22:59:09 +10:00
Delyan Angelov cadde3e9f0 vlib: fix os.exec().output usages, that may rely on trimmed lines 2020-06-15 15:38:20 +03:00
yuyi b0138e021e
cgen: fix `in` multi_array 2020-06-15 13:21:06 +02:00
Delyan Angelov e73ed56231 tests: add parser/tests/, move checker_test.v=>compiler_errors_test.v 2020-06-15 10:58:34 +03:00
yuyi 2785a5bf65
checker: check return_duplicate_with_none (closes #5363) 2020-06-15 15:10:45 +10:00
spaceface777 5f21b152a7
tcc: support tcc on Windows 2020-06-14 23:15:12 +02:00
Delyan Angelov c874a22b3b doc: use `v new` instead of `v create` 2020-06-14 21:20:31 +03:00
yuyi 4e1a09c9f5
cgen: fix array_init temporary variable error 2020-06-14 19:09:27 +02:00
Ruofan XU 90279a7108
checker: use ++ / -- instead of += 1 / -= 1 2020-06-14 19:05:05 +02:00
Swastik Baranwal a3a91f54a9
checker: handle `!is` in error messages 2020-06-14 19:03:29 +02:00
Mike 'Fuzzy' Partin 206e64d72c
os: add os.uname() 2020-06-14 16:46:30 +03:00
yuyi 2ef0f15b34
string: fix contains behaviour (closes #5371) 2020-06-14 19:24:15 +10:00
yuyi 7e0197c1b8
cgen: fix `in` empty array 2020-06-14 10:54:10 +02:00
Adam Stankiewicz 471c931ada
os: do not trim space from output of exec 2020-06-14 01:41:47 +02:00
Alexander Medvednikov 45a3d8474e cc: remove sysroot hack now that $ bug is fixed 2020-06-13 22:54:20 +02:00
Uwe Krüger 50cd0ed785
parser: fix string array initialization with interpolation 2020-06-13 22:38:10 +02:00
Uwe Krüger 6113c4fe63
builtin: fix string interpolation for autofree 2020-06-13 18:39:17 +02:00
Alexander Medvednikov 6ce7bb4581 vweb: remove an unnecessary empty newline at the start 2020-06-13 16:59:06 +02:00
Adam Stankiewicz f2a75d5223
test: run all tests even if some fail 2020-06-13 16:20:45 +02:00
Alexander Medvednikov 183924e2a8 cc: linux cross compilation fixes + make work with openssl 2020-06-13 16:19:19 +02:00
Adam Stankiewicz b3fc462a78
scanner: fix parsing multiple .amp 2020-06-13 00:01:44 +02:00
Alexander Medvednikov af27963938 string: do not free empty strings 2020-06-12 17:20:51 +00:00
Alexander Medvednikov ca63b92d4f cgen: fix _STR 000 2020-06-12 16:55:21 +00:00
yuyi 90f07eb64a
parser: fix fn attributes empty error 2020-06-12 18:27:05 +02:00
Alexander Medvednikov 0d1e5abc41 cgen: call va_end() in _str() 2020-06-12 17:33:08 +02:00
Alexander Medvednikov 7750ce5f60 time: fix relative() 2020-06-12 15:28:28 +02:00
Alexander Medvednikov b13c95ea48 Revert "vweb: @include tempaltes"
This reverts commit 6b06184ef4.
2020-06-12 14:32:09 +02:00
Daniel Däschle 6b06184ef4
vweb: @include tempaltes 2020-06-12 14:30:07 +02:00
Swastik Baranwal 56ae3797dd
checker: add checks and test for ~ operator 2020-06-12 12:05:20 +02:00
yuyi b4ad174b7f
array: fix multiple array.repeat index error 2020-06-12 11:42:26 +02:00
Adam Stankiewicz 827a9e221f
cgen: do not double-reference anon fn 2020-06-12 10:48:44 +02:00
Delyan Angelov 0a07dc5762 Revert "_vinit: use static initialization of large const []number"
This reverts commit b306c04e99.
2020-06-12 09:57:38 +03:00
Delyan Angelov b306c04e99 _vinit: use static initialization of large const []number 2020-06-12 09:41:32 +03:00
yuyi 47ffedc5de
cgen: minor array_init fix 2020-06-12 02:19:48 +02:00
yuyi ff1437fc5a
cgen: fix multi_array index issue 2020-06-12 01:24:25 +02:00
Alexander Medvednikov c9cfe9d40b vweb: @js and @css template fns 2020-06-11 20:34:59 +02:00
Alexander Medvednikov 72fdb09e46 time: relative_short(); fmt: handle $vweb.html() 2020-06-11 20:26:49 +02:00
Delyan Angelov 3bf9b28773 vlib: add fixes for problems, found by check_os_api_parity.v 2020-06-11 21:16:12 +03:00
Delyan Angelov 5ef9569098 cmd/tools: add check_os_api_parity.v - keep module APIs even 2020-06-11 21:13:36 +03:00
Delyan Angelov 05177b9dcb builder: add 'builtin' to builtin_module_parts instead of .clone() 2020-06-11 19:23:13 +03:00
Delyan Angelov b2428290f9 builder: fix a const changing bug that prevented 2 builders 2020-06-11 18:35:41 +03:00
yuyi a66753871d
checker: check array.map/filter fn or anon_fn 2020-06-11 13:14:07 +02:00
Alexander Medvednikov 8f3f27f286 vweb: bring back @header 2020-06-11 11:13:41 +02:00
Don Alfons Nisnoni 39c5c9b966
mysql: update documentation 2020-06-11 11:07:17 +03:00
Emily Hudson 19c3ba2f8f
cgen: ensure struct has empty_struct_declaration to appease msvc 2020-06-11 00:52:06 +02:00
Alexander Medvednikov 684a443b08 cgen: disable _STR_TMP 2020-06-10 21:24:59 +00:00
spaceface777 e50706f25c
jsgen: implement array map and filter 2020-06-10 22:18:20 +02:00
spaceface777 6f886dccca
jsgen: initial string interpolation support 2020-06-10 20:53:43 +02:00
Daniel Däschle 123d788d0d
vweb: include directive 2020-06-10 18:53:04 +02:00
Alexander Medvednikov a2d7bc6e6f vweb: look for html templates in `templates/` 2020-06-10 18:00:11 +02:00
Delyan Angelov 972f60d785 cgen: do use g.write_defer_stmts in opt()? calls 2020-06-10 18:43:23 +03:00
yuyi b6e2495aa2
cgen: remove redundant code for array.map/filter(anon_fn) 2020-06-10 17:25:54 +02:00
Alexander Medvednikov 1254d7a302 cc: fix windows cross compiling for programs that use json 2020-06-10 17:15:24 +02:00
Emily Hudson bf7f84d16f
cgen: fix using C constants in enums, `none` propagation 2020-06-10 17:01:55 +02:00
Delyan Angelov a43b8b5c96 vfmt: add maps_in_fn_args__keep.vv test for 3a369f5 2020-06-10 17:15:53 +03:00
Delyan Angelov 3a369f513c vfmt: fix table.type_to_str(), keep map[string]mod.Type in fn args 2020-06-10 17:12:55 +03:00
yuyi acf0b84523
cgen: fix array.filter(anon_fn) 2020-06-10 13:18:59 +02:00
yuyi 12faf9fcfa
cgen: fix multiple array.map(anon_fn) calls 2020-06-10 13:18:45 +02:00
Alexander Medvednikov a130d3cd14 vweb: fix unused var warning 2020-06-10 12:17:49 +02:00
Alexander Medvednikov b904d7d1ba vweb: debug prints behind $if debug 2020-06-10 11:50:06 +02:00
Alexander Medvednikov 931bba1d7d net: fix windows urlmon flag 2020-06-10 11:25:41 +02:00
Alexander Medvednikov c261ac4f46 net: fix windows headers 2020-06-10 11:24:37 +02:00
Alexander Medvednikov 2ed4457c5f vweb: init_once() 2020-06-10 11:24:36 +02:00
Tomas Hellström 2dc547a45c
time: fix iso8601 parser and utc time 2020-06-10 11:14:55 +02:00
Ned Palacios 8f9f426479
vdoc: plaintext fixes 2020-06-10 11:14:03 +02:00
Ned Palacios e3c40f1df8
vdoc: minor css fix + add error message 2020-06-10 11:13:42 +02:00
joe-conigliaro e38a221dc3 checker: fix second use of gloabl ident 2020-06-10 16:59:31 +10:00
Alexander Medvednikov 4a7ec90bef vweb: fix a bug with <span> 2020-06-10 01:43:04 +02:00
Alexander Medvednikov e5aba94ae4 vweb: use state enum 2020-06-09 23:20:51 +02:00
joe-conigliaro 3664bea912
vweb/checker: show tmpl var errors 2020-06-10 02:47:51 +10:00
Delyan Angelov 4fc41c4bc4 v: add compiler support for _unlikely_(x) too 2020-06-09 18:11:03 +03:00
Delyan Angelov c7d4360931 v: add full compiler support for _likely_(x) 2020-06-09 17:42:43 +03:00
Delyan Angelov 6663e94780 builtin: add C._likely_ support 2020-06-09 16:36:53 +03:00
Hungry Blue Dev e649cf84e3
rand: reorganize: phase 2 2020-06-09 15:06:07 +02:00
yuyi 85c741519b
cgen: fix array.map(fn...) 2020-06-09 12:50:56 +02:00
Alexander Medvednikov b3e416fb52 vweb: fix duplicate fn error with multiple templates 2020-06-09 12:43:20 +02:00
yuyi 1396dc1c89
cgen: remove extra blank lines 2020-06-09 12:23:08 +02:00
Alexander Medvednikov 3b8f01b4fb sokol: remove duplicate #include ft2build.h 2020-06-09 12:21:35 +02:00
joe-conigliaro 62c80bc2c5
parser: add mod list to allow globals by default 2020-06-09 18:49:15 +10:00
Alexander Medvednikov 5dcd2303c9 builtin: fix string.fields() 2020-06-09 10:15:20 +02:00
yuyi d472a27489
cgen: fix array.map(anon_fn) 2020-06-09 10:14:10 +02:00
spaceface777 895c7624e4
jsgen: improve handling of `blank_ident` 2020-06-09 09:45:50 +02:00
joe-conigliaro 2799a6f065 parser/checker: fix global lookup 2020-06-09 17:08:11 +10:00
Delyan Angelov 99f311cc5f checker: protect against stackoverflows due to deep expr recursion 2020-06-08 20:35:33 +03:00
spaceface777 30f1c6bad5
parser: fix type_only fns starting with varargs 2020-06-08 19:02:36 +02:00
wilesun 564545d20a
cgen: add defered statements before propagating option returns 2020-06-08 18:50:23 +03:00
Adam Stankiewicz b4dbf9cacf
table: remove name from MultiReturn type 2020-06-08 15:40:40 +02:00
Adam Stankiewicz 586a886975
table: add tests and improve performance 2020-06-08 15:36:59 +02:00
Louis Schmieder d3839b5d68
glm: improve matrix mult function and add tests 2020-06-08 15:31:55 +02:00
Alexander Medvednikov 1bbfc271c5 vweb: fix unused tmpl warning; remove duplicate code 2020-06-08 13:30:42 +02:00
Alexander Medvednikov dabfc4ebd0 checker: do not display errors for incorrectly initialized vars 2020-06-08 13:10:47 +02:00
Alexander Medvednikov 288a6ee468 vweb: minor tmpl fixes 2020-06-08 12:44:38 +02:00
Ned Palacios 721a3a24ae
vdoc: minor features + fixes 2020-06-08 10:28:46 +02:00
Delyan Angelov 6c9b2b8303 builtin: use tcc_backtrace for tcc (phase 2) 2020-06-08 10:46:51 +03:00
Delyan Angelov 8a16086084 builder: pass -bt10 for tcc (phase 1 for using tcc_backtrace) 2020-06-08 10:40:01 +03:00
Ryan Willis 08814d6de4
tools/vsymlink: use the win32 api to update the system environment 2020-06-08 09:19:31 +02:00
Delyan Angelov 0058b8253d vdoc: fix 'module, comment, import' sequence bug 2020-06-08 09:27:22 +03:00
Enzo Baldisserri 11b7b97311
parser: fail when assigning to _ with := 2020-06-08 00:47:04 +02:00
Ned Palacios 36edd6295f
vlib: transfer intro to readme; normalize comments 2020-06-08 00:04:23 +03:00
Louis Schmieder 2cad6db9f7
http: fix redirect for servers returning lowercase 'location:' header 2020-06-08 00:01:20 +03:00
Alexander Medvednikov 3bbda7103f Revert "parser: allow void return type for C functions"
This reverts commit d7c63922d5.
2020-06-07 19:06:19 +02:00
Alexander Medvednikov 30ade1d6ea tests: test more vweb template features 2020-06-07 19:06:07 +02:00
Swastik Baranwal d7c63922d5
parser: allow void return type for C functions 2020-06-07 19:45:27 +03:00
Delyan Angelov 2b6ba63a55 ci: fix tests (most CI jobs do not have pg set up) 2020-06-07 18:08:31 +03:00
Alexander Medvednikov e029044b13 pg: fix compilation 2020-06-07 16:05:44 +02:00
Alexander Medvednikov 931cf86cc3 tests: build vweb example 2020-06-07 15:44:33 +02:00
Alexander Medvednikov 8277c976a8 gg: draw_image,draw_rounded_rect placeholder fns 2020-06-07 15:20:42 +02:00
Tomas Hellström 9c8769503f
time: add microsecond precision to Time struct 2020-06-07 16:19:09 +03:00
Lukas Neubert eec5cf1eb1
vpm: use only `-v` for verbose output 2020-06-07 14:20:56 +02:00
joe-conigliaro 70c18fc7b2
vweb: tmpl access to action method vars 2020-06-07 21:26:47 +10:00
Ned Palacios cbcdc8434f
vdoc: group constants + minor fixes 2020-06-07 12:27:42 +02:00
joe-conigliaro 1c2bf7b244
vweb: impl of comptime tmpl parsing (fix vweb_example) 2020-06-07 20:26:45 +10:00
Delyan Angelov 013bfc7ebc vweb: add vweb.run_app(app,port); fix compilation of vweb_assets/main.v 2020-06-07 11:02:35 +03:00
Sumeet Chhetri 442030a7c8
picoev: make compile, add header parsing 2020-06-07 01:23:30 +02:00
Alexander Medvednikov d62d0c40d2 parser: fix typo 2020-06-06 21:36:55 +02:00
Alexander Medvednikov 4d5ac1e16d vweb: $html 2020-06-06 21:36:34 +02:00
Delyan Angelov 16bf300934 os: fix compilation with -cc gcc -prod of programs using os.cp 2020-06-06 22:05:23 +03:00
Delyan Angelov e534f8507b vlib: minor tweaks for various module imports, needed for vdoc 2020-06-06 19:14:10 +03:00
Delyan Angelov 8d3f680d07 vdoc: implement .toplevel_comments parsing mode 2020-06-06 19:05:26 +03:00
Delyan Angelov 3aecdeab63 os,gl,sync: cleanup, prepare for .toplevel_comments vdoc mode 2020-06-06 18:47:25 +03:00
Alexander Medvednikov fb6be080fb fmt: fix compilation 2020-06-06 16:52:41 +02:00
Alexander Medvednikov 2770077cb0 fmt: x.foo!() experiment 2020-06-06 16:05:24 +02:00
Alexander Medvednikov 40bd1be85f parser: fix ! 2020-06-06 12:43:35 +02:00
Alexander Medvednikov 100b3986b8 parser: handle ! after CallExpr 2020-06-06 12:28:03 +02:00
joe-conigliaro 34af7ccba9
scanner: cut keyword lookups in half 2020-06-06 19:49:50 +10:00
Alexander Medvednikov 7815c5b108 cgen: $action (ComptimeCall); vweb: hello world works! 2020-06-06 10:05:26 +02:00
joe-conigliaro 0a3486b4c5
checker: generic/vewb fix 2020-06-06 17:06:11 +10:00
joe-conigliaro c2fe4ffa85
table: remove fn to set idx & add new derive fn 2020-06-06 12:51:36 +10:00
joe-conigliaro 31d03bb113
checker/cgen: small generic fixes (mut arg return) 2020-06-06 12:24:27 +10:00
Uwe Krüger de76ac583f
parser: fix string interpolation for expressions ending `c`, `r`, `js` 2020-06-05 22:37:34 +02:00
Alexander Medvednikov 11908410f3 vweb: make compile 2020-06-05 21:04:18 +02:00
Alexander Medvednikov e3917d98c2 generics: another mut arg test 2020-06-05 20:57:05 +02:00
Louis Schmieder 5c74e86ec4
gl: add comments & clean up 2020-06-05 15:57:45 +02:00
Alexander Medvednikov 3478430762 gg: borderless windows on macos without animation 2020-06-05 15:43:47 +02:00
Delyan Angelov c1fc61200c gg: support .keydown_fn and .char_fn in addition to .event_fn 2020-06-05 12:39:06 +03:00
joe-conigliaro 3c4e4d4825
gen/checker: copy ptr & flag info in unwrap_generic 2020-06-05 18:41:15 +10:00
Ned Palacios 30e0bda434
vdoc: rewrite usage, add new options + streamline process 2020-06-05 09:59:26 +02:00
yuyi c9b395f9cf
checker: fix for_in_index type error 2020-06-05 09:44:25 +02:00
yuyi ef46fbb96f
cgen: clean up ternary 2020-06-05 08:30:03 +02:00
Delyan Angelov 24b263cf87 vid: bring back scale field to gg.Config, fixes vid compilation 2020-06-05 08:48:31 +03:00
Delyan Angelov 2237968ec1 gg: fix x11 scaling 2020-06-05 08:19:34 +03:00
Alexander Medvednikov e7f52ebed6 gg/ft: minor Sokol fixes 2020-06-04 23:51:59 +02:00
Daniel Däschle d0f9bdf85e
vdoc: style and other improvements 2020-06-04 23:50:59 +02:00
Daniel Däschle 6118875ee3
vweb: add tmpl api to compile either file or a string 2020-06-04 22:30:25 +02:00
Alexander Medvednikov 13a7ce9e69 gg: GG => Context 2020-06-04 20:26:18 +02:00
Alexander Medvednikov 926ffc8aa9 freetype: use old gg 2020-06-04 20:18:22 +02:00
Alexander Medvednikov fb7ca56d87 gg: minor fixes 2020-06-04 19:57:16 +02:00
Uwe Krüger cf9498ef6b
cgen: use standard checks for float comparisons 2020-06-04 19:47:41 +02:00
joe-conigliaro 1c43204224
table: remove extra parens & inline fn 2020-06-05 00:28:34 +10:00
Alexander Medvednikov 6b6c9d6738 gg: make the Sokol based gg the default 2020-06-04 16:05:15 +02:00
yuyi dd7ebf7fac
parser: check function argument mutable syntax 2020-06-04 15:20:43 +02:00
joe-conigliaro edd56bc080
table: allow type hold 8 flags at once 2020-06-04 22:38:54 +10:00
Alexander Medvednikov 277b7b35d0 cgen: write_fn_attr() 2020-06-04 12:20:14 +02:00
joe-conigliaro 41dca3ef58
checker/cgen: fix mutable generic fn args 2020-06-04 19:32:31 +10:00
yuyi 8a24d7d723
checker: optional return fix 2020-06-04 10:40:32 +02:00
yuyi 5ae8853648
all: change `f mut Foo` to `mut f Foo` 2020-06-04 10:35:40 +02:00
Delyan Angelov 0b7fe0a9d0 gg2: add the rest of the sokol callbacks in gg.new_context 2020-06-04 09:48:49 +03:00
Delyan Angelov 576e80b3a9 tetris: restore text rendering with gg2.ft.draw_text 2020-06-03 23:09:34 +03:00
Swastik Baranwal d286f67220
parser: update check for non mut types in fn 2020-06-03 18:47:18 +03:00
yuyi 962bbf1c60
fmt: fix ?void format error, add _keep.vv test 2020-06-03 18:45:40 +03:00
yuyi ffafeac0f8
cgen: optimize gen c code format 2020-06-03 18:24:08 +03:00
Leah Lundqvist 5e2a6ffe65
jsgen: small fix - remove trailing comma in export 2020-06-03 17:30:43 +03:00
Delyan Angelov 8a23cfc0d6 tetris: support instant `d`rop key, add +FPS counter on -d showfps 2020-06-03 16:45:26 +03:00
pancake e9bcd36d5e
builtin: implement generic break_if_debugger_attached() 2020-06-03 14:11:23 +02:00
yuyi 13e09c61ef
tests: add multi_dimensional array init tests 2020-06-03 14:10:29 +02:00
yuyi 1060de88af
parser: fix function mutable argument error 2020-06-03 12:28:16 +02:00
spaceface777 4b7c70caca
parser: fix JS functions starting with caps 2020-06-03 10:57:32 +02:00
Alexander Medvednikov d182059ba6 tests: fix fn_test.v 2020-06-03 10:54:47 +02:00
Alexander Medvednikov 00978da2c4 checker: fix mut int test 2020-06-03 10:45:19 +02:00
Alexander Medvednikov 888a43a684 checker: fix mut int test 2020-06-03 10:40:41 +02:00
Alexander Medvednikov 199f4f006b checker: fix mut int check 2020-06-03 10:36:56 +02:00
Delyan Angelov 6a0a2da05c cgen: support `$if test { ... }` 2020-06-03 10:20:10 +03:00
Alexander Medvednikov 99c70cf9c6 pref: do not allow -o .v 2020-06-03 09:03:46 +02:00
Mike 'Fuzzy' Partin ac0fee8e64
repl: fix BSDs 2020-06-03 08:44:44 +03:00
yuyi d0ff9a7c4a
parser: correct fn arg position in error message 2020-06-03 08:42:02 +03:00
Delyan Angelov 845084c89d strconv: fix format_dec example 2020-06-03 01:30:46 +03:00
Alexander Medvednikov 63b8cdea7a checker: require () in a && b || c 2020-06-02 22:21:44 +02:00
Delyan Angelov 0a84f0feb5 vdoc: prevent infinite recursion in get_parent_mod 2020-06-02 23:14:46 +03:00
yuyi 1386c5df13
parser: use `?` instead of `?void` errpr 2020-06-02 17:24:24 +02:00
Uwe Krüger b0f66a4e05
checker: permit int -> f32, int64 -> f64 and similar promotions again 2020-06-02 17:00:14 +02:00
Alexander Medvednikov 640688d8cf vdoc: fmt doc/doc.v 2020-06-02 16:19:55 +02:00
Alexander Medvednikov fb3e52ca63 all: `!is` operator 2020-06-02 16:18:12 +02:00
Alexander Medvednikov 78f8a8aee6 cgen: remove g_ hack 2020-06-02 15:49:43 +02:00
Alexander Medvednikov 1139d3b458 gg: move text rendering to gg.ft 2020-06-02 15:35:41 +02:00
yuyi 653a27005b
cgen: fix multi dimensional array init error 2020-06-02 15:15:52 +02:00
Delyan Angelov 3521c9045b vpm: change hardcoded ~/.vmodules/ (does not work on windows) 2020-06-02 14:36:49 +03:00
Ned Palacios b99ba21ddd
vdoc: markdown, html, json generation + lots of fixes 2020-06-02 12:10:01 +02:00
Emily Hudson 46dbbd0ed0
json: add enum to json_test to prevent regressions 2020-06-02 12:13:26 +03:00
yuyi 63b2d4be99
cgen: make >8 indent levels work 2020-06-02 10:40:24 +02:00
Alexander Medvednikov ad8ed851d0 examples: make tetris compile 2020-06-02 09:38:42 +02:00
Alexander Medvednikov 138d730dfa checker: prepare for the is_changed check 2020-06-02 09:00:51 +02:00
Ned Palacios 9fcb8536e8
fmt: fix struct decl gen with c structs 2020-06-02 07:41:02 +02:00
ka-weihe 13c68eb81e
rand: fix warnings 2020-06-02 06:39:38 +02:00
Uwe Krüger 076089d3c5
checker: apply stricter type checks to function args and return types 2020-06-01 21:15:59 +02:00
Hungry Blue Dev a7c84834f4
rand: reorganize (step 1) 2020-06-01 21:13:56 +02:00
Naheel 4fcabb71c4
os: implement cp for nix 2020-06-01 21:11:40 +02:00
Delyan Angelov 4956ca62e3 websocket: move .nonce_size to pub mut: 2020-06-01 20:37:24 +03:00
Delyan Angelov 328a235f94 websocket: add Client.nonce_size field 2020-06-01 20:31:58 +03:00
Emily Hudson 0c7bac4ba7
json: fix enums and byte, cleanup 2020-06-01 19:36:07 +03:00
Delyan Angelov 6161392648 json: do not generate comptime encode/decode functions already defined in json_primitives.v 2020-06-01 19:04:17 +03:00
Delyan Angelov c6a7d0a3a0 tests: update the remaining erroring tests, CI should be green now 2020-06-01 18:30:26 +03:00
Delyan Angelov ae8f7cf569 tests: fix some tests, that failed due to the stricter immutable checks 2020-06-01 18:24:38 +03:00
Delyan Angelov 86862d6a94 checker: remove mod_file_cacher exception 2020-06-01 17:43:03 +03:00
Alexander Medvednikov 3d83934caf checker: check mutating methods; generics fixes 2020-06-01 15:44:10 +02:00
Delyan Angelov 945439dab6 cgen: print actual values on a failed assert (when possible) 2020-06-01 14:43:38 +03:00
Alexander Medvednikov 9bcbb3868f gg: migrate to sokol; examples: update tetris 2020-06-01 12:57:08 +02:00
Don Alfons Nisnoni 37e3cc0e72
mysql: simplify, add more functionality & documentation 2020-06-01 11:26:39 +02:00
Delyan Angelov 97b9ce04a4 crypto.rand: cleanup test, make it less likely to fail in CI 2020-06-01 07:49:52 +03:00
spaceface777 11e6734912
jsgen: more fixes and improvements 2020-05-31 20:48:31 +02:00
pancake 304258162c
cgen: when building a shared library, make vinit() a constructor 2020-05-31 17:27:23 +02:00
Mike 'Fuzzy' Partin 411868a43a
util: add gdiff to the list of diff utilities to support bsd systems 2020-05-31 17:01:31 +02:00
Alexander Medvednikov a5ddb613fb builder: linux cross compilation 2020-05-31 15:09:07 +02:00
Delyan Angelov f1f6fb1a9f json: fix `f32 is not struct` 2020-05-31 14:17:20 +03:00
Uwe Krüger faf3248e98
checker: check types for bitwise right shift 2020-05-31 12:58:13 +02:00
Emily Hudson 75eac291ac
all: variable sized options 2020-05-31 12:57:26 +02:00
Alexander Medvednikov f87e872fa2 checker/cgen: interface match 2020-05-31 10:22:21 +02:00
Delyan Angelov bb9d268bd9 fmt: add struct init keep test, fix another &&Foo bug 2020-05-30 22:34:57 +03:00
Alexander Medvednikov 905f844b16 cgen: return interface fix 2020-05-30 20:18:03 +02:00
Alexander Medvednikov 1ca7a607d3 checker/cgen: return interfaces 2020-05-30 19:54:16 +02:00
Uwe Krüger b74e1bb05d
checker: fix type mismatch in function argument for struct reference init 2020-05-30 15:42:12 +02:00
Emily Hudson a4de507c6d
cgen: panic on assertion failed outside tests 2020-05-30 13:19:52 +02:00
Alexander Medvednikov dd34e65398 gg: sokol fixes and text rendering benchmark 2020-05-30 12:52:27 +02:00
Delyan Angelov f9cb0d443b builder: improve suggestion on a w64 cross compile fail on linux 2020-05-30 13:49:03 +03:00
Delyan Angelov d148920b54 v.util: prepare CI for the external markdown module (needed for vdoc) 2020-05-30 11:06:16 +03:00
JalonSolov b7dc5b2f7b
stopwatch: auto_start option, make pause cumulative 2020-05-30 10:20:54 +03:00
Delyan Angelov 077e06b44e fmt: fix struct field default expressions and tags 2020-05-29 21:22:27 +03:00
yuyi 1e504fb388
parser: check undefined variable of assign_expr 2020-05-29 17:38:40 +02:00
Delyan Angelov f3c5f36317 parser: allow for `struct Abc { f [skip] = -1 }` 2020-05-29 12:45:54 +03:00
Delyan Angelov 0970e61350 repl: fix exiting raw mode by reverting da9b3d8
This reverts commit da9b3d82d2.
2020-05-29 09:03:55 +03:00
Alexander Medvednikov 1c11ac9fdf checker: make sure `is` is only used with interfaces and sum types 2020-05-29 06:46:01 +02:00
yuyi 3a340cbffc
checker: fix array_init cast type error 2020-05-29 06:39:46 +02:00
Alexander Medvednikov bec3e07635 interfaces: fix `is` 2020-05-29 05:54:53 +02:00
pancake b3f2c629c6
builder: use .dylib for -shared builds in macOS 2020-05-29 04:52:19 +02:00
Alexander Medvednikov 39925b8dac live: simplify elog() 2020-05-29 04:42:02 +02:00
Alexander Medvednikov 96fb7901b3 live: fix reloader.v 2020-05-29 04:36:08 +02:00
Alexander Medvednikov 81b44dc2c9 generics: generic call inside generic call; checker: check mut args at call 2020-05-29 04:30:00 +02:00
Emily Hudson f0a9b88ac4
all: add stdcall attribute, unhandled exception handler, get_raw_stdin, v_realloc 2020-05-29 03:06:27 +02:00
Tim Basel 7e538d7401
utils: add args to launch_tool 2020-05-28 19:40:09 +03:00
yuyi 28ffe2a6ee
checker: add error for struct fields of type []unknown 2020-05-28 19:38:53 +03:00
spaceface777 60716bba29
parser: fix nested array_init syntax 2020-05-28 19:36:57 +03:00
pancake 1d78914a8f
parser: support @VROOT in #include too, make it use absolute paths 2020-05-28 19:36:04 +03:00
Delyan Angelov 75b8822f06 scanner: prevent infinite looping, when reaching .eof due to parser bugs 2020-05-28 19:22:11 +03:00
Delyan Angelov d70cd81875 v.pref: remove 'setting pref.path to ...' when given -v 2020-05-28 18:41:26 +03:00
Matt Baulch da9b3d82d2
readline: fix stack memory leak on Linux 2020-05-28 15:38:20 +02:00
Alexander Medvednikov 9609b3a9c8 checker: make the method warning an error 2020-05-28 15:30:54 +02:00
Alexander Medvednikov 01dbb25a37 checker: do not allow defining methods on types from other modules 2020-05-28 15:23:20 +02:00
Leah Lundqvist 1d0ebfb691
jsgen: add hash statement 2020-05-28 14:38:10 +02:00
pancake 2943bdc1f6
cgen: add support for $if (mach|darwin|hpux|gnu|qnx|bsd) 2020-05-28 13:33:12 +02:00
Tim Basel d688d356a7
cli: assign parent by default; add disable_flag 2020-05-28 13:32:43 +02:00
yuyi 977eb895e8
checker: check array init's element type 2020-05-28 13:32:12 +02:00
Ethan Reynolds 6da1d3aff8
gx: convert Color values from int to byte and expand operators 2020-05-28 13:21:20 +02:00
Matt Baulch c7501e2d3d
os: fix build issue caused by fileno on *BSD 2020-05-28 11:08:59 +02:00
Delyan Angelov a3bd8d3e4c cgen: add trace info about auto str generation 2020-05-28 10:36:29 +03:00
Delyan Angelov 55ef117531 cgen: fix for V structs fields (auto str and json_decode) 2020-05-28 09:55:37 +03:00
Ned Palacios 94f23d96e9
vfmt: fix generation on C idents, fixed arrays 2020-05-28 08:06:20 +02:00
Alexander Medvednikov d6037cbcf2 generics: fix method calls 2020-05-28 05:58:19 +02:00
Delyan Angelov ae8cc2f433 live: fix -live compilation && make live_test.v not swallow segfault errors 2020-05-28 03:21:49 +03:00
yuyi 9cbd9db4e7
cgen: fix swap assign of prefix and postfix expr 2020-05-28 02:22:09 +03:00
div72 cecb7d29c7
Prevent vfmt from appending the module name to FnTypeDecl inside the same module (#5080) 2020-05-28 02:19:24 +03:00
Alexander Medvednikov 4988d340b1 generics: fix method calls 2020-05-28 01:19:08 +02:00
Hungry Blue Dev e89ae7e194
rand: refactor rand.v and random_numbers_test.v 2020-05-28 02:16:17 +03:00
Delyan Angelov 04ca7efc0c websocket: fix compilation of client.v 2020-05-28 01:38:54 +03:00
Delyan Angelov f6bdb3ae81 v.vmod: cleanup vmod.mod_file_cacher API 2020-05-28 01:38:11 +03:00
Delyan Angelov 2046ae78df builder: improve `redefinition of function` messages 2020-05-28 00:56:28 +03:00
Delyan Angelov 0292666ac1 builder: use verror instead of panic when a _test.v file does not exist 2020-05-27 21:38:09 +03:00
div72 48cc8dd86b
rand: cleanup of rand_f32xxx and rand_f64xxx functions 2020-05-27 20:13:57 +03:00
yuyi 84edbd83da
all: fix struct names error 2020-05-27 19:12:34 +03:00
Alexander Medvednikov 670820cc59 parser: do not allow 1 char struct names 2020-05-27 16:00:00 +02:00
Alexander Medvednikov 5423a15f46 generics: more fixes 2020-05-27 15:56:30 +02:00
Larpon 8c753ddf8d
rand: add random functions for f32 and f64, [0,max] and [min,max] versions 2020-05-27 16:41:37 +03:00
Ned Palacios e0db880791
fmt: simplify map_init 2020-05-27 16:26:45 +03:00
Delyan Angelov a4af4f9fe7 http_test.v: comment yahoo test urls for now 2020-05-27 15:53:57 +03:00
Emily Hudson 0b64e2190f
checker,cgen: unpack multi returns in return statements 2020-05-27 15:47:38 +03:00
x0r19x91 72ed673566
builtin: array: fix slice cloning 2020-05-27 14:07:03 +02:00
Larpon 6ca53d7b39 scanner: improve @FN substitution for anon functions 2020-05-27 12:05:50 +03:00
Delyan Angelov 481f103dc9 checker: make an error using non `pub` fns from other modules 2020-05-27 12:00:19 +03:00
Delyan Angelov ebbf42dadb tests: add a commented test_generic_fn_with_variadics, which worked with old v 2020-05-27 08:41:12 +03:00
Alexander Medvednikov 59711d9c55 generics: test `T{}` 2020-05-27 06:53:52 +02:00
Uwe Krüger 013fdb8a4b
checker: restrict numeric promotions to cases where no data is lost 2020-05-27 05:42:48 +02:00
Alexander Medvednikov fc67046bac checker: fix pub fn check 2020-05-27 03:38:21 +02:00
Alexander Medvednikov 7c9279c447 vfmt: make work with comptime 2020-05-27 03:33:40 +02:00
yuyi 23c0bb600c
scanner: fix vmod_file on windows 2020-05-27 03:32:39 +02:00
Alexander Medvednikov 6f7628cb67 parser: comptime call fixes 2020-05-27 03:20:25 +02:00
Ned Palacios b02ec8cbf9
vfmt: fix raw string support 2020-05-27 03:10:47 +02:00
Delyan Angelov 3cfdd2a4cd scanner: add support for @VMOD_FILE 2020-05-26 23:39:15 +03:00
yuyi bb48851092
cgen: fix mutliple_assign swap 2020-05-26 18:00:51 +02:00
ka-weihe 64173c792f
builtin: map: fix memory leak 2020-05-26 17:59:52 +02:00
Larpon 31ba64b409
scanner: add support for `@STRUCT` compile time substitution 2020-05-26 15:35:11 +02:00
Julia K 285e04393e
cgen: fix missing space, remove unnecessary comment 2020-05-26 16:22:28 +03:00
pancake 8d10adf886
flag: fix a typo 2020-05-26 14:27:01 +02:00
Julia K 2b27072fac
compiler: new attributes, prelude customization 2020-05-26 14:12:18 +02:00
Emily Hudson 748b1d3381
cgen: use typ() for array type 2020-05-26 14:11:59 +02:00
Enzo Baldisserri 145b125155
websocket: make compile 2020-05-26 12:50:37 +02:00
Julia K b4eadb9030
cmd/v: reimplement -path flag 2020-05-26 03:17:52 +02:00
Alexander Medvednikov b4d88ee4af checker: handle map.clone() 2020-05-26 02:09:26 +02:00
ka-weihe 8ea0c812a2
builtin: map.clone() 2020-05-26 01:52:06 +02:00
Alexander Medvednikov 0f92800921 cgen: string buffer fix 2020-05-26 00:04:13 +02:00
Delyan Angelov b0cfd3fa67
parser: reimplement [flag] enum support. Add p.vcodegen too 2020-05-26 00:00:48 +03:00
Delyan Angelov 5825e467b8 checker: fix appending an .enum_val to a struct field of []Enum 2020-05-25 21:48:43 +03:00
spaceface777 f8b237433f
jsgen: fix array push operator 2020-05-25 19:34:42 +03:00
Larpon 09dc2eed82
scanner: add support for '@MOD' 2020-05-25 19:33:41 +03:00
Alexander Medvednikov bc3e29e77b cgen: fix a bug with tmp strings/free 2020-05-25 11:01:21 +00:00
Alexander Medvednikov 53a10eb312 cgen: use STR_TMP with -autofree 2020-05-25 12:46:18 +02:00
pancake fe249cd1f8
pref: fix crash in 'v run' without arguments 2020-05-25 12:30:12 +02:00
Enzo Baldisserri d22609051a
checker: CallExpr with handled optional returns plain type 2020-05-25 11:32:14 +02:00
yuyi 30ca08aaa3
parser: fix self-referenced error 2020-05-25 11:31:04 +02:00
Delyan Angelov 96808a0e2a cgen: generalize _vcleanup of array/string consts + valgrind with tcc 2020-05-25 10:24:19 +03:00
Delyan Angelov ae03aab03e cgen: autofree math.bits and strconv.ftoa constants 2020-05-25 09:53:30 +03:00
Delyan Angelov 6683f98eba cgen: add support for `-printfn _vcleanup` and `-printfn _vinit` 2020-05-25 09:47:00 +03:00
Alexander Medvednikov 656bc6b6c8 tests: valgrind: strings are freed now! 2020-05-25 06:23:50 +00:00
Alexander Medvednikov f41e2c0a4b string: make replace() clone for now; parser: comptime method 2020-05-25 08:17:36 +02:00
Alexander Medvednikov 1b36d7a037 cgen: handle c++ keyword 2020-05-25 05:46:58 +02:00
Alexander Medvednikov 99ce3d456b jsgen: handle ComptimeCall 2020-05-25 05:38:47 +02:00
Alexander Medvednikov 1ef8eacd6e checker/gen: more generics fixes; ComptimeCall 2020-05-25 05:32:36 +02:00
yuyi ec7863d174
cgen: fix array_init of struct error 2020-05-25 04:45:16 +02:00
spaceface777 4189190bb8
jsgen: start implementing remaining `expr`s and `stmt`s 2020-05-24 22:49:01 +02:00
Uwe Krüger fd4d28b7b6
tests: update for stricter type checks 2020-05-24 21:07:32 +02:00
penguindark 4e66c12557
strconv: minor fixes 2020-05-24 21:06:35 +02:00
Delyan Angelov a0f8005352 checker: support tests/run/ folder, checks many warns/errors/output 2020-05-24 21:13:09 +03:00
Delyan Angelov 23e8c8ecda checker: prevent infinite recursion on a:=b b:=a 2020-05-24 20:55:04 +03:00
yuyi 641fe5c864
checker: fix unresolved variables error on assignments 2020-05-24 20:33:53 +03:00
Delyan Angelov 1754ba19d8 live: cleanup live_test.v output, remove 1s delay 2020-05-24 18:38:43 +03:00
Delyan Angelov d16485c29e live: make live_test.v more robust 2020-05-24 17:45:53 +03:00
Uwe Krüger 7c4f2b535b
cgen: prepare any_in, any_float on v side 2020-05-24 15:26:43 +03:00
Delyan Angelov ddcb5f7da3 gen: fix autogenerated print methods for vargs 2020-05-24 15:05:19 +03:00
Uwe Krüger c4fbae3edc
cgen: add definitions of any_float and any_int types to cheader 2020-05-24 11:28:25 +02:00
Delyan Angelov 2adfbfc830 builtin: fix a bug in array_delete 2020-05-24 11:10:41 +03:00
Alexander Medvednikov 7963e48ca1 tests: valgrind: disable string.replace() test for now 2020-05-24 07:33:33 +00:00
Alexander Medvednikov 494f4fe986 tests: valgrind: string.replace() 2020-05-24 07:19:58 +00:00
Delyan Angelov 06540f0e91 net: fix warnings due to uppercase consts 2020-05-24 07:39:47 +03:00
Alexander Medvednikov 85d19dd253 cmd/v: error-limit 2020-05-24 04:47:51 +02:00
Alexander Medvednikov 67750c91d7 generics: lots of fixes 2020-05-24 04:43:03 +02:00
yuyi 4608898bcd
checker: fix multiple assign immutable error 2020-05-23 17:30:28 +02:00
Delyan Angelov 4271eb477c cgen: disable C static fn attribute with -cg (improves backtraces) 2020-05-23 14:04:02 +03:00
Delyan Angelov 43eaec325d fmt: add keep tests for struct init, fix warnings 2020-05-23 12:05:21 +03:00
Delyan Angelov c690c2f984 vfmt: fix formatting of struct init without a module prefix 2020-05-23 11:56:06 +03:00
Delyan Angelov 70f0115e27 options: use panic_debug() for opt()? calls in main with -cg 2020-05-23 11:43:20 +03:00
Enzo Baldisserri 801bca1ef2
compiler: propagate optional 2020-05-23 08:51:15 +02:00
Delyan Angelov 5037d9de37 vlib: remove unused uiold 2020-05-23 09:19:41 +03:00
Delyan Angelov 4af4a8f2ff fmt: fix 'import time as t', then using t.sleep_ms() . 2020-05-22 22:31:24 +03:00
Delyan Angelov 104359365f examples: fix const name warnings due to gx.White, etc... 2020-05-22 20:00:46 +03:00
Delyan Angelov acb58a1f98 parser: add p.peek_tok3, fix `for ...<a.len...` 2020-05-22 19:48:47 +03:00
yuyi dda875a9c8
all: unify const names to snake_case 2020-05-22 17:36:09 +02:00
Delyan Angelov aef751861d cgen: fix `_ := []byte{init:1}` 2020-05-22 18:17:20 +03:00
Delyan Angelov 88fa935376 builtin: fix print mem leak on windows 2020-05-22 12:18:27 +03:00
Delyan Angelov 7a4f26ac4f compiler: use -lpthread during building v itself. 2020-05-22 08:36:56 +03:00
penguindark 8bf290acf0
os: minor fixes 2020-05-22 06:21:11 +02:00
Alexander Medvednikov edabd57e8a parser: use parallel only on macos for now 2020-05-22 02:45:11 +02:00
Alexander Medvednikov 1e853072dc parser: parallel parser, part 1 2020-05-22 02:23:14 +02:00
yuyi 2f171bf5d9
regex: uniform const field names to snake_case 2020-05-21 23:33:51 +02:00
Leah Lundqvist f2ea8ca62c
jsgen: class -> factory 2020-05-21 22:36:06 +02:00
Enzo Baldisserri 1633675c11
gen: fix nested `or` 2020-05-21 22:35:43 +02:00
Alexander Medvednikov d3ce6fd2e7 checker: check each generic function for each type 2020-05-21 21:51:52 +02:00
Ruofan XU b2b0461218
scanner: fix err pos related to num literal 2020-05-21 18:43:57 +02:00
Alexander Medvednikov 227f039652 vfmt: handle generic fn calls 2020-05-21 18:36:25 +02:00
Alexander Medvednikov 87d8e70d6d checker/table: generic fixes 2020-05-21 18:15:04 +02:00
Swastik Baranwal bf7ab19d09
builder: do not allow importing 'builtin' module 2020-05-21 16:31:41 +02:00
Abdullah Atta cb82ff618b
jsgen: proper jsdoc for namespace 2020-05-21 16:31:07 +02:00
Maddi Kopfermann 26cb9e4b9f
regex: fix spelling 2020-05-21 16:22:39 +03:00
Ruofan XU aba09a7e4d
scanner: fix err pos related to num literals 2020-05-21 16:20:36 +03:00
Abdullah Atta 9888bacad5
v: make js hello world work 2020-05-21 16:17:16 +03:00
Louis Schmieder a9999ee10d
glm: add uniform functions to gl, add matrix rotation to glm 2020-05-21 16:13:02 +03:00
yuyi 047e982318
gen: fix pointer_str_test.v 2020-05-21 15:09:35 +03:00
Alexander Medvednikov abb15275f5 checker: update a `for in` error test 2020-05-21 06:06:11 +02:00
Alexander Medvednikov 45c9ccfc03 tests: simple<string> generics test 2020-05-21 04:56:36 +02:00
Alexander Medvednikov ce1a181699 all: generic functions 2020-05-21 03:58:53 +02:00
yuyi b8c028c727
parser: fix -5.str() precedence 2020-05-20 23:26:23 +02:00
Alexander Medvednikov cd07429cc1 rand: fix compilation on linux 2020-05-20 21:14:17 +00:00
Alexander Medvednikov ca81442fac parser: fix a small bug with < 2020-05-20 21:47:03 +02:00
Alexander Medvednikov 82cedbaf62 fmt: fix `map[string][]string`; parser: allow `foo<int>(10)` 2020-05-20 21:40:24 +02:00
Delyan Angelov e3a162db77 http: remove redundant consts in backend_nix.c.v 2020-05-20 21:40:29 +03:00
spaceface777 d4c1ea4bba
jsgen: fix jsdoc class namespacing bug 2020-05-20 20:34:37 +02:00
Don Alfons Nisnoni 10ad5332e8
parser: improve unused imports warning 2020-05-20 20:50:27 +03:00
Delyan Angelov 9d4fe88d09 compiler: support for -color/-nocolor option overrides 2020-05-20 20:34:04 +03:00
Alexander Medvednikov 80070516fd http: set buffer size to 1536 2020-05-20 19:23:51 +02:00
Alexander Medvednikov 5d08c9d5a8 http: use bufsize const 2020-05-20 19:22:02 +02:00
Alexander Medvednikov 0d3f133436 parser: show location of a previously defined function 2020-05-20 17:27:37 +02:00
spaceface777 dd534fde57
jsgen: many fixes and updates 2020-05-20 16:57:42 +02:00
Louis Schmieder a0ed1e2878
gl: add bind_attrib_location, also add gl cleanup functions 2020-05-20 16:24:37 +03:00
Tanel Liiv c9f3a05ef6
checker: fix map/filter called with a plain fn argument 2020-05-20 15:28:33 +03:00
Delyan Angelov 6eee69f7bc http: cleanup ssl_do, enhance the detection of chunked encoding 2020-05-20 14:32:59 +03:00
Delyan Angelov ac396ea02f http: cleanup backend_nix.c.v, fixes vpm too 2020-05-20 12:04:28 +03:00
Delyan Angelov 1c2376741b http: fix redirects handling 2020-05-20 09:58:57 +03:00
Alexander Medvednikov 0a6d709ce2 http: fix recent changes; picoev: make compile 2020-05-20 05:37:03 +02:00
Sandro Martini e137fbb1ea
array: more tests of initialization 2020-05-19 19:53:47 +02:00
yuyi b3b86ea6d7
cgen: fix array_init has len but no init error 2020-05-19 18:33:24 +02:00
spaceface777 b10df252dc
all: replace `is_c`, `is_js` with `language` 2020-05-19 17:12:47 +02:00
yuyi 74686d0ec4
test: fix alias type errors and type_test.v 2020-05-19 15:04:51 +03:00
Ned Palacios bd85d2fd2a
vfmt: make methods and structs public, to be used in vdoc 2020-05-19 14:19:37 +03:00
spaceface777 e07869af91
builder: fix false-positive import cycle warning 2020-05-19 14:17:03 +03:00
Delyan Angelov 931c846602 os: cleanup code duplication for os.create and os.open 2020-05-19 13:38:06 +03:00
Alexander Medvednikov 03525843a0 parser: do not allow calling private functions 2020-05-18 22:54:11 +02:00
Uwe Krüger 2635be511f
all: re-apply C++ support 2020-05-18 21:38:06 +02:00
Alexander Medvednikov 895cefe351 parser: do not allow defining methods on types from other modules 2020-05-18 20:55:22 +02:00
Alexander Medvednikov 57ea9bec30 tests: vfmt test for all vlib/v files 2020-05-18 18:43:07 +02:00
Tanel Liiv 2344c1a435
parser: fix to multi-expr 2020-05-18 18:33:27 +02:00
Alexander Medvednikov b1bf5f0edc vfmt: wrap long sum type definitions 2020-05-18 18:08:32 +02:00
Alexander Medvednikov 5c0c418818 ast: vfmt ast.v 2020-05-18 18:06:09 +02:00
Alexander Medvednikov 07a78b2843 Revert "all: C++ compiler support"
This reverts commit 9a237c3e82.
2020-05-18 17:05:48 +02:00
Alexander Medvednikov fc900baf9e parser: a minor simplification 2020-05-18 17:02:29 +02:00
Alexander Medvednikov 90270d8791 vfmt: handle fixed size arrays 2020-05-18 16:52:12 +02:00
Uwe Krüger 9a237c3e82
all: C++ compiler support 2020-05-18 15:51:36 +02:00
Alexander Medvednikov d325cdba0d checker: fmt 2020-05-18 15:43:52 +02:00
Ned Palacios d94d436273
table, vfmt: fix typ_to_string + some fixes to vfmt 2020-05-18 15:37:06 +02:00
Ned Palacios ae3df002a2
vmod: add v.mod parser 2020-05-18 14:35:28 +02:00
Delyan Angelov 53ffee1e02 compiler: respect -showcc, -prod, -cg, when cross compiling for windows 2020-05-18 12:11:26 +03:00
Alexander Medvednikov 4f307c1a78 checker: requre & in struct init; http: chunked encoding 2020-05-18 05:11:00 +02:00
Leah Lundqvist 88e6d987d6
js: imports and anon_fn 2020-05-17 21:39:01 +02:00
Swastik Baranwal d697b2848a
checker: more checks for in and !in 2020-05-17 17:03:32 +02:00
spaceface777 0def084932
checker: fix JS name regression 2020-05-17 16:23:09 +02:00
Delyan Angelov 627400723c x64 gen: improve error handling for unknown nodes 2020-05-17 15:45:17 +03:00
iRedMail 4a70d2fe51
examples: fix 2 unused var warnings 2020-05-17 14:15:04 +02:00
yuyi 7f4cf08516
parser: check `(mut f Foo)` syntax 2020-05-17 13:51:18 +02:00
Hungry Blue Dev b138cadbcb
math.fractions: add approximation.v and tests 2020-05-17 12:00:29 +03:00
yuyi 02fb393747
test: fix vrepl and cast test errors 2020-05-17 02:13:08 +02:00
Alexander Medvednikov 81148fa2bd cmd/v: version: print only main repo hash 2020-05-16 23:52:06 +02:00
Alexander Medvednikov 8cbb9e1c1f pref: move parse_define() 2020-05-16 22:57:55 +02:00
Alexander Medvednikov 5b15b8ccc9 checker: do not allow casting strings 2020-05-16 22:52:41 +02:00
Alexander Medvednikov 6e4ae5a5e6 checker: do not allow casting strings 2020-05-16 22:48:45 +02:00
asvvvad e245e22875
os: make exists_in_system_path function public 2020-05-16 22:46:05 +02:00
Alexander Medvednikov 0845b2cfbe builder: skip warnings; pref: move pref creation to pref.v 2020-05-16 22:45:38 +02:00
Delyan Angelov 62cb48d252 repl: treat middle imports in a more forgiving way 2020-05-16 22:03:28 +03:00
yuyi 6855996cca
cgen: fix array_init_with_default 2020-05-16 19:05:26 +02:00
penguindark 48659f4145
regex: small fixes, '-' minus to char classes, remove all C.printf 2020-05-16 17:11:13 +02:00
asvvvad 57dd26650c
os: add new function exists_in_system_path 2020-05-16 17:10:34 +02:00
yuyi 655d9bda94
cgen: remove extra `;` from if_expr 2020-05-16 17:09:57 +02:00
Enzo Baldisserri f44a40eee0
checker: check incorrect names 2020-05-16 16:12:23 +02:00
Swastik Baranwal 37cf46d67a
checker: add more checks for modulo 2020-05-16 15:32:46 +02:00
yuyi 9b6ee8e77d
cgen: array_init_with_default 2020-05-16 15:21:37 +02:00
Delyan Angelov 789b75df92 cheaders: fix _MOV macro in the C case 2020-05-16 15:51:09 +03:00
Larpon aa30549337
scanner: fill out '@FN' placeholder at compile time while scanning 2020-05-16 14:20:19 +02:00
Delyan Angelov 034bf46e4d vlib: remove unused arrays module 2020-05-16 00:20:14 +03:00
Tanel Liiv 44502a3fb2
parser: return multi expr 2020-05-15 23:14:53 +02:00
Alexander Medvednikov 7caebc5781 doc: print available modules 2020-05-15 23:09:38 +02:00
Delyan Angelov 2dbb4c2ca7 live: cleanup 2020-05-15 23:51:40 +03:00
spaceface777 7c9bb44784 parser: allow JS methods with more than 1 dot 2020-05-15 22:26:51 +02:00
Swastik Baranwal 04744a5390
string: add trim_prefix and trim_suffix 2020-05-15 19:37:14 +02:00
Delyan Angelov 5d0cc0944e parser: fix v_panic due to -pos in unused var warning (with tcc) 2020-05-15 20:11:27 +03:00
Alexander Medvednikov c4ca6a9113 sokol: make examples compile 2020-05-15 18:55:29 +02:00
Delyan Angelov 465f0ddf60 regex: fix unused variable warnings in regex_test.v 2020-05-15 18:50:54 +03:00
spaceface777 8de6da01d6
jsgen: prefix JS keywords with 'v_' 2020-05-15 15:55:49 +02:00
yuyi 8500c8885c
cgen: fix optional_void error; handle `?` return type 2020-05-15 15:55:03 +02:00
Delyan Angelov 66cb61c242 builtin: cleanup by turning backtrace* fns to ordinary C. fns 2020-05-15 15:52:06 +03:00
Delyan Angelov e18268e2f4 cheaders: use backtrace* stubs for both android & musl 2020-05-15 15:37:59 +03:00
Delyan Angelov 2c93deb884 builtin: bootstrap for backtrace functions cleanup 2020-05-15 15:08:42 +03:00
Dario Tarantini f7605c397a
stbi: pub fields in Image 2020-05-15 13:15:04 +02:00
Enzo Baldisserri d60233b618
cgen: simplify for in range 2020-05-14 22:22:32 +02:00
Alexander Medvednikov 0f251e9ede checker: handle json.decode correctly 2020-05-14 18:30:30 +02:00
Alexander Medvednikov f49ef39708 checker: handle unexpected `or` blocks 2020-05-14 18:19:40 +02:00
Alexander Medvednikov e5d4786371 builder: simplify C error message 2020-05-14 18:14:38 +02:00
Enzo Baldisserri fd0d833e33
gen: if expressions with multiple statements 2020-05-14 17:15:25 +02:00
wilesun 2a9cbbe157
cgen: handle sizeof(C.struct) 2020-05-14 17:14:59 +02:00
yuyi 6d0b791ac8
parser: warning about unused imports 2020-05-14 17:14:24 +02:00
Alexander Medvednikov c3fe2135a4 math.fabs 2020-05-14 16:58:20 +02:00
Alexander Medvednikov 2369a5c8c6 cgen: handle `is` for interfaces 2020-05-14 16:56:45 +02:00
yuyi 70b76a8e31
builder: use verror for not found modules 2020-05-14 10:59:29 +03:00
Delyan Angelov 74005b4362 vfmt: handle file paths with spaces 2020-05-14 09:07:14 +03:00
Delyan Angelov d830620651 compiler: restore support for --enable-globals flag, and add tests. 2020-05-14 08:43:12 +03:00
Alexander Medvednikov 1cb4aa7642 builder: cross compiling for linux, part 1 2020-05-14 04:15:04 +02:00
Alexander Medvednikov e60e8f3b34 builder: bring back cross compilation for windows 2020-05-13 23:02:31 +02:00
Alexander Medvednikov 1bf26a35fa array: rename default to init 2020-05-13 22:00:24 +02:00
Alexander Medvednikov ab7bc760c6 cgen: new Option part 1 2020-05-13 21:59:08 +02:00
Sandro Martini 9895cab51c
tests: add more tests on interfaces 2020-05-13 20:30:18 +02:00
Enzo Baldisserri 1ca04e6113
checker: prevent interface instantiation 2020-05-13 19:20:15 +02:00
Hungry Blue Dev 3270545953
fraction: simplify variable names 2020-05-13 18:39:19 +02:00
yuyi 2e0b9de31c
parser: error for consts in fns 2020-05-13 18:39:02 +02:00
Enzo Baldisserri 172e4ff853
cgen: simplify if guard else clause 2020-05-13 18:38:00 +02:00
Alexander Medvednikov 33a9822548 parser/vfmt: handle array len and default in array init 2020-05-13 16:11:52 +02:00
Alexander Medvednikov db5036686b checker: make `type is private` warning an errror 2020-05-13 14:21:52 +02:00
yuyi b1511ce995
parser: optimize no main file process 2020-05-13 14:02:04 +02:00
Tanel Liiv af334e320c
cgen: dereference in one place and fix 2020-05-13 01:01:34 +02:00
Alexander Medvednikov 3e6f7d3eb6 freetype: minor fixes 2020-05-13 00:50:46 +02:00
Alexander Medvednikov 7a5a4df4c6 checker: handle `println()` 2020-05-12 19:38:46 +02:00
yuyi 7837abf6b0
parser: optimize stmt() 2020-05-12 17:18:25 +02:00
yuyi 99b31d8241
parser: unified way to handle struct and enum name check 2020-05-12 13:39:32 +02:00
Alexander Medvednikov 712fd384ee parser: fix eval not used in match 2020-05-12 00:26:39 +02:00
Alexander Medvednikov 27d3800cc3 parser: bring back "evaluated but not used" 2020-05-12 00:19:45 +02:00
Alexander Medvednikov 1c8e14c77c vfmt: handle comments in const blocks 2020-05-12 00:09:59 +02:00
yuyi dea2658a80
checker: minor optimization in infix_expr 2020-05-11 23:50:13 +02:00
Kris Cherven d359a7aefb
cgen: fix a goto error 2020-05-11 23:49:08 +02:00
JalonSolov 649a0140fd
x64: fix NUL at end of strings, and length 2020-05-11 16:50:36 +02:00
Alexander Medvednikov e9177faf17 checker: allow `*x = y` only inside unsafe blocks 2020-05-11 16:05:59 +02:00
Alexander Medvednikov 2618b4fbd3 Revert "tests: add more tests on interfaces "
This reverts commit 538662d99a.
2020-05-11 15:19:55 +02:00
Alexander Medvednikov aacc35db19 pref: do not enable globals by default 2020-05-11 15:19:47 +02:00
Sandro Martini 538662d99a
tests: add more tests on interfaces 2020-05-11 15:13:03 +02:00
kdmult ea8fcb3981
cgen: fix nested conditional statements 2020-05-11 15:11:48 +02:00
Alexey 6f2dcd819f
parser: force visibility of interface methods 2020-05-11 15:10:26 +02:00
Alexander Medvednikov 828f9af64c checker: fmt 2020-05-11 14:38:25 +02:00
Alexander Medvednikov 8a6820d1b7 checker: revert fmt for now 2020-05-11 14:32:41 +02:00
Alexander Medvednikov ce03761375 parser: fix mut args with the new syntax; checker: fmt 2020-05-11 14:16:20 +02:00
joe-conigliaro 2a40665919
ast/checker: cast no longer needed & use auto deref 2020-05-11 20:02:28 +10:00
Kris Cherven 8bc0c31f29
parser: add error for variables, that are evaluated, but not used 2020-05-11 11:13:36 +03:00
Kris Cherven 3a3d00ac72
checker: prevent C error on const mutation 2020-05-11 11:09:58 +03:00
Ned Palacios 38277d1dac
cgen: fix gen_str_for_struc when called on a struct with a pointer field 2020-05-11 11:08:21 +03:00
joe-conigliaro 1b3cd7abe0
cgen: fix sum type assign/push from in match branch & type mod 2020-05-11 16:59:55 +10:00
yuyi 64ba59590e
cgen: fix multiple assign error 2020-05-11 09:45:11 +03:00
joe-conigliaro 74cc2b2a68
table: add function return type check 2020-05-11 14:47:39 +10:00
Hungry Blue Dev e52d35bf16
math.fraction: improve documentation, remove unnecessary mut modifiers 2020-05-11 07:20:55 +03:00
yuyi 14bba54ddc
vrepl: fix array_init error
* optimize print conditions
2020-05-11 07:15:08 +03:00
Fabien Salathe c9c956fc8a
flag: fix a comment with an example 2020-05-10 22:27:14 +02:00
Alexey 71c2b26103
checker: fix checking uninitialized refs 2020-05-10 22:26:47 +02:00
Enzo Baldisserri b09fd66aa2
gen: fix interface pointers 2020-05-10 21:16:22 +02:00
Louis Schmieder 40aad27a67
pg: remove `pg.` 2020-05-10 21:16:03 +02:00
Delyan Angelov 7c5905164e glm: remove unused variable (prevents compiling ui with -prod) 2020-05-10 19:59:26 +03:00
Delyan Angelov 1bf13f8a09 v version: do more accurate current git hash detection, when not on a branch 2020-05-10 18:56:19 +03:00
Alexander Medvednikov a2d120b583 cgen: fix reassignment of optionals 2020-05-10 17:41:33 +02:00
eyelash 1722171adc
compiler: color only the relevant part of the source code in error messages 2020-05-10 17:24:29 +02:00
Louis Schmieder 3ec2608d6b
glm: matrix multiplication; docs: toc 2020-05-10 16:49:29 +02:00
eyelash 72dfe11fa5
scanner: add a colon to error messages (#4818) 2020-05-10 16:29:15 +02:00
eyelash f396f70ae7
repl: fix newline in error messages 2020-05-10 16:26:56 +02:00
Sumeet Chhetri 8dc0c5a699
cgen: C++ compiler support - Part 1 2020-05-10 16:26:21 +02:00
Hungry Blue Dev 8aba3eaa07
math.fractions: refactor and add more tests 2020-05-10 16:25:33 +02:00
joe-conigliaro a73660a4c3
checker/cgen: simplify assigning fn to var 2020-05-11 00:13:30 +10:00
yuyi 0606d26ba7
csv: fix field multiple lines error 2020-05-10 14:19:26 +02:00
eyelash eabc72d4fe
compiler: print underlines in the same color as the error 2020-05-10 12:27:46 +02:00
Ned Palacios 5f0ad0f562
compiler: add output mode for errors and warnings, support for `-silent` flag 2020-05-10 12:26:57 +03:00
Ned Palacios 01de1b6375
parser: fix JSON encode function name on invocation 2020-05-10 10:30:35 +03:00
Delyan Angelov edb921f463 sync: mark sync.WaitGroup and sync.Mutex with [ref_only] 2020-05-10 08:58:54 +03:00
yuyi 7f69c2fbf5
parser: check `import` in the middle of file error 2020-05-10 07:47:20 +03:00
pancake 76eec7b6ea
readline: fix input echo issue on musl-based systems 2020-05-10 07:39:31 +03:00
yuyi ba3a631954
parser: check for module statement errors 2020-05-10 02:28:56 +02:00
yuyi 85723e3799
checker: check for_in_map using one variable error 2020-05-10 02:28:43 +02:00
Alexander Medvednikov 10da871743 checker: handle unknown fields in fail_if_immutable 2020-05-10 02:07:15 +02:00
Alexander Medvednikov 09f6cd6a75 parser/checker: [ref_only] attribute 2020-05-09 23:45:41 +02:00
Alexander Medvednikov 3052266a40 live: make compile; pref: allow _linux.v etc 2020-05-09 20:31:50 +02:00
Alexander Medvednikov d7c4630d33 checker: make pub field check an error 2020-05-09 18:34:07 +02:00
yuyi 53989daf9a
csv: fix empty line error 2020-05-09 17:35:03 +02:00
yuyi 3eeef6203e
checker: check for map_init key duplicate 2020-05-09 16:55:38 +02:00
Alexander Medvednikov dea9ca2491 cgen: fix a big with &Foo{} init 2020-05-09 15:23:48 +02:00
Alexander Medvednikov c64f8b0d1f parser/checker: pub: struct fields 2020-05-09 15:16:48 +02:00
Delyan Angelov 809676a856 cgen: fix a sporadic segfault when giving -width in a string interpolation 2020-05-09 15:23:37 +03:00
yuyi 5f435fa1cc
parser: check enum name and field name errors 2020-05-09 12:43:10 +02:00
ka-weihe 85763d0539
map: faster get and exists 2020-05-09 12:42:01 +02:00
Tanel Liiv 7815a5495c
checker: handle multireturn fn calls as if/match last expressions 2020-05-08 22:49:45 +02:00
pancake b5bf0eeac5
time: add .no_delimiter format option 2020-05-08 21:23:26 +03:00
Sandro Martini 910a8934cb
checker: fix typo on error message and related test 2020-05-08 21:21:47 +03:00
Delyan Angelov 4b347ff148 v self: force the subprocess to show colors 2020-05-08 19:04:24 +03:00
Alexander Medvednikov 6ea741e26e Revert "tests: valgrind: enable string tests"
This reverts commit 1ea13ac7f3.
2020-05-08 16:18:14 +02:00
Alexander Medvednikov 1ea13ac7f3 tests: valgrind: enable string tests 2020-05-08 13:18:27 +00:00
Ned Palacios 5b47ec49af
parser: add support for multiple struct field attributes 2020-05-08 15:09:42 +02:00
Alexander Medvednikov c29f76454e cgen: clone strings in struct_init() 2020-05-08 15:07:53 +02:00
yuyi ef505e21ee
parser: check for import errors 2020-05-08 16:01:54 +03:00
Alexander Medvednikov 2f4fc86d58 checker: fix unknown var enum crash 2020-05-08 15:00:06 +02:00
Hungry Blue Dev dbb3c2a4cd
math.fractions: improve `.equals()` 2020-05-08 15:39:23 +03:00
Delyan Angelov e08566d571 compiler: do not exit early, when given -o x.c or -o x.js 2020-05-08 15:31:03 +03:00
Delyan Angelov 4c320e1512 profile: support for -profile-no-inline (with it, [inline] fns will not get profiled) 2020-05-08 15:01:59 +03:00
Alexander Medvednikov 847a1035a5 cgen: use tos_lit 2020-05-08 13:25:23 +02:00
Ned Palacios 13b11a4155
parser: fix struct attribute for array struct field 2020-05-08 13:09:40 +02:00
Delyan Angelov fec7f0f0b9 cgen: fix auto .str() generation for []&T, and `fn (t &T) str() string{}` 2020-05-08 12:48:07 +03:00
yuyi 8866773f97
vrepl: fix import and comment error in the middle of other lines 2020-05-08 09:34:59 +03:00
Uwe Krüger 722a2c71c3
builtin: new_array: cap should not be less than len 2020-05-07 22:41:41 +02:00
Delyan Angelov 673acdbd00 tcc: fix selfcompilation with tcc. Temporarily disable crashing interface test 2020-05-07 20:59:45 +03:00
Delyan Angelov 7207a4970b solaris: fix tests 2020-05-07 16:19:21 +00:00
Alexander Medvednikov 8cfb2ad6c9 string: is_lit 2020-05-07 18:05:57 +02:00
Alexander Medvednikov ef387779bf cgen: fix -autofree 2020-05-07 17:51:30 +02:00
Alexander Medvednikov 3c6e090ae3 ci: test broken -autofree 2020-05-07 17:45:00 +02:00
Alexander Medvednikov be063d740b ci: test self compilation with -autofree 2020-05-07 17:37:12 +02:00
yuyi d096763f62
token: change 'STR' kind to 'string' 2020-05-07 16:26:22 +02:00
Tanel Liiv d0afa748ff
cgen: optional multiple return values 2020-05-07 15:36:04 +02:00
Alexander Medvednikov 12221fb999 cgen: fix msvc struct init 2020-05-07 13:11:24 +02:00
Alexander Medvednikov 6ff93f270c cgen: simplify struct_init() 2020-05-07 13:00:42 +02:00
yuyi 78efe72c4c
checker: optimize check string cast error 2020-05-07 12:34:06 +02:00
Don Alfons Nisnoni 0a930f9862
bitfield: rename functions, getsize => get_size, etc. 2020-05-07 11:21:14 +03:00
Enzo Baldisserri 0f8ed84333
checker: verify interface is not used as receiver 2020-05-07 11:14:51 +03:00
Major Taylor 7d32476841
math: extract platform specific wrapper functions to math.c.v and math.js.v 2020-05-07 08:47:24 +03:00
yuyi 2f52106253
parser: use .next instead of .check, when a token is already known 2020-05-07 07:51:36 +03:00
Uwe Krüger 59aa31cee5
cgen: string interpolation: optimize away some partial strings of 0 length 2020-05-07 04:34:18 +02:00
wilesun 19390871e9
json: handle external types 2020-05-07 04:33:19 +02:00
yuyi 98a1b2782b
parser: simplify import 2020-05-07 04:32:29 +02:00
Delyan Angelov e33805b2b3 json.decode: fix expressions in the second argument, also fixes news_fetcher.v 2020-05-06 21:44:50 +03:00
Tanel Liiv b5a1544bf8
parser: allow re-assigning fns to variables 2020-05-06 20:09:29 +02:00
Delyan Angelov f638caef39 compiler: v -autofree can now compile itself 2020-05-06 19:03:51 +03:00
Delyan Angelov 88ef0a75e2 ci: pass V_CI_MUSL=1 on musl CI jobs 2020-05-06 15:10:47 +03:00
Alexander Medvednikov 8d2a4d2436 clipboard: make compile on linux 2020-05-06 12:00:52 +00:00
Alexander Medvednikov 207324d15b strings.builder: remove unused var; clipboard: linux fixes 2020-05-06 11:44:08 +00:00
Alexander Medvednikov 25db5e96a3 strings.builder: fix a memory leak 2020-05-06 11:12:00 +00:00
Don Alfons Nisnoni e87289f24d
Fix typo on checker 2020-05-06 13:57:40 +03:00
Alexander Medvednikov f80876497e fmt: use the new `mut` syntax in args 2020-05-06 12:43:46 +02:00
Alexander Medvednikov b4c93349e8 checker: fix interface name check 2020-05-06 12:32:44 +02:00
Alexander Medvednikov cc66eb1194 parser/checker: check capital letters in interface names/methods 2020-05-06 12:26:00 +02:00
Alexander Medvednikov 99cf520bd4 parser: `mut x Type` syntax for args 2020-05-06 12:13:22 +02:00
yuyi 51f3f31a4e
checker: check string(1) cast error 2020-05-06 12:05:24 +02:00
Don Alfons Nisnoni 5bd3045498
mysql: Using `int.str()` instead of `string(int)` 2020-05-06 12:53:47 +03:00
Enzo Baldisserri 215657e16a
checker: check interface implementation 2020-05-06 11:29:37 +02:00
yuyi b627bb933c
message: use uniform message reference format 2020-05-06 09:10:40 +03:00
yuyi c653977c15
cgen: fix struct with map field str() error 2020-05-06 09:08:48 +03:00
Alexander Medvednikov 67351c74c8 V 0.1.27 2020-05-06 02:26:43 +02:00
Don Alfons Nisnoni 67a50b5b34
mysql: simplify `Result.maps` 2020-05-06 00:10:10 +02:00
Enzo Baldisserri c1f224640f
checker: verify that there is a main module 2020-05-06 00:09:46 +02:00
Alexander Medvednikov 25b536d03f cgen: str: do not free "true"/"false" literals 2020-05-05 23:25:14 +02:00
Don Alfons Nisnoni 8fbbf488ab
darwin: fix `if ()` warning 2020-05-05 20:07:43 +02:00
Alexander Medvednikov 473ffb5489 builtin: fix a leak in array_str 2020-05-05 18:04:43 +00:00
Sandro Martini 50351eded8
tests: interface: minor fixes 2020-05-05 19:56:11 +02:00
Alexander Medvednikov fd0f8d06f8 tests: valgrind: use correct flag 2020-05-05 17:55:11 +00:00
Delyan Angelov 9e715b8701 cgen: use c_name() while generating code for `or {}` 2020-05-05 19:28:25 +03:00
Alexander Medvednikov ff88906e9a cgen: add `new` to reserved words 2020-05-05 16:50:59 +02:00
Delyan Angelov ddb5a8e6e4 time: add specialized vpc_now_darwin to fix -os cross 2020-05-05 17:31:21 +03:00
Sandro Martini dd2a1455dc
tests: add another function to the Animal interface 2020-05-05 16:27:05 +02:00
Tanel Liiv b16281d6e4
cgen: pass around functions 2020-05-05 16:21:21 +02:00
Alexander Medvednikov 7e71799980 checker: check `none` properly 2020-05-05 15:29:52 +02:00
Alexander Medvednikov a0ca68ce3f checker: do not allow `string(int)` 2020-05-05 15:26:42 +02:00
Alexander Medvednikov c5d295c378 fmt: move struct init logic to a separate fn 2020-05-05 15:06:51 +02:00
Alexander Medvednikov 148661ead6 json: wrap up: encode_array() 2020-05-05 14:54:12 +02:00
Alexander Medvednikov b3d7b0205a json: handle field attributes 2020-05-05 14:41:27 +02:00
Delyan Angelov a3bc32f3e0 builder: use time.new_stopwatch instead of benchmark.new_benchmark (reduces exe size) 2020-05-05 15:31:38 +03:00
Alexander Medvednikov ee92060d4d json: decode_array fix 2020-05-05 14:19:31 +02:00
Alexander Medvednikov ef6c418eb6 json: decode arrays 2020-05-05 13:23:44 +02:00
Steve Phillips 84fc587ec2
cgen: use a temp var in map() 2020-05-05 10:29:23 +02:00
yuyi 6aca3be474
cgen: fix []map[string]string.str() error 2020-05-05 08:46:19 +03:00
Ned Palacios 507e457c0a
builtin: add parenthesis around frame_addr as a workaround 2020-05-05 08:35:26 +03:00
Delyan Angelov f9fe5b60a7 v doc: skip _x.c.v when not on x, i.e. filter files like v itself 2020-05-05 08:08:03 +03:00
Alexander Medvednikov 621cb7b914 parser: short struct init syntax 2020-05-05 02:12:51 +02:00
Uwe Krüger a4b6c3fa5d
cgen: hex representation of signed and pointers 2020-05-05 00:24:33 +02:00
Steve Phillips 081338b8bf
checker.v: suggest []Type{}, not []Type 2020-05-05 00:20:32 +02:00
Delyan Angelov 1c945faa15 cgen: fix _to_Interface_INAME conversion fns generation 2020-05-05 00:01:54 +03:00
Delyan Angelov b5fda6e410 cgen: skip interface outside methods, while generating _interface_methods struct 2020-05-04 22:56:58 +03:00
Alexander Medvednikov 32a7bd3a48 parser/checker: do not allow using private types from other modules 2020-05-04 21:56:41 +02:00
Alexander Medvednikov 9aa1a65489 checker: check match condition 2020-05-04 21:03:18 +02:00
Alexander Medvednikov 9823d80e0c json: minor fixes + bring back the test 2020-05-04 20:43:22 +02:00
Delyan Angelov 6e1825b417 cgen: prefix with v_ keyword C fn args too 2020-05-04 19:55:21 +03:00
joe-conigliaro c9798d3918
table: fix check for fn with no args 2020-05-05 02:44:10 +10:00
joe-conigliaro 2bb995274e
table: make table.check ret false & update fn args check 2020-05-05 02:34:11 +10:00
Delyan Angelov d7e7113047 cgen: fix `for char in nums {}` 2020-05-04 18:57:33 +03:00
joe-conigliaro b2157388d9
checker: check method args 2020-05-05 01:32:40 +10:00
Delyan Angelov 36bf99ed5a parser: remove forgotten ----- line 2020-05-04 18:28:55 +03:00
Delyan Angelov d30eefc3be fmt: improve handling of map[k]v and []map[k]v types 2020-05-04 18:27:07 +03:00
Alexander Medvednikov fd8a194df0 json: wrap up decode() 2020-05-04 16:46:39 +02:00
Delyan Angelov 5eb71c4a13 fmt: initial support for -debug 2020-05-04 17:27:41 +03:00
Don Alfons Nisnoni 23df9b052e
mysql: update code & add a feature to get value as map 2020-05-04 14:58:24 +02:00
ka-weihe f27fd63f8c
builtin: map: one voidptr for all values 2020-05-04 14:56:19 +02:00
Enzo Baldisserri 8fd69e845f
cgen: fix using pointer as interface receiver 2020-05-04 14:21:03 +02:00
Delyan Angelov 0e241162d9 panic: distinguish between builtin and main modules 2020-05-04 14:51:30 +03:00
Delyan Angelov cdf70c070b tests: add panic_with_cg.vv/.out 2020-05-04 14:34:51 +03:00
joe-conigliaro 57903247e3
parser: add back struct field removed by accident 2020-05-04 21:27:54 +10:00
yuyi 90fc23ccfb
checker: fix array init []type{cap: x.len} error 2020-05-04 13:22:09 +02:00
Uwe Krüger f831910c5c
utf: fix string length calculation for combining characters 2020-05-04 13:21:11 +02:00
ka-weihe a72f3ed0c7
builtin: voidptr.str() and byteptr.str() 2020-05-04 13:20:18 +02:00
joe-conigliaro d75f286230
parser: store FnDecl body position and use for scope 2020-05-04 20:31:34 +10:00
joe-conigliaro 4571a5eb83
gen: use middle of fn pos to load correct scope for free 2020-05-04 20:08:37 +10:00
yuyi c112b3aec5
tests: fix cleanup of compiler_test.v on windows 2020-05-04 11:33:54 +02:00
Delyan Angelov 068da2ea0f builtin: fix warning about unused skipframes 2020-05-04 12:05:08 +03:00
Alexander Medvednikov eca24c5d11 tests: interface: rename Speaker to Animal 2020-05-04 10:58:42 +02:00
Delyan Angelov acd80f052b
tests: improve diagnostic output on failure 2020-05-04 11:21:25 +03:00
yuyi e0e064ff08
scanner: fix string slash line breaks error 2020-05-04 10:19:23 +02:00
yuyi cd5dccd855
gen: fix compilter_test.v error on windows 2020-05-04 10:09:49 +02:00
Enzo Baldisserri 4b3ce79e84
interface: support arguments in methods and simplify 2020-05-04 00:14:59 +02:00
Delyan Angelov 71a92eb87b tests: fix CI failing for builtin __as_cast 2020-05-03 22:25:38 +03:00
Delyan Angelov 242670a33d compiler: add support for panic_debug with -cg 2020-05-03 22:13:59 +03:00
Delyan Angelov 0b750a234f repl: fix for single lines ending with // comment 2020-05-03 20:48:46 +03:00
Delyan Angelov 845ffb59a6 live: use mostly pure V code for reloading, eases customization 2020-05-03 20:22:24 +03:00
Uwe Krüger 4a096bd133
parser: fix string interpolation for default conversion 2020-05-03 18:12:59 +02:00
Alexander Medvednikov de749e9d3b parser/cgen: interface <<; `any` type 2020-05-03 18:08:45 +02:00
Alexander Medvednikov 2a016d03ac checker: use `[]int` instead of `array_int` in errors 2020-05-03 16:49:05 +02:00
Alexander Medvednikov 2a5421133d clipboard: Linux fixes 2020-05-03 16:39:26 +02:00
Alexander Medvednikov 361fad9231 tests: disable valgrind test until fn scopes are fixed 2020-05-03 16:29:15 +02:00
Alexander Medvednikov 16fe8103ba tests: bring back valgrind test 2020-05-03 13:12:05 +02:00
joe-conigliaro 8df7637853
checker: dont re match/cast with position() when already cast to sum type 2020-05-03 14:22:41 +10:00
Delyan Angelov 7e4e3abc2c compiler: circuimvent the dependency cycle v.ast <-> v.table 2020-05-02 22:52:10 +03:00
Delyan Angelov dbbfb04e7c docs: change obsolete -show_c_cmd to -showcc and -keepc 2020-05-02 19:01:53 +03:00
yuyi 02807aab43
interpolation: fix error on windows_gcc 2020-05-02 18:22:34 +03:00
Alexander Medvednikov b0018ed594 checker: better << error 2020-05-02 16:48:52 +02:00
joe-conigliaro 483f0f408c
ast: allow scope var shadowing 2020-05-02 23:46:53 +10:00
Tanel Liiv 68ca8ab8a4
array: nested map() 2020-05-02 15:26:58 +02:00
Alexander Medvednikov 44c00199b6 cgen: fix fixed array consts and pointer interfaces 2020-05-02 15:18:58 +02:00
joe-conigliaro a9a8539e41
checker: small fix in assign_stmt 2020-05-02 20:21:28 +10:00
joe-conigliaro fd925fbd05
checker: simplify assign_stmt & add better checks 2020-05-02 19:45:08 +10:00
Alexander Medvednikov 06d533b0c1 cgen: clean up _STR 2020-05-02 11:11:32 +02:00
eyelash 716d867f25
cgen: generate static C functions 2020-05-02 10:42:38 +02:00
Alexander Medvednikov 06173834c0 cgen: interface_call() 2020-05-02 10:10:52 +02:00
Delyan Angelov aa9bb6f71a compiler: fix -live compilation of bounce example with gcc-9 & clang 2020-05-02 02:36:29 +03:00
Alexander Medvednikov 7a51d4d796 cgen: revert `new` 2020-05-02 00:59:06 +02:00
Alexander Medvednikov 7dc98120c0 cgen: vfmt -live fix; add new to c_reserved 2020-05-02 00:45:45 +02:00
Uwe Krüger 170ee4312f
cgen: string interpolation field width support for large integers and utf8 strings 2020-05-02 00:43:59 +02:00
Alexander Medvednikov 2f64594ce0 cgen: more interface fixes 2020-05-02 00:28:46 +02:00
Delyan Angelov 7038f59ca5 compiler: add back support for -live 2020-05-02 01:14:44 +03:00
eyelash 130324df76
compiler: remove debug prints 2020-05-02 00:10:36 +02:00
yuyi b21be7f670
parser: multiple names error 2020-05-01 18:18:58 +02:00
yuyi de272654f1
repl: fix import xxx with no fn main error 2020-05-01 18:12:18 +02:00
eyelash 4d04e88679
errors: show line numbers in default color and add a space 2020-05-01 14:46:12 +02:00
eyelash 6b08cbcb7a
compiler: print warnings in magenta 2020-05-01 13:44:15 +03:00
Alexander Medvednikov 0106eb1cf6 cgen: fix thread wrapper 2020-05-01 12:32:10 +02:00
Alexander Medvednikov 0b8a0d1640 checker: fix _ check 2020-05-01 12:22:39 +02:00
joe-conigliaro fb1c60c53d
checker: add back check struct field fn args 2020-05-01 20:12:21 +10:00
Alexander Medvednikov c1ee14cc3e json: decode() part 1 2020-05-01 12:02:31 +02:00
joe-conigliaro a0e662bef9
checker: remove debug println from selector_expr 2020-05-01 19:54:47 +10:00
joe-conigliaro 03904085c4
checker: check fn field exprs 2020-05-01 19:50:32 +10:00
Delyan Angelov 35f56bc4f0 vfmt: fix eating ? in `$if x ? {}`, missing newline in `__global ...` 2020-05-01 12:29:23 +03:00
Delyan Angelov 59525c8c93 tests: fix missing ? after v fmt run 2020-05-01 12:01:30 +03:00
Delyan Angelov 84785bbb59 tests: fix msvc transient failures when sleep_ms takes longer 2020-05-01 11:58:56 +03:00
Alexander Medvednikov 51da324465 tests: fix eventbus_test.v 2020-05-01 10:57:19 +02:00
Delyan Angelov 3608c81cb9 time: add stopwatch_test.v 2020-05-01 10:21:15 +03:00
Tanel Liiv 182e7071bf
array: map() function 2020-05-01 00:29:54 +02:00
Alexander Medvednikov b0c710c985 checker: allow `fn == 0` comparison for now 2020-04-30 18:51:33 +02:00
Delyan Angelov a6dfc6d46b compiler: support ctags with -print_v_files and .ctags.d/v.ctags 2020-04-30 19:45:50 +03:00
Alexander Medvednikov 250dea7bd1 cgen: another imported interface fix 2020-04-30 18:23:17 +02:00
Alexander Medvednikov f1903f3c1f parser: fix imported interfaces 2020-04-30 18:06:14 +02:00
Alexander Medvednikov 9971c58ca3 all: remove `var` key 2020-04-30 16:55:33 +02:00
Alexander Medvednikov 20013e4b4b table: interfaces: unique gen_types 2020-04-30 16:48:46 +02:00
Tim Basel 473617f061
cli: add option with default 2020-04-30 12:18:46 +02:00
yuyi 5481c0fc84
parser: uniform handling of enum field format 2020-04-30 12:18:16 +02:00
yuyi 81ed6ad2a1
checker: check duplicate consts 2020-04-30 12:17:31 +02:00
yuyi 4d415e56d6
checker: check enum field name duplicate 2020-04-30 09:34:18 +02:00
Enzo Baldisserri 50491670af
fmt: fix formatting backtick char literal 2020-04-30 09:33:43 +02:00
yuyi c4f672454f
checker: check import duplicates 2020-04-30 09:33:12 +02:00
Henrixounez f6d74c8a37
checker: error on ternary if type mismatch 2020-04-30 09:32:29 +02:00
Alexey 54d1a29267
dl: improve module 2020-04-29 21:01:19 +02:00
Delyan Angelov e5ae4b6454 parser: fix match exprs over C.VALUES (needed for C.GLFW_KEY_UP) 2020-04-29 20:35:57 +03:00
yuyi b2a076e8b8
csv: fix last-field-empty error 2020-04-29 16:50:02 +02:00
Tim Basel 3e4cd12fd0
.gitignore: ignore all binary files by default 2020-04-29 16:49:13 +02:00
Alexander Medvednikov 03cee3fee0 builder: fix run & is_test check 2020-04-29 16:44:50 +02:00
Alexander Medvednikov be0e848ae8 builder: do not allow `v run _test.v` 2020-04-29 14:52:32 +02:00
yuyi 1fabb7d5a6
checker: fix string.str() error 2020-04-29 13:51:42 +02:00
Enzo Baldisserri 390d88f933
parser: fail for section redefinition in struct 2020-04-29 13:32:39 +02:00
joe-conigliaro 98cd013908
cgen: fix interface struct sorting 2020-04-29 21:08:39 +10:00
Alexander Medvednikov 51d0ce0222 tests: more interface tests; checker: handle zero selectorexpr type error 2020-04-29 12:46:09 +02:00
Henrixounez c500044bae
checker: unreachable code warning 2020-04-29 12:31:18 +02:00
Alexander Medvednikov 2fc05b814c all: interface arrays 2020-04-29 12:21:15 +02:00
Delyan Angelov 3d8853af2b builder: move warning/error printing into print_warnings_and_errors 2020-04-29 13:04:09 +03:00
Delyan Angelov 1e910c6afe tests: add reference_field_must_be_initialized.vv 2020-04-29 12:56:12 +03:00
Delyan Angelov bf8ed1815c builder: print collected checker warnings too 2020-04-29 12:38:43 +03:00
penguindark ad46e1b832
strconv: v_printf documentation
* v_printf documentation

* syntax fix
2020-04-29 12:25:38 +03:00
Delyan Angelov 0e765e34be vfmt: extract v.util.find_working_diff_command, color_compare_files 2020-04-29 11:51:45 +03:00
Delyan Angelov dd3434598c checker_test: remove generated .v files, when a test is OK 2020-04-29 11:48:51 +03:00
yuyi 117649f40d
checker: check devision by zero (int and float) 2020-04-29 10:07:27 +02:00
yuyi 2b48ce21df
checker: make sure `main` has no args and doesn't return 2020-04-29 09:19:46 +02:00
yuyi a9e33e712a
checker: check struct field name duplicate 2020-04-29 09:11:36 +02:00
Henrixounez 0dc7a57e1f
scanner: prevent panic with string starting on first character 2020-04-28 18:57:16 +02:00
Delyan Angelov 8c526ad05b tests: ignore vlib/v/checker/tests/*.v files (only *.vv are sources there) 2020-04-28 16:45:25 +03:00
Henrixounez 0afaef5818
checker: ambiguous function call error
* checker: ambiguous function call error

* checker: ambiguous function call error wording

* checker: ambiguous functions tests newline
2020-04-28 16:27:49 +03:00
Delyan Angelov 8a81aa5c93 errors: disambiguate between variable and fn source_context 2020-04-28 16:20:50 +03:00
Delyan Angelov 7924b4d77c compiler: handle a panic when an error is produced, but source == '' 2020-04-28 16:15:56 +03:00
Delyan Angelov 8ea087f957 vfmt: fix compilation; handle the case when fmt.tabs is not enough 2020-04-28 16:04:37 +03:00
Delyan Angelov c6a15dba50 compiler: add support for size_t 2020-04-28 15:07:19 +03:00
jm-duro 210b6e36b6
http: mutable request fields 2020-04-28 13:57:48 +02:00
Alexander Medvednikov 1e4e882bc2 cc/cgen: cached modules fixes 2020-04-28 13:15:37 +02:00
Sandro Martini 761fb930ce
dl: add dynamic load module 2020-04-28 11:53:55 +02:00
Enzo Baldisserri 7bf8731778
checker: check variable mutability for postfix exprs 2020-04-28 11:20:19 +02:00
Delyan Angelov 54b71242fe builder: add autofree compatibility; protect against b.str() twice in a row 2020-04-28 11:03:43 +03:00
yuyi f2060d431e
checker: check division by zero 2020-04-28 09:52:01 +02:00
joe-conigliaro ef4f4825ac cgen: auto dereference for optional 2020-04-28 15:59:41 +10:00
yuyi 28f5920bb0
cgen: fix `map` `fixed-array` .str() error 2020-04-28 07:22:46 +02:00
yuyi b20777df59
checker: main function called error 2020-04-28 07:21:50 +02:00
Major Taylor 9edbcb823c
cli: Fix off-by-one error in smart-wrap 2020-04-28 00:10:36 +03:00
Enzo Baldisserri 682838a0cf
checker: check array and fields mutability 2020-04-27 22:53:26 +02:00
Alexander Medvednikov 5d073dcce5 x64: # opcodes 2020-04-27 21:38:58 +02:00
joe-conigliaro 9f76a7b250
parser: simplify unused vars & add loop/if vars etc 2020-04-27 23:16:31 +10:00
Delyan Angelov e67bf674e3 scanner: cleanup, only v.parser now depends on v.scanner 2020-04-27 16:08:04 +03:00
yuyi e9f764db4f
cgen: uniform string output format 2020-04-27 14:48:28 +02:00
Alexander Medvednikov eb8973c362 builder: module caching fixes 2020-04-27 14:46:25 +02:00
Alexander Medvednikov f005079e0b pref: rename keep_c 2020-04-27 13:28:00 +02:00
ka-weihe 18faaefe82
map: get: remove malloc and memcpy 2020-04-27 13:27:33 +02:00
Delyan Angelov 73106b5f5e profile: measure defer{} statements too 2020-04-27 13:18:37 +03:00
Alexander Medvednikov fde929ee30 cgen: remove tos3() call: part 1 2020-04-27 12:10:08 +02:00
Delyan Angelov dd1ee39271 profile: produce civilized output 2020-04-27 12:45:19 +03:00
yuyi 99a7b69578
cgen: optimize map_to_string format 2020-04-27 10:52:21 +02:00
Delyan Angelov c84dee5968 profile: move profiling related logic into vlib/v/gen/profile.v 2020-04-27 09:40:13 +03:00
yuyi 95754f211f
cgen: generate str function when using x.str() 2020-04-27 08:09:37 +02:00
Alexander Medvednikov 3256d060f7 array: inline ensure_cap 2020-04-27 07:39:33 +02:00
Alexander Medvednikov ef26f27753 builtin: replace `isnil` calls for perfomance 2020-04-27 07:13:36 +02:00
Delyan Angelov e523540f3a profile: use specialized time__vpc_now 2020-04-26 22:14:54 +03:00
Alexander Medvednikov 50a83736ff checker: struct init: handle C types 2020-04-26 19:59:03 +02:00
Alexander Medvednikov 8223efe9df checker: check struct field types 2020-04-26 18:38:29 +02:00
Alexander Medvednikov 83552a0d58 array: replace make() with the new init syntax 2020-04-26 17:52:27 +02:00
Alexander Medvednikov f23948010a parser: new array init syntax 2020-04-26 17:28:48 +02:00
penguindark d16474442a
strconv: format test fixes 2020-04-26 16:26:33 +02:00
yuyi 2574dce174
all: fix remaining `[]array` warnings 2020-04-26 16:25:54 +02:00
yuyi 9f4d498ff1
all: update`import ()` and `[]array` 2020-04-26 13:49:31 +02:00
Larpon 7b39ab6d06
string: fix replace_each edge case error message 2020-04-26 12:40:39 +02:00
Enzo Baldisserri 0f2f97e3e5
checker: reorganize tests to match fmt tests 2020-04-26 12:34:42 +02:00
Alexander Medvednikov 41eb4453e3 parser: do not allow redefinition of fn args 2020-04-26 12:01:10 +02:00
Alexander Medvednikov 153ac230ec tests: use new array init syntax, fix mutability 2020-04-26 11:56:30 +02:00
Alexander Medvednikov 0641a31fe0 parser: allow mutable pointer args 2020-04-26 11:53:41 +02:00
eyelash b495dac780
fix a few warnings
Good find, @eyelash .
2020-04-26 12:42:44 +03:00
Alexander Medvednikov 270566055f checker: make sure all FnDecl types are valid 2020-04-26 10:39:26 +02:00
Alexander Medvednikov 3c08f655af parser: do not allow mutable simple args 2020-04-26 10:35:10 +02:00
Alexander Medvednikov a56121c329 checker: check mutability in index exprs; parser: set is_mut for args 2020-04-26 10:25:58 +02:00
Delyan Angelov ee31339dfd parser: fix error position for use `x := []Type{}` 2020-04-26 10:42:46 +03:00
Alexander Medvednikov d844ff1381 builder: fix msvc.v 2020-04-26 09:33:40 +02:00
Alexander Medvednikov 20bcb6b8bb tests: fix lef_shift test 2020-04-26 09:29:29 +02:00
penguindark b67698888c
strconv: printf and string format utilities 2020-04-26 10:23:10 +03:00
Alexander Medvednikov 7955181c6c tests: [] fixes 2020-04-26 09:18:29 +02:00
Alexander Medvednikov 3ab8dc0092 parser: array init: `[]string` => `[]string{}` 2020-04-26 09:17:17 +02:00
yuyi 3a59f5727c
checker: fix check main function error (#4601) 2020-04-26 08:04:28 +02:00
Alexander Medvednikov a48080afec parser: deprecate import(); replace remaining import()s 2020-04-26 07:36:02 +02:00
Delyan Angelov 48f9cc1ed7 tests: make alias_type_exists.vv use `type Pigeon Bird` syntax 2020-04-26 08:23:09 +03:00
Alexander Medvednikov f7153ca4fa fmt: array_init(); parser: fn_redefinition_error() 2020-04-26 07:17:01 +02:00
Delyan Angelov 620fc962d7 builtin: use single line imports, to make analysis easier 2020-04-26 08:06:39 +03:00
Alexander Medvednikov 3166833471 parser: fix interface method return type parsing 2020-04-26 07:03:26 +02:00
yuyi 9cfb1e3bf7
cgen: fix struct with fixed array error 2020-04-26 06:54:14 +02:00
Enzo Baldisserri 0b3412cdb5
checker: check that type exists in TypeDecl 2020-04-26 06:40:54 +02:00
yuyi 541b058e90
all: use `a !in b` instead of `!(a in b)` 2020-04-26 06:39:23 +02:00
Alexander Medvednikov 2b4ac0e63a checker: handle array of interfaces 2020-04-26 06:29:03 +02:00
Alexander Medvednikov 8000eb3656 parser: revert silent _ prefix rule 2020-04-26 05:34:34 +02:00
Alexander Medvednikov 60a0ba5eaa table: minor interface clean up 2020-04-26 05:34:34 +02:00
Delyan Angelov a77640165e compiler: faster vmod lookup 2020-04-25 23:43:46 +03:00
Delyan Angelov 08799792a7 tests: fix regex test 2020-04-25 23:42:48 +03:00
Delyan Angelov cd27300d75 cookie: fix a new match error about redundant `else` 2020-04-25 23:02:04 +03:00
Delyan Angelov 19d7553d67 tests: fix vlib/net/http/cookie_test.v 2020-04-25 22:53:18 +03:00
Enzo Baldisserri 3e68e429b6
checker: avert if else is unnecessary 2020-04-25 21:51:44 +02:00
Alexander Medvednikov e0f9c042c1 cgen: interface fixes 2020-04-25 21:24:12 +02:00
Delyan Angelov 86ba1645b0 os: add os.input(prompt) 2020-04-25 22:04:12 +03:00
Enzo Baldisserri c73d91a8fe
fmt: TypeDecl; format more files 2020-04-25 20:58:00 +02:00
Ruofan XU d86539c4f5
checker: clean up infix_expr 2020-04-25 20:28:49 +02:00
ka-weihe d72e401378
string: optimize eq 2020-04-25 20:19:53 +02:00
Alexander Medvednikov b7e5be41f5 checker/cgen: `as` fixes 2020-04-25 18:41:12 +02:00
yuyi c26e83f58a
array: fix fixed array errors 2020-04-25 18:26:38 +02:00
yuyi ec9566988a
cmdline: minor optimizaztion 2020-04-25 17:49:51 +02:00
Enzo Baldisserri fb54a2635c
fmt: lots of fixes 2020-04-25 17:49:16 +02:00
Delyan Angelov 7c080c5d4a checker: prevent `x := voidfn()` 2020-04-25 18:06:34 +03:00
Larpon 6a834c0528
checker: use 'mut' instead of 'var' in error message 2020-04-25 17:51:12 +03:00
Delyan Angelov a20bef65ba fmt: workaround a vfmt limitation preventing formatting of vlib/v/ast/ast.v 2020-04-25 17:34:42 +03:00
Delyan Angelov 9a19531909 compiler: add support for `[if myflag]` void fn/methods 2020-04-25 16:57:11 +03:00
Delyan Angelov 945f964c0c parser: stay silent about unused variables starting with _ 2020-04-25 15:38:15 +03:00
joe-conigliaro aacc3c6f7e
cgen: generate str for variadic (#4587) 2020-04-25 22:23:47 +10:00
Delyan Angelov 4bcdf11743 cgen: support `-profile -` and `-profile x.txt` 2020-04-25 13:41:49 +03:00
Delyan Angelov eecf92cdb0 cgen: implement -profile support. 2020-04-25 13:05:49 +03:00
joe-conigliaro 41cc96aaec
revert parser: simplify array push detection 2020-04-25 18:57:12 +10:00
joe-conigliaro 4675656786
parser: simplify array push detection 2020-04-25 18:42:53 +10:00
Delyan Angelov e0ab318f56 cgen: add support for `v -printfn main file.v` 2020-04-25 11:15:57 +03:00
joe-conigliaro 900d96c638
parser: allow deref assign without parens pt2 update vlib 2020-04-25 18:14:01 +10:00
joe-conigliaro 7177e71444
revert parser: allow deref assign without parens pt2 update vlib 2020-04-25 18:11:14 +10:00
joe-conigliaro f92cf69e60
parser: allow deref assign without parens pt2 update vlib 2020-04-25 18:09:52 +10:00
joe-conigliaro 9fff8733a0
parser: allow deref assign without parens pt1 2020-04-25 18:07:30 +10:00
joe-conigliaro 6696e1a6e2
table: move set_nr_muls to method 2020-04-25 17:54:32 +10:00
Alexander Medvednikov d54b48b300 table: interface cast fix 2020-04-25 09:18:10 +02:00
Alexander Medvednikov 9229a963ed array: use __new_array everywhere 2020-04-25 09:10:54 +02:00
joe-conigliaro fbcdffbbc8
table: move Type functions to methods 2020-04-25 17:08:53 +10:00
Alexander Medvednikov 6248899d25 compiler_test: handle panics 2020-04-25 09:05:14 +02:00
Delyan Angelov 1c46dabc84 tetris: cleanup unused variable warnings 2020-04-25 09:49:02 +03:00
Alexander Medvednikov 48857090fc runtime `as` type check: part 2 2020-04-25 08:42:23 +02:00
Alexander Medvednikov 2d187fb951 runtime `as` type check: part 1 2020-04-25 08:36:53 +02:00
Alexander Medvednikov f1f9e423c3 interfaces: preparatory fixes 2020-04-25 08:00:44 +02:00
Junya Okuno 5600fd8613
net.http: remove redundant httponly handling 2020-04-25 06:15:05 +02:00
Enzo Baldisserri a924defb94
checker: check `in` left type 2020-04-25 06:14:17 +02:00
Enzo Baldisserri fa4739794f
checker: fix "unnecessary `()`" error position 2020-04-24 20:27:18 +02:00
Delyan Angelov cc4090cc74 vfmt: remove unused variable check for vfmt 2020-04-24 20:25:11 +03:00
Delyan Angelov 8be10ffbd6 vfmt: always walk over all comptime branches 2020-04-24 19:05:55 +03:00
Delyan Angelov f6f204387d cgen: fix for msvc 2020-04-24 18:44:25 +03:00
Delyan Angelov c6a829ce82 cgen: support for error('abc').str() and printing errors 2020-04-24 18:35:33 +03:00
Enzo Baldisserri 323ca2b3bb
checker: check duplicates on match with no else
Refactor match duplication test to work even if there is not else, and to include every expression.
Add tests for duplicate expressions in match.
2020-04-24 17:04:39 +03:00
Delyan Angelov aa15dec660 checker: check default struct field expression types 2020-04-24 16:46:55 +03:00
Delyan Angelov d6899788dd time: add back vlib/time/time_linux.c.v 2020-04-24 15:28:16 +03:00
yuyi afa9d42ff0
cgen: fix gen_str_for_array_fixed error 2020-04-24 12:36:45 +02:00
Alexander Medvednikov a3382a5319 x64: debug opcodes nicely 2020-04-24 09:44:54 +02:00
Delyan Angelov 6bd34a069d benchmark: show xxx.yyy ms, using the new highres timer 2020-04-24 10:26:47 +03:00
Delyan Angelov 117ec722a2 time: remove temporary time__linux.c.v workaround 2020-04-24 09:12:34 +03:00
Delyan Angelov 20637ae54c time: restore building v on linux, till v.c is regenerated with `-os cross` 2020-04-24 09:00:07 +03:00
Delyan Angelov 863fab0268 comptime: enable again skipping parsing of other platform branches 2020-04-24 08:51:48 +03:00
Delyan Angelov 7a132e5c79 cgen: cleaner comptime ifdefs . 2020-04-24 08:42:31 +03:00
Major Taylor 25f2b171fc
time: Timer -> StopWatch; time.Duration 2020-04-24 07:33:25 +02:00
Leah Lundqvist f3e3d7e0c5
websocket: update to work with latest V 2020-04-24 07:32:51 +02:00
yuyi 998fc8fc07
cgen: add gen_str_for_array_fixed 2020-04-24 07:32:27 +02:00
Alexander Medvednikov c30c76c285 tests: fix x64 test 2020-04-24 05:26:29 +00:00
Delyan Angelov 6b31ebe456 Revert "comptime: enable again skipping parsing of other platform branches"
This reverts commit 0f4c5fb1c9.
2020-04-23 22:47:16 +03:00
Alexander Medvednikov 8cb88d5c9a x64: remove fn arg test for now 2020-04-23 20:55:23 +02:00
Delyan Angelov ebc41375f1 os.executable: fix panic when os.executable_fallback fails (early in startup) 2020-04-23 21:53:18 +03:00
Alexander Medvednikov 1247718cbd x64: pass fn args 2020-04-23 20:27:34 +02:00
Delyan Angelov 0f4c5fb1c9 comptime: enable again skipping parsing of other platform branches 2020-04-23 20:45:16 +03:00
Delyan Angelov 4f4567513e comptime: fix `$if debug {}` when giving -cg or -d debug 2020-04-23 18:03:07 +03:00
Delyan Angelov adb8fb1dc6 comptime: fix custom -d flags and `$if x? {}`. Fixes ftp_test.v . 2020-04-23 17:52:44 +03:00
Delyan Angelov 1a79e5419f tests: fix aes_test.v by manually dereferencing the mut dst parameter 2020-04-23 16:45:25 +03:00
yuyi 2b4f72ef64
parser: fix empty import error 2020-04-23 14:48:05 +02:00
yuyi f2e505d962
tests: enable compiler_test.v on Windows 2020-04-23 14:15:15 +02:00
Delyan Angelov 8b5573a6f3 errors: use more distinct and detailed name redefinition messages 2020-04-23 13:15:01 +03:00
Enzo Baldisserri 7e400124e8
parser: allow blank ident in nested loops 2020-04-23 12:00:51 +02:00
Delyan Angelov fb97c2e01e examples: fix path_tracing.v compilation, using (*ptr) = expression 2020-04-23 12:28:16 +03:00
Alexander Medvednikov 7f5e3b36bc x64: for loop 2020-04-23 05:29:07 +02:00
yuyi 5664cbd3d0
enum: check enum name and modify related files 2020-04-23 05:16:10 +02:00
Alexander Medvednikov 45e21085c7 tests: re-enable some old array tests 2020-04-23 04:23:19 +02:00
Alexander Medvednikov 9fe0ca5323 x64: ++ 2020-04-23 01:55:38 +02:00
Kris Cherven d871595437
all: replace `var` with `mut` 2020-04-23 01:16:58 +02:00
yuyi 4e1abc8503
all: remove commas between enum vals 2020-04-23 01:16:16 +02:00
Alexander Medvednikov d7ee4755c2 parser/cgen: interfaces (part 1) 2020-04-22 20:23:53 +02:00
Kris Cherven faed178cb1
fmt: fix optional formatting 2020-04-22 20:12:58 +02:00
Enzo Baldisserri fecf4ddf65
cgen: fix optional pointers 2020-04-22 20:12:30 +02:00
joe-conigliaro de182d5809
parser: use single scope for fn args/body 2020-04-22 21:15:38 +10:00
joe-conigliaro 80a4fbf0be
parser: anon fn arg scope fix 2020-04-22 21:11:58 +10:00
joe-conigliaro 830b1807c1
test: add comment for assert bug in fn_test 2020-04-22 18:47:46 +10:00
joe-conigliaro 3ca4f5fada
checker/parser: anon fn call & return type fix 2020-04-22 18:41:57 +10:00
Delyan Angelov 4b8ed3f831 cgen: fixes for ustring, makes utf8_util_test.v pass 2020-04-22 10:35:14 +03:00
Alexander Medvednikov 50436a0e4a x64: local variables; if 2020-04-22 07:11:17 +02:00
joe-conigliaro c35e0e49ce cgen: use gen_varg var in condition 2020-04-22 13:31:24 +10:00
joe-conigliaro c1e8612624 checker/gen: allow vargs to be forwarded. fix/enable variadic test 2020-04-22 13:28:47 +10:00
Kris Cherven b288ecb795
cgen: add map string generation 2020-04-22 04:00:38 +02:00
Kris Cherven 5c3742fbd2
parser: check var names in for loops 2020-04-22 03:48:51 +02:00
Kris Cherven 155891a4e0
parser: add unused variable warning 2020-04-22 01:52:56 +02:00
Uwe Krüger 08fac28c52
cgen: fix string interpolation for non-standard integer types 2020-04-22 01:48:53 +02:00
penguindark 34fd148f2f
ftoa: some fixes for rounding, new functions 2020-04-22 01:42:44 +02:00
joe-conigliaro b9c0d2d362
cgen: fix passing high order function with body 2020-04-21 22:45:20 +10:00
yuyi bc4a576c54
flag: fix flag_test.v 2020-04-21 14:44:17 +03:00
yuyi a8dc0ccbcd
checker: add more op checks 2020-04-21 13:26:02 +02:00
Delyan Angelov 7c1d6b60c2 cgen: add g.auto_str_funcs, print &Struct pointers with enum fields 2020-04-21 13:32:17 +03:00
Alexander Medvednikov baf3bf6778 uiold: make compile (fix vid); x64: mov rbp, rsp 2020-04-21 10:48:52 +02:00
Alexander Medvednikov 4471314291 clipboard: make the Linux version compile 2020-04-21 07:24:23 +00:00
Delyan Angelov 9d107007a1 x64: enhance diagnostic for unhandled nodes 2020-04-21 09:34:00 +03:00
Alexander Medvednikov ab38605802 tests: disable clipboard on linux; x64: leave() 2020-04-21 06:16:47 +02:00
Alexander Medvednikov 77679d9650 tests: mark more tests as fixed 2020-04-21 05:52:44 +02:00
Alexander Medvednikov 9278a0cfba tests: fix mut_test; x64: sub32() 2020-04-21 05:49:03 +02:00
joe-conigliaro abf5942433
parser/cgen: anon fn var & calling (#4534) 2020-04-21 13:23:36 +10:00
Alexander Medvednikov ee2e83fef0 go back to `mut`. decisions, decisions... 2020-04-21 05:11:50 +02:00
Alexander Medvednikov 1bf094fbca parser: mut in receivers 2020-04-21 05:07:49 +02:00
Alexander Medvednikov cc0e0ed281 fmt: single line match fix; x64: minor fixes 2020-04-21 04:51:53 +02:00
sambeckingham 4ea4d1c8c4
csv: handle missing line ending 2020-04-21 00:02:55 +02:00
Alexander Medvednikov 67a76cee1e tests: fix x64 output comparison 2020-04-20 22:57:41 +02:00
Alexander Medvednikov 10677c2b0c x64: fn call test 2020-04-20 22:36:12 +02:00
Alexander Medvednikov 871c29ea5d x64: fn calls; return; 2020-04-20 22:21:40 +02:00
sambeckingham b1459ade69
csv: fix missing last column 2020-04-20 21:49:05 +02:00
Ruofan XU f725b93019
tests: delete an unused file 2020-04-20 21:48:14 +02:00
Alexey 9c0d97335e
builtin: improve backtrace on Windows 2020-04-20 20:59:08 +02:00
Ruofan XU cdb1b0344c
checker: improve type check for arithmetic assignment op and fix error pos 2020-04-20 20:56:05 +02:00
Major Taylor dc8199709f
cli: add smart-wrap for help description 2020-04-20 14:50:15 +02:00
yuyi 717e26b45e
checker: more infix checks 2020-04-20 14:49:26 +02:00
yuyi 07f69fab19
checker: remove dots from error messages 2020-04-20 11:57:07 +02:00
Alexander Medvednikov 2805f8d0cc tests: fix x64_test.v 2020-04-16 14:19:14 +03:00
Alexander Medvednikov 78cbb7746f tests: fix hello.vv output 2020-04-20 09:07:19 +02:00
Alexander Medvednikov 2642f6a0da cgen: remove _PUSH 2020-04-20 09:04:17 +02:00
Alexander Medvednikov e006da7259 parser: fix a bad comment 2020-04-20 08:44:14 +02:00
Alexander Medvednikov 4b329cb89d tests: fix a typo 2020-04-20 08:32:10 +02:00
Alexander Medvednikov ee2f1652b5 fmt: add EOL 2020-04-20 08:30:42 +02:00
Alexander Medvednikov 639dc02cc8 x64: test hello world 2020-04-20 08:27:37 +02:00
Alexander Medvednikov c1fc768c1b fmt: run on cmd/v; cgen: fix anonymous functions 2020-04-20 07:04:31 +02:00
Alexander Medvednikov efff96d622 x64: make hello world run 2020-04-20 07:02:09 +02:00
Alexander Medvednikov 19a5436118 cgen: use faster array_push instead of _PUSH; re-fmt cgen.v 2020-04-20 03:54:41 +02:00
yuyi be3bd520f6
checker: fix for in range type mismatch 2020-04-20 00:21:16 +02:00
Ruofan XU 5edd9cdc3a
checker: add type check for bit op 2020-04-19 22:29:45 +02:00
yuyi dbb81b89fd
checker: fix type mismatch of `in` array 2020-04-19 22:26:58 +02:00
Daniel Däschle b62bb22fa6
checker: allow C values in enum 2020-04-19 22:26:04 +02:00
Ruofan XU 6c59b306c7
checker: add type check for arithmetic assignment ops 2020-04-19 22:24:12 +02:00
yuyi 4de16e9f0f
tests: enable checker_error_test on windows 2020-04-19 20:48:13 +02:00
Keito Nagai 57859db07c
readme: fix docs link 2020-04-19 20:47:36 +02:00
Kris Cherven 95ae915c0c
checker/parser: fix outdated error messages 2020-04-19 20:46:48 +02:00
yuyi 27e04748ed
cgen:gen_str_for_array 2020-04-19 10:42:34 +02:00
Alexey 3ee858cd79
cgen: fix struct initialization bugs 2020-04-19 04:44:39 +02:00
Major Taylor be0a8794c2
time: add Timer; refactor benchmark to use Timer 2020-04-19 03:40:32 +02:00
Enzo Baldisserri 57c142b993
checker: disallow pub in main 2020-04-19 00:07:57 +02:00
Alexander Medvednikov de9f302412 fmt: array newlines test 2020-04-18 23:58:59 +02:00
Alexey 85c5103ba3
tests: test cflags parsing 2020-04-18 23:45:17 +02:00
Alexey 3d6142064d
tests: remove `msvc-test` 2020-04-18 23:44:42 +02:00
Alexander Medvednikov a18201faa7 fmt: save newlines between array elements 2020-04-18 23:09:23 +02:00
Alexey 2ab2a58bc5
string: add more interpolation tests 2020-04-18 18:26:07 +02:00
Ruofan XU b0e498bf0b
scanner: refactor ident_dec_number 2020-04-18 17:49:27 +02:00
Tim Basel 86df486988
compiler: rename is_so to is_shared 2020-04-18 17:46:23 +02:00
Kris Cherven 3cc7009440
cflag: remove circular dependency 2020-04-18 16:29:43 +02:00
Kris Cherven eb923b4995
testing: fix count of succeeded tests 2020-04-18 05:49:03 +03:00
yuyi 5374899f29
parser: fix interpolation error 2020-04-18 00:22:03 +02:00
Enzo Baldisserri 0f9322bf36
checker: print error and pos for lacking main or pub main 2020-04-18 00:20:38 +02:00
Enzo Baldisserri f2be3d7ffb
checker: check that right `is` type exists 2020-04-18 00:19:33 +02:00
Tim Basel 73073cd954
parser: anonymous functions (part 1) 2020-04-17 21:59:19 +02:00
yuyi 3e324befd0
builder: clean up and simplify some methods 2020-04-17 21:17:19 +02:00
Alexander Medvednikov 515da900e4 fmt: remove \t before same line comments 2020-04-17 20:53:39 +02:00
Alexander Medvednikov 2c778c8849 fmt: single line matches 2020-04-17 20:51:19 +02:00
yuyi 67cd90de6e
parser: fix number parse error 2020-04-17 20:31:32 +02:00
Kris Cherven 84ac634c31
checker: disallow pub fn main() 2020-04-17 20:30:43 +02:00
Alexander Medvednikov c4b7d7cab3 match: shadow variable instead of `it` 2020-04-17 19:24:10 +02:00
Alexander Medvednikov 59baef89a0 parser: assign.v, containers.v, for.v, if.v 2020-04-17 18:16:55 +02:00
Alexander Medvednikov b53fb365a6 parser: move pratt logic to pratt.v 2020-04-17 18:11:04 +02:00
Alexander Medvednikov 16931fd23f parser: move all struct logic to struct.v 2020-04-17 18:01:02 +02:00
Alexander Medvednikov ed8855c4cd tests: fix struct_unknown_field.v 2020-04-17 17:20:35 +02:00
Alexander Medvednikov 4a556f72bb checker: allow calling private functions in tests 2020-04-17 17:18:40 +02:00
Alexander Medvednikov 06c1b9e95e table/checker: verify private functions/methods 2020-04-17 17:16:14 +02:00
Daniel Däschle af30bf939e
checker: fix return underlining 2020-04-17 16:16:56 +02:00
Daniel Däschle c1d9e22ca6
cgen: gen str() from eprintln and eprint as well 2020-04-17 16:15:28 +02:00
yuyi 420ecaf31d
cgen: gen_str_for_array() 2020-04-17 16:10:41 +02:00
Daniel Däschle 402e55d115
ast: expr.Position; struct field refactoring 2020-04-17 02:38:39 +02:00
yuyi 8bb11d9035
cgen: fix string_interpolation_struct_test.v error 2020-04-17 01:45:42 +02:00
Major Taylor 7bfc3ef767
cli: fix issue with long cmd and flag names 2020-04-16 23:01:04 +02:00
Enzo Baldisserri 051cc732bb
cgen: generate typeof for functions 2020-04-16 21:04:27 +02:00
yuyi dee64347e0
cgen: fix const_embed_test.v error 2020-04-16 19:43:39 +02:00
Alexey 4c8510dfaf
cgen: use `wWinMain` for Windows GUI applications 2020-04-16 19:42:04 +02:00
Delyan Angelov aed8370d87 tetris: enable compilation with -prod; cleanup of font loading errors 2020-04-16 19:44:15 +03:00
Kris Cherven 182108faca
fmt fmt.v, vfmt.v 2020-04-16 15:54:17 +02:00
Alexey 54226e74cf
sokol: add missing `C` prefixes 2020-04-16 15:53:34 +02:00
Alexander Medvednikov 714ff50322 fmt: use the new receiver syntax 2020-04-16 15:42:40 +02:00
Alexander Medvednikov 4b5acfd960 parser: (var x X) receiver syntax 2020-04-16 15:40:21 +02:00
Alexander Medvednikov 8760313ce5 fmt builder.v 2020-04-16 15:35:19 +02:00
Alexander Medvednikov af224b4933 parser/cgen: is keyword 2020-04-16 15:32:14 +02:00
Delyan Angelov cc9828b481 checker: fix building of shared .so libs 2020-04-16 16:30:19 +03:00
Enzo Baldisserri e05f103c41
cli: make compile 2020-04-16 14:50:04 +02:00
Delyan Angelov 1318c27699 tetris: it now works with v2 (on linux) :-) 2020-04-16 13:30:40 +03:00
Daniel Däschle 19723c927b
checker: move more checks from parser 2020-04-16 12:17:15 +02:00
Delyan Angelov 554d87f5b0 tetris: part 1 of fixing compilation with v2 2020-04-16 12:37:59 +03:00
Delyan Angelov 8a1248b2e7 builder: restore module import cycle detection/topological reorder 2020-04-16 12:29:36 +03:00
Daniel Däschle 04db2d02b8
checker: move struct name check from parser to checker 2020-04-16 11:01:18 +02:00
yuyi 54a02996f2
cgen: fix string interpolation float type 2020-04-16 07:30:25 +02:00
Kris Cherven 332d52f459
fmt: stop mangling reference names 2020-04-16 07:28:41 +02:00
joe-conigliaro c3ddaf16ec cgen: fix sum type casting for array push 2020-04-16 15:18:33 +10:00
Daniel Däschle a680db44ed
parser: change `for` error message 2020-04-16 06:01:14 +02:00
yuyi b15780ae51
parser: better const error 2020-04-16 06:00:05 +02:00
Delyan Angelov 4b3c44cfd7 Revert "tetris: part 1 of fixing building it with v2"
This reverts commit d42725aafe.
2020-04-16 01:16:54 +03:00
Delyan Angelov d42725aafe tetris: part 1 of fixing building it with v2 2020-04-16 00:35:16 +03:00
Delyan Angelov 92129d760d checker: fix false positives for sumtype kind of matches 2020-04-16 00:32:56 +03:00
Abdullah Atta 6a186e8f11
jsgen: implement js backend 2020-04-15 23:16:49 +02:00
Kris Cherven a3ab5df2ed
cgen: prepend __ to new_array 2020-04-15 20:12:06 +02:00
Daniel Däschle 27b6f30305
checker: move capital var check from parser to checker 2020-04-15 19:09:51 +02:00
Daniel Däschle 93b942de46
parser: fix a match error 2020-04-15 16:23:03 +02:00
joe-conigliaro fde83aff0b
checker/cgen: fix calling struct field with fn type 2020-04-15 04:28:18 +02:00
Alexander Medvednikov da28bc7026 Revert "fmt: `(var f Foo)`"
This reverts commit 4b110756e0.
2020-04-15 04:15:42 +02:00
Alexander Medvednikov 4b110756e0 fmt: `(var f Foo)` 2020-04-15 03:56:16 +02:00
Kris Cherven 4dd8796dba
cgen: fix assignment to nested maps 2020-04-15 02:42:00 +02:00
Alexander Medvednikov f34352faf9 fmt: use var instead of mut 2020-04-15 01:55:51 +02:00
Alexander Medvednikov efaec8be8e token/parser: var keyword 2020-04-15 01:45:27 +02:00
Daniel Däschle 4068cbc6eb
parser: fix var name check pos 2020-04-14 21:27:17 +02:00
Alexey e1739549b2
crypto: fix `rand` module 2020-04-14 21:03:02 +02:00
Alexander Medvednikov 14e1b963f2 parser: do not allow variable names with capital letters 2020-04-14 20:40:00 +02:00
Alexey 91de4e1ece
array: test assignment operators 2020-04-14 20:32:06 +02:00
Enzo Baldisserri 86402204a7
checker: fail if else isn't the last branch of match 2020-04-14 20:31:51 +02:00
Alexey 0c63f5c80d
builtin: test left/right shift precedence 2020-04-14 19:38:11 +02:00
Daniel Däschle 50871d1a92
checker: for in index type error position 2020-04-14 19:37:56 +02:00
Alexander Medvednikov deab448d93 cgen: fix array[i] &=, |= etc 2020-04-14 19:36:52 +02:00
Alexander Medvednikov 233ae3f772 fmt: use `import module` syntax 2020-04-14 19:32:23 +02:00
Alexander Medvednikov 2251634743 parser: hide import deprecation warning for now 2020-04-14 18:36:29 +02:00
Alexander Medvednikov f91d527154 deprecate `import module` 2020-04-14 18:27:30 +02:00
Alexander Medvednikov 211275ab49 fmt: always use import() syntax 2020-04-14 18:24:19 +02:00
Alexander Medvednikov ec10831318 parser: `[]int{cap:cap, len:len}` syntax; minor fixes 2020-04-14 18:10:16 +02:00
joe-conigliaro b33a9fc9e7
parser: fix left shift precedence 2020-04-15 01:41:14 +10:00
Delyan Angelov 2b3204603a parser: add an $if tinyc{} wrapper for the tcc_stack_bug variable 2020-04-14 18:02:55 +03:00
Delyan Angelov e947d5e8c8 checker: fully exhaustive matches for sumtypes and enums
Also change the vlib/v/checker/tests/inout/match_expr_else.out to reflex the
new error details.
2020-04-14 16:50:43 +03:00
Daniel Däschle 75603beeea
checker: match exhaustive as stmt and with enum 2020-04-14 15:12:26 +02:00
Delyan Angelov c04c973f84 cgen: use a temp variable for the array part inside 'for x in array{}' 2020-04-14 13:22:58 +03:00
Delyan Angelov 2df4998acc parser: fix v selfcompilation with tcc (tcc bug workaround) 2020-04-14 11:06:19 +03:00
yuyi 956651384c
cgen: fix math/complex_test.v 2020-04-14 07:44:19 +02:00
yuyi 682c619456
array: fix array_byte.str error 2020-04-14 05:55:53 +02:00
Alexander Medvednikov 5f1b88c2c4 checker: do not use !in for now 2020-04-14 04:14:02 +02:00
Alexander Medvednikov bbc35b1179 checker: check bool and string ops 2020-04-14 04:12:28 +02:00
yuyi 885612afea
ftoa: fix strconv/ftoa/f32_f64_to_string_test.v 2020-04-14 03:53:34 +02:00
Alexander Medvednikov df37597f00 tests: disable cookie test for now 2020-04-14 03:43:59 +02:00
Chris Watson c6c2fccb23
net.http: add cookie support 2020-04-14 03:34:05 +02:00
Daniel Däschle 12e48c6fe2
checker: check match for exhaustion 2020-04-14 01:03:31 +02:00
Alexander Medvednikov 1185f04868 json: encode 2020-04-14 00:37:47 +02:00
Alexander Medvednikov a9a8f8c804 rand: remove duplicate C fn 2020-04-13 20:11:44 +02:00
krischerven 8c0b25a2ab
cgen: fix printing alias types 2020-04-13 20:07:25 +02:00
Alexander Medvednikov 7aacf77262 checker: remove an extra fn check 2020-04-13 20:06:20 +02:00
Alexander Medvednikov 24958df565 parser: do not allow duplicate fns; cgen: move fn code to fn.v 2020-04-13 19:59:57 +02:00
yuyi fb4cfa72cd
cgen: fix str() for arrays 2020-04-13 19:18:22 +02:00
Daniel Däschle a6100be8df
parser: fix position of array init
* parser: fix position of array init
* fix checker_error_test.v tests
2020-04-13 19:08:02 +03:00
krischerven ac67b1ea1b
tests: add new type alias syntax tests 2020-04-13 16:44:21 +02:00
Alexander Medvednikov c36984cc94 fmt: handle indents 2020-04-13 16:36:32 +02:00
Alexander Medvednikov 2bd22aa4a4 parser: type Foo = Bar 2020-04-13 15:06:02 +02:00
Alexander Medvednikov 77fcd572dc fmt: remove unused imports 2020-04-13 15:05:51 +02:00
Daniel Däschle 8cbdb75dd6
cgen: fix match expr multiline error
* cgen: fix match expr multiline error
* Support for multiple statements in the else part of the match.
* Add a test for the match expression with multiple statements.
2020-04-13 13:05:38 +03:00
Delyan Angelov 99db5f53f7 repl_test.v: fix compilation (non working ones are for now renamed to .skip) 2020-04-13 11:06:52 +03:00
krischerven 74ba8f5cc9
tests: add testing for !in 2020-04-13 02:29:07 +02:00
krischerven 78f9f25a00
cgen: fix !in not working with maps 2020-04-13 02:22:55 +02:00
krischerven a0d6651e0e
tests: fix typeof_test 2020-04-13 02:22:14 +02:00
Daniel Däschle 1a4113d245
checker: store errors in []Error 2020-04-13 01:56:01 +02:00
Enzo Baldisserri da5a1e458b
cgen: fix match expr in assert 2020-04-13 01:53:26 +02:00
Alexander Medvednikov 6ada43df61 fmt: test automatic import insertion 2020-04-12 17:57:05 +02:00
Alexander Medvednikov 810a0725ec tests: fix fmt tests 2020-04-12 17:49:31 +02:00
Alexander Medvednikov 0db0c642c3 vfmt: add missing imports automatically 2020-04-12 17:45:04 +02:00
Daniel Däschle d55f4ab097
cgen: fix error priting struct which has .str already 2020-04-12 16:25:02 +03:00
Daniel Däschle 5818956cdc
cgen: % escape in string interpolated literals
* cgen: % escape in c call to _STR
* tests: add test for string % escape
* Add a test for the % escaping when interpolating inside strings
2020-04-12 16:24:23 +03:00
Daniel Däschle 4449468ca4
parser: correct error position on field and method errors 2020-04-12 15:19:07 +03:00
ka-weihe e247690fe1
map: fast_string_eq and improved comments
* improved comments and fast_string_eq
* make it pass CI
* enumerate traits
* Add parameter back
* remove space
* remove parameter
* Allow bootstrap compilation in one step with old vc (add new_map/2 shim).
2020-04-12 15:10:06 +03:00
Daniel Däschle 79dad0bca9
parser: fix enum default value in struct
* parser: fix enum default value in struct

* Add a test for the enum default values in structs.

* Fix compilation of vfmt.

* Run vfmt over enum_default_value_in_struct_test.v

* Cleanup spurious , in vfmt output for enum declarations

Co-authored-by: Delyan Angelov <delian66@gmail.com>
2020-04-12 13:35:54 +03:00
yuyi 0ced7116b6
string: add is_upper/is_lower and fix parser.match_expr error
* string: add is_upper/is_lower and fix parser.match_expr error

* to_capital => capitalize, to_title => title

* is_titled => is_title, is_capitalized => is_capital
2020-04-12 13:09:05 +03:00
Ned Palacios db2c656da8
scanner: `!in` token 2020-04-12 07:30:26 +02:00
yuyi c3e78b8c8f
vdoc: use the new suffix 2020-04-12 02:50:19 +02:00
krischerven 0a03797694
tests: run vfmt 2020-04-12 01:41:26 +02:00
krischerven 1abdf2d68f
cgen: fix missing defer in fn main() 2020-04-12 01:38:14 +02:00
Alexey 0f19f9dd51
tests: test call of variadic function with no arguments 2020-04-12 01:37:34 +02:00
Alexander Medvednikov 4b029567e5 tests: test string literal indexing and mutable array filter 2020-04-11 23:32:00 +02:00
Alexander Medvednikov 39245f088a array: test !in and filter 2020-04-11 23:01:50 +02:00
Alexander Medvednikov 449d839684 checker: make sure functions return 2020-04-11 21:50:14 +02:00
Alexander Medvednikov 581d836de6 !in operator 2020-04-11 21:31:54 +02:00
Alexander Medvednikov 1b6ae00966 os: rename os_nix.v to os_nix.c.v 2020-04-11 20:43:17 +02:00
lutherwenxu dc4db87be3
vlib: use new filename format 2020-04-11 19:51:32 +02:00
Alexander Medvednikov f91e3a5d3c cgen: arr[i] +=, /=, -= 2020-04-11 19:07:03 +02:00
Alexey d078e6bb08
net: check if socket descriptor is valid 2020-04-11 19:06:01 +02:00
Alexey 1fde205f97
time: return optional value directly 2020-04-11 18:56:39 +02:00
Alexey 0050c1915b
cgen: call module `init` function if available 2020-04-11 18:38:51 +02:00
Alexander Medvednikov d0ac69d12e parser: fix sizeof(&Foo) 2020-04-11 18:38:25 +02:00
yuyi ea960b2ce2
parser: fix inter literal format error 2020-04-11 17:25:39 +02:00
Alexey df825506fd
cgen: fix check for array equality 2020-04-11 17:25:25 +02:00
Alexander Medvednikov 63d747042e cgen: fix sizeof(&int) 2020-04-11 16:24:25 +02:00
Delyan Angelov 61c1535199 assert: generate tos3/1 calls instead of _STR (bugfix) 2020-04-11 16:18:09 +03:00
Delyan Angelov 30714d16d9 c linker: pass -Xlinker -z -Xlinker muldefs only on Linux with -cache 2020-04-11 15:24:23 +03:00
yuyi c1aba95d7d
parser: refactor script & repl handling 2020-04-11 15:06:26 +03:00
Daniel Däschle be16c5b21d
parser: better error on short init struct 2020-04-11 14:56:55 +03:00
Swastik Baranwal 6ecb6cfe8e
tests: add an operator overloading test 2020-04-11 14:39:51 +03:00
Delyan Angelov 15f4594e44 msvc: fix self compile, by avoiding explicit casting to the same type 2020-04-11 13:35:41 +03:00
Delyan Angelov b10fcc79ba comptime: fix #ifdef/#endif generation 2020-04-11 12:41:48 +03:00
Delyan Angelov 93d2ab200f cheaders: fix selfcompilation with tcc 2020-04-11 12:18:26 +03:00
Delyan Angelov 6433c23a34 string: add s.strip_margin_custom/1, instead of passing varargs to s.strip_margin()
The reason for adding s.strip_margin_custom/1 is that
passing varargs interfere with the current implementation of the
builtin module caching.
2020-04-11 11:06:12 +03:00
Delyan Angelov 95709811e0 v: support VFLAGS, fix 'v run source.v arg after source' 2020-04-11 10:28:43 +03:00
Delyan Angelov ba799b3f85 builder: support v.mod/@VROOT, fix -cflags and -cache 2020-04-11 09:57:31 +03:00
Alexander Medvednikov 053de0b8e3 checker: check variable mutability 2020-04-11 04:09:41 +02:00
Alexander Medvednikov 9422cd1009 parser: handle mut & receivers; fix checker_error_test 2020-04-11 02:24:00 +02:00
Alexander Medvednikov 8fbae86bb3 vfmt: skip skipped modules; add module test 2020-04-10 22:32:52 +02:00
Alexander Medvednikov b95a47b5a7 checker: check fn main(); vfmt: fix for{}, module and module comments 2020-04-10 22:27:54 +02:00
Delyan Angelov fdac3a1f2e ftp.v: fix compilation 2020-04-10 23:23:42 +03:00
Delyan Angelov 4f74410125 test-fixed: always chdir to main v folder before running the tests 2020-04-10 22:40:56 +03:00
Delyan Angelov 217e6f3b8e checker/parser: allow for fixed array with sizes defined with a const 2020-04-10 22:01:22 +03:00
lutherwenxu 514d989a27
builder: parse `.c.v` and `.js.v` correctly 2020-04-10 18:25:23 +02:00
Alexander Medvednikov f76931c01e cache builtin modules 2020-04-10 18:11:43 +02:00
Daniel Däschle c815f84722
parser: fix void assign check 2020-04-10 15:53:06 +03:00
Daniel Däschle 42b3b19af4
checker: fix checker enum infix error 2020-04-10 15:44:01 +03:00
Daniel Däschle adb379dd63
parser: fix string position 2020-04-10 15:40:52 +03:00
Delyan Angelov 83dfc6b9b9 checker: add more checks for multivar assignments 2020-04-10 15:38:43 +03:00
Delyan Angelov 3573030b9b checker: fix error position for assignment expression 2020-04-10 15:14:05 +03:00
Delyan Angelov 3ea563291c big.v: use again @VROOT/ for #flags 2020-04-10 13:09:04 +03:00
Delyan Angelov 60d6543733 comptime: support @VROOT again 2020-04-10 13:02:00 +03:00
yuyi 7f87ac996d
test: fix vlib/math/big/big_test.v 2020-04-10 12:26:15 +03:00
Daniel Däschle 0f11d883fa
checker: fix error messages and add checker tests
* checker: fix error messages
* tests: fix command and ignore defect output
2020-04-10 11:59:07 +03:00
Delyan Angelov 74ac9ef195 builder: write intermediate .c files in the vtmp folder again 2020-04-10 11:55:04 +03:00
Delyan Angelov 7d564e9791 cgen: skip inc generation for ForCStmt, when empty in the v source 2020-04-10 10:00:14 +03:00