Delyan Angelov
98374ea6fe
CI: fix msvc (temporary work around dialogs poping up)
2019-12-05 17:08:18 +03:00
Alexander Medvednikov
4888d27b71
fix v -live on macOS
2019-12-05 14:40:14 +03:00
Alexander Medvednikov
2a1b0a8cae
rename table.register_type2()
2019-12-05 14:24:25 +03:00
Alexander Medvednikov
867f952d6b
for: ranging through fixed size arrays
2019-12-05 02:17:17 +03:00
Alexander Medvednikov
fb546f376e
set max module depth to 5
2019-12-05 01:27:04 +03:00
Alexander Medvednikov
e707ac4f28
test v -live message.v
2019-12-05 00:17:38 +03:00
Alexander Medvednikov
a57e29dfc5
os: replace dir_exists with is_dir; file_exists() => exists()
2019-12-04 23:17:45 +03:00
Alexander Medvednikov
fb237b9e53
parser: check types in `a in b` expressions
2019-12-04 22:17:24 +03:00
Alexander Medvednikov
d9248e8d52
parser: fix a wrong index in an error
2019-12-04 13:36:35 +03:00
Delyan Angelov
9a6711fa1b
compiler: c'str' now has type charptr
2019-12-04 13:34:06 +03:00
Alexander Medvednikov
e32cbfcca7
error on C.Foo{!}
2019-12-04 12:56:59 +03:00
Alexander Medvednikov
b2b34e18e4
use the new &C.Foo(0) cast
2019-12-04 12:19:32 +03:00
Alexander Medvednikov
2bafd41183
`&C.Foo(0)` cast to replace `&C.Foo{!}` hack
2019-12-04 12:13:17 +03:00
bogen85
a9aaa13a09
freestanding: sys_getuid, sys_waitid; minimal fork check; remove bare.S
2019-12-04 11:46:09 +03:00
Alexander Medvednikov
47f5e1178f
-output-cross-platform-c for creating a single x-platform C file
2019-12-04 02:02:52 +03:00
Delyan Angelov
eb20dd39b1
freestanding: init consts
2019-12-04 01:40:26 +03:00
Alexander Medvednikov
66f271f100
fix a string interpolation bug
2019-12-03 20:41:49 +03:00
Alexander Medvednikov
f192429c8a
$if mac => $if macos
2019-12-03 16:29:37 +03:00
Alexander Medvednikov
ff80e3a5fa
i8 print test + $if mac => $if macos
2019-12-03 16:09:43 +03:00
Delyan Angelov
0a8d2d5dc7
compiler: guess cc kind for -prod builds, to know when to add -flto
2019-12-03 13:58:24 +03:00
Enrico Lefass
6d28a80bf8
haiku support (part 2)
2019-12-03 11:26:47 +03:00
Alexander Medvednikov
c0bb88dfb0
allow # in webview module
2019-12-02 12:31:49 +03:00
Alexander Medvednikov
753e926356
debug v symlink error
2019-12-02 12:16:55 +03:00
Don Alfons Nisnoni
254afcb2d0
*C.char => charptr
2019-12-02 11:37:35 +03:00
Delyan Angelov
ec15bfb7d1
v test v => v test-compiler
2019-12-01 12:50:13 +03:00
bogen85
854309a7d8
freestanding: add array support (stack only for now)
2019-12-01 11:27:36 +03:00
Alexander Medvednikov
3fea8f3de5
*char => charptr everywhere
2019-12-01 10:33:26 +03:00
Alexander Medvednikov
698c3823ee
charptr fix
2019-12-01 10:11:29 +03:00
Alexander Medvednikov
0999273d32
CReserved => c_reserved; charptr
2019-12-01 09:56:53 +03:00
Alexander Medvednikov
a23a4ed98a
update all index() uses
2019-11-30 15:27:16 +03:00
Alexander Medvednikov
2651b8957a
parser: fix unreachable code error in if a := opt()
2019-11-30 15:17:27 +03:00
Alexander Medvednikov
81d4f66fbb
string: make `index()` return `?int` instead of `int`/-1
2019-11-30 13:21:21 +03:00
Alexander Medvednikov
7e4799334f
array: make left/right/slice private
2019-11-30 12:37:34 +03:00
Alexander Medvednikov
b38283dcf1
string: make left/right private
2019-11-30 12:06:17 +03:00
prime31
ff216e7d50
append module name for module search path
2019-11-30 11:17:37 +03:00
Alexander Medvednikov
68b4dab582
parser: another infinite loop fix
2019-11-30 10:37:28 +03:00
Alexander Medvednikov
c00a7f3a5e
parser: fix infnite loop with `fn foo(&) {}`
2019-11-30 10:21:58 +03:00
Alexander Medvednikov
d71532b64e
optimize `for c in str {`
2019-11-30 09:41:35 +03:00
Emily Hudson
661ddf3d1e
compiler: realpath before trying to basefilename
2019-11-30 08:01:31 +03:00
Alexander Medvednikov
850788c4bb
parser: fix a bug with & and ==
2019-11-29 23:18:10 +03:00
Alexander Medvednikov
4c11eb5ddc
-bare => -freestanding
2019-11-29 22:49:05 +03:00
Alexander Medvednikov
f724a956b3
parser: fix `a & b == c` precedence
2019-11-29 22:42:32 +03:00
Alexander Medvednikov
881584d04c
V 0.1.23
2019-11-29 20:00:33 +03:00
Alexander Medvednikov
71378b8041
parser: better syntax error for unexpected tokens
2019-11-29 17:06:49 +03:00
joe-conigliaro
11aaee685a
generics: fix errors & simplify
2019-11-29 16:46:43 +03:00
Alexander Medvednikov
431568faad
x64: fix off by one error in for loops
2019-11-29 12:33:36 +03:00
Alexander Medvednikov
9e19472c33
show an info message if a C compiler is not installed
2019-11-29 12:12:06 +03:00
bogen85
e31d892598
make _V_mret_ unique by putting p.token_idx in it
2019-11-29 11:11:53 +03:00
Alexander Medvednikov
52d25336db
x64: function calls; http: download_file()
2019-11-28 13:24:02 +03:00
prime31
208f67132d
added -user_mod_path command line option to add a module search path
2019-11-28 13:04:57 +03:00
Delyan Angelov
7545ea709a
enable alpine/musl CI tests
2019-11-28 11:46:52 +03:00
bogen85
3b7466a13d
ci: rename multiret_with_ptrtype.v
2019-11-28 09:46:52 +03:00
bogen85
9374168b26
compiler: allow function expecting a void* to receive a byteptr
2019-11-28 09:44:43 +03:00
bogen85
e63300e286
temporary fix for issue #2897
2019-11-27 19:55:32 +03:00
れもん
584786d87c
parser: fix `in` expression
2019-11-27 08:48:04 +03:00
Alexander Medvednikov
a3b14e00a2
vweb fixes
2019-11-26 16:08:16 +03:00
Alexander Medvednikov
cb8a19efaf
vweb: bring back html() test
2019-11-26 09:34:09 +03:00
joe-conigliaro
3107618732
vweb: remove no longer needed special case & fix tmpl
2019-11-26 09:23:11 +03:00
ʇʞʌp
6349bd33d3
compiler: Allow `or` usage when assigning to struct fields. ( #2893 )
2019-11-26 09:07:35 +03:00
ʇʞʌp
79a02a4c09
parser: make `p.opt()?` work for methods
2019-11-26 09:04:59 +03:00
joe-conigliaro
385c045e5a
don't add generic parsers to v.files
2019-11-26 09:04:11 +03:00
Alexander Medvednikov
8d241cc164
vweb fixes; ORM fixes; freeing strings
2019-11-26 07:47:16 +03:00
Ned Palacios
bac3c0a63e
compiler: add "modules/ " folder for searching local modules
2019-11-26 06:45:26 +03:00
ʇʞʌp
81d552038c
parser: allow constant usage in assoc
2019-11-26 06:41:56 +03:00
bogen85
5c217b9e61
fix hexadecimal constants + freestanding fixes
2019-11-26 06:12:37 +03:00
joe-conigliaro
92f920b2b8
make errors from code parsed with statements_from_text show correctly
2019-11-25 22:22:40 +03:00
joe-conigliaro
edd4706480
compiler: parser fixes for vweb
2019-11-25 15:29:55 +03:00
M
837af9b230
freebsd: backtrace
2019-11-25 13:54:56 +03:00
joe-conigliaro
7158a012c3
compiler: update to get vweb working
2019-11-25 13:48:25 +03:00
joe-conigliaro
475807566d
fix get_last_nl_from_pos when error is last token ( #2882 )
2019-11-25 20:58:22 +11:00
Delyan Angelov
f7c103d5d2
compiler: remove legacy current workdir from module search
2019-11-25 11:32:11 +03:00
Alexander Medvednikov
a4ab7b14c1
wrap up struct default vals + tests
2019-11-25 05:59:58 +03:00
Delyan Angelov
5794594e19
compiler: fix vpath module search order regression
2019-11-24 19:39:30 +03:00
Enrico Lefass
f496c1b27b
haiku: adding support to v #1
2019-11-24 19:39:04 +03:00
Alexander Medvednikov
24b40be548
default struct vals
2019-11-24 13:53:59 +03:00
Alexander Medvednikov
e9e931fe4a
force C function definitions
2019-11-24 12:14:22 +03:00
Alexander Medvednikov
1bd8c465d3
do not allow casting bool to int
2019-11-23 20:40:59 +03:00
Don Alfons Nisnoni
3a6ccf7f31
os: mkdir() error handling
2019-11-23 19:55:18 +03:00
Alexander Medvednikov
0fb0c43c0a
pg: minor fixes
2019-11-23 19:48:00 +03:00
joe-conigliaro
666509623e
compiler: use token.pos instead of token.col, calculate col when needed
2019-11-23 19:31:28 +03:00
Delyan Angelov
f42be0622e
examples/game_of_life: add a GUI frontend; compiler: local modules relative to a main module
2019-11-23 16:33:25 +03:00
れもん
3d235169c8
parser: fix if expression
2019-11-23 14:25:57 +03:00
joe-conigliaro
9c1107f723
compiler: generics fix byteptr support
2019-11-23 10:06:14 +03:00
Alexander Medvednikov
94318b1287
x64: use correct exe name and set +x
2019-11-22 19:09:14 +03:00
joe-conigliaro
c11025f01f
compiler: clean up & optimize generics. add comments & support all param types ( #2845 )
2019-11-23 00:09:53 +11:00
Alexander Medvednikov
9712213f50
x64 machine code generation (ELF)
2019-11-22 14:33:22 +03:00
joe-conigliaro
ab91733a28
small optimization with generics and use os.is_dir in vweb again
2019-11-22 10:55:20 +03:00
Dwight Schauer
4edade5067
compiler: fix a deferencing cast was causing a segfault
2019-11-22 09:11:06 +03:00
joe-conigliaro
8fbfceed30
compiler: generics - support across modules/files
2019-11-22 08:22:11 +03:00
Unknown User
7c802f31d3
parser: fix unused variable warning
2019-11-22 05:23:01 +03:00
Delyan Angelov
d569f23e1c
compiler: fix undeclared errors with [][]u16,u32,u64
2019-11-22 05:22:18 +03:00
gabixdev
76cd70c232
compiler: add -vpath and -vlib_path options
2019-11-21 15:06:19 +03:00
pfefferminz132
dcea76ff41
fix "v symlink" with relative paths
2019-11-21 04:34:08 +03:00
Alexander Medvednikov
8e32ef382a
fix `v symlink`
2019-11-20 18:27:46 +03:00
Alexander Medvednikov
3e564a2506
parser: fix register() bug in interfaces
2019-11-20 18:19:13 +03:00
ʇʞʌp
26fb7e0821
compiler: emit Option_ typedef for fn args and struct fields
2019-11-20 00:58:31 +03:00
cloudsong
787f49b7a0
interface: enable calling interface with multi-args
2019-11-19 18:27:32 +03:00
joe-conigliaro
4bbed4f910
parser: fix default optional value
2019-11-19 17:47:49 +03:00
Delyan Angelov
a620e66af5
compiler: add os.mv_by_cp and use it for the temporary files
2019-11-19 12:55:02 +03:00
Alexander Medvednikov
0cf232d692
parser: a better [] error message
2019-11-19 11:13:19 +03:00
PoLLeN
fe81ccab20
asm.v: fix a small typo
2019-11-19 09:43:02 +03:00
Alexander Medvednikov
1ccd1979a4
vfmt: line comments fixes
2019-11-18 15:12:35 +03:00
Alexander Medvednikov
439bb0c5de
foo()? test
2019-11-18 12:11:25 +03:00
Alexander Medvednikov
4c0269597d
fix repl tests; change asm syntax a bit
2019-11-18 11:59:13 +03:00
Alexander Medvednikov
f7c7ffecb3
makefile: pre-build builtin modules
2019-11-18 03:51:14 +03:00
Alexander Medvednikov
e081791eaf
fix repl tests
2019-11-18 02:34:49 +03:00
Alexander Medvednikov
4fb0b49806
parser: fix the no fn main error in script mode
2019-11-18 00:40:59 +03:00
Alexander Medvednikov
ffb72e855a
vhelp: compress option
2019-11-17 15:35:05 +03:00
joe-conigliaro
6d7fe1f83c
fix vtool used with paths w/spaces (win/nix)
2019-11-17 14:36:05 +03:00
Alexander Medvednikov
6ae8457f35
fix strings.Builder.str()
2019-11-17 07:05:13 +03:00
Delyan Angelov
be7cf3e812
compiler: support storing temporary files under TMPDIR/v/
...
Fix for filepath.join not \0 terminating its result
2019-11-17 06:45:20 +03:00
Abdullah Atta
200fcd41ce
vlib: add a clipboard module (Windows, macOS, X)
2019-11-17 05:40:03 +03:00
Alexander Medvednikov
2391c72e4b
tcc: 64 bit by default
2019-11-17 01:14:05 +03:00
Alexander Medvednikov
6c51d0bb78
another inline asm test + disable on msvc
2019-11-17 01:07:21 +03:00
Alexander Medvednikov
2964bf9e23
inline assembly
2019-11-17 00:59:49 +03:00
Alexander Medvednikov
5a1de13e10
bare: fix str[idx]
2019-11-16 23:22:40 +03:00
Alexander Medvednikov
0c5854e371
add a c/raw string interpolation test
2019-11-16 22:17:01 +03:00
Swastik Baranwal
5d5268a53d
expression: add a check for raw strings
2019-11-16 22:15:22 +03:00
Alexander Medvednikov
8d1eb759f7
fix v -o foo.c build module foo
2019-11-16 21:49:58 +03:00
Alexander Medvednikov
dc50ed69cf
bare: fix str[idx]
2019-11-16 11:33:04 +03:00
Alexander Medvednikov
a545ccb740
bare: stdint.h
2019-11-16 11:24:25 +03:00
Alexander Medvednikov
d1b8d34dd5
os_linux.v
2019-11-16 09:16:51 +03:00
Nicolas Sauzede
1dadf9d966
fix Windows warnings
2019-11-16 02:30:50 +03:00
Delyan Angelov
e577b40743
compiler: add support for $if x32, x64, big_endian, little_endian
2019-11-15 16:14:28 +03:00
Alexander Medvednikov
96cde10696
C string literals (c'str'); bare builtin module; bare println()
2019-11-15 02:29:20 +03:00
Alexander Medvednikov
2dcb8b3bb0
bare: ArchLinux fix?
2019-11-14 22:18:22 +03:00
Alexander Medvednikov
a8b5c00939
parser: allow << >> with enums
2019-11-14 22:14:14 +03:00
Delyan Angelov
a329104dcb
compiler: remove dead code (a tcc bug fix)
2019-11-14 11:57:28 +03:00
Alexander Medvednikov
34c4565f7c
wrap up -bare
2019-11-14 11:11:52 +03:00
Alexander Medvednikov
96b530cf85
update []
2019-11-14 09:53:05 +03:00
Alexander Medvednikov
4a833d8151
parser: clean up all []
2019-11-14 09:21:20 +03:00
Alexander Medvednikov
5df5f97daf
parser: allow `arr = []` instead of `arr = []string`
2019-11-14 07:15:17 +03:00
Alexander Medvednikov
8d4ef822b6
1
2019-11-14 07:08:11 +03:00
Alexander Medvednikov
1d460c4d49
-bare option
2019-11-14 06:50:21 +03:00
Alexander Medvednikov
b1fa0d25f0
foo()? syntax
2019-11-14 06:15:45 +03:00
BigBlack
72249ce889
fix duplicate #define generation
2019-11-13 23:35:14 +03:00
Alexander Medvednikov
861f2d4bc0
parser: skip $if windows etc blocks on a different os
2019-11-13 21:14:37 +03:00
Alexander Medvednikov
3b929cdd03
update repls tests
2019-11-13 20:40:01 +03:00
Alexander Medvednikov
ffa6bcfff5
vfmt: handle comments
2019-11-13 11:54:22 +03:00
Steven Gay
51663520c8
MSVC backtrace
2019-11-13 11:05:06 +03:00
Alexander Medvednikov
10b0432eca
parser: fix mutable map args
2019-11-12 22:35:53 +03:00
BigBlack
99169ae4ff
parser: ptr++,*(ptr+1)
2019-11-11 23:39:16 +03:00
BigBlack
0ab09a57f7
parser: multi-level pointers
2019-11-11 18:43:22 +03:00
Delyan Angelov
de5b4f0497
fix tests for tcc, extract failing stuff to separate simpler files to ease debugging
...
* Fix compiling vlib/compiler/tests/fn_test.v with tcc.
* Extract failing tests from fn_test.v so that they are more readable and easier to debug.
2019-11-11 17:59:59 +03:00
Alexander Medvednikov
e6775913aa
simplify vfmt
2019-11-11 17:04:47 +03:00
Alexander Medvednikov
d9b29bfb4e
fix a bug in strings.Builder and wrap up vfmt
2019-11-11 08:24:28 +03:00
Alexander Medvednikov
f2b1a8cb16
fix option_test.v
2019-11-11 07:09:07 +03:00
Alexander Medvednikov
8947717e3e
fix the build
2019-11-11 06:19:18 +03:00
Alexander Medvednikov
0ad0a61db2
remove unnecessary empty lines in cgen
2019-11-11 06:02:01 +03:00
Alexander Medvednikov
730ef96398
another tcc fix
2019-11-11 05:33:19 +03:00
Alexander Medvednikov
bf98eb55ee
remove a test until a tcc bug is fixed
2019-11-11 05:27:30 +03:00
Alexander Medvednikov
b3143bb559
parser: remove start_tmp() entirely
2019-11-11 05:22:38 +03:00
Alexander Medvednikov
887c94d9ba
parser: second batch of start_tmp()
2019-11-11 05:14:54 +03:00
Alexander Medvednikov
00b3557ce1
parser: start removing start_tmp()
2019-11-11 05:06:24 +03:00
Alexander Medvednikov
f30d0ce667
parser: fix a bug with complex ref fn args
2019-11-11 04:56:13 +03:00
Henrixounez
76c27c0b03
cli: create project helper
2019-11-11 00:48:56 +03:00
Alexander Medvednikov
3c4bb16ce9
disable dereferencing error for now
2019-11-10 20:32:11 +03:00
Alexander Medvednikov
aea5b2e3b6
make unsafe dereferncing warning an error
2019-11-10 20:14:57 +03:00
Alexander Medvednikov
ffa9646749
Revert "print_backtrace_skipping_top_frames: Implementation for MSVC "
...
This reverts commit d1e7a54f3a
.
2019-11-10 20:01:19 +03:00
Alexander Medvednikov
fdf6682254
require `unsafe` for dereferencing
2019-11-10 19:57:17 +03:00
Alexander Medvednikov
c7f3413d70
more vfmt fixes
2019-11-10 19:49:19 +03:00
Steven Gay
d1e7a54f3a
print_backtrace_skipping_top_frames: Implementation for MSVC
2019-11-10 19:34:53 +03:00
Alexander Medvednikov
3d4f85069f
more vfmt fixes
2019-11-10 02:44:26 +03:00
kdmult
30481a36dc
fix broken doc on windows
...
* replace hardcoded slash with os.path_separator
* compile only, no link, if building a module
2019-11-09 23:49:15 +03:00
Daren Liang
e6c9c7d571
parser: check type for all integer only assignment operators
2019-11-09 21:57:36 +03:00
Alexander Medvednikov
b1d2c6c730
lots of vfmt fixes
2019-11-09 20:42:29 +03:00
Daren Liang
c607246218
parser: add xor type check
2019-11-09 20:36:56 +03:00
Toby Webb
ab37081f02
add production mode tests
...
Due to the inability to detect warnings in REPL tests, I implemented running something very similar, but with the -prod flag enabled.
(See https://github.com/vlang/v/pull/2536 )
There is also a minor change in os.walk_ext to not add duplicated path separators:
/path//file.ext -> /path/file.ext
2019-11-09 19:35:26 +03:00
Alexander Medvednikov
f33d8bd596
do not generate interface tables for unused interfaces
2019-11-09 18:13:51 +03:00
Alexander Medvednikov
32fec2c26c
fix interfaces on msvc
2019-11-08 23:28:32 +03:00
Alexander Medvednikov
cac719c078
[]interface
2019-11-08 22:08:02 +03:00
Alexander Medvednikov
6f95be60a1
cc.v: use msvc on Windows by default if gcc is not installed
2019-11-08 21:15:26 +03:00
Daren Liang
c4ff0d565b
parser: check mul and div operations on str variables
2019-11-08 20:26:08 +03:00
Delyan Angelov
bc826173cc
fix $if msvc conditional define
2019-11-08 16:00:55 +03:00
Alexander Medvednikov
7a8e7b4db8
fix interface methods that return a value
2019-11-08 07:43:44 +03:00
Alexander Medvednikov
985fb91ee8
rewrite interfaces
2019-11-08 07:16:53 +03:00
Daren Liang
f5438477df
parser: check mul and div operations on strings
2019-11-08 04:32:25 +03:00
Nicolas Sauzede
db4a7edf3a
fix threads to actually return a voidptr
2019-11-08 03:09:02 +03:00
Alexander Medvednikov
27f6b2dd73
table: fix float/integer cast bug
2019-11-08 02:04:00 +03:00
Alexander Medvednikov
f579376638
table: improve check_types()
2019-11-08 01:48:36 +03:00
Nicolas Sauzede
3a99217592
fix pthread 3rd arg voidptr warning
2019-11-08 00:58:49 +03:00
Delyan Angelov
a44ba0b8a2
bignum module wrapper for kokke/tiny-bignum-c
2019-11-07 22:04:18 +03:00
lorenzo pirro
6bcd0fd9cc
optimize reserved type check
2019-11-07 18:45:38 +03:00
Alexander Medvednikov
6d98203572
fix "undefined" error
2019-11-07 17:57:54 +03:00
Daren Liang
df6bdf59e6
parser: fix mod assign type check
2019-11-07 17:49:40 +03:00
Alexander Medvednikov
fbd71e1539
expression.v
2019-11-07 17:48:48 +03:00
vitalyster
2d3944250f
tools: show C output when tool can not be compiled
2019-11-07 16:17:32 +03:00
vitalyster
86447c1301
windows: use CreateProcess for os.exec
2019-11-07 16:01:17 +03:00
lorenzo pirro
d57c0cfde0
parser: fix builtin as name not allowed
2019-11-07 06:00:48 +03:00
Alexander Medvednikov
c9d0bd7404
print true and false instead of 1 and 0
2019-11-07 00:07:50 +03:00
Alexander Medvednikov
fdd4afa392
for.v and match.v; do not allow arrays in `match`
2019-11-06 23:30:08 +03:00
vitalyster
8dbeab9a7b
make V work on Windows 7
2019-11-06 23:04:40 +03:00
Alexander Medvednikov
7c70f3df93
parser: & and | type check
2019-11-06 21:20:37 +03:00
Alexander Medvednikov
0f0bef2d33
parser: more typing checks
2019-11-06 20:47:03 +03:00
Alexander Medvednikov
73134035a9
parser: remove `last`
2019-11-06 18:17:14 +03:00
Alexander Medvednikov
6afd7d50a6
parser: fix mod type check
2019-11-06 17:52:35 +03:00
Alexander Medvednikov
ca259331e4
parser: fix % type check
2019-11-06 17:35:32 +03:00
Alexander Medvednikov
b720bb2e77
parser: mark var as changed only if the receiver is mutable
2019-11-06 06:48:57 +03:00
Alexander Medvednikov
8dd335295e
new enum step 2
2019-11-06 06:26:04 +03:00
Alexander Medvednikov
4d876d1980
new enum step 1
2019-11-06 06:16:12 +03:00
Alexander Medvednikov
855a736a2c
parser: C enums + another enum simplification
2019-11-06 05:14:34 +03:00
Alvydas Vitkauskas
af81b02ef0
parser: fix shift-assign to work with all integer types
2019-11-06 03:37:31 +03:00
Alvydas Vitkauskas
3080959084
parser: make let shift operators work with all types
2019-11-06 01:02:50 +03:00
Alexander Medvednikov
1b5f724df0
#include warning
2019-11-06 00:32:15 +03:00
Alexander Medvednikov
7fc7c05e9d
parser: do not all string casts
2019-11-05 20:41:02 +03:00
Alexander Medvednikov
b91a537c35
it's better to do this locally and update v.c manually
2019-11-05 20:27:53 +03:00
Alexander Medvednikov
1687afba9f
remove locale.h and unistd.h
2019-11-05 20:05:25 +03:00
Alexander Medvednikov
b929543782
remove string.h
2019-11-05 20:00:00 +03:00
Alexander Medvednikov
62f54d9d65
remove signal.h
2019-11-05 19:57:53 +03:00
Alexander Medvednikov
dc1ca31071
enable temporary fns.h with C defs
2019-11-05 19:34:56 +03:00
vitalyster
eb069833a8
compiler: detect Cygwin and show error message
2019-11-05 19:33:24 +03:00
Alexander Medvednikov
c5d868c928
start the C header removal process
2019-11-05 19:24:00 +03:00
Alexander Medvednikov
5306c14d78
parser: nothing can be cast to bool
2019-11-05 18:58:42 +03:00
Alexander Medvednikov
07e3699700
parser: do not allow number => bool casts
2019-11-05 18:56:19 +03:00
vitalyster
67f68df8a8
compiler: display error when MinGW configuration is outdated
2019-11-05 18:39:44 +03:00
Alexander Medvednikov
b2f8944b1f
fix V.js
2019-11-05 18:18:10 +03:00
Alexander Medvednikov
425c9ce401
a special `last` variable in for loops (experimental)
2019-11-05 17:17:55 +03:00
Alexander Medvednikov
f60d44eda9
--enable-globals
2019-11-05 02:43:52 +03:00
Alexander Medvednikov
f8d14a216b
parser: print backtrace only in debug mode
2019-11-05 02:30:51 +03:00
Alexander Medvednikov
0a6840b6a6
improve a minor info message
2019-11-05 01:32:21 +03:00
Alexander Medvednikov
ee4db9f96d
parser: $if clang, $if msvc, $if mingw
2019-11-04 20:14:34 +03:00
joe-conigliaro
b8b72580a7
compiler: typo detection - fix error & slightly optimize function
2019-11-04 14:35:28 +03:00
joe-conigliaro
5d16f30a3d
parser: add error when trying to assign from a function that does not return a value
2019-11-04 14:35:10 +03:00
joe-conigliaro
5f1e634d82
compiler: improve typo detection, support all types and fn definitions
2019-11-04 04:59:28 +03:00
joe-conigliaro
a6a233df6b
compiler: remove unneeded blank ident assignment ( #2634 )
2019-11-04 10:59:18 +11:00
joe-conigliaro
df5faf35e5
compiler: optionals default value
2019-11-04 02:38:49 +03:00
Alexander Medvednikov
4e64a58ac1
scanner: fix string interpolation in raw strings
2019-11-03 23:57:26 +03:00
Alexander Medvednikov
56e1dac03a
Revert "vtools: add an info message". This broke repl tests.
...
This reverts commit 3b3f0eb507
.
2019-11-02 14:52:12 +03:00
Alexander Medvednikov
3b3f0eb507
vtools: add an info message
2019-11-02 13:27:09 +03:00
Alexander Medvednikov
3097ba93d7
vtools: do not use -prod, it slows things down too much
2019-11-02 13:26:03 +03:00
joe-conigliaro
4120982da1
compiler: add varg str method & varg / parser optimizations
2019-11-02 13:17:56 +03:00
joe-conigliaro
7b1993b1e4
vlib: filepath module
2019-11-01 19:29:51 +03:00
joe-conigliaro
fe9d884d90
parser: fix forwarding vargs & multiple call varg len fix
2019-11-01 19:14:16 +03:00
Alexander Medvednikov
80ba8f07b8
more ui vh fixes
2019-11-01 18:03:24 +03:00
Delyan Angelov
59efd42483
tools/vget => tools/v , search, install, etc
...
* compiler: rename vget to tools/vpm, implement draft support for v vpm search, v vpm update, v vpm install, v vpm remove, v vpm help .
* compiler: use "v pm" instead of "v vpm" to reduce the redundancy of typing, as suggested by slapden
* Use 'v install modulename', 'v search keywords', 'v update modulename', 'v remove modulename' instead of the longer 'v pm install modulename' etc.
2019-11-01 15:19:04 +03:00
Alexander Medvednikov
a83e233dea
building modules can now be done from any directory
2019-11-01 14:16:58 +03:00
Delyan Angelov
15d4f68af6
compiler: pass -no-pie in debug builds so that backtraces work
2019-11-01 13:20:26 +03:00
Delyan Angelov
e15abb3de0
compiler: move `v up` implementation to tools/vup.v
2019-11-01 13:14:59 +03:00
Danil-Lapirow
15f971ece7
parser: fix broken methods with vargs
2019-11-01 13:03:14 +03:00
Delyan Angelov
bfe039fcba
compiler: extract testing to tools/vtest.v
2019-11-01 02:15:03 +03:00
Alexander Medvednikov
f8f7881f89
thirdparty/ui for macOS (temporary)
2019-11-01 01:14:08 +03:00
Alexander Medvednikov
e07d3c7827
ui vh hack
2019-11-01 00:47:11 +03:00
Alexander Medvednikov
91df08f56d
cc: experimental -fast option for tcc/codegen in the future
2019-11-01 00:37:24 +03:00
Alexander Medvednikov
128d37c671
vh fixes for the UI module
2019-10-31 21:26:12 +03:00
Alexander Medvednikov
5be8b47e1c
cc.v: disable tcc on android
2019-10-31 20:32:34 +03:00
Henrixounez
55f6e810cf
repl: moved as a tool and using readline
2019-10-31 19:01:04 +03:00
ytakahashi
114953f28d
match: fix typo and remove arrows
2019-10-31 18:58:19 +03:00
joe-conigliaro
5acdf425ab
parser: move duplicate code into single function
2019-10-31 13:49:57 +03:00
Alexander Medvednikov
b1730b768d
remove a println()
2019-10-31 12:15:45 +03:00
Alexander Medvednikov
d5cf4d6fd5
compiler: -o dir/file: create a new directory if it doesn't exist
2019-10-30 20:53:34 +03:00
Alexander Medvednikov
5da3c49497
json: rename jsgen.v to json_gen.v
2019-10-30 19:45:33 +03:00
Alexander Medvednikov
6b4dcb916b
ci: bring back Vid build
2019-10-30 19:36:54 +03:00
Alexander Medvednikov
9044f1437c
v doc
2019-10-30 17:07:41 +03:00
Alexander Medvednikov
2bd2501dc0
fix new enums in tests
2019-10-30 16:38:47 +03:00
Alexander Medvednikov
aa39451c8b
arrays.range(min, max)
2019-10-30 16:21:57 +03:00
Alexander Medvednikov
96f7620628
instead of `Enum.foo` require `.foo` if it's enough + some UI fixes
2019-10-30 15:48:33 +03:00
Delyan Angelov
ba6cc5df2a
compiler: print asserted source line on failure
2019-10-30 12:15:33 +03:00
Danil-Lapirow
f161ff9db5
parser: fix tmp is already started issue
2019-10-28 23:50:58 +03:00
Delyan Angelov
3950b10d2a
compiler: make Fn struct public
2019-10-28 16:37:18 +03:00
Alexander Medvednikov
33b5afa893
V 0.1.22
2019-10-28 13:12:44 +03:00
Delyan Angelov
15deaa7eb6
compiler: improve errors when building thirdparty .o files
2019-10-28 12:43:57 +03:00
Alexander Medvednikov
44b99bc299
ci: don't run sqlite test on windows for now
2019-10-28 12:32:03 +03:00
Danil-Lapirow
a2bafaa254
parser: add error on array comparison
2019-10-28 10:26:42 +03:00
Alexander Medvednikov
1390a39053
clean up switch tokens
2019-10-27 22:42:52 +03:00
Alexander Medvednikov
9c5abd575f
parser: remove switch_statement()
2019-10-27 13:03:40 +03:00
Alexander Medvednikov
e890f682e2
[if] fn: remove unused expression
2019-10-27 12:42:31 +03:00
Alexander Medvednikov
293cf18266
enable [if vfmt]
2019-10-27 12:16:33 +03:00
Alexander Medvednikov
d00fdca38f
[if vfmt] for fgen() functions
2019-10-27 12:13:08 +03:00
joe-conigliaro
59378dce46
compiler/vlib: replace substr/left/right with `[start..end]` everywhere
2019-10-27 10:03:15 +03:00
joe-conigliaro
a075ce160e
compiler: add `[..2]` & `[2..]` support for slices
2019-10-27 09:36:04 +03:00
Alexander Medvednikov
e80cf185b9
allow public unions and interfaces
2019-10-27 02:23:52 +03:00
Alexander Medvednikov
ef022c2326
[if vfmt] function attribute for skipping functions for performance
2019-10-27 02:11:31 +03:00
Alexander Medvednikov
dd12a85429
array: fix a regression
2019-10-26 22:26:30 +03:00
Alexander Medvednikov
570a7aaaf3
a[start..end] slicing
2019-10-26 22:20:13 +03:00
Alexander Medvednikov
70c9565607
array: fix map() return type and handle []bool
2019-10-26 14:49:36 +03:00
Alexander Medvednikov
4ef10c92f4
array: map() method
2019-10-26 14:28:11 +03:00
Alexander Medvednikov
f6f5b8cfb1
bring back string.h for now
2019-10-26 11:51:22 +03:00
Alexander Medvednikov
ef45a87882
remove string.h include
2019-10-26 11:29:56 +03:00
Alexander Medvednikov
58f0503f6d
cc.v: bring back implicit fn declaration
2019-10-26 11:09:20 +03:00
Alexander Medvednikov
7de95a642e
remove more C headers
2019-10-26 02:08:46 +03:00
Alexander Medvednikov
8d2111169a
fix V.js methods and duplicate .str() in arrays
2019-10-25 22:38:39 +03:00
Delyan Angelov
8364130a1f
compiler: implement error_with_code(s string, code int)
...
Make available the integer code as errcode to callers/unwrappers
2019-10-25 22:03:42 +03:00
Alexander Medvednikov
9c5a359de3
fix V.js methods after the recent generics fix
2019-10-25 21:57:32 +03:00
Simon Heuser
280c7d396c
generics: generic methods, cast to T
2019-10-25 21:32:27 +03:00
Alexander Medvednikov
7d02eccbce
cc.v: fix tcc check
2019-10-25 20:11:53 +03:00
Alexander Medvednikov
c30f16a038
parser: add ; after a goto label
2019-10-25 18:53:45 +03:00
Alexander Medvednikov
090e1a87b7
linux: use gcc if tcc fails
2019-10-25 18:49:49 +03:00
Alexander Medvednikov
c7e6d379da
$if glibc {
2019-10-25 18:33:02 +03:00
Alexander Medvednikov
a83aa28a67
urllib: switch => match
2019-10-25 17:54:34 +03:00
Alexander Medvednikov
d0cbb4041b
disable backtrace for now
2019-10-25 17:38:07 +03:00
Alexander Medvednikov
e04c4ad852
remove execinfo.h include
2019-10-25 17:20:49 +03:00
joe-conigliaro
7d418e9105
parser: cleanup & reuse
2019-10-25 16:34:12 +03:00
Alexander Medvednikov
784847cf18
make V compile
2019-10-25 16:06:21 +03:00
Alexander Medvednikov
ea3f9b5b9a
remove execinfo.h header
2019-10-25 12:13:38 +03:00
Alexander Medvednikov
4e21e9ed44
minor V.js fixes
2019-10-25 12:13:38 +03:00
Toby Webb
c456ba6bde
parser: fix incorrect unused var message
2019-10-25 10:27:43 +03:00
joe-conigliaro
4443fef6c3
compiler: add const to typo suggestions + small typo format update
2019-10-25 10:26:14 +03:00
Alexander Medvednikov
d4c1bba856
fix V.js
2019-10-24 22:58:01 +03:00
Alexander Medvednikov
892d1c6aab
vweb: first step to revive it
2019-10-24 22:46:58 +03:00
Alexander Medvednikov
36eb1b77d0
compiler: remove remaining switch statements and show a warning
2019-10-24 19:26:51 +03:00
Alexander Medvednikov
753fe32793
parser: remove more switch statements
2019-10-24 16:02:24 +03:00
Alexander Medvednikov
695245d307
struct.v
2019-10-24 15:56:10 +03:00
Alexander Medvednikov
bac690bbc8
parser: replace the switch statement in `parse()`
2019-10-24 15:50:46 +03:00
Alexander Medvednikov
3a929faf26
enums: make `in` work without specifying the full type
2019-10-24 15:41:34 +03:00
Alexander Medvednikov
560ae9352c
nice enum works
2019-10-24 15:41:34 +03:00
Alexander Medvednikov
dca49e43d9
c defs
2019-10-24 15:41:34 +03:00
joe-conigliaro
580abe0de4
lower/snake case consts & enums
2019-10-24 14:48:20 +03:00
Alexander Medvednikov
75a6c759c7
enum snake_case check
2019-10-24 14:25:03 +03:00
Alexander Medvednikov
3d6bdc2dc3
public enums + more public structs (libs/examples/tests)
2019-10-24 13:24:50 +03:00
joe-conigliaro
1a2db54bc1
compiler: cgen - fix typo. dependency was spelled wrong
2019-10-24 21:23:11 +11:00
Alexander Medvednikov
4a88a28a3b
make all necessary structs public
2019-10-24 12:51:00 +03:00
Alexander Medvednikov
dce3275df4
make necessary consts public
2019-10-24 12:36:57 +03:00
Alexander Medvednikov
1c564bc118
compiler: public consts and structs
2019-10-24 12:26:43 +03:00
joe-conigliaro
71d965b6a2
compiler: add hint to use references for dependant struct fields
2019-10-24 11:18:50 +03:00
joe-conigliaro
baf49b2523
show struct dependency cycles in error & update module cycle error ( #2517 )
2019-10-24 15:53:39 +11:00
Alexander Medvednikov
f14425ec18
do not allow one letter struct names
2019-10-23 23:46:07 +03:00
joe-conigliaro
2f5a742f3e
compiler: generic variadic fix
2019-10-23 19:44:05 +03:00
joe-conigliaro
0cf3e2e677
compiler: add variadic support for generic functions
2019-10-23 17:48:06 +03:00
Alexander Medvednikov
054dd237a4
V.js: remove u8
2019-10-23 15:56:57 +03:00
Alexander Medvednikov
1db1e0f4b7
1
2019-10-23 15:55:14 +03:00
Alexander Medvednikov
e69117a8f3
vh types + fn receiver name check
2019-10-23 15:42:50 +03:00
Alexander Medvednikov
27e254c738
now bring _windows.v back
2019-10-23 12:54:45 +03:00
Alexander Medvednikov
95321f5b33
fix module_test.v
2019-10-23 12:50:18 +03:00
Alexander Medvednikov
b298b397dc
vh gen: consts before fns
2019-10-23 12:35:51 +03:00
Alexander Medvednikov
2e28691254
_windows.v fix
2019-10-23 12:25:00 +03:00
Alexander Medvednikov
a6aad880f7
gg: resizable window option
2019-10-23 12:17:08 +03:00
Alexander Medvednikov
8b74c711c6
vh generation: consts + cleanup
2019-10-23 11:09:54 +03:00
Alexander Medvednikov
0806aa353c
match: second step
2019-10-23 01:06:06 +03:00
Alexander Medvednikov
d8edc27805
match: this needs a 2 step PR
2019-10-23 01:00:52 +03:00
Alexander Medvednikov
9743b04fe6
update match statement
2019-10-23 00:56:25 +03:00
Alexander Medvednikov
4574039e4d
new vh generation + simpler match statement
2019-10-23 00:45:17 +03:00
Alexander Medvednikov
7696a600f6
compiler: fix V build on Windows
2019-10-22 21:29:32 +03:00
Delyan Angelov
eeea257467
clean up empty lines in errors; simplify source line tracking
2019-10-22 18:38:17 +03:00
Arthur Kennedy Otieno
fb89c12d90
V.js: remove a text block resulting in syntax errors
2019-10-22 08:02:31 +03:00
Toby Webb
fdfa564865
parser: minor syntax fix
2019-10-21 22:04:57 +03:00
Alexander Medvednikov
a29c80ca3d
make the unsafe error a warning for now
2019-10-21 18:53:55 +03:00
joe-conigliaro
7680d9a23c
compiler: variadic fn - fix unexpected token `,` error from #2433 ( #2468 )
...
* merge master
* fix unexpected token
2019-10-21 23:30:34 +11:00
Delyan Angelov
eef73eea22
tools: new tool to extracts function names declared in V files
2019-10-21 14:14:28 +03:00
Delyan Angelov
cd8b0d04bb
parser: support for 'enum Color {red = 31 yellow green blue}'
2019-10-21 14:00:41 +03:00
Emily Hudson
a52cb315cb
fix memory bug with generic code generation
2019-10-21 13:54:37 +03:00
Toby Webb
dfc654f84e
const declarations should be order independent
2019-10-21 08:57:29 +03:00
Emily Hudson
2829298de7
live: Fix MSVC hot code reloading ( #2460 )
2019-10-21 12:15:43 +11:00
Alexander Medvednikov
3d6b936f38
parser: undefined error
2019-10-20 20:47:27 +03:00
Alexander Medvednikov
c13b58e6db
[deprecated] attribute
2019-10-20 20:15:48 +03:00
Alexander Medvednikov
1b518c158b
unsafe keyword + make array.free() an unsafe method
2019-10-20 20:10:44 +03:00
joe-conigliaro
f7c00b8180
compiler: blank ident - consolidate duplicated code into single function
2019-10-20 12:24:12 +03:00
Simon Heuser
8a31ee4b53
generic functions
2019-10-20 10:19:37 +03:00
Alexander Medvednikov
f63e24e51d
clean up vtest.v a bit
2019-10-20 09:56:33 +03:00
eau
6d8548d7a5
compiler: add missing header file on OpenBSD
2019-10-20 07:00:01 +03:00
Delyan Angelov
5977fc0644
compiler: print relative file paths for files in the current directory
2019-10-19 12:03:04 +03:00
joe-conigliaro
c24d94f87f
compiler: fix mistake in comptime.v ( #2425 )
...
* merge master
* fix mistake in comptime.v
2019-10-19 19:40:01 +11:00
joe-conigliaro
b51b8858d6
compiler: update & enable cflag error ( #2420 )
...
* merge master
* update & enable cflag error
2019-10-19 11:38:02 +11:00
joe-conigliaro
22c7438795
compiler: cflag error - closes #2406 ( #2417 )
...
* merge master
* fix blank ident & add cflag error
* undo cflag changes
* add missing brace
* undo change to comptime
* improve error message
* update
2019-10-19 08:18:08 +11:00
joe-conigliaro
28b24eeef6
compiler: blank ident error fixes + other small cflag / parser fixes ( #2418 )
...
* merge master
* fix blank ident & add cflag error
* undo cflag changes
* fix gen_js
* undo gen_js changes
* fix
* fix
2019-10-19 08:00:47 +11:00
Alexander Medvednikov
c18578af6f
compiler: linux tcc fixes
2019-10-18 20:49:43 +03:00
Danil-Lapirow
bb9d95e9aa
parser: allow '' in attributes
2019-10-18 20:17:23 +03:00
joe-conigliaro
689003454b
only register initial varg struct on first pass ( #2404 )
2019-10-18 19:28:14 +11:00
Alexander Medvednikov
368e8e85a8
compiler: info message when trying to use an old command
2019-10-18 09:56:57 +03:00
Alexander Medvednikov
c355e967ad
move array filter codegen to comptime.v
2019-10-18 07:58:54 +03:00
Alexander Medvednikov
d501dc4c11
compiler: first step to validate cmd flags
2019-10-18 07:48:46 +03:00
Alexander Medvednikov
80e79a3966
array: optimized generic filter()
2019-10-18 07:30:39 +03:00
pfefferminz132
eda0c73bef
compiler: use eprintln for cache diagnostic messages
2019-10-18 06:16:33 +03:00
Simon Ernst
270934441c
os: make ls() return an optional
2019-10-17 14:30:05 +03:00
joe-conigliaro
4932a32d91
compiler: fix os import by default in v scripts
2019-10-17 11:52:46 +03:00
Alexander Medvednikov
5cd38ec91b
V shell scripts
2019-10-17 08:27:27 +03:00
Vinicius Rangel
96152510e5
parser: interpolation calling twice fix
...
if string interpolation needs to call a function, it will cache the
return to .len & .str usage in the generated code
2019-10-17 07:02:02 +03:00
Vinicius Rangel
5481f226dd
parser: Infinite multi-dimensional array
2019-10-17 06:52:58 +03:00
Alexander Medvednikov
5faa7e7861
Revert "repl: add readline for user input "
...
This reverts commit 83732642ac
.
2019-10-17 03:37:30 +03:00
Henrixounez
83732642ac
repl: add readline for user input
2019-10-16 18:38:07 +03:00
Alexander Medvednikov
66f36be7d0
Revert "repl: readline line editing "
...
This reverts commit 1956c6f906
.
2019-10-16 03:31:48 +03:00
Alexander Medvednikov
526f1a3172
Revert "Revert "parser: fix programs without fn main""
...
This reverts commit 61af044316
.
2019-10-16 03:20:16 +03:00
vitalyster
9b38f59184
msvc: detect x86 host and use x86 build tools
2019-10-16 02:54:35 +03:00
Henrixounez
1956c6f906
repl: readline line editing
2019-10-16 02:50:48 +03:00
vitalyster
0e0f0ae5ea
escape os.exec('"$vexec"') to support directories with spaces
2019-10-16 02:49:51 +03:00
Alexander Medvednikov
49d6c26da4
parser: do not allow str[i++]; update contributing.md
2019-10-15 11:06:22 +03:00
Alexander Medvednikov
f9593bd857
builtin: float.v + remove #include <math.h>
2019-10-15 08:41:45 +03:00
joe-conigliaro
ae3ec380f8
add notice about msvc compilation ( #2340 )
2019-10-14 18:36:29 +11:00
Nicolas Sauzede
eb031b6800
compiler: enhance non-pub struct fields error message
2019-10-14 10:15:21 +03:00
Alexander Medvednikov
a68222b55b
comptime: fix tcc check
2019-10-14 08:53:03 +03:00
joe-conigliaro
9a2b8a0814
compiler: move msvc compiler to -cc flag instead of -os ( #2338 )
...
* move msvc to -cc flag instead of -os
* undo unrelated change
* do first build without msvc
* remvove flags temp
* fix comment
2019-10-14 16:41:46 +11:00
Alexander Medvednikov
093d8a2b00
compiler: remove math dependency
2019-10-14 08:34:48 +03:00
joe-conigliaro
7dc740d084
CI: fis vjs build failure ( #2337 )
...
* fix ci building v
* fix v.js
* more js fix
* test
* fix
* remove testing
2019-10-14 15:42:27 +11:00
joe-conigliaro
de10a529b0
CI: fix building v
2019-10-14 07:08:02 +03:00
Alexander Medvednikov
e2bca190a9
compiler: v.v fixes
2019-10-14 05:18:48 +03:00
joe-conigliaro
e5b0478e19
compiler: optimize, don't rescan module directory for files ( #2334 )
...
* optimize, don't rescan module directory for files
* move from table to v
2019-10-14 12:07:59 +11:00
Alexander Medvednikov
6a951751f7
compiler: fix building_v
2019-10-14 03:56:53 +03:00
Alexander Medvednikov
b237ffcf09
Revert "move compiler/main.v to v.v"
...
This reverts commit 3748de8736
.
2019-10-14 03:48:36 +03:00
Alexander Medvednikov
3748de8736
move compiler/main.v to v.v
2019-10-14 03:38:06 +03:00
Alexander Medvednikov
61af044316
Revert "parser: fix programs without fn main"
...
This reverts commit bf21108fdb
.
2019-10-13 17:55:12 +03:00
Alexander Medvednikov
b1806b57d8
tests: no main fn
2019-10-13 17:50:55 +03:00
joe-conigliaro
a90427a663
parser: fix variadic function unused var C error
2019-10-13 16:58:54 +03:00
Delyan Angelov
53c64abdeb
compiler: make compiler an ordinary vlib/compiler module
...
* Move compiler/ under vlib/compiler/ .
* Add a minimal compiler/main.v driver program.
* Cleanup compiler/main.v .
* Make most compiler tests pass again.
* Apply the fix by @joe-conigliaro , so that the rest of the compiler tests are fixed too.
* Thanks to @avitkauskas, now the vlib/vcompiler/tests/str_gen_test.v test does not need to be special cased anymore.
* Reapply @joe-conigliaro fix for vgen.
2019-10-13 16:37:43 +03:00