Alex Rønne Petersen
5c57e90ffb
test: Disable test-elf-ld-script-path-error for now.
...
https://github.com/ziglang/zig/issues/23125
2025-03-08 07:04:27 +01:00
Jacob Young
5d115632d4
x86_64: reuse single register code during register write splitting
2025-03-07 23:59:38 -05:00
Jacob Young
54ed62755f
x86_64: implement write register splitting
2025-03-07 23:59:31 -05:00
Jacob Young
f8f2a3ea6f
x86_64: rewrite aggregate init
2025-03-07 23:59:09 -05:00
Pat Tullmann
214750fcfe
lib/std/Build/Cache.zig: remove .wasi SkipZigTest checks
...
The build Cache test pass on Wasi now.
Fixes #5437
2025-03-08 04:38:29 +01:00
Alex Rønne Petersen
db77e46b49
zig cc: Don't pass -mabi for assembly files when targeting arm.
...
Clang's integrated Arm assembler doesn't understand -mabi yet, so this results
in "unused command line argument" warnings when building musl code and glibc
stubs, for example.
2025-03-08 03:52:28 +01:00
Techatrix
4129f7ff5a
std.zig.Ast: store lbrace and rbrace token in data of .error_set_decl
...
This makes the `.data` field the better choice over the `.main_token` for this tag.
2025-03-07 22:22:01 +01:00
Techatrix
d84055f9c6
std.zig.Ast: don't set the data field on .error_value and .enum_literal
...
The main_token already has the necessary information.
2025-03-07 22:22:01 +01:00
Techatrix
ba74af2ae8
std.zig.Ast: update doc comments of Node.Tag
...
The existing comment are incomplete, outdated and sometimes incorrect.
2025-03-07 22:22:01 +01:00
Techatrix
ca6fb30e99
std.zig.Ast: improve type safety
...
This commits adds the following distinct integer types to std.zig.Ast:
- OptionalTokenIndex
- TokenOffset
- OptionalTokenOffset
- Node.OptionalIndex
- Node.Offset
- Node.OptionalOffset
The `Node.Index` type has also been converted to a distinct type while
`TokenIndex` remains unchanged.
`Ast.Node.Data` has also been changed to a (untagged) union to provide
safety checks.
2025-03-07 22:22:01 +01:00
Techatrix
6dcd8f4f75
std.zig.Ast: add blockStatements and builtinCallParams
2025-03-07 22:20:35 +01:00
Techatrix
de9c889a0e
aro_translate_c: fix ast lowering of continue node
...
fixes #22601
2025-03-07 22:20:35 +01:00
Techatrix
e6596cbbf0
add a reference to #21690
2025-03-07 22:20:35 +01:00
Techatrix
c19f4c4402
fix ZonGen error message when encountering an array access
2025-03-07 22:20:35 +01:00
Techatrix
ad38af77fa
remove unreachable code paths from std.zig.Ast.lastToken
...
This function checks for various possibilities that are never produced
by the parser.
Given that lastToken is unsafe to call on an Ast with errors, I also
removed code paths that would be reachable on an Ast with errors.
2025-03-07 22:20:34 +01:00
Andrew Kelley
5765736867
fix InstallArtifact opening empty string
...
this appears to have been a problem since 43f73af3595c3174b8e67e9f2792c3774f2192e9
2025-03-07 15:21:40 -05:00
Jan200101
013a228960
std.Build: add build-id option
2025-03-07 10:59:02 +01:00
Andrew Kelley
4cefd1bd1b
Merge pull request #23097 from ziggoon/master
...
std.heap.PageAllocator updates to fix race condition and utilize NtAllocateVirtualMemory / NtFreeVirtualMemory instead of VirtualAlloc / VirtualFree
2025-03-06 14:39:09 -05:00
190n
1e0739f0c6
std.enums.tagName: preserve sentinel in return value
2025-03-06 08:41:51 +01:00
Kiëd Llaentenn
5f7dfc3577
langref: update splat section
2025-03-06 07:26:19 +01:00
Igor Anić
94b36dbe50
io_uring: refactor buf_reg flags
...
Use packed struct instead of or-ed integers.
Thanks to @linsug for pr comments: https://github.com/ziglang/zig/pull/23062
2025-03-05 13:35:52 +01:00
Igor Anić
c133171567
io_uring: incremental provided buffer consumption
...
[Incremental provided buffer
consumption](https://github.com/axboe/liburing/wiki/What's-new-with-io_uring-in-6.11-and-6.12#incremental-provided-buffer-consumption )
support is added in kernel 6.12.
IoUring.BufferGroup will now use incremental consumption whenever
kernel supports it.
Before, provided buffers are wholly consumed when picked. Each cqe
points to the different buffer. With this, cqe points to the part of the
buffer. Multiple cqe's can reuse same buffer.
Appropriate sizing of buffers becomes less important.
There are slight changes in BufferGroup interface (it now needs to track
current receive point for each buffer). Init requires allocator
instead of buffers slice, it will allocate buffers slice and head
pointers slice. Get and put now requires cqe becasue there we have
information will the buffer be reused.
2025-03-05 13:35:52 +01:00
Igor Anić
4df039d235
io_uring: add setsockopt/getsockopt
...
ring.cmd_sock is generic socket operation. Two most common uses are
setsockopt and getsockopt. This provides same interface as posix
versions of this methods.
libring has also [sqe_set_flags](https://man7.org/linux/man-pages/man3/io_uring_sqe_set_flags.3.html )
method. Adding that in our io_uring_sqe. Adding sqe.link_next method for setting most common flag.
2025-03-05 13:35:52 +01:00
Igor Anić
d98c0893b0
io_uring: probe capabilities function
...
ring.get_probe returns io_uring_probe which can be use to probe
capabilities of the current running kernel.
Ref:
https://unixism.net/loti/ref-liburing/supported_caps.html
e1003e496e/src/setup.c (L454)
2025-03-05 13:35:52 +01:00
Igor Anić
85e2074878
io_uring: fix tests on 5.4.0 kernel
...
Found it failing in a new way on that kernel.
2025-03-05 13:35:52 +01:00
Igor Anić
2da8eff9d6
io_uring: add bind and listen
2025-03-05 13:35:52 +01:00
kcbanner
144d69b571
test: add comptime memoization tests for bit-for-bit float equality
2025-03-04 23:31:12 -05:00
kcbanner
8eefc4c5c2
test: skip the float vector cmp tests on failing targets
2025-03-04 23:31:08 -05:00
ziggoon
5b03e248b7
add FFI & wrappers for NtAllocateVirtualMemory & NtFreeVirtualMemory + add missing alloction constants MEM_RESERVE_PLACEHOLDER / MEM_PRESERVE_PLACEHOLDER
2025-03-04 22:10:49 -06:00
ziggoon
16875b3598
update std.heap.PageAllocator Windows implementation to remove race condition and utilize NtAllocateVirtualMemory / NtFreeVirtualMemory instead of VirtualAlloc and VirtualFree
2025-03-04 22:01:08 -06:00
Linus Groh
79460d4a3e
Remove uses of deprecated callconv aliases
2025-03-05 03:01:43 +00:00
Andrew Kelley
05937b362a
start the 0.15.0 release cycle
2025-03-04 14:31:32 -08:00
Andrew Kelley
5ad91a646a
Release 0.14.0
0.14.0
2025-03-04 14:31:02 -08:00
Alex Rønne Petersen
3c924abb69
std.zig.llvm.bitcode_writer: Fix word byte order on big endian systems.
...
The bitcode format always uses little endian words. Prior to this commit, a
bitcode file produced on e.g. aarch64_be or s390x would fail to be loaded by
LLVM.
2025-03-04 17:28:03 -05:00
Carl Åstholm
8363b95178
Fix "dependency path outside project" error for nested local path dependencies
...
Closes #23076
2025-03-04 17:27:21 -05:00
Carl Åstholm
711b0fef58
init: Substitute invalid package names with foo
...
Closes #23066
2025-03-04 02:42:00 -05:00
Andrew Kelley
13757aacc7
update .mailmap
...
keeps our contributor count in the release notes somewhat accurate
2025-03-03 17:19:09 -08:00
Andrew Kelley
1e2b3b1df9
std.Build.Step: fix missing path sep in error message
...
I have a more robust solution to this coming up in the writer interface
branch.
2025-03-03 17:18:18 -08:00
Matthew Lugg
c76f451abc
Merge pull request #22979 from mlugg/remove-legacy-coercions
...
Sema: remove legacy coercion
2025-03-03 22:18:28 +00:00
mlugg
501e84a96a
incremental: invalidate namespace dependencies when a name changes visibility
...
We could have more fine-grained dependencies here, but I think this is
fine for now.
2025-03-03 22:18:02 +00:00
kcbanner
71d0d4bbfe
test: separate out float vector tests and skip them on unsupported backends
2025-03-03 15:35:07 -05:00
kcbanner
981f84157c
Value: fix comparison of NaN in compareHeteroAdvanaced
...
Sema: fix equality comparison of signed zeroes and NaN in compareScalar
tests: add test coverage for vector float comparisons
2025-03-03 15:35:07 -05:00
Fausto Ribeiro
edabcf6192
std.DynLib: fix proper type of chain_ptr on GnuHashSection32
...
Type is correct on GnuHashSection64 but not on 32 bit version. Change it so
use of DynLib on 32-bit archs compiles.
2025-03-03 20:01:05 +01:00
Alex Rønne Petersen
4fad60fd3a
compiler: Don't consider powerpc to have red zone support yet.
...
The command line flag is only supported in Clang 20: https://github.com/ziglang/zig/issues/23056
This gets rid of some warnings when using zig cc.
2025-03-03 19:36:46 +01:00
Linus Groh
6d29ef0baf
Merge pull request #23046 from linusg/uefi-time
...
Three time-related fixes for UEFI
2025-03-03 10:07:41 +00:00
Jacob Young
00a8742bbf
Merge pull request #22982 from mlugg/cache-mode
...
compiler: default to `.whole` cache mode for self-hosted backends
2025-03-02 22:15:42 -05:00
Linus Groh
3bea47883a
std.time: Make Instant.since() work on UEFI
2025-03-02 23:16:34 +00:00
Linus Groh
1a03b8c899
std.os.uefi: Fix two padding mistakes in the Time struct
...
```c
//************************************************
//EFI_TIME
//************************************************
// This represents the current time information
typedef struct {
UINT16 Year; // 1900 - 9999
UINT8 Month; // 1 - 12
UINT8 Day; // 1 - 31
UINT8 Hour; // 0 - 23
UINT8 Minute; // 0 - 59
UINT8 Second; // 0 - 59
UINT8 Pad1;
UINT32 Nanosecond; // 0 - 999,999,999
INT16 TimeZone; // —1440 to 1440 or 2047
UINT8 Daylight;
UINT8 Pad2;
} EFI_TIME;
```
2025-03-02 23:16:34 +00:00
Linus Groh
6378295b77
std.os.uefi: Fix integer overflow in Time.toEpoch()
...
Instead of thinking hard about what the actual supported maximum value
for each sub-calculation is we can simply use an u64 from hours onwards.
2025-03-02 22:58:45 +00:00
Jacob Young
d741be512b
link: fixed bugs uncovered by changing the cache mode
2025-03-02 16:39:18 -05:00