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
joe-conigliaro
3486118ab7
compiler: force custom struct .str() methods to be defined public
2019-12-11 03:24:26 +03:00
Alexander Medvednikov
cdfbb2978d
strings: replace_each([]); orm: update
2019-12-10 23:57:49 +03:00
joe-conigliaro
4e69c40e12
parser: fix use blank ident as value
2019-12-10 21:35:59 +03:00
joe-conigliaro
6d5e9f88f8
parser: allow enums to be used as bitfield flags
2019-12-10 06:16:47 +03:00
Alexander Medvednikov
6f49d4c1d2
orm: bool support; vweb fixes
2019-12-09 23:20:29 +03:00
Alexander Medvednikov
8082a5e7f4
fix benchmarking stats
2019-12-09 17:25:56 +03:00
Delyan Angelov
f68d9d1a16
live: always add os and time when compiling -live programs
...
Fixes fail when -live user programs do not use os and time.
2019-12-09 13:48:41 +03:00
Alexander Medvednikov
b2207c3d28
do not prepend module to external fn name
2019-12-09 00:24:50 +03:00
Alexander Medvednikov
4ebf53c6e9
allow non snake_case fn names in imported fns
2019-12-08 23:56:31 +03:00
Alexander Medvednikov
8f9b6ac248
'$foo()' string interpolation
2019-12-08 23:18:11 +03:00
Alexander Medvednikov
874ff42687
temporary fix of "v -g v.v"
2019-12-08 20:58:16 +03:00
Alexander Medvednikov
4d1f721558
fix "" string interpolation bug
2019-12-08 20:06:00 +03:00
Alexander Medvednikov
02eee49d25
fix defer_test
2019-12-08 15:30:14 +03:00
Alexander Medvednikov
c9886e6f42
use ++ everywhere
2019-12-08 14:34:51 +03:00
Alexander Medvednikov
cc682eafe1
require ++ instead of += 1
2019-12-08 14:11:25 +03:00
bogen85
8178e1f7da
freestanding: malloc/free with mm_alloc an mm_free
...
Added more array support that depends on malloc. Added string clone (that uses malloc). Added test for it. Eliminated stack allocated buffers from most of the unit checks.
2019-12-08 13:44:52 +03:00
Alexander Medvednikov
6ec626c5e9
improve invalid character errorrs
2019-12-08 12:57:40 +03:00
Alexander Medvednikov
8b0de95c0a
improve the C struct check
2019-12-08 04:23:22 +03:00
Alexander Medvednikov
6ae51b2cbf
handle unknown C types
2019-12-08 04:10:56 +03:00