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

183 Commits

Author SHA1 Message Date
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
Alexander Medvednikov
f09a5135e9 checker: handle builtin enum init correctly 2021-05-20 03:14:32 +03:00
Delyan Angelov
20a22453cf
v.builder: remove default link flags -lm, -ldl, -lpthread (use module specific link flags instead) (#10099) 2021-05-14 14:28:53 +03:00
Delyan Angelov
8a380f4699
tools: make v test-cleancode test everything by default (#10050) 2021-05-08 13:32:29 +03:00
Uwe Krüger
3c0a368af3
all: automatically move (some) referenced objects to heap (#9873) 2021-04-25 21:40:38 +03:00
zakuro
7443179cc8
checker: make use of private enum from outside module an error. (#9821) 2021-04-22 07:07:56 +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
Uwe Krüger
8ab0d42b5f
checker: check argument for chan.try_push/pop() (#9798) 2021-04-19 11:41:21 +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
Delyan Angelov
09802707b1
tests: move rlock and shared array tests from builtin to sync 2021-03-18 19:51:11 +02:00
spaceface
e9797c618a
all: implement error interfaces (#9291) 2021-03-13 18:13:50 +01:00
Alexander Medvednikov
3a2d696fac time: time.wait() => time.sleep() 2021-02-27 20:41:06 +03:00
Nick Treleaven
23f231ee61
builtin: tag array methods unsafe: *_many, grow_len, pointers (#8983) 2021-02-26 22:55:09 +01: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
zakuro
ac4791045f
time: consolidate the different sleep functions into time.wait(Duration) (#8853) 2021-02-21 17:05:03 +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
374739b804
all: rename [ref_only] -> [heap] (#8718) 2021-02-13 16:52:01 +02:00
Uwe Krüger
835b3b2b81
sync: simplify WaitGroup and PoolProcessor and use atomic counters (#8715) 2021-02-13 13:52:27 +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
Delyan Angelov
8f6fec4364 ci: fix building examples/concurrency/concurrency.v on macos 2021-02-12 01:18:40 +02:00
Delyan Angelov
578de634fe
sync: move pool related code to sync.pool, cleanup, add a README.md 2021-02-11 10:55:23 +02:00
spaceface
1bb4be17d8
cgen: remove srwlock definition workaround for tcc on windows (#8652) 2021-02-09 12:44:18 +02:00
Uwe Krüger
112c652ace
cgen: auto initialize chan that are struct elements (#8541) 2021-02-04 00:07:20 +01:00
Nick Treleaven
82482167ce
vlib: replace all goto statements with labelled break (#8531) 2021-02-03 15:19:42 +01:00
Delyan Angelov
978359a6fc
tests: fix some warnings in preparation for -W test-self 2021-01-31 11:05:17 +02:00
Uwe Krüger
058f3ba013
sync: rename m_lock() -> @lock(), r_lock() -> @rlock(), ... (#8443) 2021-01-30 15:23:55 +01:00
Uwe Krüger
6477748e88
sync/waitgroup: use value mutex and semaphore; remove sync.Waiter (#8431) 2021-01-30 11:08:43 +02: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
adb646a1d2
sync: update benchmark results for Windows (#8399) 2021-01-29 00:41:46 +01:00
Delyan Angelov
ea11488339
tests: make test more tolerant to windows low precision timer default interval 2021-01-25 20:04:29 +02:00
Uwe Krüger
925ffd76f4
sync/channels: expose ch.closed as bool pseudo attribute (#8244) 2021-01-22 09:37:29 +02:00
joe-conigliaro
97ebecc5f4
usecache: get all tests running with -usecache enabled by default (p.1) (#7699) 2021-01-20 06:04:59 +01:00
Lukas Neubert
ac2c3847af
all: update copyright to 2019-2021 (#8029) 2021-01-18 13:20:06 +01:00
Uwe Krüger
eff757d0a1
cgen: fix address violations for error propagation (#7972) 2021-01-09 02:43:48 +01:00
Uwe Krüger
29c2240aef
fmt: enable or block for ch <- x (#7969) 2021-01-08 21:39:21 +01:00
Uwe Krüger
ffd753abdc
all: implement ch <- x or {...} and ch <- x ? (#7928) 2021-01-06 21:19:40 +01:00
Nick Treleaven
8fc33bc27d
checker: warn when casting number or a voidptr to reference type outside unsafe (#7900) 2021-01-05 20:07:45 +02:00
Uwe Krüger
af9766a7d6
sync: support concurrent selects 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
2e57a1e1a6 sync: add vlib/sync/bench/many_writers_and_receivers_on_1_channel.v (run with --help) 2020-11-19 21:30:38 +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
Delyan Angelov
0c192cfd64 tests: fix warnings when doing ./v -W -progress -check-syntax test-fixed 2020-10-26 14:41:57 +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
Delyan Angelov
dab66593fc vlib: run vfmt over vlib files, so that v doc -m vlib/ can run without warnings 2020-10-21 12:54:10 +03:00
Delyan Angelov
46c5a2c8fc v test-fmt: fix some embedded comments in expressions 2020-10-14 22:52:33 +03:00
Swastik Baranwal
5f07b255bd
checker: disallow address of array and map index outside unsafe (#6557) 2020-10-05 13:08:30 +02:00
Delyan Angelov
03258db26d ci: other mut vlib test fixes 2020-09-27 11:18:55 +03:00
Daniel Däschle
abc98c273c
parser: require assign on type alias (#6477) 2020-09-25 12:02:32 +02:00
Uwe Krüger
0f1c484ad1
parser/checker: if select { ... } { (#6434) 2020-09-21 07:34:04 +02:00
Uwe Krüger
4ae88c69ac
sync/select: allow push of literals and calculated expressions (#6429) 2020-09-20 03:50:09 +02:00
Uwe Krüger
31a52cdf21
cgen: implement channel select block code generation (#6424) 2020-09-19 02:14:35 +02:00
spaceface777
ff92c3409d
ast: merge IfExpr and CompIf (#6011) 2020-09-18 00:58:54 +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
Alexander Medvednikov
ea31f75098 checker: more default field fixes 2020-09-09 14:14:44 +02:00
Uwe Krüger
5258f52497
fmt: add support for chan types and operations (#6328) 2020-09-08 00:36:05 +02:00
Uwe Krüger
4d2c8a40d6
sync/atomic2: support 32 bit platforms (#6308) 2020-09-05 14:44:16 +02:00
Uwe Krüger
b015033c53
builtin: add methods to builtin channels (#6303) 2020-09-05 01:36:20 +02:00
Uwe Krüger
cbcba2e4cf
parser: enable module auto import (of sync) (#6271) 2020-08-31 10:44:39 +02:00
Uwe Krüger
393b46a6dd
channels: make ch.len and ch.cap available as properties (#6221) 2020-08-26 06:41:51 +02:00
Uwe Krüger
61df70fdf5
all: enable x = <-ch or {...} (#6195) 2020-08-23 02:12:05 +02:00
Uwe Krüger
0d7cc8829a
cgen: implement channel push()/pop() using <- operator (#6154) 2020-08-17 23:35:36 +02:00
Uwe Krüger
0c7d73c8b0
sync/channels: use references for chan mut X testcase (#6145) 2020-08-16 23:01:49 +02:00
Uwe Krüger
c2b4c645a1
sync/channels: document more benchmark results (#6135) 2020-08-15 11:20:51 +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
Delyan Angelov
9c9533dad9
checker: add error for fn f() Struct { return &Struct{} } (#6019) 2020-07-29 21:40:43 +02:00
Delyan Angelov
0af415fa28 vlib: add unsafe{} wrappers to C. fn calls, to allow compiling with -prod again 2020-07-21 09:05:31 +03:00
Delyan Angelov
587b9dd8aa tests: reduce iterations for the atomic and semaphore tests, to speed up test-fixed 2020-07-20 11:14:55 +03:00
Uwe Krüger
8df6e59678
sync: add semaphores (#5831) 2020-07-15 10:22:33 +02:00
Uwe Krüger
ef02373061
all: remove rwshared keyword, make its semantics default for shared (#5710) 2020-07-07 01:57:31 +02:00
Uwe Krüger
c3614c0e38
cgen, sync: implement separate read/write locks for rwshared types (#5687) 2020-07-05 22:53:28 +02:00
Uwe Krüger
3b067f5f85
all: experimental locked concurrency support, part 1 (#5637) 2020-07-04 12:44:25 +02:00
Emily Hudson
c84bafbdae
vlib,cgen: cleanup array inits using `.repeat() instead of new init syntax 2020-06-27 21:46:04 +02:00
Tomas Hellström
993cd1467b
sync: own submodule for atomic 2020-06-26 23:31:03 +02:00
Tomas Hellström
def99bed02
sync: atomic counters 2020-06-26 20:04:17 +02:00
joe-conigliaro
d19a33c420
sync: use Event for waitgroup on windows 2020-06-23 03:23:42 +10:00
Delyan Angelov
cf4dc93e02 sync: run sync.pool without using concurrency features when VJOBS=1 2020-06-22 14:21:54 +03:00
Richard Warburton
640bbbae85
waitgroup: remove races, make platform independent, document 2020-06-22 11:07:34 +02:00
Delyan Angelov
3aecdeab63 os,gl,sync: cleanup, prepare for .toplevel_comments vdoc mode 2020-06-06 18:47:25 +03:00
yuyi
5ae8853648
all: change f mut Foo to mut f Foo 2020-06-04 10:35:40 +02:00
Alexander Medvednikov
81b44dc2c9 generics: generic call inside generic call; checker: check mut args at call 2020-05-29 04:30:00 +02:00
Uwe Krüger
013fdb8a4b
checker: restrict numeric promotions to cases where no data is lost 2020-05-27 05:42:48 +02:00
Delyan Angelov
7a4f26ac4f compiler: use -lpthread during building v itself. 2020-05-22 08:36:56 +03:00
yuyi
7f4cf08516
parser: check (mut f Foo) syntax 2020-05-17 13:51:18 +02:00