Commit Graph

8904 Commits

Author SHA1 Message Date
Tadeo Kondrak 1696e943ac Implement @typeInfo for @Frame()
Closes https://github.com/ziglang/zig/issues/3066
2020-05-02 14:39:27 -06:00
Andrew Kelley b7914d901c add test coverage for top level fields
closes #2022
2020-05-02 14:53:20 -04:00
Chris Heyes 8ebcca6734 Get evented io code paths to build on macOS (#5233)
* Get evented io code paths to build on macOS
* Use mode_t instead of usize where appropriate
2020-05-02 14:14:46 -04:00
Michael Dusan 33705d06bb Merge pull request #5250 from mikdusan/qemu
ci linux: bump qemu-5.0.0-z2
2020-05-02 09:46:40 -04:00
Michael Dusan 5fb8d7dcdc ci linux: bump qemu-5.0.0-z2
closes #5245
see https://github.com/ziglang/qemu-static/commit/1b41e31a5c013dea52774ba664230402eacbc75b
2020-05-02 04:39:36 -04:00
nycex 77376a54bf correct usages of std.fs.dir.DeleteFileError (#5058)
* correct usages of std.fs.dir.DeleteFileError

* test std.fs.createFileAbsolute() and std.fs.deleteFileAbsolute()
2020-05-02 04:19:07 -04:00
Andrew Kelley 428065da30 Merge pull request #5243 from niacat/kern-arand
Avoid reading from /dev/urandom on NetBSD
2020-05-02 04:16:24 -04:00
Michael Dusan 3dbe02e2d8 Merge pull request #5247 from mikdusan/housekeeping
stage1: cleanup
2020-05-01 20:57:56 -04:00
Michael Dusan 09d6dc1ce6 stage1: cleanup
- remove unused IrInstSrcOptionalUnwrapPtr.initializing
2020-05-01 18:01:21 -04:00
Andrew Kelley 3386bb896d Merge pull request #5192 from ziglang/stage2-tests
add ZIR compare output test case to test suite
2020-05-01 17:35:52 -04:00
Andrew Kelley 94b0d0e802 std.progress: handle error from FillConsoleOutputAttribute
I observed this returning an error. Fall back to not doing
terminal stuff if an error occurs here.

See #5244
2020-05-01 15:14:44 -04:00
Cato Auestad 5418efa1e5 Added socket bits for Darwin 2020-05-01 14:28:33 -04:00
Andrew Kelley ec6ef86219 fix off-by-one error in sizeInBaseUpperBound 2020-05-01 13:33:46 -04:00
nia 74ad315360 In init_rand avoid reading from /dev/urandom on NetBSD/FreeBSD
Use the KERN_ARND sysctl instead.
2020-05-01 17:23:27 +01:00
nia 14a954f350 Add arc4random_buf() in NetBSD libc, use it to implement getrandom() 2020-05-01 17:22:27 +01:00
Andrew Kelley 4044a77621 update std.meta.IntType => std.meta.Int 2020-05-01 06:49:30 -04:00
Andrew Kelley b70e6da914 back to stage2 tests passing 2020-05-01 06:47:56 -04:00
Andrew Kelley 8766821157 rework std.math.big.Int
Now there are 3 types:
 * std.math.big.int.Const
   - the memory is immutable, only stores limbs and is_positive
   - all methods operating on constant data go here
 * std.math.big.int.Mutable
   - the memory is mutable, stores capacity in addition to limbs and
     is_positive
   - methods here have some Mutable parameters and some Const
     parameters. These methods expect callers to pre-calculate the
     amount of resources required, and asserts that the resources are
     available.
 * std.math.big.int.Managed
   - the memory is mutable and additionally stores an allocator.
   - methods here perform the resource calculations for the programmer.
   - this is the high level abstraction from before

Each of these 3 types can be converted to the other ones.

You can see the use case for this in the self-hosted compiler, where we
only store limbs, and construct the big ints as needed.

This gets rid of the hack where the allocator was optional and the
notion of "fixed" versions of the struct. Such things are now modeled
with the `big.int.Const` type.
2020-05-01 06:47:56 -04:00
Andrew Kelley 1d202008d8 add ZIR transform test case 2020-05-01 06:47:20 -04:00
Andrew Kelley 751903ba8f zir: add breakpoint() instruction and object file ability 2020-05-01 06:47:20 -04:00
Andrew Kelley f89dbe6c4e link: introduce the concept of output mode and link mode 2020-05-01 06:47:20 -04:00
Andrew Kelley 28729efe29 ZIR: implement return instruction 2020-05-01 06:47:20 -04:00
Andrew Kelley 6b0f7de247 ZIR: add cmp and condbr instructions 2020-05-01 06:47:20 -04:00
Andrew Kelley fb67a7260d link: recognize that Windows does not have POSIX fs modes 2020-05-01 06:47:20 -04:00
Andrew Kelley 56a024bbfc disable stage2 zir tests on not-yet-supported archs 2020-05-01 06:47:20 -04:00
Andrew Kelley 6e6d0eb690 disable stage2 zir tests on not-yet-supported OS's 2020-05-01 06:47:20 -04:00
Andrew Kelley 2bae942800 add ZIR compare output test case to test suite 2020-05-01 06:47:20 -04:00
Jakub Konka b23a87953a Fast-forward std.os.bits.wasi to match preview1 snapshot ABI
`wasi_snapshot_preview1` introduced a couple of ABI changes. This
commit fast-forwards the types and consts defined in `std.os.bits.wasi`
to match those changes.
2020-04-30 13:28:50 -04:00
Vexu 7192ca14b7 Merge pull request #5216 from alexnask/windows_ansi_codes
Progress will now use ANSI escape codes on windows for terminals that support them
2020-04-30 18:35:55 +03:00
Vexu 155029b709 Merge pull request #5223 from iansimonson/translate_c_bool_to_int
Translate-C convert bools to int in complex expressions
2020-04-30 18:28:38 +03:00
Ian Simonson a2c3ebb756 Use transCreateNodeInfixOp instead of maybeSuppressResult 2020-04-30 19:10:10 +10:00
Vexu e72f45475d Merge pull request #4683 from LakeByTheWoods/parser_test
Add visible newlines to parser_test output when there's a failure.
2020-04-30 12:04:23 +03:00
Vexu 611bd8e9f4 Merge pull request #5213 from tadeokondrak/evented-readv-fix
Fix std.event.Loop.readv
2020-04-30 11:00:27 +03:00
Vexu 87c9696121 move printWithVisibleNewlines to testing.expectEqualStrings 2020-04-30 10:34:18 +03:00
Vexu 2d06e731ec rename diffIndex to indexOfDiff 2020-04-30 10:33:50 +03:00
Jakub Konka 611a1436f0 Update WASI snapshot to preview1
This commit updates the WASI imports to use `wasi_snapshot_preview1`
instead of the old `wasi_unstable`. There are some minor ABI
differences between the two, however, the main motivator for using
the latest "stable" snapshot (aka preview1) is that, at least in
Wasmtime, there has been a lot of improvement work put into preview1
and unfortunately I might add, the improvements were not (in full)
backported to `wasi_unstable` snapshot.

Also, this commit removes the optional bound on the pointer to
`environ_get` syscall.
2020-04-30 01:52:12 -04:00
Ian Simonson e6fa0beb33 Translate-C convert bools to int in complex expressions
Pre-requisite for having a test case for #5062
In complex C statements which are outside of macros,
it is valid C to perform e.g. a bitor between an
integer and a boolean `5 | (8 == 9)`

Currently this results in a zig error after translating
as `c_int | bool` is invalid Zig.

Detects if a sub-expression of a numeric operator is
boolean and if so converts it to int
2020-04-30 12:48:27 +10:00
Michael Dusan a08675723c Merge pull request #5219 from mikdusan/qemu
ci linux: bump qemu 5.0.0-rc4 → 5.0.0
2020-04-29 19:20:20 -04:00
Michael Dusan e97181e362 ci linux: bump qemu 5.0.0-rc4 → 5.0.0 2020-04-29 17:01:12 -04:00
Alexandros Naskos 61ba52b9e3 Add unreachable branch 2020-04-29 20:07:23 +03:00
Alexandros Naskos 273d2de099 Progress will now use ANSI escape codes on windows for terminals that support it 2020-04-29 19:49:02 +03:00
Tadeo Kondrak 07c1be80c2 Fix std.event.Loop.readv 2020-04-29 04:33:29 -06:00
Vexu 15141d865a Merge pull request #5210 from tadeokondrak/IntType-to-Int
std.meta.IntType -> std.meta.Int
2020-04-29 11:01:19 +03:00
Tadeo Kondrak 350b2adacd std.meta.IntType -> std.meta.Int 2020-04-28 19:11:31 -06:00
Tadeo Kondrak eb183ad9fe rename std.meta.IntType to std.meta.Int
Closes https://github.com/ziglang/zig/issues/5194
2020-04-28 19:11:18 -06:00
Andrew Kelley 5929e5ca0e Merge pull request #5196 from tadeokondrak/@vector-to-@type-vector
`@Vector` -> `@Type(.Vector)`
2020-04-28 16:25:40 -04:00
Andrew Kelley 03dd1fca94 Merge pull request #5195 from tadeokondrak/opaquetype-to-type-opaque
@OpaqueType -> `@Type(.Opaque)
2020-04-28 16:21:07 -04:00
Vexu db25c78413 Merge pull request #5201 from tadeokondrak/mangle-field-names-locally
Mangle field names with a local counter in records (translate-c)
2020-04-28 23:18:36 +03:00
Tadeo Kondrak 0cf129689e Fix/add translate-c tests for previous commit 2020-04-28 08:45:52 -06:00
Tadeo Kondrak 83d2d7ab8a Mangle field names with a local counter in records
See https://github.com/ifreund/river/issues/17 for an issue that occurs
because the field names are mangled globally. When using the generated
bindings, you have no choice but to use the unstable names or redeclare
the entire struct. This commit changes the behaviour to use a local
counter per record declaration, so the names are predictable each time.
2020-04-28 08:45:51 -06:00