Commit Graph

41 Commits (da58ba0d5caf5a0f095026449d91aab89364d465)

Author SHA1 Message Date
crthpl 85b58b03a3
cgen: parallelize (#10844) 2021-09-28 10:28:04 +03:00
Daniel Däschle ad3835b598
parser: deprecate short struct init (#10842) 2021-07-20 11:17:08 +03:00
crthpl 5089eb4a84
parser: fix pointer cast expressions hack (#10777) 2021-07-13 12:01:24 +03:00
Uwe Krüger 72358833e0
time: use `Duration(C.INT64_MAX)` as infinite (#10539) 2021-06-22 12:17:44 +03:00
Uwe Krüger a8437584aa
gc: extend optimized mode to channel buffers (#10443) 2021-06-14 18:12:47 +03:00
Delyan Angelov 2ff0f62866
v: fix passing `-arch arm64` to `$if arm64{}` 2021-06-13 01:15:35 +03:00
Delyan Angelov b7f9bc2a96
sync: support linking with libatomic with tcc on ubuntu aarch64 2021-06-12 20:34:45 +03:00
Delyan Angelov 5cb2683e97
v.gen.c,v.markused: fix `println(ch)` when ch is a channel 2021-06-01 13:46:59 +03:00
Uwe Krüger 3c0a368af3
all: automatically move (some) referenced objects to heap (#9873) 2021-04-25 21:40:38 +03:00
Delyan Angelov d4f31412b7
v: deprecate `@VROOT` in favour of `@VMODROOT` (#9795) 2021-04-19 19:01:47 +03:00
spaceface 73352583e7
ci: fix all `-cstrict` warnings with gcc and clang (#9792) 2021-04-19 15:38:48 +03:00
Larpon 8710a0b7b1
sync: enable Android support (#9790) 2021-04-18 16:31:05 +03:00
ka-weihe 25a9d30a70
channels: fix C warnings (#9732) 2021-04-15 01:44:39 +02:00
Uwe Krüger bf9fe659a9
sync: fix `chan.close()` while a sending thread is waiting (#9654) 2021-04-09 23:40:35 +03:00
Uwe Krüger 78e3bb748b
sync: close channels atomically only once (#9645) 2021-04-09 10:57:41 +03:00
Ruofan XU 1a8e502e2c
ci: add tcc32 CI on windows (#8922) 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 (#8792)"
This reverts commit 21bf8fe14e.
2021-02-18 09:02:56 +02:00
zakuro 21bf8fe14e
parser: make duplicated functions an error (#8792) 2021-02-17 20:50:10 +01:00
Nick Treleaven ea803113c3
checker: check `unsafe` V function calls (#8752) 2021-02-14 19:31:42 +01:00
Uwe Krüger 40066a5daa
checker: obey [ref_only] tag, allow embedding in other ref struct (#8707) 2021-02-13 00:47:37 +01:00
Nick Treleaven 82482167ce
vlib: replace all `goto` statements with labelled break (#8531) 2021-02-03 15:19:42 +01:00
Uwe Krüger 4a955d9c54
sync: don't force `Mutex` and `Semaphore` to be reference (#8331) 2021-01-29 20:52:14 +02:00
Uwe Krüger 925ffd76f4
sync/channels: expose `ch.closed` as `bool` pseudo attribute (#8244) 2021-01-22 09:37:29 +02:00
Uwe Krüger ffd753abdc
all: implement `ch <- x or {...}` and `ch <- x ?` (#7928) 2021-01-06 21:19:40 +01:00
Uwe Krüger af9766a7d6
sync: support concurrent `select`s on same channel(s) (#7415) 2020-12-20 04:52:40 +01:00
Uwe Krüger bcda0eeadc
sync: fix rare freeze on `select` (#7398) 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 (#6672) 2020-10-24 13:49:57 +03:00
Swastik Baranwal 5f07b255bd
checker: disallow address of array and map index outside unsafe (#6557) 2020-10-05 13:08:30 +02:00
Uwe Krüger 168daebccf
sync/channels: fix bug that caused 100% CPU on block (#6357) 2020-09-13 15:13:06 +02:00
Uwe Krüger b10d79c4d9
sync/channels: fixes for `try_push/pop()`, optimizations (#6352) 2020-09-12 02:29:11 +02:00
Uwe Krüger b015033c53
builtin: add methods to builtin channels (#6303) 2020-09-05 01:36:20 +02:00
Uwe Krüger 9602a25a0b
all: add builtin channel type `chan elem_type` (#6126) 2020-08-14 21:18:42 +02:00
Uwe Krüger bb93bf34ec
sync/semaphores: use dispatch semaphores on MacOS (#6110) 2020-08-12 03:45:09 +02:00
Uwe Krüger 433610b5c0
sync/channels: provide `.cap` and `.len()` (#6104) 2020-08-11 17:52:13 +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
Uwe Krüger 20a65cf9c8
sync/channels: implement `close()` method (#6098) 2020-08-10 06:22:20 +02:00
Uwe Krüger d63daa0798
sync: use `mfence` on windows-tcc (#6079) 2020-08-06 17:31:05 +02:00
Uwe Krüger 863cf8af60
sync: channel implementation (#6074) 2020-08-06 15:28:19 +02:00