Commit Graph

33 Commits (1d045e5496cf8a86d614d47a7ab81b7a4313d58e)

Author SHA1 Message Date
Uwe Krüger 3c0a368af3
all: automatically move (some) referenced objects to heap () 2021-04-25 21:40:38 +03:00
Delyan Angelov d4f31412b7
v: deprecate `@VROOT` in favour of `@VMODROOT` () 2021-04-19 19:01:47 +03:00
spaceface 73352583e7
ci: fix all `-cstrict` warnings with gcc and clang () 2021-04-19 15:38:48 +03:00
Larpon 8710a0b7b1
sync: enable Android support () 2021-04-18 16:31:05 +03:00
ka-weihe 25a9d30a70
channels: fix C warnings () 2021-04-15 01:44:39 +02:00
Uwe Krüger bf9fe659a9
sync: fix `chan.close()` while a sending thread is waiting () 2021-04-09 23:40:35 +03:00
Uwe Krüger 78e3bb748b
sync: close channels atomically only once () 2021-04-09 10:57:41 +03:00
Ruofan XU 1a8e502e2c
ci: add tcc32 CI on windows () 2021-02-25 12:52:12 +01:00
Delyan Angelov fdc60817d3
sync: fix compilation on latest linux distros (having only gcc-10) with tcc 2021-02-25 12:35:27 +02:00
Delyan Angelov bf6e9ff95a
Revert "parser: make duplicated functions an error ()"
This reverts commit 21bf8fe14e.
2021-02-18 09:02:56 +02:00
zakuro 21bf8fe14e
parser: make duplicated functions an error () 2021-02-17 20:50:10 +01:00
Nick Treleaven ea803113c3
checker: check `unsafe` V function calls () 2021-02-14 19:31:42 +01:00
Uwe Krüger 40066a5daa
checker: obey [ref_only] tag, allow embedding in other ref struct () 2021-02-13 00:47:37 +01:00
Nick Treleaven 82482167ce
vlib: replace all `goto` statements with labelled break () 2021-02-03 15:19:42 +01:00
Uwe Krüger 4a955d9c54
sync: don't force `Mutex` and `Semaphore` to be reference () 2021-01-29 20:52:14 +02:00
Uwe Krüger 925ffd76f4
sync/channels: expose `ch.closed` as `bool` pseudo attribute () 2021-01-22 09:37:29 +02:00
Uwe Krüger ffd753abdc
all: implement `ch <- x or {...}` and `ch <- x ?` () 2021-01-06 21:19:40 +01:00
Uwe Krüger af9766a7d6
sync: support concurrent `select`s on same channel(s) () 2020-12-20 04:52:40 +01:00
Uwe Krüger bcda0eeadc
sync: fix rare freeze on `select` () 2020-12-19 00:02:29 +02:00
Delyan Angelov 8c241cb745 checker: check that fns with return values, and matches, do return 2020-11-11 17:23:57 +02:00
Delyan Angelov be02ee97fb sync: enable compilation with -autofree 2020-10-29 12:17:08 +02:00
Larpon e97d3af4b1
tcc: fix 'tcc: error: library `atomic` not found' on older Ubuntu distros () 2020-10-24 13:49:57 +03:00
Swastik Baranwal 5f07b255bd
checker: disallow address of array and map index outside unsafe () 2020-10-05 13:08:30 +02:00
Uwe Krüger 168daebccf
sync/channels: fix bug that caused 100% CPU on block () 2020-09-13 15:13:06 +02:00
Uwe Krüger b10d79c4d9
sync/channels: fixes for `try_push/pop()`, optimizations () 2020-09-12 02:29:11 +02:00
Uwe Krüger b015033c53
builtin: add methods to builtin channels () 2020-09-05 01:36:20 +02:00
Uwe Krüger 9602a25a0b
all: add builtin channel type `chan elem_type` () 2020-08-14 21:18:42 +02:00
Uwe Krüger bb93bf34ec
sync/semaphores: use dispatch semaphores on MacOS () 2020-08-12 03:45:09 +02:00
Uwe Krüger 433610b5c0
sync/channels: provide `.cap` and `.len()` () 2020-08-11 17:52:13 +02:00
Uwe Krüger c3cdfa1c96
sync/channels: provide `try_push(), try_pop() as public methods () 2020-08-10 18:06:42 +02:00
Uwe Krüger 20a65cf9c8
sync/channels: implement `close()` method () 2020-08-10 06:22:20 +02:00
Uwe Krüger d63daa0798
sync: use `mfence` on windows-tcc () 2020-08-06 17:31:05 +02:00
Uwe Krüger 863cf8af60
sync: channel implementation () 2020-08-06 15:28:19 +02:00