Andrew Kelley
9ecbabfc4c
Merge branch 'pr-1319'
2018-08-02 13:35:06 -04:00
Andrew Kelley
729f2aceb0
fix API of RtlGenRandom
2018-08-02 13:34:31 -04:00
Andrew Kelley
cbca434cf0
Merge branch 'windows-RtlGenRandom-issue1318' of https://github.com/kristate/zig into pr-1319
2018-08-02 13:26:02 -04:00
kristopher tate
782043e2e6
std/os/windows/util.zig: SKIP instead of PASS on non-windows systems;
...
Tracking Issue #1318 ;
2018-08-03 02:16:49 +09:00
kristopher tate
dde7eb45c5
std/os/index.zig: call getRandomBytes() twice and compare;
...
Tracking Issue #1318 ;
2018-08-03 02:16:19 +09:00
kristopher tate
c44653f40f
std/os/index.zig: swap CryptGetRandom() with RtlGenRandom();
...
Tracking Issue #1318 ;
2018-08-03 02:14:52 +09:00
kristopher tate
22fd359e2c
std/os/windows/advapi32.zig: add SystemFunction036;
...
Tracking Issue #1318 ;
2018-08-03 02:14:06 +09:00
kristopher tate
432b7685bf
std/os/index.zig: use "hw.logicalcpu" instead of "hw.ncpu" in macOS; ( #1317 )
...
Tracking Issue #1252 ;
hw.ncpu was deprecated in macOS. Among 4 new options available (hw.{physicalcpu, physicalcpu_max, logicalcpu, logicalcpu_max}), hw.logicalcpu was chosen because it actually reflects the number of logical cores the OS sees.
2018-08-02 12:59:59 -04:00
Marc Tiehuis
e66f538972
Add integer binary output format ( #1313 )
2018-08-01 11:38:04 -04:00
Andrew Kelley
de949b72c7
simpler std.event.Lock implementation
2018-07-31 19:57:46 -04:00
Andrew Kelley
058bfb254c
std.fmt.format: add '*' for formatting things as pointers
...
closes #1285
2018-07-31 11:36:57 -04:00
Matthew D. Steele
0db33e9c86
Add "Comments" section to language reference ( #1309 )
...
The contents of this section come from the discussion on issue #1305 .
2018-07-30 22:27:07 -04:00
Andrew Kelley
5d4a02c350
Merge pull request #1307 from ziglang/cancel-semantics
...
improved coroutine cancel semantics
2018-07-30 13:42:26 -04:00
Andrew Kelley
cfe03c764d
fix docs for break from suspend
2018-07-30 13:07:04 -04:00
Andrew Kelley
c91c781952
add behavior tests for cancel semantics
2018-07-30 12:49:53 -04:00
Andrew Kelley
6fd6bc94f5
await sets suspend bit; return clears suspend bit
2018-07-30 12:22:54 -04:00
Andrew Kelley
09304aab77
fix cancel and await semantics
2018-07-29 23:25:40 -04:00
dbandstra
608ff52dc3
add SliceOutStream, rename SliceStream to SliceInStream ( #1301 )
2018-07-29 14:52:10 -04:00
Andrew Kelley
f884381c60
Merge pull request #1300 from dbandstra/more-stream-functions
...
A few new functions in InStream/OutStream
2018-07-29 14:51:25 -04:00
dbandstra
f36faa32c4
add skipBytes function to InStream
...
this reads N bytes, discarding their values
2018-07-28 17:34:28 -07:00
dbandstra
3ce0ea884f
add int writing functions to OutStream
...
added: writeInt, writeIntLe, and writeIntBe
2018-07-28 17:30:05 -07:00
Andrew Kelley
0d79e03816
canceling an await also cancels things awaiting it
2018-07-28 13:52:48 -04:00
Andrew Kelley
05456eb275
make some functions in std.event.Loop public
2018-07-28 12:53:33 -04:00
Andrew Kelley
dd272d1316
await cancels the await target when it is canceled
2018-07-28 12:36:02 -04:00
Andrew Kelley
0ba2bc38d7
await checks the cancel bit
2018-07-28 12:23:47 -04:00
Andrew Kelley
60cda3713f
suspend cancels awaiter when it gets canceled
2018-07-28 12:11:39 -04:00
Andrew Kelley
c6f9a4c044
cancel detects suspend bit
2018-07-28 01:26:11 -04:00
Andrew Kelley
6fed777637
cancel detects if the target handle has already returned
2018-07-28 01:22:51 -04:00
Andrew Kelley
f0c049d02b
detect double await
2018-07-27 18:37:30 -04:00
Andrew Kelley
e5beca886d
suspend checks the cancel bit
2018-07-27 18:07:30 -04:00
Andrew Kelley
e491c38189
resume detects resuming when not suspended
2018-07-27 18:01:39 -04:00
Andrew Kelley
341bd0dfa4
await sets the await bit
2018-07-27 17:47:27 -04:00
Andrew Kelley
0b7a9c0722
cancel sets the cancel bit
2018-07-27 17:42:09 -04:00
Andrew Kelley
02c5bda704
remove ability to break from suspend blocks
...
closes #803
2018-07-27 17:27:03 -04:00
Andrew Kelley
442e244b4d
suspend sets suspend bit
2018-07-27 17:16:00 -04:00
Andrew Kelley
10764ee0e6
resume clears suspend bit
2018-07-27 17:00:41 -04:00
Andrew Kelley
7113f109a4
update coroutine return codegen with new status bits
2018-07-27 15:50:26 -04:00
Andrew Kelley
b3f4182ca1
coroutines have 3 more bits of atomic state
2018-07-26 22:26:00 -04:00
Andrew Kelley
2cbad364c1
add compile error for ignoring return value of while loop bodies
...
closes #1049
2018-07-26 18:29:07 -04:00
Andrew Kelley
fd575fe1f3
add compile error for missing parameter name of generic function
2018-07-25 18:15:55 -04:00
Andrew Kelley
84195467ad
add compile error for non-inline for loop on comptime type
2018-07-25 17:08:55 -04:00
Andrew Kelley
2257660916
fix assertion failure when some compile errors happen
...
I don't actually know of a test case to trigger this
self-hosted won't have this problem because get_pointer_to_type
will return error.SemanticAnalysisFailed
2018-07-25 13:12:03 -04:00
Andrew Kelley
95f45cfc34
patch LLD to fix COFF crashing when linking twice in same process
...
closes #1289
2018-07-25 02:36:29 -04:00
Andrew Kelley
02713e8d8a
fix race conditions in self-hosted compiler; add test
...
* fix race condition in std.event.Channel deinit
* add support to zig build for --no-rosegment
* add passing self-hosted compare-output test for calling a function
* put a global lock on LLD linking because it's not thread safe
2018-07-24 21:28:54 -04:00
Andrew Kelley
adefd1a52b
self-hosted: function calling another function
2018-07-24 20:24:05 -04:00
Andrew Kelley
2ea08561cf
self-hosted: function types use table lookup
2018-07-24 14:20:49 -04:00
Andrew Kelley
1d4a94b635
remove old section from readme
...
we still want all these people but I think there are better ways
to communicate this than the readme file
2018-07-24 11:04:01 -04:00
Andrew Kelley
29e19ace36
fix logic for determining whether param requires comptime
...
closes #778
closes #1213
2018-07-24 10:21:33 -04:00
Andrew Kelley
74c80d2c7f
Merge pull request #1282 from nwsharp/master
...
std.io: PeekStream and SliceStream
2018-07-24 09:26:08 -04:00
Nathan Sharp
0046551852
std.io: PeekStream and SliceStream
...
SliceStream is a read-only stream wrapper around a slice of bytes. It
allows adapting algorithms which work on InStreams to in-memory data.
PeekStream is a stream wrapper which allows "putting back" bytes into
the stream so that they can be read again. This will help make
look-ahead parsers easier to write.
2018-07-23 23:30:40 -07:00