1
0
mirror of https://github.com/vlang/v.git synced 2023-08-10 21:13:21 +03:00
Commit Graph

3646 Commits

Author SHA1 Message Date
Matt Baulch
c7501e2d3d
os: fix build issue caused by fileno on *BSD 2020-05-28 11:08:59 +02:00
Delyan Angelov
a3bd8d3e4c cgen: add trace info about auto str generation 2020-05-28 10:36:29 +03:00
Delyan Angelov
55ef117531 cgen: fix for V structs fields (auto str and json_decode) 2020-05-28 09:55:37 +03:00
Ned Palacios
94f23d96e9
vfmt: fix generation on C idents, fixed arrays 2020-05-28 08:06:20 +02:00
Alexander Medvednikov
d6037cbcf2 generics: fix method calls 2020-05-28 05:58:19 +02:00
Delyan Angelov
ae8cc2f433 live: fix -live compilation && make live_test.v not swallow segfault errors 2020-05-28 03:21:49 +03:00
yuyi
9cbd9db4e7
cgen: fix swap assign of prefix and postfix expr 2020-05-28 02:22:09 +03:00
div72
cecb7d29c7
Prevent vfmt from appending the module name to FnTypeDecl inside the same module (#5080) 2020-05-28 02:19:24 +03:00
Alexander Medvednikov
4988d340b1 generics: fix method calls 2020-05-28 01:19:08 +02:00
Hungry Blue Dev
e89ae7e194
rand: refactor rand.v and random_numbers_test.v 2020-05-28 02:16:17 +03:00
Delyan Angelov
04ca7efc0c websocket: fix compilation of client.v 2020-05-28 01:38:54 +03:00
Delyan Angelov
f6bdb3ae81 v.vmod: cleanup vmod.mod_file_cacher API 2020-05-28 01:38:11 +03:00
Delyan Angelov
2046ae78df builder: improve redefinition of function messages 2020-05-28 00:56:28 +03:00
Delyan Angelov
0292666ac1 builder: use verror instead of panic when a _test.v file does not exist 2020-05-27 21:38:09 +03:00
div72
48cc8dd86b
rand: cleanup of rand_f32xxx and rand_f64xxx functions 2020-05-27 20:13:57 +03:00
yuyi
84edbd83da
all: fix struct names error 2020-05-27 19:12:34 +03:00
Alexander Medvednikov
670820cc59 parser: do not allow 1 char struct names 2020-05-27 16:00:00 +02:00
Alexander Medvednikov
5423a15f46 generics: more fixes 2020-05-27 15:56:30 +02:00
Larpon
8c753ddf8d
rand: add random functions for f32 and f64, [0,max] and [min,max] versions 2020-05-27 16:41:37 +03:00
Ned Palacios
e0db880791
fmt: simplify map_init 2020-05-27 16:26:45 +03:00
Delyan Angelov
a4af4f9fe7 http_test.v: comment yahoo test urls for now 2020-05-27 15:53:57 +03:00
Emily Hudson
0b64e2190f
checker,cgen: unpack multi returns in return statements 2020-05-27 15:47:38 +03:00
x0r19x91
72ed673566
builtin: array: fix slice cloning 2020-05-27 14:07:03 +02:00
Larpon
6ca53d7b39 scanner: improve @FN substitution for anon functions 2020-05-27 12:05:50 +03:00
Delyan Angelov
481f103dc9 checker: make an error using non pub fns from other modules 2020-05-27 12:00:19 +03:00
Delyan Angelov
ebbf42dadb tests: add a commented test_generic_fn_with_variadics, which worked with old v 2020-05-27 08:41:12 +03:00
Alexander Medvednikov
59711d9c55 generics: test T{} 2020-05-27 06:53:52 +02:00
Uwe Krüger
013fdb8a4b
checker: restrict numeric promotions to cases where no data is lost 2020-05-27 05:42:48 +02:00
Alexander Medvednikov
fc67046bac checker: fix pub fn check 2020-05-27 03:38:21 +02:00
Alexander Medvednikov
7c9279c447 vfmt: make work with comptime 2020-05-27 03:33:40 +02:00
yuyi
23c0bb600c
scanner: fix vmod_file on windows 2020-05-27 03:32:39 +02:00
Alexander Medvednikov
6f7628cb67 parser: comptime call fixes 2020-05-27 03:20:25 +02:00
Ned Palacios
b02ec8cbf9
vfmt: fix raw string support 2020-05-27 03:10:47 +02:00
Delyan Angelov
3cfdd2a4cd scanner: add support for @VMOD_FILE 2020-05-26 23:39:15 +03:00
yuyi
bb48851092
cgen: fix mutliple_assign swap 2020-05-26 18:00:51 +02:00
ka-weihe
64173c792f
builtin: map: fix memory leak 2020-05-26 17:59:52 +02:00
Larpon
31ba64b409
scanner: add support for @STRUCT compile time substitution 2020-05-26 15:35:11 +02:00
Julia K
285e04393e
cgen: fix missing space, remove unnecessary comment 2020-05-26 16:22:28 +03:00
pancake
8d10adf886
flag: fix a typo 2020-05-26 14:27:01 +02:00
Julia K
2b27072fac
compiler: new attributes, prelude customization 2020-05-26 14:12:18 +02:00
Emily Hudson
748b1d3381
cgen: use typ() for array type 2020-05-26 14:11:59 +02:00
Enzo Baldisserri
145b125155
websocket: make compile 2020-05-26 12:50:37 +02:00
Julia K
b4eadb9030
cmd/v: reimplement -path flag 2020-05-26 03:17:52 +02:00
Alexander Medvednikov
b4d88ee4af checker: handle map.clone() 2020-05-26 02:09:26 +02:00
ka-weihe
8ea0c812a2
builtin: map.clone() 2020-05-26 01:52:06 +02:00
Alexander Medvednikov
0f92800921 cgen: string buffer fix 2020-05-26 00:04:13 +02:00
Delyan Angelov
b0cfd3fa67
parser: reimplement [flag] enum support. Add p.vcodegen too 2020-05-26 00:00:48 +03:00
Delyan Angelov
5825e467b8 checker: fix appending an .enum_val to a struct field of []Enum 2020-05-25 21:48:43 +03:00
spaceface777
f8b237433f
jsgen: fix array push operator 2020-05-25 19:34:42 +03:00
Larpon
09dc2eed82
scanner: add support for '@MOD' 2020-05-25 19:33:41 +03:00
Alexander Medvednikov
bc3e29e77b cgen: fix a bug with tmp strings/free 2020-05-25 11:01:21 +00:00
Alexander Medvednikov
53a10eb312 cgen: use STR_TMP with -autofree 2020-05-25 12:46:18 +02:00
pancake
fe249cd1f8
pref: fix crash in 'v run' without arguments 2020-05-25 12:30:12 +02:00
Enzo Baldisserri
d22609051a
checker: CallExpr with handled optional returns plain type 2020-05-25 11:32:14 +02:00
yuyi
30ca08aaa3
parser: fix self-referenced error 2020-05-25 11:31:04 +02:00
Delyan Angelov
96808a0e2a cgen: generalize _vcleanup of array/string consts + valgrind with tcc 2020-05-25 10:24:19 +03:00
Delyan Angelov
ae03aab03e cgen: autofree math.bits and strconv.ftoa constants 2020-05-25 09:53:30 +03:00
Delyan Angelov
6683f98eba cgen: add support for -printfn _vcleanup and -printfn _vinit 2020-05-25 09:47:00 +03:00
Alexander Medvednikov
656bc6b6c8 tests: valgrind: strings are freed now! 2020-05-25 06:23:50 +00:00
Alexander Medvednikov
f41e2c0a4b string: make replace() clone for now; parser: comptime method 2020-05-25 08:17:36 +02:00
Alexander Medvednikov
1b36d7a037 cgen: handle c++ keyword 2020-05-25 05:46:58 +02:00
Alexander Medvednikov
99ce3d456b jsgen: handle ComptimeCall 2020-05-25 05:38:47 +02:00
Alexander Medvednikov
1ef8eacd6e checker/gen: more generics fixes; ComptimeCall 2020-05-25 05:32:36 +02:00
yuyi
ec7863d174
cgen: fix array_init of struct error 2020-05-25 04:45:16 +02:00
spaceface777
4189190bb8
jsgen: start implementing remaining exprs and stmts 2020-05-24 22:49:01 +02:00
Uwe Krüger
fd4d28b7b6
tests: update for stricter type checks 2020-05-24 21:07:32 +02:00
penguindark
4e66c12557
strconv: minor fixes 2020-05-24 21:06:35 +02:00
Delyan Angelov
a0f8005352 checker: support tests/run/ folder, checks many warns/errors/output 2020-05-24 21:13:09 +03:00
Delyan Angelov
23e8c8ecda checker: prevent infinite recursion on a:=b b:=a 2020-05-24 20:55:04 +03:00
yuyi
641fe5c864
checker: fix unresolved variables error on assignments 2020-05-24 20:33:53 +03:00
Delyan Angelov
1754ba19d8 live: cleanup live_test.v output, remove 1s delay 2020-05-24 18:38:43 +03:00
Delyan Angelov
d16485c29e live: make live_test.v more robust 2020-05-24 17:45:53 +03:00
Uwe Krüger
7c4f2b535b
cgen: prepare any_in, any_float on v side 2020-05-24 15:26:43 +03:00
Delyan Angelov
ddcb5f7da3 gen: fix autogenerated print methods for vargs 2020-05-24 15:05:19 +03:00
Uwe Krüger
c4fbae3edc
cgen: add definitions of any_float and any_int types to cheader 2020-05-24 11:28:25 +02:00
Delyan Angelov
2adfbfc830 builtin: fix a bug in array_delete 2020-05-24 11:10:41 +03:00
Alexander Medvednikov
7963e48ca1 tests: valgrind: disable string.replace() test for now 2020-05-24 07:33:33 +00:00
Alexander Medvednikov
494f4fe986 tests: valgrind: string.replace() 2020-05-24 07:19:58 +00:00
Delyan Angelov
06540f0e91 net: fix warnings due to uppercase consts 2020-05-24 07:39:47 +03:00
Alexander Medvednikov
85d19dd253 cmd/v: error-limit 2020-05-24 04:47:51 +02:00
Alexander Medvednikov
67750c91d7 generics: lots of fixes 2020-05-24 04:43:03 +02:00
yuyi
4608898bcd
checker: fix multiple assign immutable error 2020-05-23 17:30:28 +02:00
Delyan Angelov
4271eb477c cgen: disable C static fn attribute with -cg (improves backtraces) 2020-05-23 14:04:02 +03:00
Delyan Angelov
43eaec325d fmt: add keep tests for struct init, fix warnings 2020-05-23 12:05:21 +03:00
Delyan Angelov
c690c2f984 vfmt: fix formatting of struct init without a module prefix 2020-05-23 11:56:06 +03:00
Delyan Angelov
70f0115e27 options: use panic_debug() for opt()? calls in main with -cg 2020-05-23 11:43:20 +03:00
Enzo Baldisserri
801bca1ef2
compiler: propagate optional 2020-05-23 08:51:15 +02:00
Delyan Angelov
5037d9de37 vlib: remove unused uiold 2020-05-23 09:19:41 +03:00
Delyan Angelov
4af4a8f2ff fmt: fix 'import time as t', then using t.sleep_ms() . 2020-05-22 22:31:24 +03:00
Delyan Angelov
104359365f examples: fix const name warnings due to gx.White, etc... 2020-05-22 20:00:46 +03:00
Delyan Angelov
acb58a1f98 parser: add p.peek_tok3, fix for ...<a.len... 2020-05-22 19:48:47 +03:00
yuyi
dda875a9c8
all: unify const names to snake_case 2020-05-22 17:36:09 +02:00
Delyan Angelov
aef751861d cgen: fix _ := []byte{init:1} 2020-05-22 18:17:20 +03:00
Delyan Angelov
88fa935376 builtin: fix print mem leak on windows 2020-05-22 12:18:27 +03:00
Delyan Angelov
7a4f26ac4f compiler: use -lpthread during building v itself. 2020-05-22 08:36:56 +03:00
penguindark
8bf290acf0
os: minor fixes 2020-05-22 06:21:11 +02:00
Alexander Medvednikov
edabd57e8a parser: use parallel only on macos for now 2020-05-22 02:45:11 +02:00
Alexander Medvednikov
1e853072dc parser: parallel parser, part 1 2020-05-22 02:23:14 +02:00
yuyi
2f171bf5d9
regex: uniform const field names to snake_case 2020-05-21 23:33:51 +02:00
Leah Lundqvist
f2ea8ca62c
jsgen: class -> factory 2020-05-21 22:36:06 +02:00
Enzo Baldisserri
1633675c11
gen: fix nested or 2020-05-21 22:35:43 +02:00
Alexander Medvednikov
d3ce6fd2e7 checker: check each generic function for each type 2020-05-21 21:51:52 +02:00
Ruofan XU
b2b0461218
scanner: fix err pos related to num literal 2020-05-21 18:43:57 +02:00
Alexander Medvednikov
227f039652 vfmt: handle generic fn calls 2020-05-21 18:36:25 +02:00
Alexander Medvednikov
87d8e70d6d checker/table: generic fixes 2020-05-21 18:15:04 +02:00
Swastik Baranwal
bf7ab19d09
builder: do not allow importing 'builtin' module 2020-05-21 16:31:41 +02:00
Abdullah Atta
cb82ff618b
jsgen: proper jsdoc for namespace 2020-05-21 16:31:07 +02:00
Maddi Kopfermann
26cb9e4b9f
regex: fix spelling 2020-05-21 16:22:39 +03:00
Ruofan XU
aba09a7e4d
scanner: fix err pos related to num literals 2020-05-21 16:20:36 +03:00
Abdullah Atta
9888bacad5
v: make js hello world work 2020-05-21 16:17:16 +03:00
Louis Schmieder
a9999ee10d
glm: add uniform functions to gl, add matrix rotation to glm 2020-05-21 16:13:02 +03:00
yuyi
047e982318
gen: fix pointer_str_test.v 2020-05-21 15:09:35 +03:00
Alexander Medvednikov
abb15275f5 checker: update a for in error test 2020-05-21 06:06:11 +02:00
Alexander Medvednikov
45c9ccfc03 tests: simple<string> generics test 2020-05-21 04:56:36 +02:00
Alexander Medvednikov
ce1a181699 all: generic functions 2020-05-21 03:58:53 +02:00
yuyi
b8c028c727
parser: fix -5.str() precedence 2020-05-20 23:26:23 +02:00
Alexander Medvednikov
cd07429cc1 rand: fix compilation on linux 2020-05-20 21:14:17 +00:00
Alexander Medvednikov
ca81442fac parser: fix a small bug with < 2020-05-20 21:47:03 +02:00
Alexander Medvednikov
82cedbaf62 fmt: fix map[string][]string; parser: allow foo<int>(10) 2020-05-20 21:40:24 +02:00
Delyan Angelov
e3a162db77 http: remove redundant consts in backend_nix.c.v 2020-05-20 21:40:29 +03:00
spaceface777
d4c1ea4bba
jsgen: fix jsdoc class namespacing bug 2020-05-20 20:34:37 +02:00
Don Alfons Nisnoni
10ad5332e8
parser: improve unused imports warning 2020-05-20 20:50:27 +03:00
Delyan Angelov
9d4fe88d09 compiler: support for -color/-nocolor option overrides 2020-05-20 20:34:04 +03:00
Alexander Medvednikov
80070516fd http: set buffer size to 1536 2020-05-20 19:23:51 +02:00
Alexander Medvednikov
5d08c9d5a8 http: use bufsize const 2020-05-20 19:22:02 +02:00
Alexander Medvednikov
0d3f133436 parser: show location of a previously defined function 2020-05-20 17:27:37 +02:00
spaceface777
dd534fde57
jsgen: many fixes and updates 2020-05-20 16:57:42 +02:00
Louis Schmieder
a0ed1e2878
gl: add bind_attrib_location, also add gl cleanup functions 2020-05-20 16:24:37 +03:00
Tanel Liiv
c9f3a05ef6
checker: fix map/filter called with a plain fn argument 2020-05-20 15:28:33 +03:00
Delyan Angelov
6eee69f7bc http: cleanup ssl_do, enhance the detection of chunked encoding 2020-05-20 14:32:59 +03:00
Delyan Angelov
ac396ea02f http: cleanup backend_nix.c.v, fixes vpm too 2020-05-20 12:04:28 +03:00
Delyan Angelov
1c2376741b http: fix redirects handling 2020-05-20 09:58:57 +03:00
Alexander Medvednikov
0a6d709ce2 http: fix recent changes; picoev: make compile 2020-05-20 05:37:03 +02:00
Sandro Martini
e137fbb1ea
array: more tests of initialization 2020-05-19 19:53:47 +02:00
yuyi
b3b86ea6d7
cgen: fix array_init has len but no init error 2020-05-19 18:33:24 +02:00
spaceface777
b10df252dc
all: replace is_c, is_js with language 2020-05-19 17:12:47 +02:00
yuyi
74686d0ec4
test: fix alias type errors and type_test.v 2020-05-19 15:04:51 +03:00
Ned Palacios
bd85d2fd2a
vfmt: make methods and structs public, to be used in vdoc 2020-05-19 14:19:37 +03:00
spaceface777
e07869af91
builder: fix false-positive import cycle warning 2020-05-19 14:17:03 +03:00
Delyan Angelov
931c846602 os: cleanup code duplication for os.create and os.open 2020-05-19 13:38:06 +03:00
Alexander Medvednikov
03525843a0 parser: do not allow calling private functions 2020-05-18 22:54:11 +02:00
Uwe Krüger
2635be511f
all: re-apply C++ support 2020-05-18 21:38:06 +02:00
Alexander Medvednikov
895cefe351 parser: do not allow defining methods on types from other modules 2020-05-18 20:55:22 +02:00
Alexander Medvednikov
57ea9bec30 tests: vfmt test for all vlib/v files 2020-05-18 18:43:07 +02:00
Tanel Liiv
2344c1a435
parser: fix to multi-expr 2020-05-18 18:33:27 +02:00
Alexander Medvednikov
b1bf5f0edc vfmt: wrap long sum type definitions 2020-05-18 18:08:32 +02:00
Alexander Medvednikov
5c0c418818 ast: vfmt ast.v 2020-05-18 18:06:09 +02:00
Alexander Medvednikov
07a78b2843 Revert "all: C++ compiler support"
This reverts commit 9a237c3e82.
2020-05-18 17:05:48 +02:00
Alexander Medvednikov
fc900baf9e parser: a minor simplification 2020-05-18 17:02:29 +02:00
Alexander Medvednikov
90270d8791 vfmt: handle fixed size arrays 2020-05-18 16:52:12 +02:00
Uwe Krüger
9a237c3e82
all: C++ compiler support 2020-05-18 15:51:36 +02:00
Alexander Medvednikov
d325cdba0d checker: fmt 2020-05-18 15:43:52 +02:00
Ned Palacios
d94d436273
table, vfmt: fix typ_to_string + some fixes to vfmt 2020-05-18 15:37:06 +02:00
Ned Palacios
ae3df002a2
vmod: add v.mod parser 2020-05-18 14:35:28 +02:00
Delyan Angelov
53ffee1e02 compiler: respect -showcc, -prod, -cg, when cross compiling for windows 2020-05-18 12:11:26 +03:00
Alexander Medvednikov
4f307c1a78 checker: requre & in struct init; http: chunked encoding 2020-05-18 05:11:00 +02:00
Leah Lundqvist
88e6d987d6
js: imports and anon_fn 2020-05-17 21:39:01 +02:00
Swastik Baranwal
d697b2848a
checker: more checks for in and !in 2020-05-17 17:03:32 +02:00
spaceface777
0def084932
checker: fix JS name regression 2020-05-17 16:23:09 +02:00
Delyan Angelov
627400723c x64 gen: improve error handling for unknown nodes 2020-05-17 15:45:17 +03:00
iRedMail
4a70d2fe51
examples: fix 2 unused var warnings 2020-05-17 14:15:04 +02:00
yuyi
7f4cf08516
parser: check (mut f Foo) syntax 2020-05-17 13:51:18 +02:00
Hungry Blue Dev
b138cadbcb
math.fractions: add approximation.v and tests 2020-05-17 12:00:29 +03:00
yuyi
02fb393747
test: fix vrepl and cast test errors 2020-05-17 02:13:08 +02:00
Alexander Medvednikov
81148fa2bd cmd/v: version: print only main repo hash 2020-05-16 23:52:06 +02:00
Alexander Medvednikov
8cbb9e1c1f pref: move parse_define() 2020-05-16 22:57:55 +02:00
Alexander Medvednikov
5b15b8ccc9 checker: do not allow casting strings 2020-05-16 22:52:41 +02:00
Alexander Medvednikov
6e4ae5a5e6 checker: do not allow casting strings 2020-05-16 22:48:45 +02:00
asvvvad
e245e22875
os: make exists_in_system_path function public 2020-05-16 22:46:05 +02:00
Alexander Medvednikov
0845b2cfbe builder: skip warnings; pref: move pref creation to pref.v 2020-05-16 22:45:38 +02:00
Delyan Angelov
62cb48d252 repl: treat middle imports in a more forgiving way 2020-05-16 22:03:28 +03:00
yuyi
6855996cca
cgen: fix array_init_with_default 2020-05-16 19:05:26 +02:00
penguindark
48659f4145
regex: small fixes, '-' minus to char classes, remove all C.printf 2020-05-16 17:11:13 +02:00
asvvvad
57dd26650c
os: add new function exists_in_system_path 2020-05-16 17:10:34 +02:00
yuyi
655d9bda94
cgen: remove extra ; from if_expr 2020-05-16 17:09:57 +02:00
Enzo Baldisserri
f44a40eee0
checker: check incorrect names 2020-05-16 16:12:23 +02:00
Swastik Baranwal
37cf46d67a
checker: add more checks for modulo 2020-05-16 15:32:46 +02:00
yuyi
9b6ee8e77d
cgen: array_init_with_default 2020-05-16 15:21:37 +02:00
Delyan Angelov
789b75df92 cheaders: fix _MOV macro in the C case 2020-05-16 15:51:09 +03:00
Larpon
aa30549337
scanner: fill out '@FN' placeholder at compile time while scanning 2020-05-16 14:20:19 +02:00
Delyan Angelov
034bf46e4d vlib: remove unused arrays module 2020-05-16 00:20:14 +03:00
Tanel Liiv
44502a3fb2
parser: return multi expr 2020-05-15 23:14:53 +02:00
Alexander Medvednikov
7caebc5781 doc: print available modules 2020-05-15 23:09:38 +02:00
Delyan Angelov
2dbb4c2ca7 live: cleanup 2020-05-15 23:51:40 +03:00
spaceface777
7c9bb44784 parser: allow JS methods with more than 1 dot 2020-05-15 22:26:51 +02:00
Swastik Baranwal
04744a5390
string: add trim_prefix and trim_suffix 2020-05-15 19:37:14 +02:00
Delyan Angelov
5d0cc0944e parser: fix v_panic due to -pos in unused var warning (with tcc) 2020-05-15 20:11:27 +03:00
Alexander Medvednikov
c4ca6a9113 sokol: make examples compile 2020-05-15 18:55:29 +02:00
Delyan Angelov
465f0ddf60 regex: fix unused variable warnings in regex_test.v 2020-05-15 18:50:54 +03:00
spaceface777
8de6da01d6
jsgen: prefix JS keywords with 'v_' 2020-05-15 15:55:49 +02:00
yuyi
8500c8885c
cgen: fix optional_void error; handle ? return type 2020-05-15 15:55:03 +02:00
Delyan Angelov
66cb61c242 builtin: cleanup by turning backtrace* fns to ordinary C. fns 2020-05-15 15:52:06 +03:00
Delyan Angelov
e18268e2f4 cheaders: use backtrace* stubs for both android & musl 2020-05-15 15:37:59 +03:00
Delyan Angelov
2c93deb884 builtin: bootstrap for backtrace functions cleanup 2020-05-15 15:08:42 +03:00
Dario Tarantini
f7605c397a
stbi: pub fields in Image 2020-05-15 13:15:04 +02:00
Enzo Baldisserri
d60233b618
cgen: simplify for in range 2020-05-14 22:22:32 +02:00
Alexander Medvednikov
0f251e9ede checker: handle json.decode correctly 2020-05-14 18:30:30 +02:00
Alexander Medvednikov
f49ef39708 checker: handle unexpected or blocks 2020-05-14 18:19:40 +02:00
Alexander Medvednikov
e5d4786371 builder: simplify C error message 2020-05-14 18:14:38 +02:00
Enzo Baldisserri
fd0d833e33
gen: if expressions with multiple statements 2020-05-14 17:15:25 +02:00