Alexander Medvednikov
cddfbf7395
parser: allow public types `pub type Foo Bar`
2019-12-12 22:57:47 +03:00
Alexander Medvednikov
b8f728590b
string: last_index ?int
2019-12-12 21:54:48 +03:00
Alexander Medvednikov
bd833deef3
assoc: verify the field exists and verify the type
2019-12-12 20:38:49 +03:00
Alexander Medvednikov
6982f4a5a2
parser: force {} blocks on new lines
2019-12-12 20:27:05 +03:00
Alexander Medvednikov
8ba29f968a
cc.v: hide "mingw" not found message
2019-12-12 14:27:47 +03:00
Alexander Medvednikov
88ec9c235d
sort structs: handle fixed size arrays
2019-12-12 14:21:22 +03:00
Alexander Medvednikov
576618d8cc
string cloning; fix `foo.str += 's'`
2019-12-12 05:20:52 +03:00
Alexander Medvednikov
e182274fe7
free memory block
2019-12-11 23:58:51 +03:00
Alexander Medvednikov
ad250523cd
fix parser.fileis()
2019-12-11 21:42:22 +03:00
Alexander Medvednikov
6ffed854cc
cgen.prepend_to_statement()
2019-12-11 20:51:58 +03:00
Alexander Medvednikov
47f9c02331
Revert "cgen.prepend_to_statement()"
...
This reverts commit 507c71ad80
.
2019-12-11 20:37:39 +03:00
Alexander Medvednikov
507c71ad80
cgen.prepend_to_statement()
2019-12-11 19:33:54 +03:00
Alexander Medvednikov
7dcd47369b
option to pre-allocate a memory block
2019-12-11 18:41:25 +03:00
Delyan Angelov
13769f440f
vweb: continue after bad http client connection; performance fixes
...
* Enable compiling vweb with -prod (by supressing 'declared and not used' warning about 'reset') .
* Fix http responses (now wrk is happy and shows no errors) by adding a Content-Length header.
* Fix -g compilation for urllib.v .
* vweb: println action= only in debug mode.
* vweb: max request headers counting fix.
* Make vweb.html get a 'ctx mut Context' param, just like the other methods.
* vweb: simplify add_header.
* Use a string builder for the most common html case so that the response http text can be send in one go.
* vweb: reduce _STR/string interpolation usage in the most common html response case.
* vweb: refactor common http response formatting into Context.send_response_to_client/2 method.
2019-12-11 17:32:54 +03:00
Alexander Medvednikov
cfeec92826
use -Wunused-function for now
2019-12-11 15:51:12 +03:00
joe-conigliaro
3486118ab7
compiler: force custom struct .str() methods to be defined public
2019-12-11 03:24:26 +03:00
Alexander Medvednikov
cdfbb2978d
strings: replace_each([]); orm: update
2019-12-10 23:57:49 +03:00
joe-conigliaro
4e69c40e12
parser: fix use blank ident as value
2019-12-10 21:35:59 +03:00
joe-conigliaro
6d5e9f88f8
parser: allow enums to be used as bitfield flags
2019-12-10 06:16:47 +03:00
Alexander Medvednikov
6f49d4c1d2
orm: bool support; vweb fixes
2019-12-09 23:20:29 +03:00
Alexander Medvednikov
8082a5e7f4
fix benchmarking stats
2019-12-09 17:25:56 +03:00
Delyan Angelov
f68d9d1a16
live: always add os and time when compiling -live programs
...
Fixes fail when -live user programs do not use os and time.
2019-12-09 13:48:41 +03:00
Alexander Medvednikov
b2207c3d28
do not prepend module to external fn name
2019-12-09 00:24:50 +03:00
Alexander Medvednikov
4ebf53c6e9
allow non snake_case fn names in imported fns
2019-12-08 23:56:31 +03:00
Alexander Medvednikov
8f9b6ac248
'$foo()' string interpolation
2019-12-08 23:18:11 +03:00
Alexander Medvednikov
874ff42687
temporary fix of "v -g v.v"
2019-12-08 20:58:16 +03:00
Alexander Medvednikov
4d1f721558
fix "" string interpolation bug
2019-12-08 20:06:00 +03:00
Alexander Medvednikov
02eee49d25
fix defer_test
2019-12-08 15:30:14 +03:00
Alexander Medvednikov
c9886e6f42
use ++ everywhere
2019-12-08 14:34:51 +03:00
Alexander Medvednikov
cc682eafe1
require ++ instead of += 1
2019-12-08 14:11:25 +03:00
bogen85
8178e1f7da
freestanding: malloc/free with mm_alloc an mm_free
...
Added more array support that depends on malloc. Added string clone (that uses malloc). Added test for it. Eliminated stack allocated buffers from most of the unit checks.
2019-12-08 13:44:52 +03:00
Alexander Medvednikov
6ec626c5e9
improve invalid character errorrs
2019-12-08 12:57:40 +03:00
Alexander Medvednikov
8b0de95c0a
improve the C struct check
2019-12-08 04:23:22 +03:00
Alexander Medvednikov
6ae51b2cbf
handle unknown C types
2019-12-08 04:10:56 +03:00
Alexander Medvednikov
7069cd6ab5
a separate scope for x := opt, part 2
2019-12-08 00:45:42 +03:00
Alexander Medvednikov
b26a0bde38
a separate scope for x := opt, part 1
2019-12-08 00:34:04 +03:00
Alexander Medvednikov
06a0f39f7b
a separate scope for
2019-12-08 00:30:06 +03:00
Alexander Medvednikov
dc2da1de98
fix V build
2019-12-08 00:27:24 +03:00
Alexander Medvednikov
8ebc2fe601
do not allow redefinition in `x := opt() {`
2019-12-07 23:09:48 +03:00
Alexander Medvednikov
b79588dc69
handle bad value in `if x := opt() {`
2019-12-07 23:05:54 +03:00
Alexander Medvednikov
c019dd6f98
test assert in functions that return values
2019-12-07 22:42:20 +03:00
bogen85
751ba48bf5
freestanding improvements (exit, function checks)
...
Fixed exit for freestanding (as assert now uses it).
Running each function check now in a forked process so they can be killed or return other exit codes (and so each function runs, even if others crash)
2019-12-07 22:25:19 +03:00
Alexander Medvednikov
d73586743b
fix assert in functions that return values
2019-12-07 19:33:59 +03:00
Alexander Medvednikov
b9a24e3b51
Revert "use stdint.h with msvc"
...
This reverts commit 93529031de
.
2019-12-07 19:25:17 +03:00
Alexander Medvednikov
93529031de
use stdint.h with msvc
2019-12-07 19:20:53 +03:00
Alexander Medvednikov
63ec3c0486
fix a wrong "0 character in a string literal" error
2019-12-07 18:19:48 +03:00
Alexander Medvednikov
9cba3bdf78
windows: WideCharToMultiByte() returns an int
2019-12-07 17:31:07 +03:00
Alexander Medvednikov
ad6adf327e
vlib: fix missing `else{}` in match statements
2019-12-07 17:23:37 +03:00
Alexander Medvednikov
2fb7fba856
require `else` in `match` statements
2019-12-07 17:01:44 +03:00
Alexander Medvednikov
a594e009f2
test high order function
2019-12-07 16:13:25 +03:00
Alexander Medvednikov
f51784ee01
remove unnecessary casts everywhere
2019-12-07 15:51:00 +03:00
Alexander Medvednikov
d7ccbba2c9
do not allow casting a type to itself
2019-12-07 15:31:56 +03:00
Alexander Medvednikov
cc834dd7a7
parser: `x in []` is always false
2019-12-07 03:05:19 +03:00
Alexander Medvednikov
55f32fc413
more mutability fixes
2019-12-06 19:23:24 +03:00
Alexander Medvednikov
e3b5d7fd7c
rename if_st to if_statement
2019-12-06 19:21:26 +03:00
Alexander Medvednikov
c8d111924d
check unused and unmodified vars in all modules, not just main
2019-12-06 18:43:56 +03:00
Alexander Medvednikov
aed22a57e3
fixed size array with const length (`[N]int`)
2019-12-06 02:41:03 +03:00
Alexander Medvednikov
71c0c4803f
ORM fixes
2019-12-06 02:00:37 +03:00
Alexander Medvednikov
79b26b1654
use get_type2 in struct.v
2019-12-05 19:02:33 +03:00
Alexander Medvednikov
cca650c655
better `foo must return (int, int)` error
2019-12-05 18:55:27 +03:00
Alexander Medvednikov
cb46bf314e
get_type.v
2019-12-05 18:48:39 +03:00
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