Commit Graph

1208 Commits (546c388b02fc197901901863682bc6818825b7e7)

Author SHA1 Message Date
Alexander Medvednikov 765759817d ci: run fast.v with clang on freebsd 2021-08-16 06:30:35 +03:00
Delyan Angelov 6ee77724e8
cmd/tools/gen1m.v: fix unused variable warnings in 1m.v 2021-08-15 16:04:45 +03:00
Delyan Angelov 0be20f1556
v.pref: keep the -error-limit option for now too 2021-08-15 13:46:50 +03:00
Leo Developer b3094b0667
checker: abort prematurely on too many errors (#11185) 2021-08-15 13:41:51 +03:00
Delyan Angelov e0451c5b33
cmd/tools/fast/fast.v: use clang instead of tcc on the cirrus ci build ¯\_(ツ)_/¯ ... 2021-08-15 12:00:51 +03:00
Delyan Angelov 1a5c4b18ec
cmd/tools/fast/fast.v: do not use -no-std and -no-rsp anymore (tcc is the most recent on the CI runner now) 2021-08-15 11:52:11 +03:00
Delyan Angelov 0dde8ab0e5
cmd/tools/fast/fast.v: use -no-std for tcc too 2021-08-15 11:21:25 +03:00
Delyan Angelov eef7eea7bc
v.pref, v.builder: support `-no-std` (skips passing `-std=c99` to the C backend) 2021-08-15 11:05:06 +03:00
Delyan Angelov b1186cca3f
cmd/tools/fast/fast.v: use -no-rsp for tcc (which may be much older on freebsd) 2021-08-15 10:47:44 +03:00
Delyan Angelov f7cbcc241a
v.pref, v.builder: support `-no-rsp` (pass C options directly to the C compiler backend, without writing response files) 2021-08-15 10:47:44 +03:00
Alexander Medvednikov e6d79f2fa7 ci: run fast.v on freebsd 2021-08-15 09:27:17 +03:00
Alexander Medvednikov f1244bd7f1 ci: do not upload fast.v results 2021-08-15 09:22:01 +03:00
Alexander Medvednikov 1bfb525ce1 tools/fast: improve uploading to gh pages and print errors 2021-08-15 09:03:19 +03:00
Delyan Angelov 3ffa6c1664
v.pref: fix `./v -usecache -cg run examples/hello_world.v` 2021-08-15 08:35:41 +03:00
Leo Developer 8a8a0932f7
all: add limit to accumulated errors / warnings (#11183) 2021-08-14 19:49:21 +03:00
Delyan Angelov 900c37aa65
v.gen.c: support `T.typ` - an int for the type index of the generic type `T` (#11175) 2021-08-14 08:48:25 +03:00
mahdi ramezaan zaade 5bd602d0a7
vpm: install directly from git/hg (#11166) 2021-08-13 12:28:30 +03:00
Delyan Angelov 576664e31f
gg,sokol,stbi,gx,fontstash: cleanup for -Wimpure-v 2021-08-12 22:42:42 +03:00
Daniel Däschle e089d66225
vdoc: imrpove font spacing in the generated html docs (#11159) 2021-08-12 10:15:18 +03:00
Daniel Däschle 12fb4655f5
vdoc: use nicer font (#11151) 2021-08-12 09:21:31 +03:00
Enzo da53f818df
all: initial support for closures (x64 / linux-only) (#11114) 2021-08-10 21:27:15 +03:00
yuyi aceaaa681d
ast: fix formatting fn variadic of reference param (#11130) 2021-08-10 21:14:37 +03:00
yuyi 11794039e2
v.gen.c: fix fn variadic of reference param (#11115) 2021-08-10 10:36:11 +03:00
Daniel Däschle 52a3360a47
vpm: fix show command (#11093) 2021-08-09 01:49:17 +03:00
zakuro 490dec222f
fmt: keep char literal, `'` (#11060) 2021-08-06 06:21:28 +03:00
yuyi b95224aa20
vself: fix command line args (#11072) 2021-08-06 06:21:00 +03:00
Daniel Däschle 800c0e5092
vlib: remove deprecated map{} usages as well as deprecated functions (#11035) 2021-08-04 12:44:41 +03:00
Delyan Angelov 0675079b98
ci: skip const_comptime_eval_before_vinit_test.v with MSVC 2021-07-30 21:46:59 +03:00
Delyan Angelov afb7168a64
hash: move dummy map initialisation into an `fn init(){}`, so users do not have to do it explicitly to be compatible with -skip-unused 2021-07-30 13:25:37 +03:00
Hunam 0f09228adb
vdoc: fix wrong escaping in HTML docs (#10638) 2021-07-30 12:00:03 +03:00
Delyan Angelov ae05ab880e
ci: fix ubuntu-tcc job 2021-07-29 14:25:33 +03:00
Uwe Krüger abd17ddb6a
cgen: initialize globals with default initializer when none is given. (#10979) 2021-07-27 20:14:30 +03:00
Delyan Angelov 90b9b9d755
v doc: small clean of `Return to contents` markdown link 2021-07-27 13:00:07 +03:00
Delyan Angelov 6134c4870b
v.util: extract v.util.version, use it to speed up building `v repl`, `v up` and `v doctor` 2021-07-27 12:59:56 +03:00
Delyan Angelov 517260a1eb
v help: support `v help topics` to list all help .txt file names 2021-07-26 09:41:11 +03:00
Delyan Angelov 88a49d35e3
v help: fix typo in `v help build-c` 2021-07-26 09:41:10 +03:00
Alexander Medvednikov e246ed9818 cgen: fix VUNREACHABLE on freebsd/tcc 2021-07-25 16:29:05 +03:00
Delyan Angelov 744a753b47
v help other: describe bug and ast subcommands 2021-07-25 10:15:38 +03:00
Alexander Medvednikov 852ca5f7cf tools/fast: location fix 2021-07-25 03:16:50 +03:00
Alexander Medvednikov f691a80145 tools/fast: location fix 2021-07-24 23:41:55 +03:00
Louis Schmieder 1943da54a5
orm: integrate psql to orm (#10933) 2021-07-24 20:49:40 +03:00
Uwe Krüger 1e5627e777
parser: don't require unary `>` prefix for `select` timeout (#10928) 2021-07-23 23:24:27 +03:00
Louis Schmieder 26db3b0995
orm: redesign orm (re-write it in V) (#10353) 2021-07-23 12:33:55 +03:00
Daniel Däschle ed234188b7
scanner: fix single backslash in raw string (#10890) 2021-07-22 17:02:11 +03:00
Delyan Angelov d41a4ec662
v test-self: check unsafe_test.v, match_test.v, match_in_fn_call_test.v with -cstrict 2021-07-20 19:34:16 +03:00
Delyan Angelov 5098334e65
os: add execute_or_exit(cmd), use it consistently instead of execute_or_panic(cmd) 2021-07-20 15:22:04 +03:00
Daniel Däschle ad3835b598
parser: deprecate short struct init (#10842) 2021-07-20 11:17:08 +03:00
Uwe Krüger dc045806f9
docs: describe usage of atomic C functions (#10861) 2021-07-20 08:31:20 +03:00
Delyan Angelov 016240d00b
v: support `-o - x_test.v` too, describe `-o -` in the `v help` screen 2021-07-18 16:41:32 +03:00
Delyan Angelov a007dd5d22
builder: support `-o -` to print the generated C/JS source to stdout 2021-07-18 16:26:50 +03:00
yuyi a5c784830b
all: simplify global_scope processing (#10848) 2021-07-18 15:29:34 +03:00
Delyan Angelov 6edfb2c7fe
v.parser: eliminate PrefixExpr from `&Type(x).name` and `&Type(x)[idx]` too (fix vinix build) 2021-07-17 20:20:20 +03:00
William Gooch 51dd8304bb
tools: make the `v` REPL help screen look nicer (#10833) 2021-07-17 11:23:29 +03:00
Delyan Angelov 7c5f012cbc
v: add a warning note to `v repl` 2021-07-16 12:01:51 +03:00
Delyan Angelov 027be2ecd4
tests: show a list of all failed commands in the summary too 2021-07-15 11:53:14 +03:00
Delyan Angelov 5322a25690
tests: detect missing -o v.c files earlier 2021-07-13 22:24:38 +03:00
Daniel Däschle 78a41969f6
vdoc: fancier attributes (#10789) 2021-07-13 19:44:22 +03:00
shadowninja55 f4d4f56d97
doc: fix html doc closing tags (#10787) 2021-07-13 16:45:17 +03:00
crthpl 5089eb4a84
parser: fix pointer cast expressions hack (#10777) 2021-07-13 12:01:24 +03:00
Delyan Angelov 85564b7b83
vinix: support -os vinix (part 1) 2021-07-13 11:24:09 +03:00
shadowninja55 d1f1c5ae51
v doc: add attribute tags to `v doc -f html` (#10778) 2021-07-13 08:27:20 +03:00
Delyan Angelov b09fa69cb3
v ast: use `flag`, add ability to combine -p and -w, implement --hide pos,name_pos,args,global_scope,scope 2021-07-12 14:53:14 +03:00
pancake fe65cde03b
tools: use os.symlink instead of system('ln -s') in `v symlink` (#10769) 2021-07-12 14:23:25 +03:00
Delyan Angelov 0a66d8dc10
v ast: allow analyzing .vsh files too 2021-07-12 13:24:40 +03:00
Thomas Treffner 533f09f7a2
tools: fix `v symlink` problem with paths containing spaces (#10756) 2021-07-11 18:54:24 +03:00
Delyan Angelov 972cbe2e9a
serenity: add more support 2021-07-09 11:33:51 +03:00
pancake 9356c329ac
native: drop x64 backend reference (#10701) 2021-07-08 21:26:07 +03:00
Delyan Angelov 972542d6ee
checker: `[noreturn]` part 2 (cleanup) (#10667) 2021-07-05 05:05:37 +03:00
yuyi b0b4b8e65b
checker: fix missing check generic fn call args (fix #10649) (#10657) 2021-07-04 19:15:15 +03:00
Tomas Hellström ec973f5c6e
x.websocket: move to net.websocket module (#10648) 2021-07-03 02:56:00 +03:00
Delyan Angelov e108a67952
tools: fix compilation of an instrumented vdbg in `v bug hw.v` (module lookup problem due to abs path) 2021-06-30 14:40:04 +03:00
Lukas Neubert 806719786f
vast: print Position.last_line (#10600) 2021-06-28 16:23:34 +03:00
Delyan Angelov 809aa9af65
v init: change text to indicate that `v init` creates projects 2021-06-24 18:31:23 +03:00
crthpl 500b48788e
parser, cgen: fix basic asm registers, fix numbered labels in addressing, support indirect branching (#10545) 2021-06-23 14:20:07 +03:00
Delyan Angelov 816bf308ad
v test-all: add a -freestanding check on Linux 2021-06-23 13:33:16 +03:00
Yuriy Zymlex 6736817bba
parser: fix `rewind_scanner_to_current_token_in_new_mode` (#10495) 2021-06-22 20:17:36 +03:00
Delyan Angelov c43791b0f5
ci: fix vcreate_test.v on windows 2021-06-22 20:08:20 +03:00
Delyan Angelov b6bd6d1d35
tests: add cmd/tools/vdoc/tests/vdoc_file_test.v, extract a `v.util.diff` module, cleanup 2021-06-22 18:52:34 +03:00
Delyan Angelov dd6591b2f5
ci: fix `[if xyz ?]` usages 2021-06-22 10:46:43 +03:00
Alexander Medvednikov ae12a0b8f1 fast: reduce delta from 20ms to 18 2021-06-21 03:50:31 +03:00
zakuro ce3681ee8f
v ast: eprintln and exit instead of panic on invalid file errors (#10526) 2021-06-20 13:12:08 +03:00
shadowninja55 984551227b
doc: allow pressing / to focus search bar (#10522)
* type / to focus search; rename unused variables

* use ev.preventDefault() instead of setTimeout()

* delete doc.js_
2021-06-20 05:16:50 +03:00
Delyan Angelov 21fe91e508
v watch: increase the default restart timeout, when vwatch.v is compiled with -gc boehm 2021-06-19 22:08:23 +03:00
Ryan Roden-Corrent f0ad0b024e
v init: create a .gitignore in existing git repo if it does not exist yet (#10488) 2021-06-19 21:36:12 +03:00
Delyan Angelov 3b5a37628f
v watch: allow customising the auto-restart timeout for the workers with an env variable VWATCH_TIMEOUT 2021-06-19 16:51:40 +03:00
Delyan Angelov d56ae2d508
v.fmt: keep comments after struct embeds 2021-06-18 18:42:05 +03:00
Delyan Angelov de384f1cc8
strconv: vfmt everything 2021-06-18 17:59:56 +03:00
Delyan Angelov 9f6ddb4c21
v.fmt: add an independent Comment.is_inline flag. Use it for fixing `[ .. //x ]` => `[ .. //x, ]` 2021-06-18 15:52:31 +03:00
yuyi 2298063129
checker: fix nested if smartcast selector exprs (fix #10372 #10379) (#10502) 2021-06-18 14:49:15 +03:00
Delyan Angelov 39e7290416
v: support for `[if expr]`, part 2 (old `[if ident]` is not yet deprecated) 2021-06-17 18:55:20 +03:00
Andreas Heissenberger 0918c130ee
tools: fix more strange edge cases for markdown links in `v check-md` (#10486)
* fix support for numbers in urls

* fix valid github link id creation
2021-06-17 12:53:25 +03:00
Andreas Heissenberger 7b52dbfdf8
tools: fix support for numbers in urls in `v check-md` (#10483) 2021-06-16 19:58:32 +03:00
Ryan Roden-Corrent 30fac1f877
toosl: fix `v init` - terminate newly created files with newlines, add a test (#10480)
* vcreate: Add test for `v init`.

* vcreate: Init git properly with no dir arg.

`v init` would fail to create a .gitignore file. When not providing a
dir arg, passing "" to create_git_repo would result in:

```
V panic: failed to create gitignore: failed to open file "/.gitignore"
```

* vcreate: Terminate files with newline.

Fixes #10478.
2021-06-16 19:57:51 +03:00
Delyan Angelov af60eba5e6
tools: cleanup generated executables by `v test-all` 2021-06-15 14:28:46 +03:00
kac- 8d4c9823ba
tools,clipboard: use lowercase library names for `-luser32`etc, allowing linux->windows cross compilation of ui programs (#10455) 2021-06-14 15:42:56 +03:00
Andreas Heissenberger 7983495c57
tools: improve `v check-md` by checking for broken TOC headline links (#10417) 2021-06-14 13:12:02 +03:00
Delyan Angelov 90d04b0ce6
ci: skip udp_test.v and tcp_test.v on windows-tcc for now 2021-06-14 13:10:20 +03:00
Delyan Angelov dc1c26a2c2
ci: add back vlib/net/http/cookie_test.v as an exception in vtest-cleancode.v 2021-06-14 10:20:58 +03:00
Delyan Angelov d7d9305d96
net: vfmt everything 2021-06-14 10:08:41 +03:00
Emily Hudson 535dcac8fa
net: ipv6 support, merge unix+ip;[pack:x] attribute (#9904) 2021-06-13 23:53:38 +03:00
Uwe Krüger 2ac39d9112
all: new function `isreftype(T)` to know if `T` contains pointers (#10438) 2021-06-13 06:26:13 +03:00
Delyan Angelov bdd1a13230
tools: fix workdir for fast.v 2021-06-12 18:28:54 +03:00
Alexander Medvednikov 3f745605a2 fast: disable cache refresh for now 2021-06-12 17:51:58 +03:00
shadowninja55 85e9300a78
v help: add all tool commands to `v help <command>` (#10419) 2021-06-12 15:10:30 +03:00
Andreas Heissenberger 96c8d147b2
v.gen.js: add source map creation support (inline only, no src) (#10384) 2021-06-10 08:33:46 +03:00
lydiandy 7c2265e00a
tools: vast fix and clean code (#10381) 2021-06-07 21:42:09 +03:00
Delyan Angelov 01a8d3f8a1 tests: skip building psql/customer.v on macos (requires postgres) 2021-06-07 18:23:18 +03:00
Delyan Angelov 007ba5178e
v: add more timing points 2021-06-06 12:23:00 +03:00
Delyan Angelov 27f3737c5a
tools: cleanup the fast.v output 2021-06-06 09:52:29 +03:00
Delyan Angelov 43acb5a3ca
tools: make fast.v more robust against V module lookup bugs 2021-06-06 09:46:44 +03:00
Miccah c2981de4d5
http: add server.v and organize HTTP request and response code (#10355) 2021-06-06 00:43:14 +03:00
Delyan Angelov e54af19b25
examples: fix -cstrict compilation of c_interop_wkhtmltopdf.v 2021-06-05 10:03:57 +03:00
pancake 89d2f508cc
tools: fix `v symlink`, `uname -o` doesn't exist on macOS (#10303) 2021-06-03 01:22:14 +03:00
Delyan Angelov b28def7c11
tests: add vlib/v/tests/failing_tests_test.v, support `testdata` in `v test-self` too 2021-06-03 00:32:09 +03:00
Delyan Angelov 0254a1ac76
tests: ignore `testdata` folders in `v test .` too 2021-06-02 21:50:31 +03:00
Delyan Angelov bf623e191f
tests: ignore `testdata` folders while scanning for tests and .v files 2021-06-02 21:19:03 +03:00
StunxFS 04642211b4
v.help: remove duplicate line (#10326) 2021-06-02 20:34:18 +03:00
zakuro 3e89b60784
vast: accept .vv file (#10305) 2021-06-02 16:10:15 +03:00
lydiandy 67518f946b
cmd/tools/vast: update DeferStmt (#10291) 2021-05-31 22:49:16 +03:00
Delyan Angelov 2376b343ba
tests: always use / for paths shown in tests 2021-05-31 15:56:36 +03:00
Delyan Angelov eac1e25c5d
strings: simplify Builder (#10263) 2021-05-31 14:21:06 +03:00
lydiandy 43acda083a
cmd/tools/vast: add comments and cleanup code (#10246) 2021-05-29 17:05:05 +03:00
Delyan Angelov 7287ecd6c7
ci: skip too slow tests in any sanitize mode, use VTEST_RUN_FSANITIZE_TOO_SLOW to override 2021-05-29 12:15:10 +03:00
Delyan Angelov bb6907473b
ci: add the slowest tests in skip_with_fsanitize_memory 2021-05-29 11:38:53 +03:00
Lukas Neubert ddcc22a778
fmt: fix removal of selective imported map key type (#10235) 2021-05-28 22:29:03 +03:00
Lukas Neubert 6b683d31ac
v.parser: support imported enums as map keys (#10234) 2021-05-28 20:09:03 +03:00
lydiandy e09f0234ea
tools: add `v ast file.v` (#10236) 2021-05-28 19:54:44 +03:00
Delyan Angelov 39de06c200
v.pref: cleanup V options, support the documented -output and -backend 2021-05-28 09:07:06 +03:00
Anton Zavodchikov 9ee1d8c848
doc: decrease letter count for search to 2 (#10214) 2021-05-27 10:17:25 +03:00
Delyan Angelov 6c40781d84
ci: vfmt cmd/tools/fast/fast.v 2021-05-26 09:49:22 +03:00
Alexander Medvednikov 9ea7eda9c0 tools/fast: -usecache for hello world 2021-05-26 09:33:42 +03:00
Enzo 0d25106b4d
cmd/tools/vpm: improve v show (#10198) 2021-05-25 14:30:48 +03:00
Pranav Baburaj da88235bdc
vpm: addd a show command (#10186) 2021-05-24 15:17:57 +03:00
Alexander Medvednikov db848ed314 tools/fast: wipe cache before measuring 2021-05-24 12:12:29 +03:00
penguindark d8d05e0106
all: new string interpolation in pure V (#10181) 2021-05-24 05:20:45 +03:00
Lukas Neubert 79b97fa361
fmt: keep names of parameters in anonymus function (#10173) 2021-05-23 05:54:39 +03:00
pancake efa07cbcbf
native: initial support for linux-arm64 (hello world only for now) (#10176) 2021-05-23 05:54:28 +03:00
Alexander Medvednikov c04fc7bfc2 tools/fast: disable usecache for now 2021-05-22 07:20:48 +03:00
yuyi 293c6646d0
vtest-cleancode: do not skip generics_return_generics_struct_test.v anymore (#10163) 2021-05-21 17:20:52 +03:00
Delyan Angelov dd0a97541c
tests: use term.header_left, and a more compact output layout 2021-05-20 11:25:07 +03:00
Delyan Angelov 25ca1dd276
v test-all: test `-autofree` and `-prealloc` on V locally too 2021-05-20 10:07:23 +03:00
yuyi de080ba149
vfmt: cleanup vtest-cleancode (#10137) 2021-05-19 21:23:25 +03:00
Delyan Angelov 7a4ec9f60a
tools: add --before and --after options to `v watch` 2021-05-16 17:50:16 +03:00
Delyan Angelov 252249a348
tools: add a --silent option to `v watch` 2021-05-16 17:50:16 +03:00
Alexander Medvednikov e657cb2cd2 tools/fast: use -usecache 2021-05-15 05:52:06 +03:00
Delyan Angelov d11cd50773
ci: skip vweb_app_test.v except in the ubuntu-tcc job 2021-05-11 17:47:43 +03:00
Delyan Angelov 6f2c18f1c7
ci: fix `v build-tools` 2021-05-11 11:08:46 +03:00
Alexander Medvednikov dc034d9b16 vweb: make thread safe; checker: `$if T is Interface {` 2021-05-11 09:30:18 +03:00
Delyan Angelov 4728d102d9
os: add Process.finalise() and Process.free() methods to cleanup pipe descriptors 2021-05-09 21:50:47 +03:00
Delyan Angelov f85955ef67
tools/fast: use a common set of options for all measurement commands 2021-05-09 15:14:28 +03:00