Commit Graph

3687 Commits (931bba1d7dd60b32d801f4c67e59860f8965027a)

Author SHA1 Message Date
yuyi ffafeac0f8
cgen: optimize gen c code format 2020-06-03 18:24:08 +03:00
Leah Lundqvist 5e2a6ffe65
jsgen: small fix - remove trailing comma in export 2020-06-03 17:30:43 +03:00
Delyan Angelov 8a23cfc0d6 tetris: support instant `d`rop key, add +FPS counter on -d showfps 2020-06-03 16:45:26 +03:00
pancake e9bcd36d5e
builtin: implement generic break_if_debugger_attached() 2020-06-03 14:11:23 +02:00
yuyi 13e09c61ef
tests: add multi_dimensional array init tests 2020-06-03 14:10:29 +02:00
yuyi 1060de88af
parser: fix function mutable argument error 2020-06-03 12:28:16 +02:00
spaceface777 4b7c70caca
parser: fix JS functions starting with caps 2020-06-03 10:57:32 +02:00
Alexander Medvednikov d182059ba6 tests: fix fn_test.v 2020-06-03 10:54:47 +02:00
Alexander Medvednikov 00978da2c4 checker: fix mut int test 2020-06-03 10:45:19 +02:00
Alexander Medvednikov 888a43a684 checker: fix mut int test 2020-06-03 10:40:41 +02:00
Alexander Medvednikov 199f4f006b checker: fix mut int check 2020-06-03 10:36:56 +02:00
Delyan Angelov 6a0a2da05c cgen: support `$if test { ... }` 2020-06-03 10:20:10 +03:00
Alexander Medvednikov 99c70cf9c6 pref: do not allow -o .v 2020-06-03 09:03:46 +02:00
Mike 'Fuzzy' Partin ac0fee8e64
repl: fix BSDs 2020-06-03 08:44:44 +03:00
yuyi d0ff9a7c4a
parser: correct fn arg position in error message 2020-06-03 08:42:02 +03:00
Delyan Angelov 845084c89d strconv: fix format_dec example 2020-06-03 01:30:46 +03:00
Alexander Medvednikov 63b8cdea7a checker: require () in a && b || c 2020-06-02 22:21:44 +02:00
Delyan Angelov 0a84f0feb5 vdoc: prevent infinite recursion in get_parent_mod 2020-06-02 23:14:46 +03:00
yuyi 1386c5df13
parser: use `?` instead of `?void` errpr 2020-06-02 17:24:24 +02:00
Uwe Krüger b0f66a4e05
checker: permit int -> f32, int64 -> f64 and similar promotions again 2020-06-02 17:00:14 +02:00
Alexander Medvednikov 640688d8cf vdoc: fmt doc/doc.v 2020-06-02 16:19:55 +02:00
Alexander Medvednikov fb3e52ca63 all: `!is` operator 2020-06-02 16:18:12 +02:00
Alexander Medvednikov 78f8a8aee6 cgen: remove g_ hack 2020-06-02 15:49:43 +02:00
Alexander Medvednikov 1139d3b458 gg: move text rendering to gg.ft 2020-06-02 15:35:41 +02:00
yuyi 653a27005b
cgen: fix multi dimensional array init error 2020-06-02 15:15:52 +02:00
Delyan Angelov 3521c9045b vpm: change hardcoded ~/.vmodules/ (does not work on windows) 2020-06-02 14:36:49 +03:00
Ned Palacios b99ba21ddd
vdoc: markdown, html, json generation + lots of fixes 2020-06-02 12:10:01 +02:00
Emily Hudson 46dbbd0ed0
json: add enum to json_test to prevent regressions 2020-06-02 12:13:26 +03:00
yuyi 63b2d4be99
cgen: make >8 indent levels work 2020-06-02 10:40:24 +02:00
Alexander Medvednikov ad8ed851d0 examples: make tetris compile 2020-06-02 09:38:42 +02:00
Alexander Medvednikov 138d730dfa checker: prepare for the is_changed check 2020-06-02 09:00:51 +02:00
Ned Palacios 9fcb8536e8
fmt: fix struct decl gen with c structs 2020-06-02 07:41:02 +02:00
ka-weihe 13c68eb81e
rand: fix warnings 2020-06-02 06:39:38 +02:00
Uwe Krüger 076089d3c5
checker: apply stricter type checks to function args and return types 2020-06-01 21:15:59 +02:00
Hungry Blue Dev a7c84834f4
rand: reorganize (step 1) 2020-06-01 21:13:56 +02:00
Naheel 4fcabb71c4
os: implement cp for nix 2020-06-01 21:11:40 +02:00
Delyan Angelov 4956ca62e3 websocket: move .nonce_size to pub mut: 2020-06-01 20:37:24 +03:00
Delyan Angelov 328a235f94 websocket: add Client.nonce_size field 2020-06-01 20:31:58 +03:00
Emily Hudson 0c7bac4ba7
json: fix enums and byte, cleanup 2020-06-01 19:36:07 +03:00
Delyan Angelov 6161392648 json: do not generate comptime encode/decode functions already defined in json_primitives.v 2020-06-01 19:04:17 +03:00
Delyan Angelov c6a7d0a3a0 tests: update the remaining erroring tests, CI should be green now 2020-06-01 18:30:26 +03:00
Delyan Angelov ae8f7cf569 tests: fix some tests, that failed due to the stricter immutable checks 2020-06-01 18:24:38 +03:00
Delyan Angelov 86862d6a94 checker: remove mod_file_cacher exception 2020-06-01 17:43:03 +03:00
Alexander Medvednikov 3d83934caf checker: check mutating methods; generics fixes 2020-06-01 15:44:10 +02:00
Delyan Angelov 945439dab6 cgen: print actual values on a failed assert (when possible) 2020-06-01 14:43:38 +03:00
Alexander Medvednikov 9bcbb3868f gg: migrate to sokol; examples: update tetris 2020-06-01 12:57:08 +02:00
Don Alfons Nisnoni 37e3cc0e72
mysql: simplify, add more functionality & documentation 2020-06-01 11:26:39 +02:00
Delyan Angelov 97b9ce04a4 crypto.rand: cleanup test, make it less likely to fail in CI 2020-06-01 07:49:52 +03:00
spaceface777 11e6734912
jsgen: more fixes and improvements 2020-05-31 20:48:31 +02:00
pancake 304258162c
cgen: when building a shared library, make vinit() a constructor 2020-05-31 17:27:23 +02:00
Mike 'Fuzzy' Partin 411868a43a
util: add gdiff to the list of diff utilities to support bsd systems 2020-05-31 17:01:31 +02:00
Alexander Medvednikov a5ddb613fb builder: linux cross compilation 2020-05-31 15:09:07 +02:00
Delyan Angelov f1f6fb1a9f json: fix `f32 is not struct` 2020-05-31 14:17:20 +03:00
Uwe Krüger faf3248e98
checker: check types for bitwise right shift 2020-05-31 12:58:13 +02:00
Emily Hudson 75eac291ac
all: variable sized options 2020-05-31 12:57:26 +02:00
Alexander Medvednikov f87e872fa2 checker/cgen: interface match 2020-05-31 10:22:21 +02:00
Delyan Angelov bb9d268bd9 fmt: add struct init keep test, fix another &&Foo bug 2020-05-30 22:34:57 +03:00
Alexander Medvednikov 905f844b16 cgen: return interface fix 2020-05-30 20:18:03 +02:00
Alexander Medvednikov 1ca7a607d3 checker/cgen: return interfaces 2020-05-30 19:54:16 +02:00
Uwe Krüger b74e1bb05d
checker: fix type mismatch in function argument for struct reference init 2020-05-30 15:42:12 +02:00
Emily Hudson a4de507c6d
cgen: panic on assertion failed outside tests 2020-05-30 13:19:52 +02:00
Alexander Medvednikov dd34e65398 gg: sokol fixes and text rendering benchmark 2020-05-30 12:52:27 +02:00
Delyan Angelov f9cb0d443b builder: improve suggestion on a w64 cross compile fail on linux 2020-05-30 13:49:03 +03:00
Delyan Angelov d148920b54 v.util: prepare CI for the external markdown module (needed for vdoc) 2020-05-30 11:06:16 +03:00
JalonSolov b7dc5b2f7b
stopwatch: auto_start option, make pause cumulative 2020-05-30 10:20:54 +03:00
Delyan Angelov 077e06b44e fmt: fix struct field default expressions and tags 2020-05-29 21:22:27 +03:00
yuyi 1e504fb388
parser: check undefined variable of assign_expr 2020-05-29 17:38:40 +02:00
Delyan Angelov f3c5f36317 parser: allow for `struct Abc { f [skip] = -1 }` 2020-05-29 12:45:54 +03:00
Delyan Angelov 0970e61350 repl: fix exiting raw mode by reverting da9b3d8
This reverts commit da9b3d82d2.
2020-05-29 09:03:55 +03:00
Alexander Medvednikov 1c11ac9fdf checker: make sure `is` is only used with interfaces and sum types 2020-05-29 06:46:01 +02:00
yuyi 3a340cbffc
checker: fix array_init cast type error 2020-05-29 06:39:46 +02:00
Alexander Medvednikov bec3e07635 interfaces: fix `is` 2020-05-29 05:54:53 +02:00
pancake b3f2c629c6
builder: use .dylib for -shared builds in macOS 2020-05-29 04:52:19 +02:00
Alexander Medvednikov 39925b8dac live: simplify elog() 2020-05-29 04:42:02 +02:00
Alexander Medvednikov 96fb7901b3 live: fix reloader.v 2020-05-29 04:36:08 +02:00
Alexander Medvednikov 81b44dc2c9 generics: generic call inside generic call; checker: check mut args at call 2020-05-29 04:30:00 +02:00
Emily Hudson f0a9b88ac4
all: add stdcall attribute, unhandled exception handler, get_raw_stdin, v_realloc 2020-05-29 03:06:27 +02:00
Tim Basel 7e538d7401
utils: add args to launch_tool 2020-05-28 19:40:09 +03:00
yuyi 28ffe2a6ee
checker: add error for struct fields of type []unknown 2020-05-28 19:38:53 +03:00
spaceface777 60716bba29
parser: fix nested array_init syntax 2020-05-28 19:36:57 +03:00
pancake 1d78914a8f
parser: support @VROOT in #include too, make it use absolute paths 2020-05-28 19:36:04 +03:00
Delyan Angelov 75b8822f06 scanner: prevent infinite looping, when reaching .eof due to parser bugs 2020-05-28 19:22:11 +03:00
Delyan Angelov d70cd81875 v.pref: remove 'setting pref.path to ...' when given -v 2020-05-28 18:41:26 +03:00
Matt Baulch da9b3d82d2
readline: fix stack memory leak on Linux 2020-05-28 15:38:20 +02:00
Alexander Medvednikov 9609b3a9c8 checker: make the method warning an error 2020-05-28 15:30:54 +02:00
Alexander Medvednikov 01dbb25a37 checker: do not allow defining methods on types from other modules 2020-05-28 15:23:20 +02:00
Leah Lundqvist 1d0ebfb691
jsgen: add hash statement 2020-05-28 14:38:10 +02:00
pancake 2943bdc1f6
cgen: add support for $if (mach|darwin|hpux|gnu|qnx|bsd) 2020-05-28 13:33:12 +02:00
Tim Basel d688d356a7
cli: assign parent by default; add disable_flag 2020-05-28 13:32:43 +02:00
yuyi 977eb895e8
checker: check array init's element type 2020-05-28 13:32:12 +02:00
Ethan Reynolds 6da1d3aff8
gx: convert Color values from int to byte and expand operators 2020-05-28 13:21:20 +02:00
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