Andrew Kelley
527c55aa56
stage1: get rid of the is_noreturn flag on IrInstSrc
...
One more step towards lowering the memory footprint of stage1. This flag
was hiding in padding but now that it is gone we can re-arrange the
memory layout more easily.
2021-07-02 13:26:50 -07:00
Andrew Kelley
125b85d737
move "unreachable code" error from stage1 to stage2
...
* AstGen: implement "unreachable code" error for blocks. This works at
the statement level.
* stage1: remove the "unreachable code" error implementation, which
means removing the `is_gen` field from IrInstSrc. This is one small
step towards a smaller memory footprint for stage1. The benefits
won't be realized until a future commit because this flag took
advantage of padding.
There may be a regression here with "union has no associated enum"
error, and there is a regression with the following code:
```zig
const a = noreturn;
```
A future commit will address these regressions.
2021-07-02 13:26:50 -07:00
J.C. Moyer
d84b386f60
stage2: print valid filename in error messages
2021-07-02 14:08:52 -04:00
kprotty
483eb8e057
std.Thread: move linux detach code to inline asm
2021-07-01 17:34:23 -05:00
Veikka Tuominen
7140bb64e1
stage2: fix @asyncCall parameter count
...
Closes #9269
2021-07-01 22:39:26 +03:00
LemonBoy
1fc877fd94
std: Catch and handle overflow in json parser
...
When a floating-point value with no fractional part is shoved into an
integer type we must check whether it fits or not before calling
`@floatToInt` as the builtin panics in case of overflow.
Catch the error and bubble it up to the caller.
2021-07-01 22:35:19 +03:00
Christopher Smyth
628f490c59
Add context to fatal OpenErrors
...
Now it also outputs what directory it attempted to open.
2021-07-01 22:24:18 +03:00
kprotty
98106b09d5
zig fmt
2021-06-30 21:49:38 -05:00
kprotty
2309c81a78
std.Thread: non-zero child_tid to avoid racy join()
2021-06-30 21:49:00 -05:00
kprotty
2a6ba41020
std.Thread: add CLONE_CHILD_SETTID to fix join()
2021-06-30 21:49:00 -05:00
kprotty
6dd6604638
std.Thread: fix tls 9386 linux typo
2021-06-30 21:49:00 -05:00
kprotty
f0fa129e9b
std.Thread: more cleanup & testing
2021-06-30 21:49:00 -05:00
kprotty
7b323f84ca
std.Thread: more fixes
2021-06-30 21:49:00 -05:00
kprotty
c6fb968a3d
std.Thread: fix posix
2021-06-30 21:49:00 -05:00
kprotty
fd4a607bb2
std.Thread: fix futex test + thread errors
2021-06-30 21:49:00 -05:00
kprotty
18bcb2e990
std.Thread: fix futex thread spawning
2021-06-30 21:49:00 -05:00
kprotty
6a903fc4c0
std.Thread: more typo fixes
2021-06-30 21:49:00 -05:00
kprotty
009c95b8ec
std.Thread: more fixes
2021-06-30 21:49:00 -05:00
kprotty
5f4a40e6aa
std.Thread: typo fixes 2
2021-06-30 21:49:00 -05:00
kprotty
b1f37b4ead
std.Thread: uh more typo fixes
2021-06-30 21:49:00 -05:00
kprotty
d016caaccb
std.Thread: more compile error fixes
2021-06-30 21:49:00 -05:00
kprotty
281a9a60f0
std.Thread: fixup ThreadPool.zig
2021-06-30 21:49:00 -05:00
kprotty
1ae969e529
std.Thread: even more typo fixes
2021-06-30 21:49:00 -05:00
kprotty
ca1e61b851
std.Thread: fix some typos
2021-06-30 21:49:00 -05:00
kprotty
6ff64895cf
std.Thread: add tests + getCurrentId() returns ints when possible
2021-06-30 21:49:00 -05:00
kprotty
235fcc5ba6
std.Thread: another typo fix
2021-06-30 21:48:59 -05:00
kprotty
3a276be135
std.Thread.getCpuCount(): fix usages
2021-06-30 21:48:59 -05:00
kprotty
0a1def7833
changes to accomodate std.Thread update
2021-06-30 21:48:59 -05:00
kprotty
e16d3d162a
std.Thread: rewrite + extensions
2021-06-30 21:48:59 -05:00
Andrew Kelley
acf2e8fe64
fix start code for WebAssembly
2021-06-30 18:39:04 -07:00
Takeshi Yoneda
d606811f55
Fix test cases for stage2.
...
Signed-off-by: Takeshi Yoneda <takeshi@tetrate.io>
2021-06-30 20:35:17 -04:00
Takeshi Yoneda
bc7761d8e0
Add support for WASI reactor in pure Zig-exe. ( #9178 )
...
* Add command line help for "-mexec-model"
* Define WasmExecModel enum in std.builtin.
* Drop the support for the old crt1.o in favor of crt1-command.o
Signed-off-by: Takeshi Yoneda <takeshi@tetrate.io>
2021-06-30 20:02:48 -04:00
Jakub Konka
a95ba0d10d
Merge pull request #9254 from moosichu/feature/macos-link-universal-static-libs
...
Add fat/universal archive support to zig ld
2021-06-30 10:22:49 +02:00
Nameless
908b431abe
std/os/uefi: fix packed struct bitfields
2021-06-30 09:28:08 +03:00
Sreehari Sreedev
b8329351b1
boot_services: allow custom MemoryTypes
2021-06-30 09:26:09 +03:00
Jakub Konka
81bf05bf6c
Merge pull request #9266 from ziglang/zld-dylibs
...
zig ld can create dylibs now; remove system linker hack and any mention of ld64.lld from the codebase
2021-06-30 00:03:55 +02:00
Jakub Konka
0e15205521
Remove mention of lldMachO from the project
...
including:
* finding lldMachO in CMake config
* punting `ld64.lld` to LLD linker
* providing bindings to LLD linker
2021-06-29 23:38:19 +02:00
Andrew Kelley
37fbf5b0d3
Merge pull request #9258 from ziglang/shared-cache-locking
...
Shared Cache Locking
2021-06-29 17:29:59 -04:00
Andrew Kelley
e32530b6a3
std.fs.File: update doc comments regarding locking
...
Update to accomodate the differences in Windows, which is now advisory
file locking, and include details about which operating systems have
atomic locking flags.
2021-06-29 14:25:04 -07:00
Andrew Kelley
06129d7e3d
std: implement a cross platform file locking abstraction
...
This modifies the lock semantics from using AccessMode to using
NtLockFile/NtUnlockFile.
This is a breaking change.
2021-06-29 14:25:04 -07:00
Andrew Kelley
488f68069b
implement std.fs.File.setLock for Windows
2021-06-29 14:25:04 -07:00
Andrew Kelley
3d7ae63c6f
stage2: remove c_object_cache_digest_set
...
This logic was a workaround to prevent cache deadlocks which happened
from always using exclusive file locks. Now that the Cache system
supports sharing cached artifacts, this workaround is no longer needed.
Closes #7596
2021-06-29 14:25:04 -07:00
Andrew Kelley
4e61af404e
stage2: Cache system handles shared objects
...
Fixes #9139
Fixes #9187
2021-06-29 14:25:04 -07:00
Andrew Kelley
6ba6b98b72
std add fs.File.setLock
...
Windows implementation is still missing.
2021-06-29 14:25:04 -07:00
Tom Maenan Read Cutting
186577225f
Add fat/universal archive support to zig ld
...
This is an extension of adding fat dylib support to zig ld, pulling out
the functionality needed to support fat headers & offsets and applying
it to zig archives.
Co-authored-by: Jakub Konka <kubkon@jakubkonka.com>
2021-06-29 18:42:57 +01:00
Jakub Konka
8211cef77c
zld: we can now create basic dylibs targeting macOS!
2021-06-29 17:46:23 +02:00
Jakub Konka
069fcf1c95
zld: put all global symbols in the export trie
...
* sort the symbols by name to optimise the export trie first
* insert only symbols with global linkage (private exts or weak should
not make the cut)
2021-06-29 11:21:44 +02:00
Jakub Konka
75a13a456b
zld: remove system linker hack and lld hooks
2021-06-29 07:59:46 +02:00
Jakub Konka
2c385e58f9
Merge pull request #9242 from ziglang/zld-link-system-libsystem-when-native
...
zld: link against system libSystem when available
2021-06-28 21:06:12 +02:00
Jakub Konka
9b5a463111
zld: if libSystem.dylib found, then need to link libc.dylib too
2021-06-28 17:42:59 +02:00