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

2266 Commits

Author SHA1 Message Date
Alexander Medvednikov
2b433cdf64 v2: match, <<=, >>=, |=, ~, unsafe, map init 2020-02-05 10:00:14 +01:00
Alexey
a61c9c617d
time: use _mkgmtime and timegm to calculate unix time 2020-02-05 06:13:11 +01:00
Nicolas Sauzede
9d4c943d64
compiler: add very simple nameof token to get type name as string 2020-02-05 06:12:33 +01:00
Alexander Medvednikov
c595c9eee1 builtin: bring back old hex() 2020-02-04 20:23:03 +01:00
Alexander Medvednikov
f1a0c2f1af v2: parse optionals 2020-02-04 20:22:00 +01:00
Alexander Medvednikov
ac5c4e3203 fix prod build 2020-02-04 17:48:15 +01:00
Alexander Medvednikov
80daaff874 v2: scopes, or, in, hex 2020-02-04 17:44:39 +01:00
Alexander Medvednikov
9b60a50d07 v2: maps, <<, >>, method calls 2020-02-04 12:50:58 +01:00
vitalyster
21b54723e4
time: fix timezone 2020-02-04 12:17:04 +01:00
joe-conigliaro
85e4e4cb40
v2: resolve unresolved call expression types & add test 2020-02-04 12:03:12 +01:00
Alexander Medvednikov
83f0c228e9 v2: parse builtin.v, cfns.v float.v 2020-02-04 09:54:15 +01:00
Alexander Medvednikov
432ee93916 v2: break, continue, for in fixes, fixed size array, | 2020-02-04 08:29:50 +01:00
Alexander Medvednikov
c7f07cd0b6 v2: postfix_expr() checker 2020-02-04 07:37:41 +01:00
origel
4d6958381d
glfw: window add set resize callback method 2020-02-04 05:40:16 +01:00
joe-conigliaro
75eebb516f
fix bug in levenshtein distance & add tests 2020-02-04 04:21:40 +01:00
joe-conigliaro
21b6dace8f
v2: remove duplication & slight cleanup. share prefs with v1 2020-02-03 12:09:17 +01:00
Alexander Medvednikov
f1f8a2e4dd fix prod build 2020-02-03 12:06:25 +01:00
Alexander Medvednikov
64bfae0a0e 2 2020-02-03 11:54:41 +01:00
Alexander Medvednikov
54605823f9 rem1 2020-02-03 11:45:25 +01:00
Alexander Medvednikov
01f45f063e cgen: remove the checker 2020-02-03 11:36:03 +01:00
Alexander Medvednikov
40fd918b58 v2: cgen: remove type resolving for VarDecl 2020-02-03 11:32:00 +01:00
Alexander Medvednikov
6489b48c9c v2: clean up IndexExpr type check 2020-02-03 11:29:50 +01:00
Alexander Medvednikov
e5f5117a7e fix prod build 2020-02-03 11:17:12 +01:00
Alexander Medvednikov
60a4f668b7 v2: fix FnDecl ref bug 2020-02-03 11:13:36 +01:00
Alexander Medvednikov
2af3c0ede4 hmm 2020-02-03 10:58:15 +01:00
Alexander Medvednikov
1ac7a95f9b fix array_test.v 2020-02-03 10:27:06 +01:00
Alexander Medvednikov
50b704c5dd sum type: mut 2020-02-03 09:25:26 +01:00
Alexander Medvednikov
34e9eb32bb sum types: allow modification in match 2020-02-03 09:11:10 +01:00
Alexander Medvednikov
d918903252 v2: move index expr type check 2020-02-03 07:45:09 +01:00
joe-conigliaro
2d5c70832c
v2: initial module support 2020-02-03 07:31:54 +01:00
Alexander Medvednikov
d87cb3f672 v2: consts, $if, attributes, globals, if/for type check, prefs 2020-02-03 07:03:32 +01:00
joe-conigliaro
7808f4c272
hash.wyhash: implement rand function from wyhash original impl 2020-02-03 06:02:28 +01:00
joe-conigliaro
7f709c3285
update copyright years 2020-02-03 05:00:36 +01:00
Delyan Angelov
da21b50750
gg,os: minimize memory allocation 2020-02-03 04:01:39 +01:00
Alexander Medvednikov
71653273f6 v2: range, *, function object 2020-02-02 14:32:12 +01:00
Don Alfons Nisnoni
4fc52948b3
mysql: wrap more APIs & organize module 2020-02-02 12:39:57 +01:00
Alexander Medvednikov
377d8dc42c v2: parser_test: run all tests 2020-02-02 08:06:21 +01:00
Alexander Medvednikov
9f4661391d v2: simplify the type system; an initial version of the V interpreter 2020-02-02 07:56:18 +01:00
toman222
932392a7fd
sqlite: modify exec functions + other fixes 2020-02-02 02:56:09 +01:00
Leah Lundqvist
0ef1ba9ad2
gg: added draw_empty_rounded_rect 2020-02-02 02:55:29 +01:00
Leah Lundqvist
4ca283380a
gg: scissor 2020-02-02 02:54:41 +01:00
joe-conigliaro
554d1dd7c6
compiler: make optionals work with multi return 2020-02-02 02:53:23 +01:00
prime31
f0efb42a30
cc: add file style selector to clang-format 2020-02-02 02:51:27 +01:00
joe-conigliaro
8bd17c8016
crypto.rand: update slice method to slice syntax & fix typo in error 2020-02-02 02:50:46 +01:00
joe-conigliaro
05374e162e
compiler: attribute test - fix typo in function name 2020-02-01 18:59:34 +11:00
Delyan Angelov
696926a557
compiler: add support for -pretty_c option 2020-02-01 06:37:22 +01:00
radare
bf9eefa694
parser: resolve optional enum type 2020-01-31 16:00:31 +01:00
radare
2fbfbf45c7
os: simplify read_lines( 2020-01-31 15:59:23 +01:00
Alexander Medvednikov
5f76bd04f9 V 0.1.25 2020-01-31 15:31:15 +01:00
Leah Lundqvist
aa625bc22c
gg: roundrects 2020-01-31 03:43:46 +01:00
penguindark
de832375b7
regix: fixes and optimizations 2020-01-31 02:29:54 +01:00
ka-weihe
23dd6e2294
hashmap: optimization of rehashing 2020-01-31 02:29:35 +01:00
joe-conigliaro
80d936adc1
fix attributes on public structs & enums 2020-01-30 01:27:13 +01:00
Leah Lundqvist
6c5879add9
gg: filled arcs and circles 2020-01-30 01:26:45 +01:00
Leah Lundqvist
ed55778d2a
math: fast aprox cos and sin 2020-01-29 05:12:43 +01:00
Alexey
5c598a3085
term: reorganize the module 2020-01-29 05:12:12 +01:00
ka-weihe
a14a5fbf95
hashmap: change hash-function to wyhash and add benchmarks 2020-01-29 04:06:05 +01:00
div72
5c29e7b257
http: fixed a bug with ignored user-agent 2020-01-29 04:05:37 +01:00
joe-conigliaro
0f1b0f7ed4
wyhash: update benchmark file location in comment 2020-01-29 10:12:44 +11:00
Alexey
5c00851b44
term: implement get_terminal_size for Windows 2020-01-28 23:44:57 +01:00
joe-conigliaro
007baa2305
hash: add wyhash + benchmark, add fnv1a, add u64.hex() (#3584) 2020-01-28 23:43:09 +01:00
penguindark
5a2534122e regex: named capturing groups, small fixes 2020-01-28 20:34:11 +01:00
Delyan Angelov
9ac0c54eb0 term: fix too long h_divider lines in CI 2020-01-28 20:25:17 +01:00
Mateo Pidal
78c96fe989 term: get_terminal_size() 2020-01-28 05:18:19 +01:00
prime31
08d3401092 array: clear() 2020-01-27 22:31:48 +01:00
Leah Lundqvist
8986633624 gg: draw_arc() 2020-01-27 20:42:32 +01:00
Delyan Angelov
cce0b2425e compiler: prevent vars named 'char' to cause a C error 2020-01-27 20:26:07 +01:00
ka-weihe
31899eac2a hashmap: new load_factor and optimizations 2020-01-27 16:56:18 +01:00
Mike Redko
11aa5343b2 update copyright year in asm.v 2020-01-26 23:33:47 +01:00
Delyan Angelov
e9d3134814 glfw: implement glfw.window.set_should_close 2020-01-26 23:33:12 +01:00
Delyan Angelov
869c8e331e stbi: make compilation faster by generating a stbi.o file 2020-01-26 12:41:43 +01:00
Khairul Azhar Kasmiran
edc44993d1 string: add another test for split_nth() 2020-01-25 19:12:36 +01:00
penguindark
15a63b5bcb regex fixes 2020-01-25 19:12:23 +01:00
Alexander Medvednikov
222fc4b04f parser: no struct fields warnings in C struct initializations 2020-01-25 07:15:49 +01:00
joe-conigliaro
71b50ae7fd fix empty config struct with msvc 2020-01-25 02:11:07 +01:00
ka-weihe
7d797090ff map: bring back b-tree 2020-01-24 20:13:59 +01:00
ka-weihe
6fd175d9be hashmap: new and fast hashmap with dynamic size 2020-01-24 20:13:17 +01:00
Delyan Angelov
219239eadc string.split_nth - return the rest of the string as the last value in the result array 2020-01-24 20:12:36 +01:00
Alexander Medvednikov
f55646746c handle empty config structs 2020-01-24 18:57:32 +01:00
joe-conigliaro
2897bac549 crypto: remove extraneous casts & rename rand_lin to rand_linux 2020-01-23 22:49:13 +01:00
nsauk
dd61a22367 compiler: remove --lzma option from upx call 2020-01-23 22:06:49 +01:00
Delyan Angelov
7b18e5d198 compiler: add 'use -- instead of -= 1' 2020-01-23 21:09:47 +01:00
joe-conigliaro
6d6b2fdda8 compiler: fix depgraph. will also make it work with new b-tree map 2020-01-23 21:08:17 +01:00
joe-conigliaro
20f6cdc53a compiler: fix module alias resolution 2020-01-23 21:07:53 +01:00
toman222
0a93d3b714 sha512: remove unnecessary cast warnings 2020-01-23 21:07:16 +01:00
Henrixounez
f3f50349b2 compiler: fix check restricted names in for..in statement 2020-01-23 21:06:57 +01:00
Shun Sakai
c8c43a2475 update copyright year 2020-01-23 21:04:46 +01:00
joe-conigliaro
82da001faf
sokol: fix issue causing win test to fail introduced in 0502a54 2020-01-23 21:56:12 +11:00
joe-conigliaro
543e8dc78a
v2: fix bug in scanner, introduced in da9b639 (_ in num literals) 2020-01-23 21:47:13 +11:00
penguindark
da9b6394e8 0bxxxx binary literal support; _ in literals (1_000_000) 2020-01-23 03:28:25 +01:00
S-YOU
7b345e207d pico.v and dependencies 2020-01-23 03:26:30 +01:00
toman222
5c6032d272 math.bits: fix warnings regarding unnecessary casts 2020-01-22 22:06:40 +01:00
Alexander Medvednikov
a6e1a74f1d gg: windows fix 2020-01-22 21:36:52 +01:00
Alexander Medvednikov
59b3fc75d0 tmp fix generic test 2020-01-22 21:30:35 +01:00
Alexander Medvednikov
0502a54a36 new gg/freetype modules with sokol/fontstash backends 2020-01-22 20:54:36 +01:00
Abdullah Atta
43ba6766ba improve eventbus 2020-01-22 17:41:08 +01:00
Charles WANG
136c469ef7 array: more eq functions 2020-01-21 18:49:30 +01:00
Jeremy Andrews
dd5751df0c v test v has been deprecated 2020-01-21 18:48:32 +01:00
Delyan Angelov
f4834bd85d compiler: fix stuck parsing of 'enum{}' + handle such bugs 2020-01-21 18:47:52 +01:00
KJ Lawrence
ae3d84df6b os: add open_file function 2020-01-21 16:58:47 +01:00
d2verb
5deb29a7c9 compiler: update cheaders.v for NetBSD support 2020-01-21 16:55:07 +01:00
Delyan Angelov
d92291dd76 repl: execute REPL tests ~1.5x to 2x faster 2020-01-20 23:04:26 +01:00
Delyan Angelov
64a9f43405 Make REPL tests parallel too 2020-01-20 17:06:36 +01:00
nsauk
84438c0139 time: add str() 2020-01-20 15:06:15 +01:00
Alexander Medvednikov
d1664dc511 freetype: max_width 2020-01-20 05:14:49 +01:00
Alexander Medvednikov
ab368bdc53
array: test arr << arr 2020-01-19 22:15:37 +01:00
Delyan Angelov
0d52cc97e4 sync: make new_mutex() and new_waitgroup() return &Mutex and &Waitgroup 2020-01-19 20:32:22 +01:00
Delyan Angelov
bc64263dd8 freetype: fix placement of highdpi and lowdpi texts 2020-01-19 20:30:53 +01:00
Delyan Angelov
bfaf2a4a62 freetype: cleanup calculation of text y position while drawing the text 2020-01-19 16:01:08 +01:00
sha0coder
990e44cd14 ftp: protocol compatibility 2020-01-19 13:53:13 +01:00
joe-conigliaro
3a8b437b8d v2: move array_init to checker 2020-01-19 13:52:34 +01:00
Alexander Medvednikov
cf1fd6e950 array: fix arr << arr bug 2020-01-19 12:11:58 +00:00
Alexander Medvednikov
b1602c72ad v2: a simple fix 2020-01-19 02:44:18 +01:00
joe-conigliaro
09d1eb7c55 v2: type checker + lots of other changes 2020-01-18 23:26:14 +01:00
Delyan Angelov
8c1b03c731 freetype: text_size() so that users can retrieve the vertical size of a text too 2020-01-18 20:08:11 +01:00
S-YOU
09e390eac5 remove string clone because cJSON already did internally 2020-01-18 17:40:58 +01:00
penguindark
36660ce749 regex: bug fixes, docs 2020-01-18 07:38:00 +01:00
Alexander Medvednikov
b2be36d92e fix sokol on windows 2020-01-18 06:27:39 +01:00
Delyan Angelov
24d34a4f2c sokol: fix building of examples and ci tests 2020-01-17 20:05:45 +01:00
Alexander Medvednikov
3d57d3bb7b cc.v: fix C error message part 2 2020-01-17 19:44:03 +01:00
Alexander Medvednikov
2cd24ea722 cc.v: fix C error message 2020-01-17 19:30:45 +01:00
vitalyster
436603aa44 compiler: show last 200 lines in partial output 2020-01-17 14:09:37 +01:00
Delyan Angelov
ddc04979a4 deprecate v runrepl in favour of v repl 2020-01-17 14:09:26 +01:00
Alexander Medvednikov
62481e88f3 sokol and fontstash modules 2020-01-16 20:45:52 +01:00
Delyan Angelov
cc606623bb enable $if !network { checks in net tests 2020-01-16 19:44:16 +01:00
Alexander Medvednikov
e1132156f5 make sqlite.DB public; make string.left/right private 2020-01-16 18:41:38 +01:00
Chris Watson
84a6c019e8 http: refactor and reduce duplication 2020-01-16 18:16:11 +01:00
Alexander Medvednikov
756c6d2858 freetype: fix align.right rendering 2020-01-16 17:03:34 +01:00
Delyan Angelov
57f72f6cd8 compiler: support optional custom comptime defines: $if custom ? { 2020-01-16 15:28:23 +01:00
penguindark
d6448ee5d6 regex: update README.md 2020-01-16 02:07:36 +01:00
penguindark
25fabac059 regex 0.9c 2020-01-16 00:39:33 +01:00
Alexander Medvednikov
de3ad2b04f fix vweb tutorial project; clean up gg functions a bit 2020-01-15 22:17:45 +01:00
Mateo Pidal
502ee8a56c android symlink fix 2020-01-15 19:40:03 +01:00
Kai
9f31390ff1 http: PATCH, DELETE, and PUT methods 2020-01-14 23:19:50 +01:00
Delyan Angelov
4838dda59a compiler: make [live] fn unlock its mutex on early return 2020-01-14 18:58:46 +01:00
Swastik Baranwal
26374971ab time: fix logic 2020-01-14 18:12:28 +01:00
Swastik Baranwal
2741c0b211 string: new type conversion functions 2020-01-14 18:05:38 +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
penguindark
25e7ceeef0 regex 0.9b 'replace' and 'find_all' added 2020-01-14 02:45:08 +01:00
Mateo Pidal
e87e5e33a7 fix symlink for Termux on Android 2020-01-14 01:34:30 +01:00
Delyan Angelov
fcc10d6358 gg: fixes same image twice lead to invisible rectangles sometimes 2020-01-13 19:59:31 +01:00
invisiblesoldiers
74713ffb62 encoding.binary: removed unneeded castings, rename function 2020-01-13 19:58:14 +01:00
Delyan Angelov
4a82770f16 fix warnings about clipboard when building ui on linux 2020-01-13 17:53:56 +01:00
Alexander Medvednikov
4c55d3677d ui: skip initialization warning for now 2020-01-13 13:40:50 +01:00
penguindark
8ea0c08a38 vlib.regex module in pure V 2020-01-13 13:30:41 +01:00
Alexander Medvednikov
6733b12ec3 android: use __ANDROID__ 2020-01-13 00:20:16 +01:00
Alexander Medvednikov
e72dfc3212 freetype: remove unused import 2020-01-12 20:08:24 +01:00
Alexander Medvednikov
4c7df98ac9 make private struct warning an error 2020-01-12 19:59:57 +01:00
Alexander Medvednikov
e159347c10 gg: remove 2 prints 2020-01-12 19:54:47 +01:00
Frederico Silva
2678f9289e pg: connect, use password 2020-01-12 19:35:20 +01:00
Delyan Angelov
f317b65808 ui: fixes so that the ui demo works on linux too
* Implement os.resource_abs_path/1 .
* Implement glfw.get_window_size and glfw.get_framebuffer_size .
2020-01-12 19:35:06 +01:00
Alexander Medvednikov
b6c0b22742 interfaces fixes; freetype.text_width(); gl and stbi fixes 2020-01-12 16:11:28 +01:00
Alexander Medvednikov
938f27e391 remove ui example now that ui has been moved to a separate repo 2020-01-12 03:05:04 +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
Don Alfons Nisnoni
f7f5f43c48 mysql: add select_db method 2020-01-11 13:25:59 +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
vitalyster
8412c6f03f windows: println using WriteFile/WriteConsole 2020-01-09 22:47:13 +01:00
Delyan Angelov
7bf49aba54 vv: make warns/errors usable in emacs/vim 2020-01-09 14:08:33 +01:00
Delyan Angelov
7882312697 rename $if mac => $if macos , _mac.v => _darwin.v 2020-01-09 11:12:35 +01:00
Alexander Medvednikov
29564ed63d interface fix 2020-01-09 01:40:10 +01:00
Delyan Angelov
c1cc203c17 tools: bugfixes and new features for oldv and performance_compare 2020-01-08 21:45:47 +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
joe-conigliaro
38e5f0d1cf v: initial type work for methods / struct fields 2020-01-08 17:14:42 +01:00
Alexander Medvednikov
e70ef5334a fix array copy; ci: test prebuilt Windows package 2020-01-08 11:33:09 +01:00
Alexander Medvednikov
e3275f6083 fix array_test.v 2020-01-08 10:27:20 +01:00
Alexander Medvednikov
3c0fca9258 register methods (wip) 2020-01-08 10:19:18 +01:00
Krzysztof Starzyk
3425934c39 flag: remove println from parse_raw 2020-01-07 18:37:01 +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
Alexander Medvednikov
d823d82207 array type fix; method registration 2020-01-07 13:10:09 +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
706c6066d5 index expression 2020-01-07 12:18:13 +01:00
joe-conigliaro
b7509577b5 v: cleanup & fixes. update variadic & multiple return 2020-01-07 12:10:07 +01:00
Alexander Medvednikov
8c5923297e do not run cgen_test.v on windows 2020-01-07 01:57:38 +01:00
Alexander Medvednikov
69f3c42b99 method calls; skip string interpolation for now; fix () 2020-01-07 01:08:24 +01:00
Alexander Medvednikov
48ea1153a5 for ;; syntax 2020-01-07 00:14:19 +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
r00ster
025efcb731 os: add is_executable, is_writable and is_readable 2020-01-06 09:15:06 +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
4c3df963fa v repl: fix println regression on linux 2020-01-05 22:49:09 +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
joe-conigliaro
5a6f9024d3 v: small fixes typo & register struct & and add array elem pointer 2020-01-05 11:52:03 +01:00
joe-conigliaro
2061394ad7 v: initial impl of new type sys w/ pointer & placeholder support (#3323) 2020-01-04 17:57:25 +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
Delyan Angelov
aeda48d94e vpm: add support for other VCS for modules, like hg
Add ability to pass flags to vpm.

Implement -help , -verbose and -server-url ,
to enable easier diagnostics and testing with a local server.
2020-01-03 22:07:58 +01:00
Delyan Angelov
ddd83c2108 pg: add db.exec_param_many() 2020-01-03 22:07:28 +01:00
Delyan Angelov
67f397f888 os: implement os.cachedir() . Use it inside os.tmpdir() too 2020-01-03 19:46:23 +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
joe-conigliaro
343ded18fd parser: dot fix 2020-01-03 11:36:17 +01:00
Alexander Medvednikov
492dfebd15 SelectorExpr; receivers; struct field check; if expression 2020-01-02 20:09:23 +01:00
sh0f
3c65af8b9a cli: fix warning 2020-01-02 18:09:24 +01:00
Charles WANG
7a031d5e23 update and rename ui_win.v to ui_windows.v 2020-01-02 18:09:09 +01:00
Charles WANG
166dc28480 update ui_linux.v: module ui to uiold 2020-01-02 18:08:54 +01:00
Alexander Medvednikov
a6a9958cfc register fn args; remove dup code 2020-01-02 08:37:41 +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
e8bbb00bde ui is in a separate repo for now, rename it to avoid conflicts 2020-01-01 13:14:01 +01:00
Alexander Medvednikov
e53bb6a9d4 parser: wrong else 2020-01-01 13:12:38 +01:00
Alexander Medvednikov
327314c2c3 parser: unknown function error 2020-01-01 13:08:05 +01:00
sh0f
f87177d34d base64: fix warnings 2020-01-01 12:58:32 +01:00
Alexander Medvednikov
b7663848ef os: fix create() 2020-01-01 12:57:27 +01:00
Alexander Medvednikov
47908c22df cgen_test: skip empty lines; os: make vc_gen compile 2020-01-01 12:50:25 +01:00
Alexander Medvednikov
78c706ab71 Revert "enable macos syscalls"
This reverts commit d226fa7b17.
2020-01-01 12:24:50 +01:00
Alexander Medvednikov
d226fa7b17 enable macos syscalls 2020-01-01 12:10:39 +01:00
Alexander Medvednikov
2f8969c604 time: Windows fix 2020-01-01 12:01:03 +01:00
Alexander Medvednikov
79b4a757c4 fix cgen_test.v 2020-01-01 10:32:22 +01:00
Alexander Medvednikov
4794598d06 if x := opt() {} else {} 2020-01-01 10:31:50 +01:00
Alexander Medvednikov
96d02849aa parser: parse_file(path) 2020-01-01 10:15:05 +01:00
Alexander Medvednikov
87cff0386c time: gmt offset; macos syscalls 2020-01-01 10:09:19 +01:00
sh0f
3c17851200 time: add test for #3291 2020-01-01 08:00:23 +01:00
sh0f
a99f214a0f time: fix error: array index out of range 2020-01-01 07:27:48 +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
lutherwenxu
286a0a1371 time: rewrite unix() function 2019-12-31 17:11:47 +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
907254b9e8 Revert "B-tree map "
This reverts commit 8a4bce667c.
2019-12-31 12:46:56 +01:00
Alexander Medvednikov
4424f83470 os: disable write_bytes_at() and read_bytes_at() for now 2019-12-31 11:43:10 +00:00
Alexander Medvednikov
f9cc419dba os: syscalls 2019-12-31 10:16:34 +00:00
joe-conigliaro
80da2341aa v: fix unary +,- & rename token.TokenKind to token.Kind 2019-12-31 10:53:30 +01:00
Alexander Medvednikov
3a7f1db947 fix parser tests 2019-12-30 17:05:32 +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
joe-conigliaro
d07953b0f0 v: fix postfix unary ++ -- operators & some cleanup 2019-12-30 15:06:56 +01:00
Charles WANG
ca62b66665 sqlite: a minor fix 2019-12-30 10:49:36 +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
2d597d7804 array initialization 2019-12-30 10:37:09 +01:00
Alexander Medvednikov
1d9916f93e fix fn main generation 2019-12-30 09:29:07 +01:00
Alexander Medvednikov
f725aa2e8d rename cgen module to gen; jsgen 2019-12-30 09:21:48 +01:00
Alexander Medvednikov
edf8a2cd08 fix bool expressions 2019-12-30 08:17:58 +01:00
Alexander Medvednikov
806691c1db for loop; struct decl; struct init; < > <= >= 2019-12-30 08:05:20 +01:00
ka-weihe
8a4bce667c B-tree map 2019-12-30 06:57:56 +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
Abdullah Atta
63b70ddb06 move http module to net.http 2019-12-30 05:42:23 +01:00
mY9Yd2
6cee50afda os: fix tmpdir on unix 2019-12-30 05:25:26 +01:00
Ulises Jeremias Cornejo Fandos
89d3075f88 math: update complex operators for multiplication and division 2019-12-30 05:24:30 +01:00
Delyan Angelov
a0f32f5c29 tests: improved test output formatting 2019-12-30 05:23:54 +01:00
Abdullah Atta
4f173c8900 vpm: implement & improve install, search, update, remove 2019-12-30 05:22:28 +01:00
Johan Hillerström
2d5f5a0c25 remove debug printing of sum types 2019-12-30 05:21:46 +01:00
radare
49430a5c31 flag help message is now a bit more compact 2019-12-30 05:21:22 +01:00
Alexander Medvednikov
349576b5cd fn call + fn args 2019-12-29 08:47:41 +01:00
Alexander Medvednikov
c915c58d12 local vars + Parser.errror() 2019-12-29 07:14:29 +01:00
Alexander Medvednikov
c81fbee4ab fix parser_test.v 2019-12-29 06:49:52 +01:00
Alexander Medvednikov
5a6428f1ff AssignStmt 2019-12-29 06:37:08 +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
48585e54df fix parser_text.v 2019-12-28 13:51:36 +01:00
Alexander Medvednikov
59c784ae57 fix cgen_test.v 2019-12-28 12:06:53 +01:00
Alexander Medvednikov
651c7e8de1 cgen tests 2019-12-28 11:55:14 +01:00
Alexander Medvednikov
379c79025b run vfmt on v/ 2019-12-28 10:38:29 +01:00
Alexey
e02d6a3b04 ftp: flatten tests 2019-12-28 09:41:54 +01:00
Delyan Angelov
72acbad3f0 v help: document -verbose flag 2019-12-28 09:41:21 +01:00
Alexander Medvednikov
ec6a8cc9fd move ftp to net/ftp 2019-12-28 09:16:27 +01:00
joe-conigliaro
a986321b6d v: update parser / token & split parsing into methods 2019-12-28 09:15:32 +01:00
Alexey
f40f023487 ftp: cosmetic fixes
Use single quotes for strings.
Use string interpolation instead of concatenation.
Don't print messages in non-debug mode.
Fix typos in error messages.
Add space after comma, add spaces between operators.
extract code to separate functions
2019-12-28 08:53:28 +01:00
Nicolas Sauzede
4925aa594b os: fix deprecated os.dir to work as advertised 2019-12-28 08:49:27 +01:00
joe-conigliaro
a214778b74 fix bug with sum type 2019-12-28 08:48:55 +01:00
Don Alfons Nisnoni
06fba73ab9 os: add os.symlink() function 2019-12-27 19:10:06 +01:00
sha0coder
7518d2d0dc FTP module 2019-12-27 19:08:44 +01:00
vitalyster
2f23ee4818 windows: cleanup after bootstrapping with unicode entrypoint 2019-12-27 19:07:31 +01:00
Alexander Medvednikov
796c376408 fix parser_test.v 2019-12-27 18:55:51 +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
Alexander Medvednikov
d27c5eb345 handle floats 2019-12-27 10:09:06 +01:00
Alexander Medvednikov
1af274a714 test_parser + minor fixes 2019-12-27 10:00:44 +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
55dbb8b81c v.types module 2019-12-27 09:09:55 +01:00
Alexander Medvednikov
14e9c3c7bb rename compiler2.parser to v.parser etc 2019-12-27 06:09:16 +01:00
BigBlack
98b81252b7 fix #3217 (string.replace) 2019-12-27 07:20:06 +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
Ulises Jeremias Cornejo Fandos
1277ce22f8 math: factorial submodule 2019-12-27 06:08:17 +03:00
Alexey
a5b43e1f4d strconv: fix tests 2019-12-27 06:07:09 +03:00
Alexander Medvednikov
6363118aa9 remove ScalarExpr 2019-12-26 13:21:41 +03:00
Alexander Medvednikov
9b37fc7310 clean up parser_test.v 2019-12-26 13:05:06 +03:00
Alexander Medvednikov
d9835c1ecf move atofq.v to a separate module 2019-12-26 11:56:21 +03:00
Alexander Medvednikov
8d9f89e728 compiler2: proof of concept cgen 2019-12-26 07:47:33 +03:00
joe-conigliaro
fe8a6abb41 compiler2: update operator precedence and associativity (#3218) 2019-12-26 05:40:18 +03:00
Delyan Angelov
ae4c8af674 fmt: fixes for option syntax formatting 2019-12-25 16:08:52 +03:00
vitalyster
1d86f4b5d1 ensure that v fmt can be run over most .v files on each PR 2019-12-25 15:54:48 +03:00
Alexey
ccb041c831 arrays: improve range function 2019-12-25 15:52:27 +03:00
Alexey
f2bab4ab9a atoi: add tests 2019-12-25 15:42:00 +03:00
joe-conigliaro
de1be1dc66 compiler2: start implementing pratt style parser 2019-12-25 15:39:58 +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
Don Alfons Nisnoni
4498dc6a47 tools/fast: remove unused function 2019-12-23 13:37:52 +03:00
yatsen1
137a473bb7 add time.parse_iso 2019-12-23 13:36:51 +03:00
yatsen1
d03f0ec294 fix time.parse() 2019-12-23 13:25:44 +03:00
Charles WANG
b1013697d1 vlib/vweb.v: add public const and functions 2019-12-23 13:24:53 +03:00
Delyan Angelov
cf37028a52 test: use 'stty size' for vtest --- line instead of 'tput cols' 2019-12-23 13:23:53 +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
Alexey
dacc129fd8 time: improve tests 2019-12-22 22:58:41 +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
Alexey
b88cb1ca69 extend tests for strings module 2019-12-22 02:05:30 +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
penguindark
5cfbc7bab5 float: bug fix on +zero 2019-12-22 01:38:02 +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
Charles WANG
24739c9f5a sqlite: add Ubuntu instructions 2019-12-21 10:00:28 +03:00
joe-conigliaro
4dc4f12ccd hashmap: use fnv32 as hash algo 2019-12-21 09:59:12 +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
Changsen XU 徐昶森
b3a402eb82 add mysql -I flag for ubuntu 18.04 (#3153) 2019-12-20 23:18:23 +03:00
Don Alfons Nisnoni
090f444d8f scanner: small DRY 2019-12-20 23:15:16 +03:00
Steve Phillips
6e9493887d builtin/array.v: Fixed typo in new_array (cap -> cap_) 2019-12-20 23:09:59 +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
76c800ffb6 bring back array.eq 2019-12-19 23:49:40 +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
Alexander Medvednikov
1679457f6b clean up math_test.v 2019-12-19 22:16:10 +03:00
BigBlack
a38a0f4fb7 parser: fix x.function_pointer() 2019-12-19 21:23:29 +03:00
Alexander Medvednikov
2096018b00 map: another fix + test 2019-12-19 21:17:12 +03:00
Alexander Medvednikov
26f5d34e64 map: fix a bug with an incorrect size after delete() 2019-12-19 21:11:42 +03:00
Alexander Medvednikov
519f2990f2 vfmt: minor fixes 2019-12-19 10:02:47 +03:00
penguindark
929e7c1193 strconv: atof_quick for tasks that need speed but not big accuracy 2019-12-19 03:37:53 +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
Charles WANG
0ebe86fbd5 sqlite: readme 2019-12-18 13:22:22 +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
Abdullah Atta
20e73ff69a os: fix nreadelements naming 2019-12-18 08:22:52 +03:00
Abdullah Atta
489ec05b23 eventbus: remove hacks, add sender 2019-12-18 08:16:33 +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
prime31
f00f9fbf5a os: fix bug where read_bytes would return only the first byte 2019-12-18 00:16:56 +03:00
BigBlack
e68200538a parser: call struct field fns 2019-12-17 22:00:08 +03:00
Delyan Angelov
d405cfbcf7 gg: remove spurious printing of gl.TEXT_VERT 2019-12-17 19:17:48 +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
Alexander Medvednikov
84f535d242 atof: remove extra() causing warnings 2019-12-17 01:47:30 +03:00
Alexander Medvednikov
ea781a557f array: slice_clone() 2019-12-17 01:29:40 +03:00
Alexander Medvednikov
562f24336d add ./v2 to gitignore 2019-12-17 01:21:18 +03:00
Johan Hillerström
6008fa44c6 parser: fix generic function call in for in expression 2019-12-17 01:08:30 +03:00
penguindark
3dbf7a4039 atof implementation in V 2019-12-17 01:07:13 +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
e7856a1afc do not allow malloc(0) 2019-12-16 21:29:32 +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
lutherwenxu
dadf147382 flag: implement *_opt() and *_multi()
It's very often that someone will need to process values that were not
provided separately (eg. generating a complex default value like in V).

This commit allows the user to call the *_opt() functions instead of
forcing them to provide some magical default values.

* flag: Implement int_multi(), float_multi() and string_multi()

These 3 functions are useful when the application expects a flag to be
repeated more than once.

A sample would be:
v -cflags someflag -cflags secondflag

This feature exposes the raw array that the flag parser internally keeps
and allow the application to parse it however they want instead of
dropping everything except the first element.

* flag: Add documentation

Add comments describing what *_opt() and *_multi() do.
2019-12-16 19:03:38 +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
João Victor Oliveira Couto
b30f989f44 builder_js: fix mutable error 2019-12-16 18:54:44 +03:00
Kaito Sugimoto
9dd86a2de6 math: fix abs (-0.0) 2019-12-15 19:37:17 +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
Alexander Medvednikov
45695543ba tutorial: minor fixes 2019-12-14 18:59:02 +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
prime31
75c01dec30 cleanup SDL event system 2019-12-14 03:31:07 +03: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
797d4364e7 vweb: fix reading request's body/headers 2019-12-13 23:46:11 +03:00
Alexander Medvednikov
fb3da327d6 vweb: fix a cookie bug 2019-12-13 21:11:40 +03:00
Alexander Medvednikov
83b8d642b4 fix csv/writer.v 2019-12-13 20:45:48 +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
Robert Cristof
ec36755407 mysql: add mysql.escape_string() 2019-12-13 19:12:42 +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
penguindark
8e1c27d129 utf8: punctuation 2019-12-12 21:08:44 +03:00
Alexander Medvednikov
0eeb607ffd fix fopen definition 2019-12-12 21:03:08 +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
02c29624d8 freetype: minor fixes 2019-12-12 14:44:29 +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
taojy123
28f76f10db vweb: fix empty post request blocking 2019-12-11 19:20:46 +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
f286387647 vweb: secure HttpOnly cookies 2019-12-11 03:20:30 +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
Alexander Medvednikov
9726e18c0a string: optimize replace() 2019-12-10 18:50:21 +03:00
joe-conigliaro
6d5e9f88f8 parser: allow enums to be used as bitfield flags 2019-12-10 06:16:47 +03:00
Alexander Medvednikov
0650d58818 vweb: readme: list some features of vweb 2019-12-10 00:16:39 +03:00
Alexander Medvednikov
51051cdf92 vweb: enable @ logic in the header + fix the example 2019-12-09 23:34:38 +03:00
Alexander Medvednikov
6f49d4c1d2 orm: bool support; vweb fixes 2019-12-09 23:20:29 +03:00
Delyan Angelov
32b0225079 remove os/time references from live programs, fix warnings 2019-12-09 18:53:17 +03:00
Alexander Medvednikov
8082a5e7f4 fix benchmarking stats 2019-12-09 17:25:56 +03:00
Alexander Medvednikov
75280bb54c fix int.str() memory bug 2019-12-09 16:41:13 +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
sha0coder
7ffa315566 vlib/http: ssl handshake fix 2019-12-09 13:31:24 +03:00
Delyan Angelov
ed5c9a20e5 update brew instructions for sdl dependencies 2019-12-09 03:18:08 +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
prime31
faedebbb4e sdl: separate sdl module into multiple, dependent submodules 2019-12-08 23:30:38 +03:00
penguindark
9730164613 atoi: fix leading zeros in string to int conversion 2019-12-08 23:22:33 +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
Delyan Angelov
1bb38a38bb tooling: add tools/oldv , for use with 'git bisect', or for testing with older V 2019-12-08 20:21:17 +03:00
Alexander Medvednikov
4d1f721558 fix "" string interpolation bug 2019-12-08 20:06:00 +03:00
Alexander Medvednikov
d58982a6f6 vweb: fix tests 2019-12-08 18:07:04 +03:00
Alexander Medvednikov
1c6f7180b2 vweb: fix form parsing 2019-12-08 17:37:23 +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
Nicolas Sauzede
8bc94947e5 tvintris: fix else cases 2019-12-08 13:45:29 +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
Alexander Medvednikov
7adda3b71a vweb: fix get_cookie() 2019-12-08 01:48:49 +03:00
Alexander Medvednikov
b1174428a5 vweb: fix redirect() 2019-12-08 01:05:57 +03:00
Alexander Medvednikov
30fc29fa6d fix csv test 2019-12-08 01:03:35 +03:00
Alexander Medvednikov
7069cd6ab5 a separate scope for x := opt, part 2 2019-12-08 00:45:42 +03:00
Alexander Medvednikov
b26a0bde38 a separate scope for x := opt, part 1 2019-12-08 00:34:04 +03:00
Alexander Medvednikov
06a0f39f7b a separate scope for 2019-12-08 00:30:06 +03:00
Alexander Medvednikov
dc2da1de98 fix V build 2019-12-08 00:27:24 +03:00
Alexander Medvednikov
8ebc2fe601 do not allow redefinition in x := opt() { 2019-12-07 23:09:48 +03:00
Alexander Medvednikov
b79588dc69 handle bad value in if x := opt() { 2019-12-07 23:05:54 +03:00
Alexander Medvednikov
49f960aea5 fix some windows cast warnings 2019-12-07 22:42:20 +03:00
Alexander Medvednikov
c019dd6f98 test assert in functions that return values 2019-12-07 22:42:20 +03:00
bogen85
751ba48bf5 freestanding improvements (exit, function checks)
Fixed exit for freestanding (as assert now uses it).
Running each function check now in a forked process so they can be killed or return other exit codes (and so each function runs, even if others crash)
2019-12-07 22:25:19 +03:00
Alexander Medvednikov
d73586743b fix assert in functions that return values 2019-12-07 19:33:59 +03:00
Alexander Medvednikov
b9a24e3b51 Revert "use stdint.h with msvc"
This reverts commit 93529031de.
2019-12-07 19:25:17 +03:00
Alexander Medvednikov
93529031de use stdint.h with msvc 2019-12-07 19:20:53 +03:00
Alexander Medvednikov
63ec3c0486 fix a wrong "0 character in a string literal" error 2019-12-07 18:19:48 +03:00
Alexander Medvednikov
7b0e378947 fix clipboard_linux.v 2019-12-07 18:16:19 +03:00
Alexander Medvednikov
e1ad1794e3 fix readline_linux.v 2019-12-07 17:46:01 +03:00
Alexander Medvednikov
9cba3bdf78 windows: WideCharToMultiByte() returns an int 2019-12-07 17:31:07 +03:00
Alexander Medvednikov
ad6adf327e vlib: fix missing else{} in match statements 2019-12-07 17:23:37 +03:00
Alexander Medvednikov
2fb7fba856 require else in match statements 2019-12-07 17:01:44 +03:00
Alexander Medvednikov
a594e009f2 test high order function 2019-12-07 16:13:25 +03:00
Alexander Medvednikov
f51784ee01 remove unnecessary casts everywhere 2019-12-07 15:51:00 +03:00
Alexander Medvednikov
d7ccbba2c9 do not allow casting a type to itself 2019-12-07 15:31:56 +03:00
Alexander Medvednikov
a854d396ff clipboard: fix mutability on macOS and Windows 2019-12-07 15:22:28 +03:00
Alexander Medvednikov
c2814c1ada vlib: fix remaining mutability errors 2019-12-07 15:13:23 +03:00
Alexander Medvednikov
329485d4b6 vweb: fix headers and cookies 2019-12-07 15:04:05 +03:00
Alexander Medvednikov
cc834dd7a7 parser: x in [] is always false 2019-12-07 03:05:19 +03:00
João Victor Oliveira Couto
5a8c07dcf5 strings: builder: write_b() 2019-12-06 23:02:09 +03:00
Alexander Medvednikov
55f32fc413 more mutability fixes 2019-12-06 19:23:24 +03:00
Alexander Medvednikov
e3b5d7fd7c rename if_st to if_statement 2019-12-06 19:21:26 +03:00
Alexander Medvednikov
bf1b751f47 cli: update mutability 2019-12-06 19:12:01 +03:00
Alexander Medvednikov
c8d111924d check unused and unmodified vars in all modules, not just main 2019-12-06 18:43:56 +03:00
Delyan Angelov
353805e170 os: test is_link() 2019-12-06 12:09:35 +03:00
Alexander Medvednikov
aed22a57e3 fixed size array with const length ([N]int) 2019-12-06 02:41:03 +03:00
Alexander Medvednikov
be323e2fb6 ci: set up pg database to test ORM 2019-12-06 02:11:39 +03:00
Alexander Medvednikov
71c0c4803f ORM fixes 2019-12-06 02:00:37 +03:00
Alexander Medvednikov
79b26b1654 use get_type2 in struct.v 2019-12-05 19:02:33 +03:00
Alexander Medvednikov
cca650c655 better foo must return (int, int) error 2019-12-05 18:55:27 +03:00
Alexander Medvednikov
cb46bf314e get_type.v 2019-12-05 18:48:39 +03:00
BilligsterUser
0a38b307cd os_test: use rmdir() to del dirs 2019-12-05 17:08:55 +03:00
Delyan Angelov
98374ea6fe CI: fix msvc (temporary work around dialogs poping up) 2019-12-05 17:08:18 +03:00
Alexander Medvednikov
4888d27b71 fix v -live on macOS 2019-12-05 14:40:14 +03:00
Alexander Medvednikov
2a1b0a8cae rename table.register_type2() 2019-12-05 14:24:25 +03:00
Nicolas Sauzede
2e30e1453d sdl: fix old vsdl2 references 2019-12-05 12:58:48 +03:00
Alexander Medvednikov
90e3ab8c1e debugging v -live message.v 2019-12-05 12:48:23 +03:00
Nicolas Sauzede
9d854c5df0 vlib: sdl module + tVintris example 2019-12-05 11:25:55 +03:00
Alexander Medvednikov
6dd1270539 builtin: remove an unnecessary malloc() call 2019-12-05 11:08:41 +03:00
Alexander Medvednikov
867f952d6b for: ranging through fixed size arrays 2019-12-05 02:17:17 +03:00
Alexander Medvednikov
fb546f376e set max module depth to 5 2019-12-05 01:27:04 +03:00
Alexander Medvednikov
e707ac4f28 test v -live message.v 2019-12-05 00:17:38 +03:00
Alexander Medvednikov
2144c162c4 os: is_link() 2019-12-04 23:53:11 +03:00
Alexander Medvednikov
a57e29dfc5 os: replace dir_exists with is_dir; file_exists() => exists() 2019-12-04 23:17:45 +03:00
Alexander Medvednikov
fb237b9e53 parser: check types in a in b expressions 2019-12-04 22:17:24 +03:00
Alexander Medvednikov
d9248e8d52 parser: fix a wrong index in an error 2019-12-04 13:36:35 +03:00
Delyan Angelov
9a6711fa1b compiler: c'str' now has type charptr 2019-12-04 13:34:06 +03:00
Alexander Medvednikov
40df0644ca fix all Foo{!} 2019-12-04 13:08:28 +03:00
Alexander Medvednikov
e32cbfcca7 error on C.Foo{!} 2019-12-04 12:56:59 +03:00
Alexander Medvednikov
b2b34e18e4 use the new &C.Foo(0) cast 2019-12-04 12:19:32 +03:00
Alexander Medvednikov
2bafd41183 &C.Foo(0) cast to replace &C.Foo{!} hack 2019-12-04 12:13:17 +03:00
bogen85
a9aaa13a09 freestanding: sys_getuid, sys_waitid; minimal fork check; remove bare.S 2019-12-04 11:46:09 +03:00
Alexander Medvednikov
47f5e1178f -output-cross-platform-c for creating a single x-platform C file 2019-12-04 02:02:52 +03:00
Delyan Angelov
eb20dd39b1 freestanding: init consts 2019-12-04 01:40:26 +03:00
Alexander Medvednikov
c4a43633da i8, i18, u16 str() 2019-12-03 21:14:17 +03:00
Alexander Medvednikov
66f271f100 fix a string interpolation bug 2019-12-03 20:41:49 +03:00
Alexander Medvednikov
f192429c8a $if mac => $if macos 2019-12-03 16:29:37 +03:00
Alexander Medvednikov
ff80e3a5fa i8 print test + $if mac => $if macos 2019-12-03 16:09:43 +03:00
Delyan Angelov
b907cf2179 sync/waitgroup: force sleeping for 1ms
fixes issues #2874 and #2961
2019-12-03 15:05:08 +03:00
Delyan Angelov
0a8d2d5dc7 compiler: guess cc kind for -prod builds, to know when to add -flto 2019-12-03 13:58:24 +03:00
Ulises Jeremias Cornejo Fandos
b31ec4ca9a math: add factorial function (via factorial table) 2019-12-03 11:34:26 +03:00
Enrico Lefass
6d28a80bf8 haiku support (part 2) 2019-12-03 11:26:47 +03:00
Don Alfons Nisnoni
f806e0f9e5 mysql: add error handling 2019-12-03 11:18:20 +03:00
Don Alfons Nisnoni
33793a869f mysql: make the struct public & update some code 2019-12-02 17:26:58 +03:00
Alexander Medvednikov
c0bb88dfb0 allow # in webview module 2019-12-02 12:31:49 +03:00
Alexander Medvednikov
753e926356 debug v symlink error 2019-12-02 12:16:55 +03:00
Don Alfons Nisnoni
254afcb2d0 *C.char => charptr 2019-12-02 11:37:35 +03:00
penguindark
322733d59a encoding.utf8 fixes 2019-12-01 20:41:29 +03:00
radare
5ff387bbe4 strings: split_nth and add tests 2019-12-01 16:10:13 +03:00
Delyan Angelov
ec15bfb7d1 v test v => v test-compiler 2019-12-01 12:50:13 +03:00
bogen85
854309a7d8 freestanding: add array support (stack only for now) 2019-12-01 11:27:36 +03:00
Alexander Medvednikov
3fea8f3de5 *char => charptr everywhere 2019-12-01 10:33:26 +03:00
Alexander Medvednikov
698c3823ee charptr fix 2019-12-01 10:11:29 +03:00
Alexander Medvednikov
0999273d32 CReserved => c_reserved; charptr 2019-12-01 09:56:53 +03:00
Alexander Medvednikov
a23a4ed98a update all index() uses 2019-11-30 15:27:16 +03:00
Alexander Medvednikov
2651b8957a parser: fix unreachable code error in if a := opt() 2019-11-30 15:17:27 +03:00
Alexander Medvednikov
81d4f66fbb string: make index() return ?int instead of int/-1 2019-11-30 13:21:21 +03:00
Alexander Medvednikov
cc2bd0bb68 string: make substr private 2019-11-30 12:50:57 +03:00
Alexander Medvednikov
1a0b78ae2f fix the cli module 2019-11-30 12:44:50 +03:00
Alexander Medvednikov
7e4799334f array: make left/right/slice private 2019-11-30 12:37:34 +03:00
Alexander Medvednikov
b38283dcf1 string: make left/right private 2019-11-30 12:06:17 +03:00
prime31
ff216e7d50 append module name for module search path 2019-11-30 11:17:37 +03:00
Alexander Medvednikov
68b4dab582 parser: another infinite loop fix 2019-11-30 10:37:28 +03:00
Alexander Medvednikov
c00a7f3a5e parser: fix infnite loop with fn foo(&) {} 2019-11-30 10:21:58 +03:00
Alexander Medvednikov
d71532b64e optimize for c in str { 2019-11-30 09:41:35 +03:00
Delyan Angelov
c7f8f2175b move vlib/builtin/utf8_util.v to vlib/encoding/utf8/utf8_util.v 2019-11-30 08:52:37 +03:00
Emily Hudson
661ddf3d1e compiler: realpath before trying to basefilename 2019-11-30 08:01:31 +03:00
Alexander Medvednikov
850788c4bb parser: fix a bug with & and == 2019-11-29 23:18:10 +03:00
Alexander Medvednikov
4c11eb5ddc -bare => -freestanding 2019-11-29 22:49:05 +03:00
Alexander Medvednikov
f724a956b3 parser: fix a & b == c precedence 2019-11-29 22:42:32 +03:00
Alexander Medvednikov
881584d04c V 0.1.23 2019-11-29 20:00:33 +03:00
Alexander Medvednikov
1bfcdaa2cc ci: test the new prebuilt packages 2019-11-29 19:14:26 +03:00
Alexander Medvednikov
71378b8041 parser: better syntax error for unexpected tokens 2019-11-29 17:06:49 +03:00
joe-conigliaro
11aaee685a generics: fix errors & simplify 2019-11-29 16:46:43 +03:00
penguindark
82d4a731f3 utf8 functions (to_lower etc) 2019-11-29 16:25:25 +03:00
Alexander Medvednikov
431568faad x64: fix off by one error in for loops 2019-11-29 12:33:36 +03:00
Alexander Medvednikov
9e19472c33 show an info message if a C compiler is not installed 2019-11-29 12:12:06 +03:00
bogen85
e31d892598 make _V_mret_ unique by putting p.token_idx in it 2019-11-29 11:11:53 +03:00
bogen85
729f9c3391 bare: add mm_alloc, mm_free
also split errno from return value in existing Linux syscall wrappers
update applicable syscall wrapper checks
2019-11-29 10:14:17 +03:00
Alexander Medvednikov
52d25336db x64: function calls; http: download_file() 2019-11-28 13:24:02 +03:00
prime31
208f67132d added -user_mod_path command line option to add a module search path 2019-11-28 13:04:57 +03:00
Delyan Angelov
7545ea709a enable alpine/musl CI tests 2019-11-28 11:46:52 +03:00
bogen85
3b7466a13d ci: rename multiret_with_ptrtype.v 2019-11-28 09:46:52 +03:00
bogen85
f6ec1b29f9 strconv: make string.int() stop parsing on invalid digit 2019-11-28 09:46:10 +03:00
bogen85
9374168b26 compiler: allow function expecting a void* to receive a byteptr 2019-11-28 09:44:43 +03:00
bogen85
e63300e286 temporary fix for issue #2897 2019-11-27 19:55:32 +03:00
sh0f
dbaa37ea46 urllib: fix string length in escape() 2019-11-27 12:15:05 +03:00
れもん
584786d87c parser: fix in expression 2019-11-27 08:48:04 +03:00
Alexander Medvednikov
a3b14e00a2 vweb fixes 2019-11-26 16:08:16 +03:00
Alexander Medvednikov
cb8a19efaf vweb: bring back html() test 2019-11-26 09:34:09 +03:00
joe-conigliaro
3107618732 vweb: remove no longer needed special case & fix tmpl 2019-11-26 09:23:11 +03:00
ʇʞʌp
6349bd33d3 compiler: Allow or usage when assigning to struct fields. (#2893) 2019-11-26 09:07:35 +03:00
ʇʞʌp
79a02a4c09 parser: make p.opt()? work for methods 2019-11-26 09:04:59 +03:00
joe-conigliaro
385c045e5a don't add generic parsers to v.files 2019-11-26 09:04:11 +03:00
Alexander Medvednikov
8d241cc164 vweb fixes; ORM fixes; freeing strings 2019-11-26 07:47:16 +03:00
Ned Palacios
bac3c0a63e compiler: add "modules/ " folder for searching local modules 2019-11-26 06:45:26 +03:00
ʇʞʌp
81d552038c parser: allow constant usage in assoc 2019-11-26 06:41:56 +03:00
bogen85
5c217b9e61 fix hexadecimal constants + freestanding fixes 2019-11-26 06:12:37 +03:00
joe-conigliaro
92f920b2b8 make errors from code parsed with statements_from_text show correctly 2019-11-25 22:22:40 +03:00