Commit Graph

235 Commits (d53bb54c0a1e6c62365df7e011c1bb3260c7ca96)

Author SHA1 Message Date
Delyan Angelov 5452ba4653
v.gen.c: use the __V_architecture macro in v.pref.get_host_arch() 2021-06-12 22:15:08 +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
zakuro b0c9a87292
v: show an error and exit, when no module name is given in `v build-module` (#10338) 2021-06-04 18:30:43 +03:00
Delyan Angelov 955dc12523
v: replace execuast => executable 2021-05-31 09:39:18 +03:00
Delyan Angelov 39de06c200
v.pref: cleanup V options, support the documented -output and -backend 2021-05-28 09:07:06 +03:00
Delyan Angelov c16d4911c2
v.checker: deprecate `$if linux_or_macos {` in favor of `$if linux || macos {` 2021-05-08 21:00:21 +03:00
Delyan Angelov 4b818fa2be
v: implement interface embedding (#9935) 2021-05-02 03:00:47 +03:00
Delyan Angelov 626517f5f7
tools: turn `v -watch` into a `v watch` sub-command, so that it can have its own options 2021-04-28 12:29:50 +03:00
Enzo 4f246222b0
v: replace `--enable-globals` with `-enable-globals` (#9898) 2021-04-28 07:44:28 +03:00
pancake 9a3869c521 v.ast: rename aarch64 to arm64 and aarch32 to arm32 2021-04-27 12:24:58 +03:00
pancake 6750ed254f x64: rename to `native` to not conflict with the x64 comptime variable 2021-04-27 12:24:58 +03:00
Alexander Medvednikov 7ec90b0f89 pref: fix is_test 2021-04-23 13:45:47 +03:00
Alexander Medvednikov c7a6d28e13 all: improve unused variable warning (fix `x = 1`, `x += 1` etc) 2021-04-23 13:33:48 +03:00
pancake b951d679ca
x64: handle -arch amd64/arm64 and -os for raw/linux/macos options (#9844) 2021-04-22 15:44:25 +03:00
Delyan Angelov 1d2ef79545
v: fix -assert aborts 2021-04-15 20:29:58 +03:00
Delyan Angelov c7752ce8d3
v: add an -assert aborts/backtraces option to ease debugging 2021-04-15 20:26:51 +03:00
Delyan Angelov d90be54850
v: add -cstrict for optionally turning on all ccoptions.wargs 2021-04-15 14:56:45 +03:00
crthpl 14434cc86a
all: bare metal support (fix `-freestanding`) (#9624) 2021-04-14 07:50:50 +02:00
Uwe Krüger 10bf974cda
all: gc: provide optimized mode (#9716) 2021-04-14 00:40:26 +02:00
Leah Lundqvist 38c517c1a2
builtin: use NSLog on iOS for print (#9665) 2021-04-10 17:40:43 +03:00
crthpl 903dd49212
v: add support for `$if freestanding {`, without using it (part 1) (#9656) 2021-04-09 23:24:25 +03:00
Lukas Neubert 1d5ed89138
fmt: remove trailing space in comments (#9620) 2021-04-07 15:25:11 +02:00
Delyan Angelov c698fa1a58
all: support `v -watch run` (#9577) 2021-04-04 16:05:06 +02:00
Alexander Medvednikov 7385f8e56b all: a massive merge of ast and table modules 2021-04-02 01:57:09 +03:00
Uwe Krüger 97f43d6a97
gc: make generational mode of Boehm-GC available (#9514) 2021-03-30 09:36:22 +02:00
Swastik Baranwal 0e254e0329
vdoc: support -os and show docs according to the platform (#9474) 2021-03-27 09:50:06 +01:00
Uwe Krüger 257eadd2e1
gc: add `-gc boehm_leak` for leak detection (#9464) 2021-03-25 16:52:33 +01:00
Delyan Angelov 7101d53d74
ci: fix `v self`, `v up` and other tools 2021-03-23 15:30:41 +02:00
Alexander Medvednikov 11e1f42193 builder: save the binary next to the source code again 2021-03-23 14:50:50 +03:00
Alexander Medvednikov 6463dfca29 Revert "Revert "builder: create the binary in the current directory if -o is not provided""
This reverts commit f2b73fe3ca.
2021-03-23 14:49:09 +03:00
Delyan Angelov f2b73fe3ca
Revert "builder: create the binary in the current directory if -o is not provided"
This reverts commit 9ae64e7fce.
2021-03-23 13:27:26 +02:00
Alexander Medvednikov 9ae64e7fce builder: create the binary in the current directory if -o is not provided 2021-03-23 12:31:02 +03:00
Alexander Medvednikov 0c055a1ce9 all: s.contains(s2) instead of `in` 2021-03-23 11:38:56 +03:00
Delyan Angelov 8810af76df
all: support `-gc boehm` on systems with libgc-dev installed (#9382) 2021-03-20 14:16:36 +01:00
crthpl fafb035fb5
all: reimplement inline assembly (#8645) 2021-03-17 01:43:17 +01:00
Leah Lundqvist 0823ea4af1
builder: produce an iOS binary instead of a bundle (#9316) 2021-03-15 19:03:05 +01:00
Delyan Angelov 25c07c2f43
v.ast: handle more expressions in Expr.str() 2021-03-15 06:27:56 +02:00
Delyan Angelov 69f1e7c9c3
v: fixes for `v -autofree -o v2 cmd/v` 2021-03-14 09:37:38 +02:00
Delyan Angelov 64bc2fb40a
v: fix `[if debug] fn abc(){} ... abc()` 2021-03-07 12:05:07 +02:00
Lukas Neubert fdcfe397d4
fmt: write empty or blocks the same as empty fn bodies, empty structs, etc (#9136) 2021-03-06 21:04:51 +02:00
Delyan Angelov 0f042124cb
tests: support `fn test_fn() ? { opt()? }` 2021-03-05 14:18:21 +02:00
pancake c65d65a3f5
v: use dash instead of lowerdash for -print-v-files (#9111) 2021-03-04 14:38:05 +02:00
Delyan Angelov 31321b68ea
v: show help for -h, -help, and --help, in addition to `v help` 2021-03-02 12:22:10 +02:00
spaceface b712af56fd
all: bring back `panic(err.msg)` -> `panic(err)` (#9022) 2021-03-01 00:18:14 +01:00
spaceface d63b7bc35a
all: update repo to use the new error handling syntax (#8950) 2021-02-28 23:20:21 +03:00
Lukas Neubert 5aebd646bb
fmt: keep some line comments in multi line arrays (#8969) 2021-02-26 09:01:03 +02:00
spaceface adf2aa8760
pref: add a `-debug-tcc` alias option (#8834) 2021-02-20 18:53:22 +02:00
Delyan Angelov 0142d58aa6
v.pref: prevent `Too many targets.` from triggering when the command is an external one 2021-02-18 12:13:28 +02:00
zakuro b3a26ca0ce
v.pref: make passing multiple target .v files an error (#8814) 2021-02-18 09:42:00 +02:00
Uwe Krüger 374739b804
all: rename `[ref_only]` -> `[heap]` (#8718) 2021-02-13 16:52:01 +02:00
Delyan Angelov 40fff7b56a
v.pref: support `v -skip-unused run examples/hello_world.v` 2021-02-05 11:12:28 +02:00
Alexander Medvednikov 1084b43ffb all: ast walker for marking unused fns 2021-02-05 08:05:35 +01:00
Delyan Angelov 02bef1ae2b
vdoc: fix segfault on `v doc -m -f html vlib` 2021-02-02 17:38:32 +02:00
Delyan Angelov 17062dc5c8
v.pref: support `-obf` in addition to `-obfuscate`, as described in `v help build` 2021-02-02 12:24:34 +02:00
Alexander Medvednikov 2c4674eb42 cgen: obfuscate functions 2021-02-02 09:14:41 +01:00
Lukas Neubert cf1084105c
fmt: allow single line ternary if as function argument (#8486) 2021-02-01 20:08:42 +01:00
Julia Bogdan Filipchuk d26ac0f6cb
vfmt: add ability to use vfmt as a filter from stdin to stdout (#8432) 2021-01-30 12:38:54 +02:00
Delyan Angelov 760b4c37b9
all: support _test.vv files (to test _test.v errors/checks too) 2021-01-30 10:42:18 +02:00
Delyan Angelov 4d180171ba
builder: implement `-dump-c-flags flags.txt` 2021-01-29 18:05:14 +02:00
Delyan Angelov e5a84719ca
all: require calling `optfn() ?` / `optfn() or {...}` for `fn optfn() ? {}` 2021-01-26 16:43:17 +02:00
Delyan Angelov 728344ff65
ci: fix `v test-cleancode` 2021-01-25 12:55:01 +02:00
Delyan Angelov a3908414e4
pref: fix handling of _d_custom.v files, use it in vlib/sokol/f/f_d_use_freetype.v 2021-01-23 11:21:56 +02:00
Lukas Neubert 8b61891348
fmt: smarter if condition wrapping (#8201) 2021-01-23 10:33:22 +02:00
Lukas Neubert ac2c3847af
all: update copyright to 2019-2021 (#8029) 2021-01-18 13:20:06 +01:00
Delyan Angelov 5ae55731b9
embed: move to `v.embed_file`, fix CI failing test 2021-01-16 20:03:07 +02:00
Daniel Däschle 53941c4a0a
fmt: fix if cond break readability (#8132) 2021-01-16 02:12:17 +01:00
zakuro 33694665f0
fmt: align each contiguous field of struct. not the whole. (#7981) 2021-01-12 04:38:43 +01:00
Delyan Angelov 083dc23db8
gen: implement a `[manualfree]` tag, for functions, that want to do their own memory management 2021-01-08 16:22:27 +02:00
zakuro dd516858d4
fmt: align struct field comments (#7632) 2021-01-03 21:10:25 +01:00
zakuro 1fb6710c89
build: remove `v build file.v` (#7695) 2020-12-31 15:24:55 +01:00
zakuro b28b41d069
v run: pass all args after file.v only to script args, do not process them as v flags (#7672) 2020-12-29 21:16:20 +02:00
Delyan Angelov 100b3704cd
v.pref: fix `-nocache`, add `-no-retry-compilation`, add `-d trace_use_cache` 2020-12-28 09:42:43 +02:00
Delyan Angelov d1223851a2 pref: support _default.c.v , overridable by _platform.c.v 2020-12-24 12:16:20 +02:00
spaceface c544cc508b
pref: fix cross-compiling graphical apps to Windows (#7449) 2020-12-21 19:45:12 +02:00
Delyan Angelov dc3a6bb169
builder: use the same compilation mode for thirdparty object files (#7450) 2020-12-21 17:46:26 +01:00
Alexander Medvednikov fc965b7d92 strconv: make atoi return ?int 2020-12-21 08:35:24 +01:00
joe-conigliaro 23bfbf1665
cmd/pref: disable -usecache on windows & enable by default (commented) 2020-12-21 03:31:57 +11:00
Alexander Medvednikov 10168d307e pref: remove duplicate flag "build" 2020-12-19 10:34:59 +01:00
Delyan Angelov adaffd0d8e
pref: pass custom -d options down to `v build-module` (fix for -usecache) 2020-12-19 01:54:18 +02:00
Delyan Angelov 668483ee56
pref: fix -prof, to behave exactly the same as -profile 2020-12-11 09:28:34 +02:00
Delyan Angelov d5915bde7c
parser: implement support for -Wimpure-v (#7195) 2020-12-08 17:52:24 +01:00
Delyan Angelov fbf6910ab9
builder: remove executables after `v run file.v` 2020-12-05 13:03:12 +02:00
Daniel Däschle 47d0ed308d
parser: prepare for better VLS integration, more accurate parser errors (#7119) 2020-12-04 20:34:05 +02:00
spaceface777 50a3009113
fmt: make single-stmt `or` blocks single-line (#7126) 2020-12-04 13:25:23 +02:00
Alexander Medvednikov f4bd953771 pref: vfmt 2020-12-01 04:16:36 +01:00
Alexander Medvednikov f26f7ebc9d pref: nocache option 2020-12-01 04:05:44 +01:00
spaceface777 83137cbe84
pref: don't use tcc by default in -prod mode (#7053) 2020-12-01 03:58:02 +01:00
Delyan Angelov b11d285680
v: support multiple paths in VMODULES env variable (#7048) 2020-11-30 18:31:37 +01:00
Delyan Angelov adeebad2a6
compiler: use thirdparty/tcc/tcc.exe by default, when no explicit -cc is given (#6598) 2020-11-29 16:18:49 +01:00
Nick Treleaven 8f15af6adc
pref: add -m32, -m64 command-line options (#7011) 2020-11-29 14:53:49 +01:00
Alexander Medvednikov 13948152b6 cmd/v: rename reuse-tmpc to keepc 2020-11-27 20:16:24 +01:00
Larpon 2957541e48
pref: fix message on inferred run (#6947) 2020-11-25 21:44:26 +02:00
Nicolas Sauzede 159932d59b
v: run code from stdin `echo println(2+2) | v run -`, with no repl limits (#6884) 2020-11-20 10:25:59 +02:00
Larpon f807fd973e
compile: infer source file if a binary by the same name exists in same dir #6877 2020-11-19 16:23:55 +01:00
Delyan Angelov f42a44abec vfmt: fix `match x { 10 /* ... */ {} }` and `a := [1/* x */, /* y */2, 3]` 2020-11-11 22:59:43 +02:00
pancake af5836202c
js: fix wrong filename and invalid backend selected when using -o .js (#6777) 2020-11-08 17:45:32 +01:00
Delyan Angelov 4b35495fbe all: support VMODULES environment variable (defaulting to ~/.vmodules) 2020-11-08 08:07:17 +02:00
spaceface777 a9e9554b11
all: fix most C warnings (#6758) 2020-11-06 16:26:59 +02:00
Delyan Angelov cf21c63183 v.vcache: extract v.vcache to a separate module, to test it and reuse it 2020-10-26 18:37:37 +02:00
Delyan Angelov 60cc8ac39c vcache: use 2x wyhash.sum64_string(hk,x).hex_full(), instead of md5.sum(hk.bytes()).hex() 2020-10-25 09:22:31 +02:00