Commit Graph

3751 Commits (0ca12ded2ffbbc6f703d66541481bab5d8cbb2e3)

Author SHA1 Message Date
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
Andrew Kelley dd9728c5a0 Merge remote-tracking branch 'origin/master' into llvm7 2018-07-24 00:43:12 -04:00
Andrew Kelley 10bdf73a02
Merge pull request #1266 from ziglang/self-hosted-libc-hello-world
Self hosted libc hello world
2018-07-24 00:31:33 -04:00
Andrew Kelley 72599d420b self-hosted: find all libc paths; windows linker code 2018-07-24 00:06:34 -04:00
Andrew Kelley 2614ef056a self-hosted: basic linker code for macos 2018-07-23 17:38:03 -04:00
Andrew Kelley 7dbbddf2a6 macho backtraces - use std.sort.sort instead of insertion sort
it's way faster
2018-07-23 15:36:45 -04:00
Andrew Kelley 5a919dd82d Merge remote-tracking branch 'origin/master' into self-hosted-libc-hello-world 2018-07-23 14:32:13 -04:00
Andrew Kelley 10d2f08d37 self-hosted: fix error messages not cleaning up correctly 2018-07-23 14:28:14 -04:00
Andrew Kelley d767fae47e self-hosted: add first compare-output test 2018-07-23 00:35:53 -04:00
Andrew Kelley 93e78ee722 self-hosted can compile libc hello world 2018-07-22 23:28:53 -04:00
Andrew Kelley 99153ac0aa add std.math.big.Int.fitsInTwosComp
so that we can pass runtime-known values
2018-07-22 10:58:45 -04:00
Marc Tiehuis d53fae3551 Add big int fits function (#1279)
Returns whether the current value in an Int fits in the requested type.
2018-07-22 10:11:27 -04:00
Marc Tiehuis 07b6a3d335 Tighten Int.to bounds and add twos-complement bitcount 2018-07-22 17:47:57 +12:00
Andrew Kelley bbd293355b Merge branch 'kristate-posix-darwin-issue1271' 2018-07-22 00:08:30 -04:00
Andrew Kelley 20f286f22a re-organize std lib darwin files 2018-07-22 00:04:24 -04:00
Andrew Kelley f72f46e912 Merge branch 'posix-darwin-issue1271' of https://github.com/kristate/zig into kristate-posix-darwin-issue1271 2018-07-21 23:59:35 -04:00
Andrew Kelley 0a32f80d9a Merge branch 'kristate-skippable-tests-issue1274' 2018-07-21 23:44:17 -04:00
Andrew Kelley 4d9964a457 rename error.skip to error.SkipZigTest
also print stats at the end of test runner
2018-07-21 23:43:43 -04:00