Commit Graph

6574 Commits (a2acc2787242fdee189ec4197c0dd847b8245139)

Author SHA1 Message Date
Andrew Kelley a2acc27872
behavior tests passing 2019-11-08 15:57:25 -05:00
Andrew Kelley 8954a1bae5
more regressions fixed 2019-11-08 15:57:25 -05:00
Andrew Kelley fa34dfcce7
fix result loc of cast not finding parent 2019-11-08 15:57:24 -05:00
Andrew Kelley e0db54e89d
update the codebase to use `@as` 2019-11-08 15:57:24 -05:00
Andrew Kelley 2a6fbbd8fb
introduce `@as` builtin for type coercion
This commit also hooks up type coercion (previously called implicit
casting) into the result location mechanism, and additionally hooks up
variable declarations, maintaining the property that:

    var a: T = b;

is semantically equivalent to:

    var a = @as(T, b);

See #1757
2019-11-08 15:57:24 -05:00
Andrew Kelley 6d28b28ccc
Merge branch 'kprotty-adaptive_lock' 2019-11-08 02:09:51 -05:00
Andrew Kelley 2723ffc2b2
fixups and zig fmt 2019-11-08 01:52:23 -05:00
Andrew Kelley fbbcf2f30d
Merge branch 'adaptive_lock' of https://github.com/kprotty/zig into kprotty-adaptive_lock 2019-11-08 01:21:22 -05:00
kprotty e2189b6e5d cleanup getEventHandle 2019-11-07 19:37:53 -06:00
kprotty 43900011f7 handle NtCreateKeyedEvent failure by spinning to ensure correctness 2019-11-07 18:56:43 -06:00
Andrew Kelley 9b0536e6f4
ci: add srht oauth token to drone cloud script 2019-11-07 19:00:52 -05:00
kprotty fe8c1cf804 missing `os` declaration 2019-11-07 17:14:08 -06:00
kprotty bb4abfdc78 Use `system` instead of `builtin.link_libc` 2019-11-07 16:36:33 -06:00
kprotty 12e68cbeb6 pthread_sched_yield -> sched_yield 2019-11-07 16:33:25 -06:00
kprotty f41e58d015 fix SpinLock.yield for pull/3626 2019-11-07 15:51:20 -06:00
kprotty b5d84635f2 remove WaitOnAddress backend in std.ThreadParker 2019-11-07 15:46:57 -06:00
kprotty b535e86cc0 move SpinLock definitions around 2019-11-07 15:32:20 -06:00
Andrew Kelley e2a0bea65f ci: bump ubuntu from 16.04 to 18.04 2019-11-07 16:18:42 -05:00
Vexu 459a364a33 allow Group to optionally manage function frames' memory 2019-11-07 13:26:49 -05:00
Vexu 3858a526e3 make callMainAsync async 2019-11-07 13:18:47 -05:00
kprotty 92dac89d01 lock the mutex on pthread_cond_signal() 2019-11-07 09:23:02 -06:00
Shawn Landden 2e52fafac5 correctly use llvm undef in release modes 2019-11-07 02:51:04 -05:00
Andrew Kelley 697c4ffd41
Merge branch 'LemonBoy-fix-more-things'
closes #3621
2019-11-07 02:46:20 -05:00
LemonBoy cf6fb89ced
Add small tokenizer test case for #3468 2019-11-07 02:46:10 -05:00
LemonBoy 528908a06e
Fix ptrCast of array references to fn
Closes #3607
2019-11-07 02:46:10 -05:00
Andrew Kelley c7fd414dab
Merge pull request #3618 from nrdmn/uefi
UEFI improvements
2019-11-06 23:19:46 -05:00
Nick Erdmann 78b54d9c96
std/os/uefi: protocol handling improvements 2019-11-07 03:06:06 +01:00
Nick Erdmann cef51eaffb
std/os/uefi: snp, mnp, ip6, and udp6 support 2019-11-07 02:53:53 +01:00
Nick Erdmann f4767186dd
std/os/uefi: loading images 2019-11-07 02:53:53 +01:00
Andrew Kelley 6ee3cabe5c
allow type coercion from *[0]T to E![]const T
This is an unambiguous, safe cast.
2019-11-06 20:44:15 -05:00
kprotty 7045f1e875 skip std.ThreadParker test on single-threaded 2019-11-06 17:23:44 -06:00
shiimizu 7277670843 Add error when too few arguments are provided to std.fmt 2019-11-06 18:22:33 -05:00
Sebastian Keller f81f36e2ff std.json.Value: added dumpStream(), utilize WriteStream for dump() 2019-11-06 18:21:52 -05:00
Vexu ac6f0d245d fix NodeErrorSetDecl rendering 2019-11-06 18:15:39 -05:00
Vexu 4530adbd33 use global event loop in std.event types 2019-11-06 15:17:40 -05:00
Andrew Kelley 913f7d0450
improve the start code for evented I/O
When evented I/O is being used, prevent event loop from terminating
at least until main() has returned.
2019-11-06 15:08:29 -05:00
Brendan Hansknecht c1e8fdf812 add token for parsing pointer dereference 2019-11-06 14:03:21 -05:00
Sebastian Keller dd4e9fb16b Fixed a leak in the json parser.
parseString() created a copy of the string using the wrong allocator.
Instead of using the ArenaAllocator, it was using the allocator passed
into Parser.init(). This lead to a leak as the copied string was not
freed when the ArenaAllocator was deinited.
2019-11-06 14:00:36 -05:00
Vexu 6b61fcddfa fix translate-c arrow deref 2019-11-06 13:58:55 -05:00
kprotty 4dbfc48ab3 Disable asm("yield") for arm in SpinLock.yieldCpu() because of CI 2019-11-05 16:16:03 -06:00
kprotty c9db420a09 Adaptive Mutex:
- uses std.ThreadParker
- supports static initialization (deprecates StaticallyInitializedMutex)
2019-11-05 16:14:43 -06:00
kprotty 465ebf494d ThreadParker implementation 2019-11-05 15:58:58 -06:00
kprotty 14209cf615 make SpinLock.Backoff pub 2019-11-05 13:43:17 -06:00
Andrew Kelley 9bc4f8ea77
zig build: addIncludeDir does -I instead of -isystem 2019-11-05 14:32:17 -05:00
Andrew Kelley cb8af1c6d4
Merge branch 'vector-element-access'
This introduces the concept of vector index being part of a pointer
type. This avoids vectors having well-defined in-memory layout, and
allows vectors of any integer bit width to work the same way.

When a vector is indexed with a scalar, this is vector element access,
which this branch implements. When a vector is indexed with a vector,
this is gather/scatter, which is not implemented in this branch.

closes #3575
closes #3580
2019-11-05 13:40:57 -05:00
Andrew Kelley 9a08de93b6
fix incorrect type name on bit field pointers 2019-11-05 13:37:43 -05:00
Andrew Kelley 9b4a529164
fix initialization of vector in a struct field 2019-11-05 12:36:39 -05:00
Andrew Kelley cbaa10fc3b
implement storing vector elements via runtime index 2019-11-05 12:11:57 -05:00
Andrew Kelley 70be308c43
implement loading vector elements via runtime index 2019-11-05 12:11:40 -05:00
Andrew Kelley 76d188551e
implement store of vector element with comptime index 2019-11-05 12:11:18 -05:00