Commit Graph

704 Commits (9978fb3e2c500d404691c71cf993c74838857ccd)

Author SHA1 Message Date
Delyan Angelov 4838dda59a compiler: make [live] fn unlock its mutex on early return 2020-01-14 18:58:46 +01:00
Alexander Medvednikov 6b3f54692a allow short struct initialization with Config structs 2020-01-14 15:34:47 +01:00
Alexander Medvednikov 0b235cc893 temporary nil fn check 2020-01-14 13:15:09 +01:00
Mateo Pidal e87e5e33a7 fix symlink for Termux on Android 2020-01-14 01:34:30 +01:00
Alexander Medvednikov 4c55d3677d ui: skip initialization warning for now 2020-01-13 13:40:50 +01:00
Alexander Medvednikov 6733b12ec3 android: use __ANDROID__ 2020-01-13 00:20:16 +01:00
Alexander Medvednikov 4c7df98ac9 make private struct warning an error 2020-01-12 19:59:57 +01:00
Alexander Medvednikov b6c0b22742 interfaces fixes; freetype.text_width(); gl and stbi fixes 2020-01-12 16:11:28 +01:00
Delyan Angelov ba699d8b4f compiler: fix error in case of void function used as a value 2020-01-12 01:46:25 +01:00
Swastik Baranwal e3db628d0c parser: add checks for if statement 2020-01-11 13:21:35 +01:00
Delyan Angelov 06f581e146 vfmt: support for vid like projects having many module main .v files 2020-01-10 23:33:35 +01:00
Swastik Baranwal 5537b09492 parser: add check for string casting 2020-01-10 19:59:15 +01:00
vitalyster 66a6fa163e windows: read console using ReadFile/ReadConsole (#3387) 2020-01-10 14:06:40 +01:00
Alexander Medvednikov 29564ed63d interface fix 2020-01-09 01:40:10 +01:00
Delyan Angelov 0d93eeb3fe compiler: move prelude files to tools/preludes/ 2020-01-08 17:57:41 +01:00
Contextualist 2a98cacecd tools: distinguish complier args and tool args 2020-01-08 17:15:05 +01:00
Alexander Medvednikov 3c0fca9258 register methods (wip) 2020-01-08 10:19:18 +01:00
Alexander Medvednikov 9861b24bc3 struct field check + enable v2 again 2020-01-07 16:09:20 +01:00
joe-conigliaro 2ab7b40f2f v: clean up enum vals; make array_init return array 2020-01-07 15:46:57 +01:00
Delyan Angelov fb0817277f compiler: force .exe extension, when compiling on windows 2020-01-07 15:42:14 +01:00
Delyan Angelov 6d30697d9b time: move time.random() to time.misc module
avoids importing rand to programs that do not need pseudo random generation).
2020-01-07 12:58:24 +01:00
Shivanjan Chakravorty a0c8ad7398 post increment/decrement repl fix 2020-01-07 12:26:49 +01:00
Alexander Medvednikov 1e28c1d4fd clean up the parser a bit; run vfmt; add x64 to ci 2020-01-06 23:15:37 +01:00
Alexander Medvednikov b815878d60
simplify and improve pratt 2020-01-06 16:13:12 +01:00
Alexander Medvednikov 126289c19b make the unchanged mutable variable error a warning in non-prod builds 2020-01-06 00:28:29 +01:00
Delyan Angelov 8053175ead android: fix os.create and builtin 2020-01-05 20:13:35 +01:00
Delyan Angelov c24a1b3786 compiler: fix unused import warnings 2020-01-05 16:29:33 +01:00
Ricardo Tomasi 868d6c808b compiler: avoid redeclaration of var during reassignment with optional value 2020-01-05 11:53:40 +01:00
Delyan Angelov 778a1cc34a make g_str_buf a static buffer of size 1K (#3321) 2020-01-04 17:53:37 +01:00
Alexander Medvednikov 7bc5cfc53a fix windows test 2020-01-04 00:24:30 +01:00
Alexander Medvednikov 3344111a03 minor fixes and cleaning up 2020-01-04 00:06:06 +01:00
joe-conigliaro 43895269ff compiler: implement direct cast for sum type 2020-01-03 14:42:48 +01:00
Alexander Medvednikov 520ec0f53a fix cgen_test 2020-01-03 11:41:39 +01:00
Alexander Medvednikov 7c47f345be mingw on macos 2020-01-03 11:38:30 +01:00
Alexander Medvednikov 492dfebd15 SelectorExpr; receivers; struct field check; if expression 2020-01-02 20:09:23 +01:00
Alexander Medvednikov 460b35137a handle unknown fns; fn.v; type fixes 2020-01-02 08:30:15 +01:00
Alexander Medvednikov e7e07be38c handle unknown functions; fix var types 2020-01-01 23:15:20 +01:00
Alexander Medvednikov b1d6021875 x64 fixes 2020-01-01 22:34:46 +01:00
Alexander Medvednikov 807c16dd1b uiold fixes 2020-01-01 13:27:21 +01:00
Alexander Medvednikov 4794598d06 if x := opt() {} else {} 2020-01-01 10:31:50 +01:00
Alexander Medvednikov 87cff0386c time: gmt offset; macos syscalls 2020-01-01 10:09:19 +01:00
Alexander Medvednikov c75cb86203 0.1.24 2019-12-31 20:49:11 +01:00
Alexander Medvednikov 4d31d5882d x64, v2 backends 2019-12-31 19:42:16 +01:00
Delyan Angelov 222f2f08f6 vfmt: fix formatting of 'import mod as alias' 2019-12-31 19:26:44 +01:00
Alexander Medvednikov da5fb5dcbd Revert "x64, v2 backends"
This reverts commit 81ae54d9bd.
2019-12-31 13:23:12 +01:00
Alexander Medvednikov 81ae54d9bd x64, v2 backends 2019-12-31 13:21:22 +01:00
Alexander Medvednikov 093a025ebf parse_files(); ast.File 2019-12-30 16:55:59 +01:00
Delyan Angelov d2f2ac523f flag: fix displaying of both abbreviated and long options
Add tests for the usage screen
2019-12-30 16:38:32 +01:00
Delyan Angelov 25beb7b3f4 in errors, print array_ instead of [] in function names 2019-12-30 10:48:08 +01:00
Alexander Medvednikov cba6a6fdea `as` casting 2019-12-30 10:47:34 +01:00
Alexander Medvednikov 2d2e0307b8 fn call; if expression; bool literals; 100k line program gen
fix

yay

lovely
2019-12-30 05:57:36 +01:00
Delyan Angelov a0f32f5c29 tests: improved test output formatting 2019-12-30 05:23:54 +01:00
Johan Hillerström 2d5f5a0c25 remove debug printing of sum types 2019-12-30 05:21:46 +01:00
Alexander Medvednikov b5fe40624c staments + a sum type fix 2019-12-28 18:53:08 +01:00
Delyan Angelov 68e1d8e8eb net.ftp: make ftp's tests just compile (not run) on CI 2019-12-28 13:55:53 +01:00
Alexander Medvednikov 59c784ae57 fix cgen_test.v 2019-12-28 12:06:53 +01:00
Alexander Medvednikov 379c79025b run vfmt on v/ 2019-12-28 10:38:29 +01:00
Delyan Angelov 72acbad3f0 v help: document -verbose flag 2019-12-28 09:41:21 +01:00
joe-conigliaro a214778b74 fix bug with sum type 2019-12-28 08:48:55 +01:00
vitalyster 2f23ee4818 windows: cleanup after bootstrapping with unicode entrypoint 2019-12-27 19:07:31 +01:00
Alexander Medvednikov 66a07d7fe0 FnDecl, Return, statement block 2019-12-27 18:39:19 +01:00
Delyan Angelov 6c16bac908 vfmt: it can now be used for _platform.v files too, no matter the host os 2019-12-27 17:59:04 +01:00
Alexander Medvednikov 4da21d80e3 fix () warning 2019-12-27 10:16:00 +01:00
Alexander Medvednikov fc5f4ff326 make types.check public 2019-12-27 10:12:40 +01:00
vitalyster 3f0f8bac49 windows: do not link gdi32/shell32 to console applications
* read os.args from argv when we have console
* dynamically load CommandLineToArgvW when we are GUI app
* link gdi32/shell32 in glfw module
2019-12-27 11:27:19 +03:00
Alexander Medvednikov e20ca28d5c fix v prod build 2019-12-27 07:04:41 +03:00
Alexander Medvednikov 0a3adb5de8 ast: return types, variable declaration 2019-12-27 07:01:22 +03:00
BigBlack 320174bd5b fix #3202 2019-12-27 06:09:09 +03:00
Alexander Medvednikov 9b37fc7310 clean up parser_test.v 2019-12-26 13:05:06 +03:00
Alexander Medvednikov 8d9f89e728 compiler2: proof of concept cgen 2019-12-26 07:47:33 +03:00
Delyan Angelov ae4c8af674 fmt: fixes for option syntax formatting 2019-12-25 16:08:52 +03:00
Alexander Medvednikov ca284482cb new AST built with sum types 2019-12-24 16:04:49 +03:00
Alexander Medvednikov 803ded3dec sum type `type Foo = Bar | Baz` 2019-12-24 16:04:49 +03:00
Delyan Angelov 96fa15c125 v fmt: process .v files from a module too 2019-12-24 05:43:31 +03:00
Alexey dced76d1a4 os, filepath: reorganize functions 2019-12-23 13:09:22 +03:00
Delyan Angelov 6e130cd446 compiler: support for custom flags
[if custom]fn..{} , #flag custom, $if custom {}
2019-12-23 13:09:00 +03:00
Delyan Angelov 42b1660c7e move vfmt frontend program to tools/vfmt.v 2019-12-23 13:02:50 +03:00
Alexander Medvednikov 28594a65a8 fix enum bitfield 2019-12-23 07:05:52 +03:00
Alexander Medvednikov 7ab993c218 sum types 2019-12-23 06:14:31 +03:00
Alexander Medvednikov a251db068f run vfmt on math and sha; add vfmt check to test-compiler 2019-12-22 02:50:20 +03:00
Alexander Medvednikov 848cd3cb3e run vfmt on http, net, sync, strconv 2019-12-22 01:57:50 +03:00
れもん 28ecfb231d compiler: map[string]pointer, ?pointer, fix []pointer 2019-12-22 01:44:16 +03:00
Alexander Medvednikov b76227b781 small vfmt fixes 2019-12-22 01:39:04 +03:00
Alexander Medvednikov 749d3ec14d do not define __offsetof twice 2019-12-22 01:39:04 +03:00
Alexander Medvednikov ef28a6b872 final vfmt run before CI check 2019-12-22 00:58:57 +03:00
Alexander Medvednikov 2b9392c46c move hashmap to its own module for now 2019-12-22 00:54:25 +03:00
Emily Hudson 8512c9fc9d compiler: __offsetof keyword for C offsetof() macro 2019-12-22 00:46:09 +03:00
Alexander Medvednikov 31b7991a93 negative enum vals + `[10]C.Foo` fix 2019-12-22 00:17:13 +03:00
joe-conigliaro 6763a92834 fix multiple type parameters 2019-12-21 09:54:43 +03:00
joe-conigliaro f7c1b78ec2 clean up generic structs 2019-12-21 05:33:59 +03:00
Alexander Medvednikov 61bfecfa09 vweb: minor fixes 2019-12-21 05:19:26 +03:00
joe-conigliaro fbd9fedbfb implement generic structs 2019-12-21 03:53:57 +03:00
Don Alfons Nisnoni 090f444d8f scanner: small DRY 2019-12-20 23:15:16 +03:00
Delyan Angelov b62e28dba5 compiler: fix interface generation for unused interfaces 2019-12-20 23:06:11 +03:00
Alexander Medvednikov 00b8a5d3e4 vfmt: enum fix 2019-12-20 02:38:11 +03:00
Alexander Medvednikov 6af54d0207 fix windows build 2019-12-20 02:20:03 +03:00
Alexander Medvednikov 6210984c97 run vfmt 2019-12-20 02:09:56 +03:00
Alexander Medvednikov b6fe2ebc0b fix tools test 2019-12-20 00:20:22 +03:00
Alexander Medvednikov d082b3f4b9 run vfmt on vlib/builtin 2019-12-20 00:12:29 +03:00
Alexander Medvednikov d38687f893 run vfmt on cc, cgen, comptime, if_match 2019-12-19 23:43:23 +03:00
Alexander Medvednikov ce86626ec2 run vfmt on table.v 2019-12-19 23:26:23 +03:00
BigBlack a38a0f4fb7 parser: fix x.function_pointer() 2019-12-19 21:23:29 +03:00
Alexander Medvednikov 519f2990f2 vfmt: minor fixes 2019-12-19 10:02:47 +03:00
Alexander Medvednikov df2f98e276 run vfmt on more files 2019-12-19 02:38:54 +03:00
Alexander Medvednikov 1cef83aea4 run vfmt on array.v 2019-12-18 21:20:41 +03:00
BigBlack 2f218b878b fix fn type call 2019-12-18 13:21:49 +03:00
Delyan Angelov 4b7aa4ec09 freebsd: fix compilation 2019-12-18 13:21:20 +03:00
Alexander Medvednikov 67bdc2c7a9 vfmt: fn args fixes 2019-12-18 11:11:47 +03:00
Alexander Medvednikov 569b32bd1e run vfmt on fn.v 2019-12-18 10:07:30 +03:00
Alexander Medvednikov 81045023c4 run vfmt on scanner.v 2019-12-18 08:26:51 +03:00
Alexander Medvednikov 02939d776b vfmt: fix in, |, or {} 2019-12-18 08:01:29 +03:00
Alexander Medvednikov 3d1db3519d test enum printing 2019-12-18 05:45:48 +03:00
Alexander Medvednikov 7456d556e1 fix 2 repl tests 2019-12-18 05:02:23 +03:00
Alexander Medvednikov a46a2e4715 run vfmt on parser.v 2019-12-18 04:43:41 +03:00
Alexander Medvednikov ad211a86a6 vfmt: re-write V files + fix {} 2019-12-18 04:33:02 +03:00
Alexander Medvednikov 53b334145b lots of vfmt fixes 2019-12-18 04:15:41 +03:00
BigBlack 67cf7f18e6 array of pointers support 2019-12-18 03:26:04 +03:00
BigBlack e68200538a parser: call struct field fns 2019-12-17 22:00:08 +03:00
Delyan Angelov ba519f105a compiler: option/command parsing bugfix 2019-12-17 16:00:10 +03:00
Alexander Medvednikov 37add98043 fix programs without fn main 2019-12-17 05:05:10 +03:00
Johan Hillerström 6008fa44c6 parser: fix generic function call in `for in` expression 2019-12-17 01:08:30 +03:00
Alexander Medvednikov 5a56ca0892 parser: handle operator overloading type errors 2019-12-17 00:50:41 +03:00
Alexander Medvednikov 560d1383d1 fix optional struct field assignment 2019-12-17 00:36:28 +03:00
Alexander Medvednikov 54707ff81d do not allow calloc(0) 2019-12-16 22:48:55 +03:00
Alexander Medvednikov 10718557a2 increase the name limit to 15 2019-12-16 19:36:29 +03:00
Alexander Medvednikov bcde155da7 test the recent type alias string; print vweb templates in verbose mode 2019-12-16 19:34:04 +03:00
BigBlack 8c0e0f8ab7 parser: fix type alias type check 2019-12-16 19:06:40 +03:00
Delyan Angelov b7c477cc18 freestanding: ptr_str, string concat, struct declaration
* compiler: extract c_common_macros from c_headers, and use it in bare_c_headers too. Support for ptr_str and string concatenation in -freestanding mode.

* Add tests for structs and string concatenation in -freestanding mode .

* Move check_string_add_works to string/string.v .
2019-12-16 19:05:33 +03:00
vitalyster d1714c4a2a cc.v: build thirdparty objfiles with msvc when no cc installed 2019-12-16 18:56:37 +03:00
Delyan Angelov 7e0a9fb83a compiler: fix regression for -d option flag 2019-12-16 18:55:10 +03:00
Delyan Angelov faa04c586f compiler: restore ability to pass -prod option to run and runrepl. (#3095) 2019-12-15 21:21:37 +11:00
joe-conigliaro f2c40bf49d
compiler: fix for -Wl -Wa -Wp dont like spaces (#3091) 2019-12-15 16:24:12 +11:00
joe-conigliaro 717740cfcf simplify cflag parsing 2019-12-15 06:18:14 +03:00
joe-conigliaro be60193588 workaround for -g with default optional value 2019-12-15 06:11:02 +03:00
Alexander Medvednikov 54b0097cee fix repl_test.v 2019-12-15 05:51:00 +03:00
Alexander Medvednikov 68357876ca fix v_command() 2019-12-15 05:44:34 +03:00
Alexander Medvednikov 12ebed0589 error on an incorrect V command 2019-12-15 05:35:17 +03:00
Alexander Medvednikov 48ea136a9a tutorials: vweb: add an article 2019-12-15 00:56:08 +03:00
BigBlack fc33f9d49c type alias check 2019-12-14 22:01:20 +03:00
Alexander Medvednikov 2e23592264 for: check for redefinitions 2019-12-14 20:00:03 +03:00
Delyan Angelov 1cd5fab21d testing: support for internal module testing 2019-12-14 15:57:28 +03:00
joe-conigliaro cb9e9286ef
compiler: fixes issue #3074 - can't call a generic function twice with the same data type 2019-12-14 17:54:34 +11:00
Alexander Medvednikov 8581c11900 update malloc 2019-12-14 02:46:55 +03:00
Alexander Medvednikov 962109e855 parser: verify async functions 2019-12-14 02:33:19 +03:00
Alexander Medvednikov ef562413cd -prealloc 2019-12-14 02:28:15 +03:00
Alexander Medvednikov 88cde6e4e6 orm: skip fields 2019-12-14 02:07:06 +03:00
Alexander Medvednikov c72bf0e1b1 global access modifier 2019-12-13 20:28:28 +03:00
Alexander Medvednikov dc83e30a44 access modifiers: update tests/examples 2019-12-13 20:09:11 +03:00
Alexander Medvednikov 78131e78bc fix sruct access modifiers (pub, pub mut, mut) 2019-12-13 20:00:38 +03:00
Delyan Angelov fc64238a39 testing: allow tests to import the same module with no custom options 2019-12-13 19:28:39 +03:00