Commit Graph

227 Commits (840f474fb558aa2cd552bb5be4594a8c3c9032fd)

Author SHA1 Message Date
Daniel Däschle d5a421e3f5
checker: add alias cast type check (closes #6705) (#6709) 2020-11-02 01:17:35 +01:00
Delyan Angelov 0c192cfd64 tests: fix warnings when doing `./v -W -progress -check-syntax test-fixed` 2020-10-26 14:41:57 +02:00
Enzo b083f4014b
fmt: fix multiple things and format most of the compiler (#6631)
Format expressions inside string interpolation like the rest (it used to be a+b instead of a + b, not too sure why)
Fix formatting some match branches when there were only one statement inside (it was inlined)
Fix parsing and formatting some comments edge case on struct field init. You should check out this test because the result is a bit different from before. I personally find it more logical but I would understand if the former format was to stay
Fix formatting of void-returning function signature
2020-10-15 22:12:59 +02:00
Alexander Medvednikov 7da1afa140 all: switch to the new fn arg syntax everywhere; add lots of vfmt -verify tests 2020-10-15 12:32:28 +02:00
Delyan Angelov 3c48a6e4ce tests: rename _test.v files with dup names (temp workaround for highly parallel testing) 2020-10-14 18:25:26 +03:00
Alexander Medvednikov 1123b8259a time: vfmt time/parse.v 2020-10-08 16:59:43 +02:00
spaceface777 b44620d065
time: use linux high-precision timers on Android as well (#6476) 2020-09-25 18:02:02 +03:00
Daniel Däschle abc98c273c
parser: require assign on type alias (#6477) 2020-09-25 12:02:32 +02:00
Alexander Medvednikov 624f22e27e all: mutability check (part 1); enable mutable sumtype args 2020-09-22 05:28:29 +02:00
Delyan Angelov e2e683199d time: do not panic on time.new_time({unix: 1608854400}).str() 2020-09-16 22:14:02 +03:00
Alexander Medvednikov 03327e5161 time: minor fixes + vfmt 2020-09-10 13:26:01 +02:00
Uwe Krüger c3cdfa1c96
sync/channels: provide `try_push(), try_pop() as public methods (#6101) 2020-08-10 18:06:42 +02:00
Alexander Medvednikov adafd24819 gen: auto_str_methods.v 2020-08-01 16:36:12 +02:00
penguindark 7d52d612ce
rand: add rand.ulid() (#5979)
* removed debug println

* added newline to the end of the file

* time: add .unix_time_milli() method; rand,time: add tests

* rand: add more ulid tests; move tests to a separate file random_identifiers_test.v

* run vfmt over vlib/rand/random_identifiers_test.v

* speed up time.unix_time_milli

* simplify and speedup time.unix_time/0 and time.new_time/1

* update comment about rand.ulid()

* fix terminating 0 off by 1 issue in rand.ulid()

* optimize time.new_time()

* restore the master version of vlib/time/parse.v

* make test_unix_time more robust

Co-authored-by: Delyan Angelov <delian66@gmail.com>
2020-07-26 13:10:56 +03:00
Delyan Angelov 8f23accc4e time: add .format_ss_milli and .format_ss_micro methods 2020-07-21 11:58:33 +03:00
Nick Treleaven a74cbf55c7
checker: warn if C.m* or C.s* functions are called outside unsafe blocks (#5869) 2020-07-20 20:06:41 +03:00
Uwe Krüger 8df6e59678
sync: add semaphores (#5831) 2020-07-15 10:22:33 +02:00
ka-weihe df45488e09
cgen: fix warnings (#5820) 2020-07-14 00:16:31 +02:00
Delyan Angelov 78e1127d99
cgen: treat the main module like any other v module 2020-07-01 00:53:53 +02:00
Louis Schmieder 616b07204d
vweb: add cookies with expire date 2020-06-29 21:14:36 +02:00
spaceface777 5f21b152a7
tcc: support tcc on Windows 2020-06-14 23:15:12 +02:00
Alexander Medvednikov 7750ce5f60 time: fix relative() 2020-06-12 15:28:28 +02:00
Alexander Medvednikov 72fdb09e46 time: relative_short(); fmt: handle $vweb.html() 2020-06-11 20:26:49 +02:00
Tomas Hellström 2dc547a45c
time: fix iso8601 parser and utc time 2020-06-10 11:14:55 +02:00
Hungry Blue Dev e649cf84e3
rand: reorganize: phase 2 2020-06-09 15:06:07 +02:00
Enzo Baldisserri 11b7b97311
parser: fail when assigning to _ with := 2020-06-08 00:47:04 +02:00
Tomas Hellström 9c8769503f
time: add microsecond precision to Time struct 2020-06-07 16:19:09 +03:00
Uwe Krüger 076089d3c5
checker: apply stricter type checks to function args and return types 2020-06-01 21:15:59 +02:00
Delyan Angelov ae8f7cf569 tests: fix some tests, that failed due to the stricter immutable checks 2020-06-01 18:24:38 +03:00
JalonSolov b7dc5b2f7b
stopwatch: auto_start option, make pause cumulative 2020-05-30 10:20:54 +03:00
Uwe Krüger 013fdb8a4b
checker: restrict numeric promotions to cases where no data is lost 2020-05-27 05:42:48 +02:00
Uwe Krüger fd4d28b7b6
tests: update for stricter type checks 2020-05-24 21:07:32 +02:00
Alexander Medvednikov 03525843a0 parser: do not allow calling private functions 2020-05-18 22:54:11 +02:00
Uwe Krüger 2635be511f
all: re-apply C++ support 2020-05-18 21:38:06 +02:00
Alexander Medvednikov 07a78b2843 Revert "all: C++ compiler support"
This reverts commit 9a237c3e82.
2020-05-18 17:05:48 +02:00
Uwe Krüger 9a237c3e82
all: C++ compiler support 2020-05-18 15:51:36 +02:00
yuyi 7f4cf08516
parser: check `(mut f Foo)` syntax 2020-05-17 13:51:18 +02:00
pancake b5bf0eeac5
time: add .no_delimiter format option 2020-05-08 21:23:26 +03:00
Delyan Angelov ddb5a8e6e4 time: add specialized vpc_now_darwin to fix -os cross 2020-05-05 17:31:21 +03:00
Delyan Angelov 59525c8c93 tests: fix missing ? after v fmt run 2020-05-01 12:01:30 +03:00
Delyan Angelov 84785bbb59 tests: fix msvc transient failures when sleep_ms takes longer 2020-05-01 11:58:56 +03:00
Delyan Angelov 3608c81cb9 time: add stopwatch_test.v 2020-05-01 10:21:15 +03:00
Enzo Baldisserri 682838a0cf
checker: check array and fields mutability 2020-04-27 22:53:26 +02:00
Delyan Angelov e523540f3a profile: use specialized time__vpc_now 2020-04-26 22:14:54 +03:00
Enzo Baldisserri 3e68e429b6
checker: avert if else is unnecessary 2020-04-25 21:51:44 +02:00
Delyan Angelov d6899788dd time: add back vlib/time/time_linux.c.v 2020-04-24 15:28:16 +03:00
Delyan Angelov 117ec722a2 time: remove temporary time__linux.c.v workaround 2020-04-24 09:12:34 +03:00
Delyan Angelov 20637ae54c time: restore building v on linux, till v.c is regenerated with `-os cross` 2020-04-24 09:00:07 +03:00
Major Taylor 25f2b171fc
time: Timer -> StopWatch; time.Duration 2020-04-24 07:33:25 +02:00
Major Taylor be0a8794c2
time: add Timer; refactor benchmark to use Timer 2020-04-19 03:40:32 +02:00
lutherwenxu dc4db87be3
vlib: use new filename format 2020-04-11 19:51:32 +02:00
Alexey 1fde205f97
time: return optional value directly 2020-04-11 18:56:39 +02:00
Daniel Däschle b0dacef32b
time: change unix timestamp to u64 2020-04-07 03:35:47 +02:00
yuyi 8ba6e45d83
time: fix unix_time 2020-04-04 12:10:56 +02:00
joe-conigliaro d048bf66b0
cgen: optimize/generalize typ method 2020-04-01 00:18:25 +11:00
Alexey cedf185b41
v2: fix Windows errors 2020-03-28 10:19:38 +01:00
Alexander Medvednikov 473d9fef55 checker: do not allow extra () in if conditions 2020-03-27 14:57:19 +01:00
yuyi 2efc37947d
time: calc_unix => unix_time 2020-03-22 19:43:59 +01:00
radare c21e976cad
builtin: do not use unsafe sprintf/vsprintf functions 2020-03-21 06:37:58 +01:00
Alexander Medvednikov 4b36098e07 cgen: 1 error left 2020-03-20 20:35:00 +01:00
Delyan Angelov f89f83deb6
solaris: _solaris.v and #flag solaris (stage 1) 2020-03-20 20:20:01 +01:00
Alexander Medvednikov b7a036945d cgen: in [] optimization 2020-03-19 16:12:49 +01:00
Alexander Medvednikov b2f05e56b8 cgen: fix tests 2020-03-19 11:23:05 +01:00
Joe Conigliaro 147ecc5e17 v2: time - prefix C struct & ast.TypeName to ast.Type 2020-03-04 01:06:21 +11:00
spaceface777 ef8c1203b4
cleanup: replace C for loops with range 2020-02-24 17:55:16 +01:00
Alexander Medvednikov 8f9979eb8d fix time_windows.v 2020-02-07 23:11:15 +01:00
Alexander Medvednikov d66bc24e7f remove `as` casts for basic types 2020-02-07 22:10:48 +01:00
Alexander Medvednikov 9034b1fd08 v2: match cgen; use `as` for casting 2020-02-07 14:50:52 +01:00
Alexey 65744207fc
time: reorganize module 2020-02-06 14:19:44 +01:00
Alexey 91e181b14a
time: return optional value in `parse` and `parse_iso` functions 2020-02-06 10:22:00 +01:00
Alexey a61c9c617d
time: use `_mkgmtime` and `timegm` to calculate unix time 2020-02-05 06:13:11 +01:00
Alexander Medvednikov 80daaff874 v2: scopes, or, in, hex 2020-02-04 17:44:39 +01:00
vitalyster 21b54723e4
time: fix timezone 2020-02-04 12:17:04 +01:00
Delyan Angelov 7b18e5d198 compiler: add 'use -- instead of -= 1' 2020-01-23 21:09:47 +01:00
Shun Sakai c8c43a2475 update copyright year 2020-01-23 21:04:46 +01:00
nsauk 84438c0139 time: add str() 2020-01-20 15:06:15 +01:00
Swastik Baranwal 26374971ab time: fix logic 2020-01-14 18:12:28 +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
Alexander Medvednikov 2f8969c604 time: Windows fix 2020-01-01 12:01:03 +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 4d31d5882d x64, v2 backends 2019-12-31 19:42:16 +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
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
Alexey dacc129fd8 time: improve tests 2019-12-22 22:58:41 +03:00
Alexander Medvednikov 6210984c97 run vfmt 2019-12-20 02:09:56 +03:00
Alexander Medvednikov f51784ee01 remove unnecessary casts everywhere 2019-12-07 15:51:00 +03:00
Alexander Medvednikov b2b34e18e4 use the new &C.Foo(0) cast 2019-12-04 12:19:32 +03:00
Alexander Medvednikov 81d4f66fbb string: make `index()` return `?int` instead of `int`/-1 2019-11-30 13:21:21 +03:00
Alexander Medvednikov b38283dcf1 string: make left/right private 2019-11-30 12:06:17 +03:00
kevin70g 5536eb581c time: C.timeval struct member definitions fix 2019-11-19 18:28:29 +03:00
Nicolas Sauzede 1dadf9d966 fix Windows warnings 2019-11-16 02:30:50 +03:00
Alexander Medvednikov ffa6bcfff5 vfmt: handle comments 2019-11-13 11:54:22 +03:00
Alexander Medvednikov f30d0ce667 parser: fix a bug with complex ref fn args 2019-11-11 04:56:13 +03:00
Enrico Lefass a691cc857e time: add new public functions for formatting 2019-11-01 02:13:03 +03:00
joe-conigliaro 59378dce46 compiler/vlib: replace substr/left/right with `[start..end]` everywhere 2019-10-27 10:03:15 +03:00
Mihael Dimoski b6fa252fc9 time: make Time struct public 2019-10-25 22:04:25 +03:00
Enrico Lefass fcead2f79e time: squash three occasions of const(...) into one 2019-10-23 08:41:16 +03:00
Alexander Medvednikov a76165828b snake_case consts 2019-10-12 22:36:14 +03:00
Alexander Medvednikov a9a73d9315 caching modules: almost there 2019-10-09 06:35:58 +03:00
Enrico Lefass b0573bd4e4 time: add new public format function ddmmy() 2019-10-06 16:24:37 +03:00
Alexander Medvednikov f45d3f07ed fix 3 last C warnings and make sure no new warnings are introduced 2019-10-04 05:49:41 +03:00
Alexander Medvednikov 3db4d66824 operator | not defined on bool 2019-09-15 19:35:48 +03:00
Alexander Medvednikov 0e2c41e0f9 replace *Foo with &Foo everywhere 2019-09-01 22:51:16 +03:00
Alexander Medvednikov d5d1b74f90 time: do not include <unistd.h> on windows 2019-08-30 01:10:29 +03:00
Alexander Medvednikov 3c5087902d fix msvc build 2019-08-30 01:06:10 +03:00
Vitaly Takmazov 5124eae47d msvc: check exit code 2019-08-28 13:26:27 +03:00
Delyan Angelov aa438c7c3f os: fix exec() and get_raw_line(); fix Windows tests and examples 2019-08-26 13:51:48 +03:00
Robin Martijn 754b8082fb time/vlib: fix day_of_week() with sakamoto's algorithm 2019-08-25 23:35:01 +03:00
Alexander Medvednikov 031e7fe113 os: libproc.h on macos only 2019-08-24 02:53:11 +03:00
Alexander Medvednikov 7fd9827318 all: add missing includes 2019-08-24 02:48:47 +03:00
Alexander Medvednikov d98c20466e cc.v: build with "implicit-function-declaration" and fix declarations
required for the webassembly backend

2
2019-08-24 00:20:53 +03:00
Sylvio Tavares 0e798b4c51 time: fix rand() 2019-08-02 00:31:02 +02:00
Alexander Medvednikov 207bab5f79 generics, vweb, comptime codegen, etc 2019-07-29 18:24:48 +02:00
Emily Hudson e25ea7f9dd add MSVC C backend support; fix live code reloading on Windows; other Windows fixes 2019-07-23 23:23:13 +02:00
Alexander Medvednikov 7fa1f423e2 fix time_test.v 2019-07-14 17:08:14 +02:00
Alexander Medvednikov 6995cc0234 time: fix test_days_in_month() 2019-07-14 16:47:02 +02:00
nxshock 1ce295b683 time: days_in_month() 2019-07-14 16:43:57 +02:00
nxshock b3e5c89ba9 time: add is_leap_year(year int) 2019-07-03 18:55:07 +02:00
Alexander Medvednikov 7a3b5c20dd time: fix empty unix 2019-07-03 01:27:38 +02:00
Alexander Medvednikov 99a9a6572a lots of Windows fixes and cross compilation for Windows 2019-07-01 16:51:17 +02:00
Alexander Medvednikov b0c844415d time.ticks() on Linux/macOS 2019-06-30 14:48:13 +02:00
Alexander Medvednikov 4594d78bd6 move all vlib modules to vlib/ 2019-06-29 12:00:31 +02:00