23076 Commits

Author SHA1 Message Date
Jakub Konka
2ac8d90df0
Merge pull request #14935 from ziglang/fix-macos-build2
link: move macOS kernel inode cache invalidation to MachO linker
2023-03-18 21:45:21 +01:00
Nicolas Sterchele
49d37e2d17 build-step: remove latest LogStep ref
LogStep was removed during the build parallel enhancement made in this
commit 58edefc6d1716c0731ee2fe672ec8d073651aafb
2023-03-18 15:08:53 -04:00
square
887abd0f33 delete --prominent-compile-errors from help 2023-03-18 20:13:52 +02:00
Jakub Konka
46171bf6c8 macho+zld: clean up how to interface with link.zig and openPath() 2023-03-18 19:05:06 +01:00
Jakub Konka
ee705e3ac7 macho+zld: clean up opening and closing of file descriptors 2023-03-18 09:32:29 +01:00
Motiejus Jakštys
c31007bb47 fix copy-paste errors
--sysroot was copy-pasted instead of --maxrss from above. Also, make it less likely in other places for this to be repeated.

I found this by accident when reviewing f51413d2cf0bd87079dace7f6481d2a361a19ea6
2023-03-17 19:42:46 -04:00
hequn
f56f3c5824
Enable IPv4 mapped address conversion in linux version getAddressList (#14916)
It seems like the original code of setsockopt is not effective because
i catch the EINVAL branch when uncomment this code, it should call
setsockopt before the bind call.

This should fix issue #14900.

Co-authored-by: Qun He <hawkbee@qq.com>
2023-03-17 15:58:02 -04:00
mlugg
71e873703f Sema: make @returnAddress return 0 at comptime
See also #14938.

Resolves: #14931
2023-03-17 15:55:02 -04:00
Motiejus Jakštys
9f2aa3fbee Build.zig_exe: make it sentinel-aware
This is useful for tests that want to `execve` zig directly. The string
is already null-terminated, so this will just expose it as such,
removing an extra allocation from the test.

Will be used in #14462
2023-03-17 15:54:09 -04:00
Bas Westerbaan
2089b3f193
tls: use post-quantum secure key exchange (#14920) 2023-03-17 17:51:24 +01:00
Motiejus Jakštys
e0dd20b02e
add BoundedArrayAligned (#14580)
This is useful for creating byte buffers of actually-different-things.
Copied the argument order from `Allocator.alignedAlloc`

I noted that `ArrayListAligned` is going out of it's way to not set the
alignment at comptime when it is not specified. However, I was not able
to do that the same way here, and good people on IRC, @ifreund in
particular (thanks!) assured me that

    [N]T align(@alignOf(T))

is equivalent to

    [N]T
2023-03-17 17:50:25 +01:00
Jacob Young
cfcd6698cd main: add debug option to dump unoptimized llvm ir 2023-03-17 01:57:14 -04:00
mlugg
4ec299007a Sema: allow dereferencing ill-defined pointers to zero-bit types at comptime
It doesn't matter if a pointer to a zero-bit (i.e. OPV) type is
undefined or runtime-known; we still know the result of the dereference
at comptime. Code may use this, for instance, when allocating zero-bit
types: `@as(*void, undefined)` is entirely reasonable to use at runtime,
since we know the pointer will never be accessed, thus it should be
valid at comptime too.
2023-03-17 01:56:36 -04:00
Andrew Kelley
68c7261e1d disable bad std lib tests
see tracking issue #14968
2023-03-16 18:25:59 -07:00
Andrew Kelley
b4d58e93ea make docgen accept --zig-lib-dir 2023-03-16 15:43:51 -07:00
Evin Yulo
b3af5d076c Fix #14901: parseFloat parsing 0x successfully 2023-03-16 19:36:06 +02:00
Jakub Konka
76afdd0586 link: move macOS kernel inode cache invalidation to MachO linker 2023-03-16 17:30:25 +01:00
mllken
da0509750a std.os: handle EPERM errno for bind 2023-03-16 17:41:58 +02:00
InKryption
9964f1c160 Add error for bad cast from *T to *[n]T
Casting `*T` to `*[1]T` should still work, but every other length
will now be a compiler error instead of a potential OOB access.
2023-03-16 13:00:36 +02:00
Jakub Konka
e1e414e62a std: move os/darwin.zig and related to c/darwin.zig
Move to c/darwin.zig as they really are libSystem/libc imports/wrappers.

As an added bonus, get rid of the nasty `usingnamespace`s which are now
unneeded.

Finally, add `os.ptrace` but currently only implemented on darwin.
2023-03-16 11:42:30 +01:00
Andrew Kelley
bd242ce1ce
Merge pull request #14647 from ziglang/build-parallel
zig build: run steps in parallel
2023-03-16 04:11:41 -04:00
Andrew Kelley
7177b39946 fix test-case copy-paste typo from earlier commit
commit 3204d00a5e7fe119b690e921138a439fb84dff5b intended to move this
passing test case from stage1 folder but it was accidentally changed to
have identical contents as a different test case instead.

Fortunately, the test case has not regressed, so I simply replaced it
with the intended test from before.
2023-03-15 12:32:17 -07:00
Andrew Kelley
1f59994a37 C ABI tests: don't test aarch64-windows yet
because it is not passing. See tracking issue #14908
2023-03-15 10:48:15 -07:00
Andrew Kelley
cdda395590 std lib tests: avoid cwd races by using std.testing.tmpDir 2023-03-15 10:48:15 -07:00
Andrew Kelley
5c6adbeb39 test-c-abi: disable LTO on more targets 2023-03-15 10:48:15 -07:00
Andrew Kelley
21b544a90a fix compile log test case expected output 2023-03-15 10:48:15 -07:00
Andrew Kelley
1a70ea0576 windows_spawn standalone test: test on native OS
In master branch this test tests native Windows. In this branch, I
accidentally made aarch64-windows test x86_64-windows which caused some
subtle behavior that we aren't ready to add test coverage for yet.
2023-03-15 10:48:15 -07:00
Andrew Kelley
a1058dd27b fix std.fs unit test to not be racey 2023-03-15 10:48:15 -07:00
Andrew Kelley
4aa5895d32 std.Build: fix invalid assumption about fifos
Previously this code asserted that a fifo's readable length was greater
than or equal to the length of its readable slice, which was an invalid
assertion.

This code avoids making that assumption.
2023-03-15 10:48:15 -07:00
Andrew Kelley
4f1382e581 add std.LinearFifo.readableSliceOfLen 2023-03-15 10:48:15 -07:00
Andrew Kelley
6664d2418d test-cases: add missing compile log output
The new testing harness is not bound by previous limitations; it can now
test compile log output as well.
2023-03-15 10:48:15 -07:00
Andrew Kelley
6d6f6a4ac6 std.os.windows.OpenFile: handle DELETE_PENDING
This error means that there *was* a file in this location on the file
system, but it was deleted. However, the OS is not finished with the
deletion operation, and so this CreateFile call has failed. There is not
really a sane way to handle this other than retrying the creation after
the OS finishes the deletion.
2023-03-15 10:48:15 -07:00
Andrew Kelley
717e2c8718 std.Build.Cache: make unit tests not depend on cwd
This makes them more resilient to being run multiple times by multiple
different processes at the same time.
2023-03-15 10:48:15 -07:00
Andrew Kelley
363d4a107d add compile log output to build runner 2023-03-15 10:48:15 -07:00
Andrew Kelley
ed33901218 test-cli: fix expected stderr on windows
Needed to account for backward slashes in file system paths.
2023-03-15 10:48:15 -07:00
Andrew Kelley
37a7d2c78d std.Build.RunStep: fix handling spawn failure
The error was caught and created a Step failure rather than bubbling up
so that the interpreter logic could handle it. Fixes hundreds of test
failures on Windows.
2023-03-15 10:48:15 -07:00
Andrew Kelley
11de55d0dd std.Build.Cache: handle ENOENT on createFile race
Companion commit to 628fec41593a2d2eca8b504e4fe90de9823aeded
2023-03-15 10:48:15 -07:00
Andrew Kelley
63bd0fe58e use DEC graphics instead of Unicode for box drawing 2023-03-15 10:48:15 -07:00
Andrew Kelley
3e328c89b7 std.Build.CompileStep: remove setNamePrefix and add setName 2023-03-15 10:48:15 -07:00
Andrew Kelley
941cae4331 revert a change to C ABI tests
See tracking issue #14908
2023-03-15 10:48:15 -07:00
Andrew Kelley
22d94eaf32 disable std lib unit tests that hard code port numbers
See tracking issue #14907
2023-03-15 10:48:15 -07:00
Andrew Kelley
2b0929929d std.Build.Cache: handle ENOENT on createFile race
There are no dir components, so you would think that this was
unreachable, however we have observed on macOS two processes racing
to do openat() with O_CREAT manifest in ENOENT.
2023-03-15 10:48:15 -07:00
Andrew Kelley
bde1293093 CLI: remove the experimental --watch flag
The compiler REPL will move to an external process that communicates
with the compiler over the binary protocol.
2023-03-15 10:48:15 -07:00
Andrew Kelley
0f88ad8c72 std.Build.CompileStep: proper step dependency on headers
Rather than calling make() from within make().
2023-03-15 10:48:15 -07:00
Andrew Kelley
171977dc1c test-cases: fix incorrectly linking libc when backend is llvm
Now link_libc=1 must be used to link with libc, instead of the test
harness assuming that using the llvm backend means additionally linking
with libc.
2023-03-15 10:48:15 -07:00
Andrew Kelley
1dbb616e73 Module: handle incremental update from ZIR with AST errors 2023-03-15 10:48:15 -07:00
Andrew Kelley
e098b287e1 std.fs.File.writevAll: fix behavior for 0-length vectors
The OS layer expects pointer addresses to be inside the application's
address space even if the length is zero. Meanwhile, in Zig, slices may
have undefined pointer addresses when the length is zero. So this
function now modifies the iov_base fields when the length is zero.

This is a companion commit to b4893eb05565b2cb033c6ed88617d73faf878455.
2023-03-15 10:48:15 -07:00
Andrew Kelley
b1299d5153 build runner: tweak progress bar display 2023-03-15 10:48:15 -07:00
Andrew Kelley
a26a2e1a17 build runner: fix compilation errors on windows 2023-03-15 10:48:15 -07:00
Andrew Kelley
fa9108c3d4 add skip_foreign_checks=true on a standalone test 2023-03-15 10:48:15 -07:00