Commit Graph

588 Commits (3d31b21df93236a0f5bc51b8ad006ba3747d4324)

Author SHA1 Message Date
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
Alexander Medvednikov 569a64068a ui/examples: users: fix button click 2019-12-12 23:42:51 +03:00
Alexander Medvednikov cddfbf7395 parser: allow public types `pub type Foo Bar` 2019-12-12 22:57:47 +03:00
Alexander Medvednikov b8f728590b string: last_index ?int 2019-12-12 21:54:48 +03:00
Alexander Medvednikov bd833deef3 assoc: verify the field exists and verify the type 2019-12-12 20:38:49 +03:00
Alexander Medvednikov 6982f4a5a2 parser: force {} blocks on new lines 2019-12-12 20:27:05 +03:00
Alexander Medvednikov 8ba29f968a cc.v: hide "mingw" not found message 2019-12-12 14:27:47 +03:00
Alexander Medvednikov 88ec9c235d sort structs: handle fixed size arrays 2019-12-12 14:21:22 +03:00
Alexander Medvednikov 576618d8cc string cloning; fix `foo.str += 's'` 2019-12-12 05:20:52 +03:00
Alexander Medvednikov e182274fe7 free memory block 2019-12-11 23:58:51 +03:00
Alexander Medvednikov ad250523cd fix parser.fileis() 2019-12-11 21:42:22 +03:00
Alexander Medvednikov 6ffed854cc cgen.prepend_to_statement() 2019-12-11 20:51:58 +03:00
Alexander Medvednikov 47f9c02331 Revert "cgen.prepend_to_statement()"
This reverts commit 507c71ad80.
2019-12-11 20:37:39 +03:00
Alexander Medvednikov 507c71ad80 cgen.prepend_to_statement() 2019-12-11 19:33:54 +03:00
Alexander Medvednikov 7dcd47369b option to pre-allocate a memory block 2019-12-11 18:41:25 +03:00
Delyan Angelov 13769f440f vweb: continue after bad http client connection; performance fixes
* Enable compiling vweb with -prod (by supressing 'declared and not used' warning about 'reset') .

* Fix http responses (now wrk is happy and shows no errors) by adding a Content-Length header.

* Fix -g compilation for urllib.v .

* vweb: println action= only in debug mode.

* vweb: max request headers counting fix.

* Make vweb.html get a 'ctx mut Context' param, just like the other methods.

* vweb: simplify add_header.

* Use a string builder for the most common html case so that the response http text can be send in one go.

* vweb: reduce _STR/string interpolation usage in the most common html response case.

* vweb: refactor common http response formatting into Context.send_response_to_client/2 method.
2019-12-11 17:32:54 +03:00
Alexander Medvednikov cfeec92826 use -Wunused-function for now 2019-12-11 15:51:12 +03:00