Alexander Medvednikov
ed93185cb7
fix base64 test
2019-09-28 22:23:22 +03:00
Alexander Medvednikov
9eac16b976
parser: struct names must be capitalized
2019-09-28 22:20:34 +03:00
Delyan Angelov
a4cbe78d97
compiler: streamline main function handling
...
* compiler: streamline C main function generation
* fix most tests
* compiler: fix for 'go update()' in graph.v . More precise parser error messages.
* Fix temporarily examples/hot_reload/message.v by using os inside it (os.clear).
* Make graph.v easier to quickly modify by defining y outside the loop.
* Fix failure of /v/nv/compiler/tests/defer_test.v when run with 'v -g' (#line directive was not on its own line, but right after } ).
* Do not pass the os.args to tests, even if the tests import os (they are more stable when run in a controlled environment).
* fix declared and not used in the js backend.
* fix js main => main__main too.
2019-09-28 20:42:29 +03:00
Delyan Angelov
0160c7a89d
compiler: change s.line_nr in just one place in tandem with s.last_nl_pos
...
* compiler: change s.line_nr in just one place, so that s.last_nl_pos will be updated in tandem too.
* v test v: run repl tests again
* Show gcc version in both windows gcc cases in a) github actions, and b) travis .
* adding inline to is_name_char is_nl and contains_capital does not help actually, just increases slightly binary size.
* Cleanup spurious spaces.
2019-09-28 20:41:11 +03:00
joe-conigliaro
ed3a4961d0
compiler: blank identifier for loops. dont declare any variables
2019-09-28 19:53:56 +03:00
Swastik Baranwal
7952d591b9
parser: Update Division or Modulo by Zero Message
2019-09-28 19:52:52 +03:00
Alexander Medvednikov
d59d921e84
disable the vget test for now
2019-09-28 15:18:48 +03:00
Alexander Medvednikov
e19b630ab1
disable the vget test for now
2019-09-28 15:00:51 +03:00
Alexander Medvednikov
0bfb88e2e6
fix the vget test
2019-09-28 14:58:24 +03:00
Alexander Medvednikov
dc28c787d1
travis: re-write the vget test in V
2019-09-28 14:40:09 +03:00
sunnylcw
4b03abdaff
compiler: enable FreeBSD's cflags for freetype & glfw
2019-09-28 14:18:04 +03:00
lutherwenxu
5c79c0e743
compiler: enforce reserved keywords replacement
...
* compiler: Enforce reserved keywords replacement on empty value initialization
* compiler: Add test for reserved keywords enforcement
A new struct has been introduced in the tests that contains all C reserved keywords that are not reserved in V. Some read and write are tested too.
2019-09-28 14:13:09 +03:00
joe-conigliaro
0fc9ada0aa
parser: use actual blank ident for consts
2019-09-28 13:59:54 +03:00
luoheng
5348c667cc
compiler/parser: fix single element in array error
2019-09-28 13:50:30 +03:00
joe-conigliaro
802da8f31d
compiler: clean up. remove new_parser_string_id ( #2140 )
...
* clean up
* fix comment
* fix comment
2019-09-28 04:56:05 +03:00
Alexander Medvednikov
1821dac795
compiler: remove old generics hack; disable generics and repl tests for
...
now
2019-09-28 02:29:04 +03:00
Alexander Medvednikov
dd58298500
compiler: fix interfaces after the recent tokens change
2019-09-27 21:01:08 +03:00
unknown-v
14a8d4ae3c
parser: replace "≠" with "!="
2019-09-27 18:55:30 +03:00
joe-conigliaro
ad99b82930
compiler: make vgen use strings.Builder & allow parser creation from string
2019-09-27 14:02:01 +03:00
Alexander Medvednikov
8cbfd7a9da
parser: partial interface fix
2019-09-27 06:03:54 +03:00
Alexander Medvednikov
8f9c0b621e
parser: fix columns in errors
2019-09-27 05:27:57 +03:00
Alexander Medvednikov
da43267e09
parser: cached tokens (second step)
2019-09-27 04:01:12 +03:00
Alexander Medvednikov
a45255337d
bring back "parser: cache tokens (first step)"
...
This reverts commit 0fcdd7db35
.
2019-09-27 04:00:48 +03:00
Alexander Medvednikov
367f8d6130
solaris: add -lm
2019-09-27 00:53:57 +03:00
Alexander Medvednikov
74bbf592d1
solaris: another fix
2019-09-27 00:30:41 +03:00
Alexander Medvednikov
107e9107c8
solaris support
2019-09-27 00:23:27 +03:00
vitalyster
9834ccfcd9
windows: Unicode and IPv6 http/sockets
...
cleanup schannel implementation (drop NT4.0 compatibility, use unicode strings, etc)
restore http tests
fix socket test: it did not throw before
2019-09-26 22:54:15 +03:00
Delyan Angelov
22d91148ca
compiler: passing -g3 adds mode debug info
2019-09-26 21:58:08 +03:00
joe-conigliaro
157ef46d5a
parser: fix a few things in with blank ident
2019-09-26 14:09:59 +03:00
Alexander Medvednikov
0fcdd7db35
Revert "parser: cache tokens (first step)"
...
This reverts commit 8992707fbb
.
2019-09-26 06:05:18 +03:00
Alexander Medvednikov
8992707fbb
parser: cache tokens (first step)
2019-09-26 05:20:08 +03:00
Alexander Medvednikov
04e4018228
compiler: small fixes + some logic for freeing strings
2019-09-26 03:24:58 +03:00
Delyan Angelov
ab291902d8
compiler: remove special case for http__init_module call
...
tmp fix until `fn init()` is supported
2019-09-25 23:28:51 +03:00
Delyan Angelov
3fbfc5fbd4
repl: tests show difference (in color where available)
2019-09-25 22:00:56 +03:00
joe-conigliaro
d4bae356ba
compiler/vlib: add error for no new vars in loop ("_,_") & remove "." from errors
2019-09-25 17:59:50 +03:00
joe-conigliaro
8974aa4513
compiler/vlib: change `_ :=` to `_ =` and disable `_ :=`
2019-09-25 15:10:45 +03:00
joe-conigliaro
746655c1d5
compiler: re assignable blank identifier `_` & no longer a variable
2019-09-25 14:53:44 +03:00
Alexander Medvednikov
55d09d23b4
compiler: rename cerror() to verror(); some small optimizations
2019-09-24 19:38:04 +03:00
joe-conigliaro
3317d7fd7c
compiler: clean up multiple returns and verify number of returned values
2019-09-24 13:14:04 +03:00
joe-conigliaro
a44a03f9a5
compiler: fix mark_var_used()
2019-09-24 06:18:06 +03:00
Alexander Medvednikov
d74c91616f
remove all p.log()'s
2019-09-23 23:18:55 +03:00
Alexander Medvednikov
d2d75f3824
parser: do not allow "int?", only "?int"
2019-09-23 23:17:06 +03:00
Alexander Medvednikov
f27f3515ae
compiler: optimize mark_var_used() etc
2019-09-23 23:06:40 +03:00
Alexander Medvednikov
8d52d877fb
compiler: free local_vars
2019-09-23 22:16:52 +03:00
Alexander Medvednikov
bf1ee28194
ui: Objective-C @interface support for Cocoa; minor clean-ups
2019-09-23 15:54:17 +03:00
joe-conigliaro
fbc19311b5
compiler: clean up get_file_import_table
2019-09-23 15:12:23 +03:00
joe-conigliaro
422ba3a3ce
compiler: unused module check always
2019-09-23 15:11:05 +03:00
joe-conigliaro
23c84516e2
compiler: error on unused imports
2019-09-23 13:42:20 +03:00
joe-conigliaro
090ca27b15
compiler: improve module typo error message
2019-09-23 13:40:18 +03:00
joe-conigliaro
23e30962b9
compiler: multiple returns - add test & fix use with array/map
2019-09-23 13:39:35 +03:00
joe-conigliaro
60d932e57d
compiler: functions with multiple returns
2019-09-23 05:45:19 +03:00
Alexander Medvednikov
b4207e1be7
compiler: allow "u64_var == 0" without casting the const literal
2019-09-23 02:14:10 +03:00
Delyan Angelov
a585c8c22c
compiler: compile thirdparty object files using module specific flags
2019-09-23 00:51:59 +03:00
Delyan Angelov
7421781150
CI: split jobs into more steps; compiler: fix "v test v" with tcc
2019-09-22 17:24:15 +03:00
Delyan Angelov
049e228003
compiler: pass -cflags to thirdparty building stage too
2019-09-22 10:56:02 +03:00
Alexander Medvednikov
cec2173381
array: fix memory bug with mutable array args
2019-09-22 10:33:47 +03:00
Alexander Medvednikov
6a788bb364
testing: do not allow fn main in tests and make sure there is at least one test fn
2019-09-22 09:49:33 +03:00
luoheng
f1d5f8e2bf
parser: allow `!` only with bools
2019-09-21 18:21:45 +03:00
Alexander Medvednikov
a232b215a7
double quotes for denoting strings
2019-09-21 17:18:02 +03:00
joe-conigliaro
b1e1536d56
compiler: fix live reload on win with auto completed filename `.\file.v`
2019-09-21 17:08:48 +03:00
Nicolas Sauzede
56e880117e
fix windows printf output to match standard unix line buffering
2019-09-21 01:29:11 +03:00
Alexander Medvednikov
90e26a34c5
scanner: better interpolation names + disable vweb html test for now
2019-09-21 01:27:13 +03:00
Alexander Medvednikov
6ebd62020a
double quote
2019-09-21 01:23:53 +03:00
Alexander Medvednikov
ecc8728643
vweb: allow running vweb apps from a different directory
2019-09-21 01:17:52 +03:00
Alexander Medvednikov
79abc0c16f
vweb: fix html example
2019-09-21 01:10:37 +03:00
Henrixounez
ffcff9ebd4
builtins: ustring comparisons, concatenation and other functions
2019-09-20 19:07:38 +03:00
vitalyster
f1bb25bfaf
windows: Unicode input in REPL
2019-09-20 17:03:13 +03:00
Delyan Angelov
f042dfb861
compiler: fix line numbers in unused variable error messages
2019-09-20 13:42:37 +03:00
joe-conigliaro
f657d70a67
typo detection: only check fn variables in same or higher scope
2019-09-20 12:23:42 +03:00
Alexander Medvednikov
9a7fface7d
make the unused variable error a warning in non-production builds
2019-09-19 19:50:43 +03:00
Alexander Medvednikov
b6bb6a5a60
do not allow `go print()`
2019-09-19 18:02:31 +03:00
Alexander Medvednikov
c8a781bf77
disable -compress on windows
2019-09-19 16:05:17 +03:00
Alexander Medvednikov
afb372bbdf
-compress option
2019-09-19 15:52:38 +03:00
Alexander Medvednikov
ad6ab39287
table: use ?Var in find_const()
2019-09-19 14:19:44 +03:00
Alexander Medvednikov
f629069572
autofree: free strings
2019-09-19 14:04:27 +03:00
joe-conigliaro
153c6d5416
compiler: fix `v up` when run from dir with space in name
2019-09-19 13:11:25 +03:00
Alexander Medvednikov
a94c1556ce
array: remove temporary repeat2()
2019-09-19 05:22:24 +03:00
Alexander Medvednikov
cb31eeec55
compiler: first step to require explicit definition of imported C fns
2019-09-19 05:16:25 +03:00
Alexander Medvednikov
13e4c79f58
table: use optional in find_method()
2019-09-19 04:56:22 +03:00
vitalyster
377956e969
js: no need to generate ES6 classes
2019-09-19 00:03:54 +03:00
Alexander Medvednikov
74b82b688c
table: simplify find_method()
2019-09-18 19:48:28 +03:00
Danil-Lapirow
b0092235fc
parser: fix a more complicated "in" usage
2019-09-18 16:13:22 +03:00
joe-conigliaro
695d4018ea
compiler: let attributes work with pub functions
2019-09-18 15:32:55 +03:00
Alexander Medvednikov
040d03912b
table: use an optional for find_fn()
2019-09-18 15:06:34 +03:00
Alexander Medvednikov
1c6cbdace5
make sure "v test v" is run in the V repo
2019-09-18 14:43:44 +03:00
Alexander Medvednikov
d180324413
find_field: use optional
2019-09-18 14:28:11 +03:00
Alexander Medvednikov
d1500511e6
"none" keyword for optionals + more memory fixes
2019-09-18 14:15:10 +03:00
Alexander Medvednikov
ecffa8e1d9
v.js: fix for ..
2019-09-17 22:21:44 +03:00
Alexander Medvednikov
1796869da7
V 0.1.20
2019-09-17 21:48:24 +03:00
vitalyster
52c5f0172e
compiler: always define _UNICODE and UNICODE on Windows
2019-09-17 14:56:32 +03:00
Alexander Medvednikov
0a2f7a6ba7
fix tests
2019-09-17 13:37:25 +03:00
Alexander Medvednikov
1397d532c6
compiler: check if mutable receivers are modified
2019-09-17 13:10:43 +03:00
Alexander Medvednikov
19b04d5427
math: fix const warnings
2019-09-16 22:49:18 +03:00
Delyan Angelov
083d747302
V.js: on linux -lm is needed
2019-09-16 22:00:59 +03:00
Alexander Medvednikov
a81656568b
travis: test JS backend
2019-09-16 19:02:16 +03:00
Alexander Medvednikov
c76d09f9a5
make V.js compile
2019-09-16 18:31:13 +03:00
BigBlack
3e52984e88
compiler: another C function call fix
2019-09-16 18:28:20 +03:00
Delyan Angelov
7cf7215557
testing: always show benchmarks
2019-09-16 18:27:55 +03:00
Delyan Angelov
a45895a3af
new benchmark module + make the tests use it
2019-09-16 17:29:06 +03:00
hazohelet
3325775944
compiler: add android to supported platforms
2019-09-16 17:16:24 +03:00
joe-conigliaro
155fecadb7
compiler: fix empty structs
2019-09-16 14:44:12 +03:00
Alexander Medvednikov
57cfdeeaf0
Revert "os: fix get_line in windows"
...
This reverts commit 279f7d57cb
.
2019-09-16 13:54:30 +03:00
BigBlack
279f7d57cb
os: fix get_line in windows
2019-09-16 13:43:59 +03:00
joe-conigliaro
cbd4478b5e
compiler: fix msvc empty struct & enable travis msvc
2019-09-16 13:01:07 +03:00
Delyan Angelov
854de4e7e0
repl: add more stats and tests; compiler: tcc fixes
2019-09-16 00:41:12 +03:00
Alvydas Vitkauskas
ff4ef337da
compiler: remove unreachable code
2019-09-16 00:40:31 +03:00
joe-conigliaro
5db25352e5
compiler: fix module typo detection
2019-09-15 20:39:48 +03:00
joe-conigliaro
075a8e5ccb
compiler: improve typo detection
2019-09-15 20:07:12 +03:00
Alexander Medvednikov
0b81c5a3cb
bring back `assert` outside of tests
2019-09-15 19:43:35 +03:00
Alexander Medvednikov
3db4d66824
operator | not defined on bool
2019-09-15 19:35:48 +03:00
Alexander Medvednikov
48c05b5a45
cgen: use *char in all functions with *char args to avoid warnings
2019-09-15 18:56:33 +03:00
Delyan Angelov
35f927e64e
repl: add some timing statistics when running REPL test files
2019-09-15 18:08:16 +03:00
Alexander Medvednikov
849bef987c
more C warnings fixed
2019-09-15 15:53:57 +03:00
Delyan Angelov
e3bd72e8e2
travis: spawn 2 separate windows instances
2019-09-15 15:52:12 +03:00
Alexander Medvednikov
3e923871cf
compiler: use *char() cast in C functions to afix warnings
2019-09-15 15:19:18 +03:00
Alexander Medvednikov
897db23203
fix vhelp.v
2019-09-15 14:15:31 +03:00
Alexander Medvednikov
bcf3dbf974
improve vhelp.v a bit
2019-09-15 14:08:40 +03:00
joe-conigliaro
b71bb95f7d
msvc: empty struct decl fix
2019-09-15 12:27:28 +03:00
joe-conigliaro
f077fbd32d
vlib: change `[0;n]` to `[0].repeat(n)`
2019-09-15 12:26:05 +03:00
Delyan Angelov
1d7b9a3b0b
v up: on windows delete existing v_old.exe before renaming the new v.exe to it
2019-09-15 04:33:08 +03:00
Alexander Medvednikov
4a43c2fa1a
Revert "compiler: pass -l flags without space (needed for tcc)"
...
This reverts commit 982a162fbf
.
2019-09-15 03:55:56 +03:00
Alexander Medvednikov
5cc81b91cb
JavaSript backend (early stage)
2019-09-15 03:49:57 +03:00
Delyan Angelov
982a162fbf
compiler: pass -l flags without space (needed for tcc)
2019-09-14 23:55:12 +03:00
Alexander Medvednikov
3d2c266980
compiler: -autofree flag
2019-09-14 18:54:55 +03:00
Alexander Medvednikov
682eedce59
compiler: remove the temporary windows check
2019-09-14 18:34:59 +03:00
Henrixounez
c604a5c02f
compiler: no free on stack allocated array
2019-09-14 13:40:59 +03:00
joe-conigliaro
b96cbe2177
compiler: temporary memory fix on windows
2019-09-14 13:09:25 +03:00
unknown-v
3dc4abddec
cc.v: build_module mode fix
...
Create the modules directory if it's not there.
2019-09-13 20:47:17 +03:00
joe-conigliaro
c614639e7b
compiler: use os.PathSeparator
2019-09-13 18:59:17 +03:00
Alexander Medvednikov
21f3b9eccc
compiler: do not free memory on Windows for now
2019-09-13 16:27:09 +03:00
Nicolas Sauzede
7f3cfea02b
compiler: improve the help message
2019-09-13 16:19:41 +03:00
joe-conigliaro
5aaa794519
compiler: clean up the typo check
2019-09-13 16:15:30 +03:00
Alexander Medvednikov
9dd86f6fb8
compiler: more memory logic + replace "cur_fn &Fn" with "cur_fn Fn"
2019-09-13 15:47:31 +03:00
Vitor Oliveira
f3a74e7d80
compiler: fix typo in main.v
2019-09-13 14:25:05 +03:00
joe-conigliaro
41734affb3
compiler: detect typos in function/variable/module names
2019-09-13 14:10:24 +03:00
BigBlack
8fe46d5db5
compiler: call string method in C funtion parameter
2019-09-13 02:41:51 +03:00
Alexander Medvednikov
a555b1fcff
V 0.1.19
2019-09-12 03:59:34 +03:00
Vitor Oliveira
c66fbd9bff
compile: fix typos in vhelp.v
2019-09-11 23:54:36 +03:00
unknown-v
26edb7d797
scanner: @FILE escape \
2019-09-11 20:16:42 +03:00
BigBlack
f8d4d6cdc7
compiler: 32-bit option
2019-09-11 19:26:35 +03:00
Henrixounez
af60f9ead4
compiler: escapes quote on literals
2019-09-11 15:48:08 +03:00
Alexander Medvednikov
9853323157
array: make ".contains()" private, use "in" everywhere
2019-09-11 15:12:13 +03:00
Delyan Angelov
63f2f2b294
compiler: improve v --help . Move help descriptions to compiler/vhelp.v
2019-09-11 13:35:03 +03:00
BigBlack
e6354567e5
compiler: fix sizeof and cc
2019-09-11 13:34:19 +03:00
Delyan Angelov
3588c3363d
backtraces: on android (bionic), there is no execinfo.h
2019-09-11 13:31:29 +03:00
Vitor Oliveira
797b35cdcb
compiler: add vfmt() to reduce complexity
2019-09-11 01:49:56 +03:00
Delyan Angelov
bc606415c3
compiler: stage 2 of vhash support
2019-09-11 01:12:46 +03:00
Delyan Angelov
a53c69de38
os: use path separator more consistently
2019-09-11 01:08:23 +03:00
Delyan Angelov
08262b5c43
compiler: stage 1 of printing shortened commit on v --version
2019-09-10 23:08:48 +03:00
Alexander Medvednikov
03b3278369
compiler: replace the rest of .build with .build_module
2019-09-10 18:19:29 +03:00