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

3326 Commits

Author SHA1 Message Date
Delyan Angelov
f638caef39 compiler: v -autofree can now compile itself 2020-05-06 19:03:51 +03:00
Delyan Angelov
88ef0a75e2 ci: pass V_CI_MUSL=1 on musl CI jobs 2020-05-06 15:10:47 +03:00
Alexander Medvednikov
8d2a4d2436 clipboard: make compile on linux 2020-05-06 12:00:52 +00:00
Alexander Medvednikov
207324d15b strings.builder: remove unused var; clipboard: linux fixes 2020-05-06 11:44:08 +00:00
Alexander Medvednikov
25db5e96a3 strings.builder: fix a memory leak 2020-05-06 11:12:00 +00:00
Don Alfons Nisnoni
e87289f24d
Fix typo on checker 2020-05-06 13:57:40 +03:00
Alexander Medvednikov
f80876497e fmt: use the new mut syntax in args 2020-05-06 12:43:46 +02:00
Alexander Medvednikov
b4c93349e8 checker: fix interface name check 2020-05-06 12:32:44 +02:00
Alexander Medvednikov
cc66eb1194 parser/checker: check capital letters in interface names/methods 2020-05-06 12:26:00 +02:00
Alexander Medvednikov
99cf520bd4 parser: mut x Type syntax for args 2020-05-06 12:13:22 +02:00
yuyi
51f3f31a4e
checker: check string(1) cast error 2020-05-06 12:05:24 +02:00
Don Alfons Nisnoni
5bd3045498
mysql: Using int.str() instead of string(int) 2020-05-06 12:53:47 +03:00
Enzo Baldisserri
215657e16a
checker: check interface implementation 2020-05-06 11:29:37 +02:00
yuyi
b627bb933c
message: use uniform message reference format 2020-05-06 09:10:40 +03:00
yuyi
c653977c15
cgen: fix struct with map field str() error 2020-05-06 09:08:48 +03:00
Alexander Medvednikov
67351c74c8 V 0.1.27 2020-05-06 02:26:43 +02:00
Don Alfons Nisnoni
67a50b5b34
mysql: simplify Result.maps 2020-05-06 00:10:10 +02:00
Enzo Baldisserri
c1f224640f
checker: verify that there is a main module 2020-05-06 00:09:46 +02:00
Alexander Medvednikov
25b536d03f cgen: str: do not free "true"/"false" literals 2020-05-05 23:25:14 +02:00
Don Alfons Nisnoni
8fbbf488ab
darwin: fix if () warning 2020-05-05 20:07:43 +02:00
Alexander Medvednikov
473ffb5489 builtin: fix a leak in array_str 2020-05-05 18:04:43 +00:00
Sandro Martini
50351eded8
tests: interface: minor fixes 2020-05-05 19:56:11 +02:00
Alexander Medvednikov
fd0f8d06f8 tests: valgrind: use correct flag 2020-05-05 17:55:11 +00:00
Delyan Angelov
9e715b8701 cgen: use c_name() while generating code for or {} 2020-05-05 19:28:25 +03:00
Alexander Medvednikov
ff88906e9a cgen: add new to reserved words 2020-05-05 16:50:59 +02:00
Delyan Angelov
ddb5a8e6e4 time: add specialized vpc_now_darwin to fix -os cross 2020-05-05 17:31:21 +03:00
Sandro Martini
dd2a1455dc
tests: add another function to the Animal interface 2020-05-05 16:27:05 +02:00
Tanel Liiv
b16281d6e4
cgen: pass around functions 2020-05-05 16:21:21 +02:00
Alexander Medvednikov
7e71799980 checker: check none properly 2020-05-05 15:29:52 +02:00
Alexander Medvednikov
a0ca68ce3f checker: do not allow string(int) 2020-05-05 15:26:42 +02:00
Alexander Medvednikov
c5d295c378 fmt: move struct init logic to a separate fn 2020-05-05 15:06:51 +02:00
Alexander Medvednikov
148661ead6 json: wrap up: encode_array() 2020-05-05 14:54:12 +02:00
Alexander Medvednikov
b3d7b0205a json: handle field attributes 2020-05-05 14:41:27 +02:00
Delyan Angelov
a3bc32f3e0 builder: use time.new_stopwatch instead of benchmark.new_benchmark (reduces exe size) 2020-05-05 15:31:38 +03:00
Alexander Medvednikov
ee92060d4d json: decode_array fix 2020-05-05 14:19:31 +02:00
Alexander Medvednikov
ef6c418eb6 json: decode arrays 2020-05-05 13:23:44 +02:00
Steve Phillips
84fc587ec2
cgen: use a temp var in map() 2020-05-05 10:29:23 +02:00
yuyi
6aca3be474
cgen: fix []map[string]string.str() error 2020-05-05 08:46:19 +03:00
Ned Palacios
507e457c0a
builtin: add parenthesis around frame_addr as a workaround 2020-05-05 08:35:26 +03:00
Delyan Angelov
f9fe5b60a7 v doc: skip _x.c.v when not on x, i.e. filter files like v itself 2020-05-05 08:08:03 +03:00
Alexander Medvednikov
621cb7b914 parser: short struct init syntax 2020-05-05 02:12:51 +02:00
Uwe Krüger
a4b6c3fa5d
cgen: hex representation of signed and pointers 2020-05-05 00:24:33 +02:00
Steve Phillips
081338b8bf
checker.v: suggest []Type{}, not []Type 2020-05-05 00:20:32 +02:00
Delyan Angelov
1c945faa15 cgen: fix _to_Interface_INAME conversion fns generation 2020-05-05 00:01:54 +03:00
Delyan Angelov
b5fda6e410 cgen: skip interface outside methods, while generating _interface_methods struct 2020-05-04 22:56:58 +03:00
Alexander Medvednikov
32a7bd3a48 parser/checker: do not allow using private types from other modules 2020-05-04 21:56:41 +02:00
Alexander Medvednikov
9aa1a65489 checker: check match condition 2020-05-04 21:03:18 +02:00
Alexander Medvednikov
9823d80e0c json: minor fixes + bring back the test 2020-05-04 20:43:22 +02:00
Delyan Angelov
6e1825b417 cgen: prefix with v_ keyword C fn args too 2020-05-04 19:55:21 +03:00
joe-conigliaro
c9798d3918
table: fix check for fn with no args 2020-05-05 02:44:10 +10:00
joe-conigliaro
2bb995274e
table: make table.check ret false & update fn args check 2020-05-05 02:34:11 +10:00
Delyan Angelov
d7e7113047 cgen: fix for char in nums {} 2020-05-04 18:57:33 +03:00
joe-conigliaro
b2157388d9
checker: check method args 2020-05-05 01:32:40 +10:00
Delyan Angelov
36bf99ed5a parser: remove forgotten ----- line 2020-05-04 18:28:55 +03:00
Delyan Angelov
d30eefc3be fmt: improve handling of map[k]v and []map[k]v types 2020-05-04 18:27:07 +03:00
Alexander Medvednikov
fd8a194df0 json: wrap up decode() 2020-05-04 16:46:39 +02:00
Delyan Angelov
5eb71c4a13 fmt: initial support for -debug 2020-05-04 17:27:41 +03:00
Don Alfons Nisnoni
23df9b052e
mysql: update code & add a feature to get value as map 2020-05-04 14:58:24 +02:00
ka-weihe
f27fd63f8c
builtin: map: one voidptr for all values 2020-05-04 14:56:19 +02:00
Enzo Baldisserri
8fd69e845f
cgen: fix using pointer as interface receiver 2020-05-04 14:21:03 +02:00
Delyan Angelov
0e241162d9 panic: distinguish between builtin and main modules 2020-05-04 14:51:30 +03:00
Delyan Angelov
cdf70c070b tests: add panic_with_cg.vv/.out 2020-05-04 14:34:51 +03:00
joe-conigliaro
57903247e3
parser: add back struct field removed by accident 2020-05-04 21:27:54 +10:00
yuyi
90fc23ccfb
checker: fix array init []type{cap: x.len} error 2020-05-04 13:22:09 +02:00
Uwe Krüger
f831910c5c
utf: fix string length calculation for combining characters 2020-05-04 13:21:11 +02:00
ka-weihe
a72f3ed0c7
builtin: voidptr.str() and byteptr.str() 2020-05-04 13:20:18 +02:00
joe-conigliaro
d75f286230
parser: store FnDecl body position and use for scope 2020-05-04 20:31:34 +10:00
joe-conigliaro
4571a5eb83
gen: use middle of fn pos to load correct scope for free 2020-05-04 20:08:37 +10:00
yuyi
c112b3aec5
tests: fix cleanup of compiler_test.v on windows 2020-05-04 11:33:54 +02:00
Delyan Angelov
068da2ea0f builtin: fix warning about unused skipframes 2020-05-04 12:05:08 +03:00
Alexander Medvednikov
eca24c5d11 tests: interface: rename Speaker to Animal 2020-05-04 10:58:42 +02:00
Delyan Angelov
acd80f052b
tests: improve diagnostic output on failure 2020-05-04 11:21:25 +03:00
yuyi
e0e064ff08
scanner: fix string slash line breaks error 2020-05-04 10:19:23 +02:00
yuyi
cd5dccd855
gen: fix compilter_test.v error on windows 2020-05-04 10:09:49 +02:00
Enzo Baldisserri
4b3ce79e84
interface: support arguments in methods and simplify 2020-05-04 00:14:59 +02:00
Delyan Angelov
71a92eb87b tests: fix CI failing for builtin __as_cast 2020-05-03 22:25:38 +03:00
Delyan Angelov
242670a33d compiler: add support for panic_debug with -cg 2020-05-03 22:13:59 +03:00
Delyan Angelov
0b750a234f repl: fix for single lines ending with // comment 2020-05-03 20:48:46 +03:00
Delyan Angelov
845ffb59a6 live: use mostly pure V code for reloading, eases customization 2020-05-03 20:22:24 +03:00
Uwe Krüger
4a096bd133
parser: fix string interpolation for default conversion 2020-05-03 18:12:59 +02:00
Alexander Medvednikov
de749e9d3b parser/cgen: interface <<; any type 2020-05-03 18:08:45 +02:00
Alexander Medvednikov
2a016d03ac checker: use []int instead of array_int in errors 2020-05-03 16:49:05 +02:00
Alexander Medvednikov
2a5421133d clipboard: Linux fixes 2020-05-03 16:39:26 +02:00
Alexander Medvednikov
361fad9231 tests: disable valgrind test until fn scopes are fixed 2020-05-03 16:29:15 +02:00
Alexander Medvednikov
16fe8103ba tests: bring back valgrind test 2020-05-03 13:12:05 +02:00
joe-conigliaro
8df7637853
checker: dont re match/cast with position() when already cast to sum type 2020-05-03 14:22:41 +10:00
Delyan Angelov
7e4e3abc2c compiler: circuimvent the dependency cycle v.ast <-> v.table 2020-05-02 22:52:10 +03:00
Delyan Angelov
dbbfb04e7c docs: change obsolete -show_c_cmd to -showcc and -keepc 2020-05-02 19:01:53 +03:00
yuyi
02807aab43
interpolation: fix error on windows_gcc 2020-05-02 18:22:34 +03:00
Alexander Medvednikov
b0018ed594 checker: better << error 2020-05-02 16:48:52 +02:00
joe-conigliaro
483f0f408c
ast: allow scope var shadowing 2020-05-02 23:46:53 +10:00
Tanel Liiv
68ca8ab8a4
array: nested map() 2020-05-02 15:26:58 +02:00
Alexander Medvednikov
44c00199b6 cgen: fix fixed array consts and pointer interfaces 2020-05-02 15:18:58 +02:00
joe-conigliaro
a9a8539e41
checker: small fix in assign_stmt 2020-05-02 20:21:28 +10:00
joe-conigliaro
fd925fbd05
checker: simplify assign_stmt & add better checks 2020-05-02 19:45:08 +10:00
Alexander Medvednikov
06d533b0c1 cgen: clean up _STR 2020-05-02 11:11:32 +02:00
eyelash
716d867f25
cgen: generate static C functions 2020-05-02 10:42:38 +02:00
Alexander Medvednikov
06173834c0 cgen: interface_call() 2020-05-02 10:10:52 +02:00
Delyan Angelov
aa9bb6f71a compiler: fix -live compilation of bounce example with gcc-9 & clang 2020-05-02 02:36:29 +03:00
Alexander Medvednikov
7a51d4d796 cgen: revert new 2020-05-02 00:59:06 +02:00
Alexander Medvednikov
7dc98120c0 cgen: vfmt -live fix; add new to c_reserved 2020-05-02 00:45:45 +02:00
Uwe Krüger
170ee4312f
cgen: string interpolation field width support for large integers and utf8 strings 2020-05-02 00:43:59 +02:00
Alexander Medvednikov
2f64594ce0 cgen: more interface fixes 2020-05-02 00:28:46 +02:00
Delyan Angelov
7038f59ca5 compiler: add back support for -live 2020-05-02 01:14:44 +03:00
eyelash
130324df76
compiler: remove debug prints 2020-05-02 00:10:36 +02:00
yuyi
b21be7f670
parser: multiple names error 2020-05-01 18:18:58 +02:00
yuyi
de272654f1
repl: fix import xxx with no fn main error 2020-05-01 18:12:18 +02:00
eyelash
4d04e88679
errors: show line numbers in default color and add a space 2020-05-01 14:46:12 +02:00
eyelash
6b08cbcb7a
compiler: print warnings in magenta 2020-05-01 13:44:15 +03:00
Alexander Medvednikov
0106eb1cf6 cgen: fix thread wrapper 2020-05-01 12:32:10 +02:00
Alexander Medvednikov
0b8a0d1640 checker: fix _ check 2020-05-01 12:22:39 +02:00
joe-conigliaro
fb1c60c53d
checker: add back check struct field fn args 2020-05-01 20:12:21 +10:00
Alexander Medvednikov
c1ee14cc3e json: decode() part 1 2020-05-01 12:02:31 +02:00
joe-conigliaro
a0e662bef9
checker: remove debug println from selector_expr 2020-05-01 19:54:47 +10:00
joe-conigliaro
03904085c4
checker: check fn field exprs 2020-05-01 19:50:32 +10:00
Delyan Angelov
35f56bc4f0 vfmt: fix eating ? in $if x ? {}, missing newline in __global ... 2020-05-01 12:29:23 +03:00
Delyan Angelov
59525c8c93 tests: fix missing ? after v fmt run 2020-05-01 12:01:30 +03:00
Delyan Angelov
84785bbb59 tests: fix msvc transient failures when sleep_ms takes longer 2020-05-01 11:58:56 +03:00
Alexander Medvednikov
51da324465 tests: fix eventbus_test.v 2020-05-01 10:57:19 +02:00
Delyan Angelov
3608c81cb9 time: add stopwatch_test.v 2020-05-01 10:21:15 +03:00
Tanel Liiv
182e7071bf
array: map() function 2020-05-01 00:29:54 +02:00
Alexander Medvednikov
b0c710c985 checker: allow fn == 0 comparison for now 2020-04-30 18:51:33 +02:00
Delyan Angelov
a6dfc6d46b compiler: support ctags with -print_v_files and .ctags.d/v.ctags 2020-04-30 19:45:50 +03:00
Alexander Medvednikov
250dea7bd1 cgen: another imported interface fix 2020-04-30 18:23:17 +02:00
Alexander Medvednikov
f1903f3c1f parser: fix imported interfaces 2020-04-30 18:06:14 +02:00
Alexander Medvednikov
9971c58ca3 all: remove var key 2020-04-30 16:55:33 +02:00
Alexander Medvednikov
20013e4b4b table: interfaces: unique gen_types 2020-04-30 16:48:46 +02:00
Tim Basel
473617f061
cli: add option with default 2020-04-30 12:18:46 +02:00
yuyi
5481c0fc84
parser: uniform handling of enum field format 2020-04-30 12:18:16 +02:00
yuyi
81ed6ad2a1
checker: check duplicate consts 2020-04-30 12:17:31 +02:00
yuyi
4d415e56d6
checker: check enum field name duplicate 2020-04-30 09:34:18 +02:00
Enzo Baldisserri
50491670af
fmt: fix formatting backtick char literal 2020-04-30 09:33:43 +02:00
yuyi
c4f672454f
checker: check import duplicates 2020-04-30 09:33:12 +02:00
Henrixounez
f6d74c8a37
checker: error on ternary if type mismatch 2020-04-30 09:32:29 +02:00
Alexey
54d1a29267
dl: improve module 2020-04-29 21:01:19 +02:00
Delyan Angelov
e5ae4b6454 parser: fix match exprs over C.VALUES (needed for C.GLFW_KEY_UP) 2020-04-29 20:35:57 +03:00
yuyi
b2a076e8b8
csv: fix last-field-empty error 2020-04-29 16:50:02 +02:00
Tim Basel
3e4cd12fd0
.gitignore: ignore all binary files by default 2020-04-29 16:49:13 +02:00
Alexander Medvednikov
03cee3fee0 builder: fix run & is_test check 2020-04-29 16:44:50 +02:00
Alexander Medvednikov
be0e848ae8 builder: do not allow v run _test.v 2020-04-29 14:52:32 +02:00
yuyi
1fabb7d5a6
checker: fix string.str() error 2020-04-29 13:51:42 +02:00
Enzo Baldisserri
390d88f933
parser: fail for section redefinition in struct 2020-04-29 13:32:39 +02:00
joe-conigliaro
98cd013908
cgen: fix interface struct sorting 2020-04-29 21:08:39 +10:00
Alexander Medvednikov
51d0ce0222 tests: more interface tests; checker: handle zero selectorexpr type error 2020-04-29 12:46:09 +02:00
Henrixounez
c500044bae
checker: unreachable code warning 2020-04-29 12:31:18 +02:00
Alexander Medvednikov
2fc05b814c all: interface arrays 2020-04-29 12:21:15 +02:00
Delyan Angelov
3d8853af2b builder: move warning/error printing into print_warnings_and_errors 2020-04-29 13:04:09 +03:00
Delyan Angelov
1e910c6afe tests: add reference_field_must_be_initialized.vv 2020-04-29 12:56:12 +03:00
Delyan Angelov
bf8ed1815c builder: print collected checker warnings too 2020-04-29 12:38:43 +03:00
penguindark
ad46e1b832
strconv: v_printf documentation
* v_printf documentation

* syntax fix
2020-04-29 12:25:38 +03:00
Delyan Angelov
0e765e34be vfmt: extract v.util.find_working_diff_command, color_compare_files 2020-04-29 11:51:45 +03:00
Delyan Angelov
dd3434598c checker_test: remove generated .v files, when a test is OK 2020-04-29 11:48:51 +03:00
yuyi
117649f40d
checker: check devision by zero (int and float) 2020-04-29 10:07:27 +02:00
yuyi
2b48ce21df
checker: make sure main has no args and doesn't return 2020-04-29 09:19:46 +02:00
yuyi
a9e33e712a
checker: check struct field name duplicate 2020-04-29 09:11:36 +02:00
Henrixounez
0dc7a57e1f
scanner: prevent panic with string starting on first character 2020-04-28 18:57:16 +02:00
Delyan Angelov
8c526ad05b tests: ignore vlib/v/checker/tests/*.v files (only *.vv are sources there) 2020-04-28 16:45:25 +03:00
Henrixounez
0afaef5818
checker: ambiguous function call error
* checker: ambiguous function call error

* checker: ambiguous function call error wording

* checker: ambiguous functions tests newline
2020-04-28 16:27:49 +03:00
Delyan Angelov
8a81aa5c93 errors: disambiguate between variable and fn source_context 2020-04-28 16:20:50 +03:00
Delyan Angelov
7924b4d77c compiler: handle a panic when an error is produced, but source == '' 2020-04-28 16:15:56 +03:00
Delyan Angelov
8ea087f957 vfmt: fix compilation; handle the case when fmt.tabs is not enough 2020-04-28 16:04:37 +03:00
Delyan Angelov
c6a15dba50 compiler: add support for size_t 2020-04-28 15:07:19 +03:00
jm-duro
210b6e36b6
http: mutable request fields 2020-04-28 13:57:48 +02:00
Alexander Medvednikov
1e4e882bc2 cc/cgen: cached modules fixes 2020-04-28 13:15:37 +02:00
Sandro Martini
761fb930ce
dl: add dynamic load module 2020-04-28 11:53:55 +02:00
Enzo Baldisserri
7bf8731778
checker: check variable mutability for postfix exprs 2020-04-28 11:20:19 +02:00
Delyan Angelov
54b71242fe builder: add autofree compatibility; protect against b.str() twice in a row 2020-04-28 11:03:43 +03:00
yuyi
f2060d431e
checker: check division by zero 2020-04-28 09:52:01 +02:00
joe-conigliaro
ef4f4825ac cgen: auto dereference for optional 2020-04-28 15:59:41 +10:00
yuyi
28f5920bb0
cgen: fix map fixed-array .str() error 2020-04-28 07:22:46 +02:00
yuyi
b20777df59
checker: main function called error 2020-04-28 07:21:50 +02:00
Major Taylor
9edbcb823c
cli: Fix off-by-one error in smart-wrap 2020-04-28 00:10:36 +03:00
Enzo Baldisserri
682838a0cf
checker: check array and fields mutability 2020-04-27 22:53:26 +02:00
Alexander Medvednikov
5d073dcce5 x64: # opcodes 2020-04-27 21:38:58 +02:00
joe-conigliaro
9f76a7b250
parser: simplify unused vars & add loop/if vars etc 2020-04-27 23:16:31 +10:00
Delyan Angelov
e67bf674e3 scanner: cleanup, only v.parser now depends on v.scanner 2020-04-27 16:08:04 +03:00
yuyi
e9f764db4f
cgen: uniform string output format 2020-04-27 14:48:28 +02:00
Alexander Medvednikov
eb8973c362 builder: module caching fixes 2020-04-27 14:46:25 +02:00
Alexander Medvednikov
f005079e0b pref: rename keep_c 2020-04-27 13:28:00 +02:00
ka-weihe
18faaefe82
map: get: remove malloc and memcpy 2020-04-27 13:27:33 +02:00
Delyan Angelov
73106b5f5e profile: measure defer{} statements too 2020-04-27 13:18:37 +03:00
Alexander Medvednikov
fde929ee30 cgen: remove tos3() call: part 1 2020-04-27 12:10:08 +02:00
Delyan Angelov
dd1ee39271 profile: produce civilized output 2020-04-27 12:45:19 +03:00
yuyi
99a7b69578
cgen: optimize map_to_string format 2020-04-27 10:52:21 +02:00
Delyan Angelov
c84dee5968 profile: move profiling related logic into vlib/v/gen/profile.v 2020-04-27 09:40:13 +03:00
yuyi
95754f211f
cgen: generate str function when using x.str() 2020-04-27 08:09:37 +02:00
Alexander Medvednikov
3256d060f7 array: inline ensure_cap 2020-04-27 07:39:33 +02:00
Alexander Medvednikov
ef26f27753 builtin: replace isnil calls for perfomance 2020-04-27 07:13:36 +02:00
Delyan Angelov
e523540f3a profile: use specialized time__vpc_now 2020-04-26 22:14:54 +03:00
Alexander Medvednikov
50a83736ff checker: struct init: handle C types 2020-04-26 19:59:03 +02:00
Alexander Medvednikov
8223efe9df checker: check struct field types 2020-04-26 18:38:29 +02:00
Alexander Medvednikov
83552a0d58 array: replace make() with the new init syntax 2020-04-26 17:52:27 +02:00
Alexander Medvednikov
f23948010a parser: new array init syntax 2020-04-26 17:28:48 +02:00
penguindark
d16474442a
strconv: format test fixes 2020-04-26 16:26:33 +02:00
yuyi
2574dce174
all: fix remaining []array warnings 2020-04-26 16:25:54 +02:00
yuyi
9f4d498ff1
all: updateimport () and []array 2020-04-26 13:49:31 +02:00
Larpon
7b39ab6d06
string: fix replace_each edge case error message 2020-04-26 12:40:39 +02:00
Enzo Baldisserri
0f2f97e3e5
checker: reorganize tests to match fmt tests 2020-04-26 12:34:42 +02:00
Alexander Medvednikov
41eb4453e3 parser: do not allow redefinition of fn args 2020-04-26 12:01:10 +02:00
Alexander Medvednikov
153ac230ec tests: use new array init syntax, fix mutability 2020-04-26 11:56:30 +02:00